35
DC Motor-Clutch-Generator Control Workstation Senior Project Proposal Simon Benik and Adam Olson Senior Project Proposal Advisor: Dr. Gary Dempsey

DC Motor-Clutch-Generator Control Workstation Senior Project Proposal Simon Benik and Adam Olson Senior Project Proposal Advisor: Dr. Gary Dempsey

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

DC Motor-Clutch-Generator Control Workstation

Senior Project Proposal

Simon Benik and Adam Olson

Senior Project Proposal

Advisor: Dr. Gary Dempsey

Contents

• Project Summary

• 2006 Mini - Project

• Software

• Modeling

• Controller

• Conclusion

Project Summary

• Physical System

• Application to Real World

• Goals– EMAC 80515 C programming– Modeling– Controllers– Simulink/Physical System Interface

2006 Mini Project

• Linear Model

• Single Motor

• Assembly Linear Model

System Functions

• Physical System• EMAC 80515 Development Board• Simulink

Keypad(1st command

signal input mode)

LCD

RS232 Serial Interface

Software Based Motor Controller

Matlab

Rx

EMAC 80515 Development Board

Interface Hardware

Pittman DC Motor

Rotary Encoder

PWM PWM

Velocity and AccelerationFeedback

Clutch

Joystick(2nd command

signal input mode)

DC Generator

Variable Load

Activate/Deactivate Input

User Selectable Load Input

Simulink Model

GUI Interface and Simulation

Simulink

Tx

EMAC 80515 Subsystem

Simulink Subsystem

Motor SubsystemClutch Subsystem

DC Generator Subsystem

Software Goals

• Expand off of Mini-project

• Recording Data In Ram

• Serial Communication

• GUI Interface With Matlab

• Control Motor Velocity, Clutch and Generator Resistance

Initialization

EMAC Primary Flowchart

Start

Main Loop

Poll Timings

Keypad Pressed

Closed Loop

No

No

No

Increase/Decrease PWMBreak

Closed Loop

Change Poll TimingsGet/Send Data with Computer

Set Generator ResistanceClosed Loop CalculationsYes

Yes

Yes

Interrupts

Display update every .5 seconds

Get PWM from optical encoder

Return

Mini-Project

• Data Taken Every 1 [ms]

• Display Uses Look-up Tables

• Keypad Interface

• P/PI Controller Written In Assembly

• Joystick to Control System

Recording Data In Ram

• Records with ‘E’

• 255 data points

• Adjustable record time

Serial Communication

• RS232 connection

• DUART chip

• Interfaces with Matlab– Sends RPM Data

– Receives Variables

• Real-time communication

Matlab

• 3 .M Files Created for testing

-Receiving Real-time Data, RAM Data, and sending Variables

• Provides a base for GUI

Matlab GUI

System Modeling and Simulink

• Nonlinear Friction

• System Models

• Model Validation

• Model GUI

Nonlinear Frictions

• Static Friction • Coulomb Friction

• Viscous Friction • All Frictions Combined

DC Motor Nonlinear Friction

Nonlinear component Linear component

Simulation and Experimental Results

Linear motor model simulation (poor accuracy to

real system)

Plant Modeling

(torque)

(Inertia)

(mechanical inductance)

(friction)

(velocity)

(current)

(capacitance)

(susceptance)

(conductance)

(voltage)

Pittman DC Motor

Rotary Encoder

ClutchDC Generator

Variable Load

Activate/Deactivate Input

User Selectable Load Input

Clutch Subsystem

DC Generator Subsystem

Derived Plant Model

Nonlinear Model Validation

Transient and Steady State Validation

Hybrid Analog-Digital Controls System

DC Motor Simulink GUI

Controller Design

• Hybrid Control System Analysis

• Controller Design

• Practical Limitations

Hybrid Controls SystemOpen-Loop System with PWM zero-order hold

1

18001

8501

60

0146.0

SSSnversionSoftwareCoderRotaryEncoGpHbridgePWMGc

Controller Designs

• Proportional controller

• Proportional-integral controller

sec/18.473 radc

28.1318.473

10002

c

s

55PM

50PM

4.12175.51

10002

c

s

sec/75.51 radc

S

S

sGc1

5004658

)(

1

987.6645.11)(:

z

zzGcTustin

11 987.6645.11 nnnn rryy

644)( KpsGc

Nonlinearity affects PM, %OS, etc.

Implementation of Controllers

• Proportional Controller- Diff = (RPMsetval - RPMin);- number = Diff * kp;- number = number + 461;

• Proportional-integral Controller- Diff = (RPMsetval - RPMin);- number = Diff * ki;- number = number + lastRPM;- lastRPM = number;

Proportional Controller

Proportional-integral Controller

Conclusions

• Software Design

• Problems in Code

• Next Years Mini-Project

• Accomplishments and Future Work

Conclusions

Software Design• EMAC Code

– 1,200 lines of assembly– 150 lines of C

• Matlab Code– 250 lines

• Matlab (GUI) Code – 100 lines

Conclusions

Problems In Code• LCD Update

• Highest Bit for Serial Communication

• Sending 0’s to MATLAB

Conclusions

• Accomplishments– Non-linear Model– Serial Communication– GUI for Both Model and Physical System

• Recommendation For Future Work– Sending RPM and PWM Data– More Advanced Controllers

Questions

Equipment and Tools

• EMAC 80515 Development Board• HP 30V Power supplies• Pittman DC Motors• Reell EC15 Spring Clutch• 5.6 Ohm, 8.7 Amp Potentiometer• Matlab and Simulink Software on a PC

Schedule of Tasks

XXX