Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
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 TMS320F2812 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: 100ms or less Overshoot: < or = 5% Steady state error: + or – 5 RPM Equipment List GM9236C534-R2 Pittman DC motor Ezdsp F2812 Board LMD18200 H-bridge 3 - SN74LVC4245A voltage shifter 6-Pin DIP Opto-isolator 2N2222A BJT 2 - Diodes Agilent 30V power supply and HP 5V power supply Tektronix Oscilloscope Overall Block Diagram Overall Block Diagram Dsp board technical specs Generation TMS320F281x CPU 1 C28x 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 McBSP 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 3A continuous output Operates at supply voltages up to 55V Low RDS(ON) typically 0.3W 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 Motor Specs Part # GM9236C534R2 Gear ratio 5:9:1 No-load at 30V 834 RPM, current 100 ma Encoder Specs Input Voltage 5V Resolution 512 ppr (before gear reduction Pittman Motor Block Diagram t Clock Velocity To Workspace To Workspace1 1 1 0.0582 0.00424 s+3.91 0.00000706 s+0.00000354 Step Scope kt EE side 0.0582 kv ME Side 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 Target Speed Set Speed Reference Feedback ----------> DC MOTOR ------------> & OPTICAL ENCODER Speed in RPM Measure Speed Speed Correction Build/Reload & Run F2812 eZdsp Proportional Controller Take Samples 1 Reference 2 Feedback Subsystem 90 Gain Convert Data Type Conversion C281 x W1 PWM C28 x PWM Other Block diagrams From RTDX mfichan 1 double From RTDX Data Type Conversion 1 ref 1 Target Speed C281 x cnt QEP C28 xQEP1 In1 Out1 theta In2 Generate Theta dir Speed RPM Speed Measurement 43 .3 Terminator DMC freq Convert 1 Out 1 Data Type Conversion 1 Take Samples Shaft Encoder Resolution Direction Subsystem Proportional Controller Error Command signal Gain 90 .0001 Output 1937362 6 s2 +922 s+113296 Step Gain Unknown RPM conversion Sampling 0.001 29 .29 H-bridge Transfer Fcn Quad Gain 4 Feedback signal simout Clock To Workspace Rotary Encoder 81 .5 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 single-loop controllers Less overshoot: More accurate than single-loop controllers Better system for Dc Motor control Feed-forward Controller 0.001149 z2 -0.0015 z+0.0004378 z2 +1.889 z+0.892 Feedforward Target Speed Feedforward Reference ----------> DC MOTOR ------------> & OPTICAL ENCODER Speed in RPM Feedback Set Speed Measure Speed Speed Correction Build/Reload & Run F2812 eZdsp 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 0.001149 z2 -0.0015 z+0.0004378 z2 +1.889 z+0.892 Feedforward Target Speed Feedforward Reference ----------> DC MOTOR ------------> & OPTICAL ENCODER Speed in RPM Feedback Set Speed Measure Speed Speed Correction Build/Reload & Run F2812 eZdsp Feed-forward Controller Take Samples 1 Feedforward Subsystem 1 2 Reference 3 Feedback 90 Gain Convert Data Type Conversion 1 C281 x W1 PWM C28 x PWM 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 Target Speed Reference IMC Set Speed Feedback ----------> DC MOTOR ------------> & OPTICAL ENCODER Speed Correction Speed in RPM Measure Speed 0.3252 z 2 +0.6504 z+0.3252 z 2 -1.305 z+0.3809 57 .29124 Compensation Gain IMC Build/Reload & Run F2812 eZdsp Internal Model Controller 1 Reference Take Samples 0.07355 z2 -0.09597 z+0.02802 z2 +1.111z+0.3086 Subsystem1 42 .3737 Convert Data Type Conversion 1 Gain 2 Feedback C281 x Controller W1 IMC 1 PWM C28 x PWM 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