Title: Internal Model Control for DC Motor Using DSP Platform
1Internal Model Control for DC Motor Using DSP
Platform
- By Marcus Fair
- Advisor Dr. Dempsey
2Outline
-
- Problem description
- Objectives
- Functional Specs
-
- Sub-system Overview
-
- Software
- Design
-
-
-
3Summary
- 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
4Preliminary Work
- DC Motor block diagrams from Senior Mini-project
- Also based on DC Motor Speed Control Demo
- M-files to run software
- Speed Measurement block in Simulink
5Common Problems in Control Systems
- Load Changes
- -Load shaft
- Plant Changes
- -Armature Resistor, Armature Inductor, Rotor
Inertia, etc - Power Supply Changes
6Objectives
- Build DSP/motor hardware interface
- Design and build (GUI)
- Design closed-loop controllers
- Compare conventional controller results with the
IMC method
7Functional Requirements and Performance
Specifications
- Closed-loop operation Determine optimum gains
for controllers - Rise time 20 ms or less
- Settling time 100ms or less
- Overshoot lt or 5
- Steady state error or 5 RPM
-
8Equipment 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
9Overall Block Diagram
10Overall Block Diagram
11Dsp board technical specs
12Inputs and Outputs
13H-bridge
14Pittman DC Motor
Motor Specs
Encoder Specs
15Pittman Motor Block Diagram
16Root Locus of Plant
17Bode Plot for Plant
18Software
- Matlab
- -Simulink
- -main m-files
- -Gui m-files
- Code Composer Studio 2.0
- -Auto-code generation
- -Communication with Dsp board
-
19Software flowchart
20Software flowchart
21Design Work
- Matlab GUI
- -Gui m-file
- Controller Design Iterations
- -Proportional Controller
- -Feed-forward Controller
- -IMC controller
22GUI
23Proportional Controller
24Proportional Controller
25Other Block diagrams
26Proportional Controller
27Proportional ControllerSimulink Results
28Proportional ControllerActual Results
29Proportional ControllerActual Results
30Feed-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
31Feed-forward Controller
32Feed-forward Equations
- C/R (GcGp 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
33Feed-forward Controller
34Feed-forward Controller
35Feed-forward ControllerSimulink Results
36Feed-forward ControllerActual Results
37Feed-forward ControllerActual Results
38Internal Model Controller
- IMC uses a plant model for disturbance rejection
- More ideal control system
- Faster and more robust system
39Internal Model Controller
40IMC Equations
- C/R (GcGp)/(1 GcGp - GcGp)
- Desired C/R 1.0
- So Gc 1/Gp 1/Gp to get desired controller
- Gain K calculated based on DC gain of plant
41Internal Model Controller
42Internal Model Controller
43Internal Model ControllerSimulink Results
44IMC ControllerActual Results
- Hardware didnt support algebraic loops
- Unable to Run IMC from processor
45Conclusion
- 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
46Questions?
47Feed-Forward Equations
- C Gp(RGc E)
- E R - C
- C GcGpR GpR CGp
- C CGp GcGpR GpR
- C R(GcGp GP) / (1 GP)
- C/R (GcGp Gp) / (1 Gp)
48IMC EQUATIONS
- C EGcGp
- E R (EGcGp EGcGp)
- E EGcGp - EGcGp R
- E R / (1 GcGp - GcGp)
- C (RGcGp) / (1 GcGp - GcGp)
- C/R (GcGp) / (1 GcGp - GcGp)
49Spring 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
50Pinout
51Pinout