internal model control for dc motor using dsp platform by: marcus fair advisor: dr. dempsey

Post on 21-Dec-2015

225 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related