View
229
Download
3
Embed Size (px)
Citation preview
Internal Model Control for
DC Motor Using DSP Platform
By: Marcus FairAdvisor: 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 motor32-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 Mini-projectAlso based on DC Motor Speed Control DemoM-files to run softwareSpeed 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 controllersCompare 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 lessSettling time: 100ms or lessOvershoot: < or = 5%Steady state error: + or – 5 RPM
Equipment List
GM9236C534-R2 Pittman DC motorEzdsp F2812 BoardLMD18200 H-bridge3 - SN74LVC4245A voltage shifter6-Pin DIP Opto-isolator2N2222A BJT2 - DiodesAgilent 30V power supply and HP 5V power supplyTektronix 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-bridgeDelivers 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
Part # GM9236C534-R2
Gear ratio 5:9:1
No-load at 30V
834 RPM, current 100 ma
Part #Part # GM9236C534-R2GM9236C534-R2
Gear ratioGear ratio 5:9:15:9:1
No-load at 30VNo-load at 30V
834 RPM, current 100 ma
834 RPM, current 100 ma
Input Voltage 5V
Resolution 512 ppr (before gear reduction
Input VoltageInput Voltage 5V5V
ResolutionResolution 512 ppr (before gear reduction512 ppr (before gear reduction
Motor Specs
Encoder Specs
Pittman Motor Block Diagram
kv
0.0582
kt
0.0582
To Workspace1
VelocityTo Workspace
t
Step Scope
ME Side
1
0.00000706 s+0.00000354
EE side
1
0.00424 s+3.91
Clock
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
----------> DC MOTOR ------------>&
OPTICAL ENCODER
Speed Correction
Reference
FeedbackSetSpeed
Target Speed
MeasureSpeed
Speed in RPM
F2812 eZdsp
Build/Reload& Run
Proportional Controller
Subsystem
Take Samples
Gain
90
Data TypeConversion
Convert
C28 x PWM
C281 x
PWM
W1
Feedback
2
Reference
1
Other Block diagrams
Out 1
1
Terminator
Subsystem
Take Samples
Speed Measurement
theta
dir
freq
RPMSpeed
DMC
Shaft Encoder Resolution
43 .3
Generate Theta
In1
In2
Out1
Direction
1
Data TypeConversion
ConvertC28 xQEP1
C281 x
QEP
cnt
Target Speed
1
From RTDX
From RTDXmfichan 1
Data Type Conversion 1
doubleref
Proportional Controller
Unknown
.0001
Transfer Fcn
1937362
s +922 s+1132962
To Workspace
simout
Step
Sampling
0.001
Rotary Encoder
81 .5
RPM conversion
29 .29
Quad Gain
4
Output
H-bridge
6
Gain
Gain
90
Feedback signal
ErrorCommand signal
Clock
Proportional ControllerSimulink Results
Proportional ControllerActual Results
Proportional ControllerActual Results
Feed-forward Controller
Why Feed-forward Controller?Faster response to command changes than single-loop controllersLess overshoot: More accurate than single-loop controllersBetter system for Dc Motor control
Feed-forward Controller
----------> DC MOTOR ------------>&
OPTICAL ENCODER
Speed Correction
Feedforward
Reference
FeedbackSet
Speed
Target Speed
Measure Speed
Speed in RPMFeedforward
0.001149 z -0.0015 z+0.00043782
z +1.889 z+0.8922
F2812 eZdsp
Build/Reload& Run
Feed-forward Equations
C/R = (Gc*Gp + Gp) / (1 + Gp)Desired C/R = 1.0So Gc = 1/Gp to get desired controllerGain K calculated based on DC gain of plant
Feed-forward Controller
----------> DC MOTOR ------------>&
OPTICAL ENCODER
Speed Correction
Feedforward
Reference
FeedbackSet
Speed
Target Speed
Measure Speed
Speed in RPMFeedforward
0.001149 z -0.0015 z+0.00043782
z +1.889 z+0.8922
F2812 eZdsp
Build/Reload& Run
Feed-forward Controller
Subsystem1
Take Samples
Gain
90
Data TypeConversion 1
Convert
C28x PWM
C281 x
PWM
W1
Feedback
3
Reference
2
Feedforward
1
Feed-forward ControllerSimulink Results
Feed-forward ControllerActual Results
Feed-forward ControllerActual Results
Internal Model Controller
IMC uses a plant model for disturbance rejectionMore ideal control systemFaster and more robust system
Internal Model Controller
IMC Equations
C/R = (Gc*Gp)/(1 + Gc*Gp - Gc*Gp’)Desired C/R = 1.0So Gc = 1/Gp’ = 1/Gp to get desired controllerGain K calculated based on DC gain of plant
Internal Model Controller
----------> DC MOTOR ------------>&
OPTICAL ENCODER
Speed Correction
Reference
FeedbackIMC
SetSpeed
Target Speed
Measure Speed
Speed in RPM
IMC
0.3252 z +0.6504 z+0.32522
z -1.305 z+0.38092
F2812 eZdsp
Compensation Gain
57 .29124
Build/Reload& Run
Internal Model Controller
IMC 1
Subsystem1
Take Samples
Gain
42 .3737
Data TypeConversion 1
Convert
Controller
0.07355 z -0.09597 z+0.028022
z +1.111z+0.30862
C28x PWM
C281 x
PWM
W1
Feedback
2
Reference
1
Internal Model ControllerSimulink Results
IMC ControllerActual Results
Hardware didn’t support algebraic loopsUnable to Run IMC from processor
Conclusion
Overall Hardware fully functionalFunctional parts of GUI work correctly/ extra features never implementedAll Controllers work in SimulationOnly proportional and feed-forward run off hardware
Questions?
Feed-Forward Equations
C = Gp*(R*Gc + E)E = R - CC = Gc*Gp*R + Gp*R – C*GpC + C*Gp = Gc*Gp*R + Gp*RC = R*(Gc*Gp + GP) / (1 + GP)C/R = (Gc*Gp + Gp) / (1 + Gp)
IMC EQUATIONS
C = E*Gc*GpE = 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