Internal Model Control for DC Motor Using DSP



















































- Slides: 51

Internal Model Control for DC Motor Using DSP Platform By: Marcus Fair Advisor: Dr. Dempsey

Outline Problem description Objectives Functional Specs Sub-system Overview Software Design

Summary Design, build, and test IMC (Internal Model Control) system to control a DC motor 32 -bit TMS 320 F 2812 digital signal processor (DSP) Design for IMC controller built in Simulink Input to system uses graphical user interface (GUI) built in Matlab

Preliminary Work DC Motor block diagrams from Senior Miniproject Also based on DC Motor Speed Control Demo M-files to run software Speed Measurement block in Simulink

Common Problems in Control Systems Load Changes -Load shaft Plant Changes -Armature Resistor, Armature Inductor, Rotor Inertia, etc Power Supply Changes

Objectives Build DSP/motor hardware interface Design and build (GUI) Design closed-loop controllers Compare conventional controller results with the IMC method

Functional Requirements and Performance Specifications Closed-loop operation: Determine optimum gains for controllers Rise time: 20 ms or less Settling time: 100 ms or less Overshoot: < or = 5% Steady state error: + or – 5 RPM

Equipment List GM 9236 C 534 -R 2 Pittman DC motor Ezdsp F 2812 Board LMD 18200 H-bridge 3 - SN 74 LVC 4245 A voltage shifter 6 -Pin DIP Opto-isolator 2 N 2222 A BJT 2 - Diodes Agilent 30 V power supply and HP 5 V power supply Tektronix Oscilloscope

Overall Block Diagram

Overall Block Diagram

Dsp board technical specs Generation TMS 320 F 281 x CPU 1 C 28 x Peak MMACS 150 Frequency(MHz) 150 RAM 36 KB OTP ROM 2 KB Flash 256 KB EMIF 1 16 -Bit PWM 16 -Ch CAP/QEP 6/2 ADC 1 16 -Ch 12 -Bit ADC Conversion Time 80 ns Mc. BSP 1 UART 2 SCI SPI 1 CAN 1 Timers 3 32 -Bit GP, 1 WD GPIO 56 Core Supply (Volts) 1. 9 V IO Supply (Volts) 3. 3 V

Inputs and Outputs

H-bridge Delivers up to 3 A continuous output Operates at supply voltages up to 55 V Low RDS(ON) typically 0. 3 W per switch TTL and CMOS compatible inputs No “shoot-through” current Thermal warning flag output at 145°C Thermal shutdown (outputs off) at 170°C Internal clamp diodes Shorted load protection Internal charge pump with external bootstrap capability Internal clamp diodes Shorter load protection Internal charge pump with external bootstrap capability

Pittman DC Motor Specs Encoder Specs

Pittman Motor Block Diagram

Root Locus of Plant

Bode Plot for Plant

Software Matlab -Simulink -main m-files -Gui m-files Code Composer Studio 2. 0 -Auto-code generation -Communication with Dsp board

Software flowchart

Software flowchart

Design Work Matlab GUI -Gui m-file Controller Design Iterations -Proportional Controller -Feed-forward Controller -IMC controller

GUI

Proportional Controller

Proportional Controller

Other Block diagrams

Proportional Controller

Proportional Controller Simulink Results

Proportional Controller Actual Results

Proportional Controller Actual Results

Feed-forward Controller Why Feed-forward Controller? Faster response to command changes than singleloop controllers Less overshoot: More accurate than single-loop controllers Better system for Dc Motor control

Feed-forward Controller

Feed-forward Equations C/R = (Gc*Gp + Gp) / (1 + Gp) Desired C/R = 1. 0 So Gc = 1/Gp to get desired controller Gain K calculated based on DC gain of plant

Feed-forward Controller

Feed-forward Controller

Feed-forward Controller Simulink Results

Feed-forward Controller Actual Results

Feed-forward Controller Actual Results

Internal Model Controller IMC uses a plant model for disturbance rejection More ideal control system Faster and more robust system

Internal Model Controller

IMC Equations C/R = (Gc*Gp)/(1 + Gc*Gp - Gc*Gp’) Desired C/R = 1. 0 So Gc = 1/Gp’ = 1/Gp to get desired controller Gain K calculated based on DC gain of plant

Internal Model Controller

Internal Model Controller

Internal Model Controller Simulink Results

IMC Controller Actual Results Hardware didn’t support algebraic loops Unable to Run IMC from processor

Conclusion Overall Hardware fully functional Functional parts of GUI work correctly/ extra features never implemented All Controllers work in Simulation Only proportional and feed-forward run off hardware

Questions?

Feed-Forward Equations C = Gp*(R*Gc + E) E = R - C C = Gc*Gp*R + Gp*R – C*Gp C + C*Gp = Gc*Gp*R + Gp*R C = R*(Gc*Gp + GP) / (1 + GP) C/R = (Gc*Gp + Gp) / (1 + Gp)

IMC EQUATIONS C = E*Gc*Gp E = R – (E*Gc*Gp – E*Gc*Gp’) E + E*Gc*Gp - E*Gc*Gp’ = R E = R / (1 + Gc*Gp - Gc*Gp’) C = (R*Gc*Gp) / (1 + Gc*Gp - Gc*Gp’) C/R = (Gc*Gp) / (1 + Gc*Gp - Gc*Gp’)

Spring Semester Schedule Week Goals 1 -7 Build and test single-loop controller, Design Gui layout 8 Build and test feed-forward controller 9 -10 Implement IMC with linear model 11 Final testing, final Gui design 12 -13 Final documentation

Pinout

Pinout