Click here to load reader
Date post: | 05-Dec-2014 |
Category: |
Documents |
Upload: | justsayani |
View: | 2,580 times |
Download: | 0 times |
Click here to load reader
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
1
ELECTROMECHANICAL FIN CONTROL
SYSTEM PERFORMANCE OPTIMIZATION
Group Project
December 11, 2009
Vladimir Ten Santosh Rohit Yerrabolu Anirudh Pasupuleti Instructor: Dr. English
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
2
1. Introduction These days Digital Signal Processing and FPGA technology have become affordable for almost any area where mechanical actuation is involved: from a portable CD player or power window/power lock in a car to thrust vector control in a Space Shuttle. In some power applications such as launch systems, re-entry vehicles or fin control electromechanical actuation is preferable to hydraulic actuation. The reasons for this are:
Electro mechanical actuators are more efficient per input power unit;
Electro mechanical actuators don’t utilize complex hosing systems;
Electro mechanical actuators do not require compression fluids (oil);
Electro mechanical actuators do not require complex valves and draining systems as a part of safety systems;
The hardware itself takes less volume and weight per output power. In this project we will be optimizing some major electromechanical control system parameters for given performance. The system provides a motive force required to move a fin in both directions, CW and CCW. The system consists of an electromechanical actuator, electronic control unit (ECU or Controller) and associated interconnecting cables between an actuator and a controller. The proposed Motor is a Brushless DC motor (BLDC). The reason the group selected a BLDC motor over a conventional brushed motor is that a delivery of minimum amount of Total Harmonic Distortion is one of the most critical factors in a majority of Aerospace applications. The proposed Actuator is a Ballscrew type actuator. The actuator provides an output shaft interface for control fin mounting. Fin movement is tracked using BLDC motor Hall Effect Device (HED) feedback. This simple feedback scheme, when combined with a lookup table in the controller, provides accurate positioning, reduces overall cost of the Control System (CS), and eliminates the contacting wiper element of an arc segment potentiometer. All four actuators are controlled by a single-board controller that receives commands from the flight computer, and power from the system battery. The proposed Controller is an FPGA based controller. The FPGA performs all of the high speed logic and algorithmic functions. The FPGA provides several important functions to the system: first and foremost, it provides the closed loop control of four flight control surfaces. The control architecture provides an outer position loop, an inner velocity loop, and a PWM pulse by pulse current limit. The FPGA manages communication with the Flight Computer, the CS operating mode control, and the interface to the analog to digital conversion device. The FPGA also provides commutation for the brushless DC motor based on the PWM and motor direction values calculated and the HED feedback from the motor. As
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
3
a part of the commutation control, the FPGA also controls the motor modulation technique and the current limit. The FPGA also provides digital filtering on the HED state and current limit inputs to prevent noise induced false states from affecting the system’s operation. The controller consists of a low section, control circuitry board, and a high section, called power stage to provide brushless DC motor commutation using Insulated Gate Bipolar Transistors (IGBT).
2. System Design Analysis 2.1 Basic Operation/Description A functional schematic of the proposed electromechanical fin control system is shown in Figure 2.1-1. The CS receives commands from the missile flight computer via a serial bi-directional data link. Generally the industry standard RS-422 interface is being used for this type of application. The CS receives power from the system battery of 28 VDC. This should help simplify the missile-level electrical design, as the CS would use the same voltage as other systems and eliminate the need for a battery tap. The CS controller electronics convert the serial commands and battery power to PWM current and direction signals to each of four EM actuators. The actuators provide rotary motion to output shafts, which are mechanically fastened to four control fins, providing motion control to the vehicle. The fin position loop is closed by counting the state changes of HEDs in the actuator BLDC motors.
Fin Actuator # 1
BLDC Motor
Balscrew/Crankarm
Fin Actuator # 1
BLDC Motor
Balscrew/Crankarm
Fin Actuator # 1
BLDC Motor
Balscrew/Crankarm
Fin Actuator # 1
BLDC Motor
Balscrew/Crankarm
Control
Electronics
Flight
Computer
Battery
Fin # 1
Fin Lock
Fin # 4
Fin Lock
Fin # 3
Fin Lock
Fin # 2
Fin LockVladimir Ten
Santosh Rohit Yerrabolu
Anirudh Pasupuleti
Project MAE 550
Figure 2.1-1 The Control Electronics provides closed loop position control of four fin actuators based on commands received from RS-422 interface and actuator feedback,
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
4
which is derived from the motor HEDs. The actuator control algorithm includes both position and velocity loops implemented in firmware and an active current limit implemented in hardware. Telemetry and Built-in-Test (BIT) data are sent from the Control Electronics over the RS-422 communications interface in response to every valid position command message. The entire CS is powered by +28VDC. The low voltage section of the Control Electronics is powered by two on-board switching power supplies, a +28V to +12V regulator and a +28V to +3.3V regulator. Other small signal voltages are provided by linear regulators. The output stage, which drives the fin actuator motors, is also powered by +28 VDC supplied by the actuator battery, a great benefit, as it allows the whole system to be powered by a single, standard voltage battery. At power-on, +28VDC is supplied to the CS. After completing a robust Power on Reset (POR), the CS will initially perform Power-On BIT testing. After successful completion of Power-On BIT, the controller enters Ready Mode. Once in this mode, the CS accepts and responds to the RS-422 commands, from the application Flight Computer. The CS also begins to run its Continuous BIT check. As a part of the CS pre-launch check, the Control Electronics could be instructed to run its Commanded BIT test. This comprehensive check would provide a high degree of confidence that the CS will successfully perform during flight. The integrity of the motor drive circuitry, HED feedback, and motor can be completely checked. The CS is then ready for flight and will respond to position commands from the application Flight Computer over the RS-422 communications link. The proposed electromechanical fin control solution takes its roots from well known existing designs already developed by the industry. 2.2 System Sizing
In sizing an EM actuator for any given application, we typically look to minimize the size of the motor component in relation to the available envelope and dynamic performance requirements. So the first step in sizing the actuator is to find the optimal brushless motor performance to obtain the torque necessary for the application.
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
5
3 Component Analysis and Constraints 3.1 Actuator
3.1.1 Rotary to Linear Conversion of a Screw System (RPM to in/sec)
3.1.2 Rotary to Linear Conversion of a Screw System (Torque to Force)
Lead
Screw
Rodx
)(
)(
)/(
4.25*24.25*60
mmLead
RPMS
Secinchx
LeadLeadSx
Screw
Rod
ScrewScrewRod
Sec
Rad
v
Rad
Sec
Min
Min
v
SecRadToRPMOfConversion
Min
v
MinRad
v
Sec
Rad
RPMToSecRadOfConversion
Re
2*
60*
Re
/
Resec60*
2
Re*
/
sec/7.154.25*60
54800
RPM4800 Speed Motor with
mm 5 Lead Screw Ball
:ithactuator wan for speedoutput Linear calculate Example,
inchxSpeedOutput Rod
Lead
ScrewT
RodF
Actuator
onaticFrictiActuatorStT
ActuatorScrewRodLead
TF 4.25
2T onaticFrictiActuatorSt
lbFRod
Actuator
1767)8.0(5
4.25262.75
8.0
lb-inch 6T
lb-inch 75.2 T TorquePeak Motor with
mm 5 Lead Screw Ball
:ithactuator wlinear afor force) end (rodoutput ForcePeak Calculate Example,
onaticFrictiActuatorSt
Screw
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
6
3.1.3 Rotary to Linear Conversion of a Screw System (Acceleration)
3.1.4 Reflected Inertia of Linear Actuation System
Lead
Screw
Rodx 4.252
Lead
x ScrewRod
2
2
2
2
2
sec/3861:
'62.1sec/386
sec/627:'
sec/6274.25*2
520000
rad/sec 20000 on accelerati rotational (screw)Motor
mm 5 Lead Screw Ball
:ithactuator wlinear afor on accelerati end rod calculate Example,
inchgNote
sginch
ginchsnGExpressedI
inchxtionarAcceleraOutputLine Rod
JActuator
Lead
JActuator JLoad
WLoad
JTotal
2
*4.25*2
GR
Lead
g
wJ Load
Load
2
2
2
Load
2
Actuator
sec0034.00024.0001.0
sec0024.04.25*2
20
386
60
1GR
20mmLead
60lbW
sec001.0J
.centerlinemotor the toreflected as inertia system equivalent
thecalculate end, rod the tocoupleddirectly load pound 60
a and screw ball mm 20 aith actuator wlinear aFor :Example
lbinJ
JJActuatorJ
lbinJ
lbin
Total
TotalTotal
Load
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
7
3.1.5 Rotational Acceleration
LoadActuatorTotal JJJ
JActuator
Lead=20mm
JActuator
0.001
JLoad 0.0024
WLoad=60 pounds
JTotal 0.0034
4.25*2
T
: torque)effective increasedfriction down slowing(when on Decelerati
T
: torque)effective reducesfriction ngaccelerati(when on Accelerati
:tionRepresenta General
icFrictionSystemStat
icFrictionSystemStat
Leadx
J
T
J
T
J
T
ScrewRod
Total
PeakMotor
Motor
Total
PeakMotor
Motor
Total
PeakMotor
Motor
Peak
Peak
Peak
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
8
3.1.6 Equivalent Actuator Free Body Diagram
Once the rod end force (F) and speed (V) requirements are defined, we can work backwards through the actuator to estimate motor torque and speed.
The peak torque is then compared to motor peak torque/speed curves to make sure it is within peak capabilities and then the RMS current is calculated based on duty cycle and compared to the RMS current rating of the motor (actuator) to determine if this cyclic operation can be maintained continuously.
Tm TsA TvL
Ja
Lead
F
V
bA
Rod End
JTotal
PeakMotorMotorPeakTStatictionSystemFricT
sginxLinear
radJ
TRotational
sginxLinear
radJ
TRotational
sginxLinear
radJ
TRotational
lbinJ
lbin
lbin
Rod
Total
PeakScrewScrew
Rod
Total
PeakScrewScrew
Rod
Total
PeakScrewScrew
Total
Peak
Peak
Peak
'9.7sec/30594.25*2
2024412:
sec/244120034.0
677T:
:onDeceleratiPeak
'8.6sec/26174.25*2
2020882:
sec/208820034.0
677T:
:onAcceleratiPeak
'4.7sec/28384.25*2
2022647:
sec/226470034.0
77:
:onAccelerati Nominal
sec0034.0
20mmLead
60lbW
sec001.0J
6T
lb-in 77TpeakMotor
:ithActuator wLinear afor on valuesaccelerati Caluclate Example,
2
2onaticFrictiActuatorSt
2
2onaticFrictiActuatorSt
2
2
2
Load
2Actuator
icFrictionSystemStat
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
9
3.1.7 Equivalent Rotor Equations
3.2 Motor Description and Analysis In the analysis of electric servo drive motors, the equations for the motor indicate the presence of two time constants. One is a mechanical time constant and the other is an electrical time constant. Using Kirchhoff law motor current can be represented as:
𝑑𝑖𝑎𝑑𝑖𝑡
= −𝑟𝑎𝐿𝑎
𝑖𝑎 −𝑘𝑒
𝐿𝑎𝜔𝑟 +
1
𝐿𝑎𝑢𝑎
The mechanical part of the system yields:
𝑇 = 𝐽𝛼 = 𝐽𝑑𝜔
𝑑𝑡
Where 𝐽 - is a rotor Inertia and 𝑑𝜔
𝑑𝑡 - is acceleration of the rotor
Electromechanical Torque per motor current can be defined as:
𝑇𝑒 = 𝑘𝑡 𝑖𝑎
AAAM
AAAM
AAAM
AAAM
AAAM
JbTsKFT
JbTsKFKT
JKbKKTsKTF
KJbTsTF
LeadLetK
LeadJbTsTF
/
][
][
4.252
4.252][
TM = Motor Torque (in-lb)
TsA = Torque due to static friction (in-lb)
TvL = Torque due to viscous friction (in-lb)
bA =Actuator viscous friction (in-lb-s)/r
JA = Actuator Inertia (in-lb-s2)
Composite Efficiency including screw/bearings (%)
Lead = Screw lead (mm)
F = Rod end force (lb)
V = Rod end velocity (ips)
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
10
Friction Torque can be defined as:
𝑇𝑣𝑖𝑠𝑐 = 𝐵𝑚𝜔𝑟
Where 𝐵𝑚 - is friction coefficient and 𝜔𝑟 - is a rotor speed
𝑑𝜔𝑟
𝑑𝑡=
1
𝐽 𝑇𝑒 − 𝑇𝑣𝑖𝑠𝑐 =
1
𝐽 𝑘𝑡𝑖𝑎 − 𝐵𝑚𝜔𝑟 =
𝑘𝑡
𝐽𝑖𝑎 −
𝐵𝑚
𝐽𝜔𝑟
Finally we will have a system of two differential equations:
𝑑𝑖𝑎𝑑𝑖𝑡
= −𝑟𝑎𝐿𝑎
𝑖𝑎 −𝑘𝑒
𝐿𝑎𝜔𝑟 +
1
𝐿𝑎𝑢𝑎
𝑑𝜔𝑟
𝑑𝑡=
𝑘𝑡
𝐽𝑖𝑎 −
𝐵𝑚
𝐽𝜔𝑟
So State Space Form yields:
𝑑
𝑑𝑡 𝑖𝑎𝜔𝑟
=
−
𝑟𝑎𝐿𝑎
𝑘𝑒
𝐿𝑎
𝑘𝑡
𝐽−
𝐵𝑚
𝐽
𝑖𝑎𝜔𝑟
+
1
𝐿𝑎
0
𝑢𝑎
With output form:
𝑦 = 1 0 𝑖𝑎𝜔𝑟
3.3 Controller Operation Description/PI Compensator Implementation
The basic theory behind electronic motor controls is that the motor’s speed, torque and direction are managed by electronically switching or modulating the voltages to the motor. The current level to the motor can also be managed indirectly by modulating the motor’s voltage. Pulse Width Modulation (PWM) is the most commonly used method to vary the average voltage to the motor. The motor’s inductance, which is partially set by the number of turns used in the motor’s windings, will integrate or smooth out the PWM voltages. For example, if 28 VDC is applied to the motor at 50 percent duty cycle, the average motor voltage will be 14 VDC. This is the basic principle used to vary average voltage in most electronic motor control systems. There are many aspects to PWM for motor control. The duty cycle of the PWM directly affects the amount of energy applied to the motor. The frequency of the PWM waveform will also influence the motor’s operation and the long-term reliability of the power electronics. In most motor controls, the PWM frequency remains constant while its duty cycle varies from 0 to 100 percent. Since the motor is a dynamic machine with the armature and mechanical loads acting as a flywheel, the PWM frequency can be fairly low -
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
11
100Hz or less, before the motor starts to pulsate noticeably in synchronization with the PWM frequency. All servo drives require some form of compensation, often referred to as proportional, integral, and differential (PID). The process of applying this compensation is known as servo equalization or servo synthesis. In general, servo drives use proportional and integral compensation (PI). PI-type control algorithms found to be straightforward and well understood, reliable, and efficient for solving the motion control problems for both linear and nonlinear electromechanical systems.
System output with a PI compensator can be defined as:
𝑢 𝑡 = 𝑘𝑝𝑒 𝑡 + 𝑘𝑖
𝑒(𝑡)
𝑠= 𝑘𝑝𝑒 𝑡 + 𝑘𝑖 𝑒 𝑡 𝑑𝑡
Laplace Transform of PI takes place:
𝑠 = 𝑘𝑝 +𝑘𝑖
𝑠 𝐸(𝑠)
Finally the system PI Transfer Function can be written as:
𝐺𝑃𝐼 𝑠 =𝑈(𝑠)
𝐸(𝑠)=
𝑘𝑝 𝑠 + 𝑘𝑖
𝑠
𝐺 𝑠 =𝑌(𝑠)
𝑅(𝑠)=
𝐺𝑠𝑦𝑠 𝑠 𝐺𝑃𝐼(𝑠)
1 + 𝐺𝑠𝑦𝑠 𝑠 𝐺𝑃𝐼(𝑠)
3.4 Controller Operation Description/PI Compensator Implementation 3.4.1 DC Motor Representation
Using the Laplace transformation we can separate the mechanical and electrical parts of the DC motor as shown in Figure 3.4.1 below. This is an essential procedure for closed loop position and current control.
tttt RSL
1
BJS
K t
eK
wi
vbemf
v
Figure 3.4.1 DC Motor with feedback
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
12
3.4.2 Velocity Loop
In this section we are implementing motor velocity PI regulator. Note, the velocity loop has its own feedback coefficient and it can be different from the internal one.
S
Z
S
Kiff
iff
1
S
Z
S
Kmvff
mvff
1
ifbK
mvfbK
modV
Vswcmd icmd
-
+
tttt RSL
1
BJS
K t
eK
wi
vbemf
v+
-
+
-
Figure 3.4.2 Velocity Loop
3.4.3 Current Loop
Finally to meet torque requirement we are closing PI current control loop as shown below. The focus of this stage of the development is to finalize Block diagram for both a velocity loop and a current loop.
LJ
KKRBs
LJ
RJLBs
LJ
KKRB
J
Bs
KKRB
J
et
et
et
2
)(
S
Z
S
Kiff
iff
1
modV
Vs v+
-
icmd i
ifbK
Figure 3.4.3 Current Loop
3.4. 4 Design Variables and Standard Optimization Form
After a brief description of a basic operation of electromechanical control system the following design variables will be considered in this optimization project.
System Component Design Variable
BLDC Motor Speed, Torque, Current, 𝑘𝑡𝑘𝑒
Actuator Gear Ratio, Total Inertia
Controller 𝑘𝑖 , 𝑘𝑝
All dimensions are in SI units suitable for MATLAB/SIMULINK simulation
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
13
X1=Motor Speed, 𝑟𝑎𝑑
𝑠𝑒𝑐
X2=Motor Torque, 𝑁𝑚 ) X3=Motor Current, 𝐴𝑚𝑝
X4=Motor𝑘𝑡 , 𝑁𝑚
𝐴𝑚𝑝
X5=Motor𝑘𝑒 , 𝑉
𝑟𝑎𝑑 /𝑠𝑒𝑐
X6=Gear Ratio, − X7=Total Inertia, 𝑘𝑔 ∙ 𝑚2 X8=Velocity Loop 𝑘𝑝 (Proportional Coefficient))
X9=Velocity Loop 𝑘𝑖 (Integral Coefficient) Time Domain Constraints
𝒙𝟏 > 0; 𝒙𝟐 − 𝒙𝟒𝒙𝟑 > 0;
𝒙𝟒−𝒙𝟓 > 0; 𝒙𝟕 ≤ 0.000062;
𝒙𝟔 ≤ 𝟒; 𝒙𝟖 − 0.081𝒙𝟗 > 0;
Inverse Laplace Transform Function Minimization:
𝑭 = 𝟔𝟐𝟕𝟖∙𝑺𝟐+𝟓.𝟎𝟏𝟐∙𝟏𝟎𝟔∙𝑺+𝟔.𝟖𝟏𝟒∙𝟏𝟎𝟕
𝑺𝟑+𝟔𝟖𝟕𝟐𝑺𝟐+𝟓.𝟖𝟕𝟐∙𝟏𝟎𝟔∙𝑺+𝟔.𝟖𝟏𝟒∙𝟏𝟎𝟕 ∞
𝟎𝒆𝒔𝒕𝒅𝒔
4 Optimization Process We made several attempts to optimize our system parameters using different optimization methods however after plugging in the data into our model none of them would give us data that we could consider valid for implementation. We were considering Multi-objective parameter estimation of induction motor using particle swarm optimization method, however due to complexity of the system, a nature of the physics of the process and time invariant approach the method is very difficult to apply. Finally we are optimized our parameters using the time cancelation method by going from time domain to frequency domain and then back to time domain.
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
14
% Group Project MAE 550 Engineering Optimization, Fall 2009 % Electromechanical System Performance Optimization % % Group Members: % % Santosh Rohit Yerrabolu % Anirudh Pasupuleti % Vladimir Ten
clear all close all clc
Npoles = 8; % [-] Number of Poles Kt = (1.184); % [Nm/Arms] Kt Torque Constant psi_ = (sqrt(2)/3*Kt)*2/Npoles; % [kg-m2/s^2-Amp] Motor Flux Kt_pk = 3*psi_/2*(Npoles/2); % [Nm/Apk] Kt Peak Torque Constant Ke = 1.1163; % [V/rad-sec] Ke BEMF Constant Ltt = 0.025; % [H] Inductance terminal to terminal Rtt = 14.5; % [Ohm] Phase resistance terminal to terminal Jnet_actuator = (0.62*0.0001); % [kg-m^2] Inertia, Actuator J = (0.62*0.0001); % [kg-m^2] Inertia Bm = (0.000857859); % [Nm-sec/rad] Damping
Kifb = 1; % Current feedback scaling Kmvfb = 1; % Velocity feedback scaling Kposfb = 1; % Position feedback scaling
%PI for Current Loop - cancel electrical time const and for the gain we %set for high frequency asymptote
Ki_p = 2.9065e2/Kifb; Ki_i = 228000/Kifb; Kiff = Ki_i; Ziff = Ki_i/Ki_p;
%piff = 0;
%PI for velocity loop we cancel mechanical time constant
Km_p = 7.8537e-2*Kifb/Kmvfb; Km_i = 9.66e-1*Kifb/Kmvfb; Kmvff = Km_i; Zmvff = Km_i/Km_p;
Vbatt = 540; %Bus voltage Vmod = 1000; %Modulation Gain
%Current Loop PlantGain=(J/(Rtt*Bm+Kt*Ke))*((Rtt*Bm+Kt*Ke)/(Ltt*J)); num2=[0 1 Bm/J]; den2=[1 ((Ltt*Bm+Rtt*J)/(Ltt*J)) ((Rtt*Bm+Ke*Kt)/(Ltt*J))]; Plant = PlantGain*tf(num2, den2);
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
15
CurrentGain=Kiff; num1=[0 1/Ziff 1]; den1=[0 1 0]; CurrentCompensator = CurrentGain*tf(num1, den1); CurrentOpenLoop=(Vbatt/Vmod)*series(CurrentCompensator, Plant); CurrentClosedLoop=feedback(CurrentOpenLoop,Kifb); system1_ss=ss(CurrentClosedLoop) %System's State Space - current loop system1_tf=tf(CurrentClosedLoop) %System's Transfer Function - current loop figure step (CurrentClosedLoop); grid on xlabel('t') ylabel('Output y') title('Unit Step Response of 6278 s^2 + 5.012e006 s + 6.814e007/s^3 + 6872
s^2 + 5.872e006 s + 6.814e007') figure bode (CurrentClosedLoop); grid on impulse(CurrentClosedLoop); grid on %Velocity Loop VelocityGain=Kmvff; num3=[0 1/Zmvff 1]; den3=[0 1 0]; VelocityCompensator = VelocityGain*tf(num3, den3); VelocityOpenLoop=series(VelocityCompensator, CurrentClosedLoop); VelocityClosedLoop=feedback(VelocityOpenLoop, Kmvfb); figure step (VelocityClosedLoop); grid on figure bode (VelocityClosedLoop); grid on impulse(VelocityClosedLoop); grid on
Figure 4.1 Step Response with compensating gains
Unit Step Response of 6278 s2 + 5.012e006 s + 6.814e007/s3 + 6872 s2 + 5.872e006 s + 6.814e007
t (sec)
Outp
ut y
0 0.05 0.1 0.15 0.2 0.25 0.30
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
System: CurrentClosedLoop
Rise Time (sec): 0.000334
System: CurrentClosedLoop
Settling Time (sec): 0.171
System: CurrentClosedLoop
Peak amplitude >= 0.996
Overshoot (%): 0
At time (sec) > 0.3
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
16
Figure 4.2 Bode Plot with compensating gains
5 System Design Analysis using MATLAB/SIMULINK
5.1 Electromechanical System Top Level After detailed system analysis and its performance investigation we created a model of our control system using Simulink.
Figure 6.1 System Top Level
Bode Diagram
Frequency (rad/sec)
100
101
102
103
104
105
-90
-45
0
45
System: CurrentClosedLoopPhase Margin (deg): -180Delay Margin (sec): InfAt frequency (rad/sec): 0Closed Loop Stable? Yes
Phase (
deg)
-25
-20
-15
-10
-5
0
System: CurrentClosedLoopPeak gain (dB): -2.89e-015At frequency (rad/sec): 2.35e-007
Magnitu
de (
dB
)
System Analysis : Motor Control Evaluation Sinedrive Motor , 3-Phase Implementation
Motor
Vabc [V]
Motor Velocity [V]
Motor Position [V]
Line Currents [amps]
Controller
Cmd Input [V]
Motor Velocity [V]
Motor Pos . [ rad, V]
Iabc [A]
Vabc [V]Command
Generation
Cmd [V]double
double (3)
3
double (3)
double
double
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
17
5.2 SINE Drive Control Algorithm We selected Sine commutation (versus 6-step) because it would give us better voltage utilization and less total harmonic distortion, so our system will be more efficient and less noisy (both system and audible)
Figure 6.2 Sine Commutation
5.3 Power Stage Power stage is utilizing IGBTs for motor phase switching. Block diagram is presented in Figure 6.3
Figure 6.3 Power Stage
Generic Analog Sinedrive Controller
Id_cmd
Iq_cmd
Vabc
[V]
1
Npoles/2
-K-
dqo 2abc
dq
the
abc
abc2dqo
the
abc
dq
Vector
Limiter
xy xy _lim
MotorCurrentFdbk
MotorVelocityFdbk
MotorVelocityCommand MotorCurrentCommand
Terminator
Power Stage 1
fdc
Iabc
Vabc
Ibus
PI1k=Kiff
z=ziff
(1/z)s+1
k ––––––
s
PI
k=Kmvff
z=zmvff
(1/z)s+1
k ––––––
s
Modulation
Gain
1/Vmod
1/Kifb1/Kmvfb
Current
Sensor
Scaling
Kifb
0
Iabc
[A]
4
Motor Pos .
[rad , V]
3
Motor
Velocity
[V]
2
Cmd Input
[V]
1double
double
double
double
double (2)double (2) double (2)
double
double
2
2
double (2)
double
3
3
double (3)
double
double (3)
double (2)
double (3)
2
2
double (2)
double (3)
double
double
double
Terminal
VoltagesPower Stage-Vs/2 to Vs/2
±1
Battery
Draw
Ibus
2
Vabc
1
0.5
0.5
Rbatt
MotorPower
BusPower
BusCurrent
BusVoltage
Dot Product
0
Vbatt
Iabc
2
fdc
1 double (3)
double
double (3)double
3
3
double (3)
3
3
double (3)
double
double
double double
double double
double
3
3
double (3)
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
18
6.3 Motor Subsystem Now we are ready to integrate DC motor, power stage and phase switching logics. Motor subsystem is presented in Figure 6.4
Figure 6.4 Motor Subsystem
6.4 Motor Phases This is one of the most important analytical blocks. After we design our system, we want to see if motor phases commutate properly. Later we will run a test based on optimal coefficients we derived analytically. We want to see a perfect Sine wave in the end. If our wave is noisy we no other choice but create a filter to meet harmonics distortion requirements.
Figure 6.5 Motor Phases
Motor Subsystem
Position
[rad ]
3
Velocity
[rad /s]
2
Iabc
[amps]
1[rad ]
1
s
[rad /s]
1
s
Torque Generation
3 Phase Sinewave
Speed [rad/s]
Vabc [V]
Pos [rad]
Torque [Nm]
Iabc [A]
MotorDrag
MotorPositionMotorVelocity
MotorTorque
Motor
FrictionBm
Coulomb Friction
Vel [rad /s]
Torque [lbf in ]Friction [lbf in ]
Armature
Inertia
(inverse )Nm/Jnet_actuator
-K-
Torque
[Nm]2
Vabc
[V]
1
double
doubledouble
double
double doubledoubledouble
double (3)
double (3)
double
double
Line
Currents
Sinewave Drive Motor -- Individual Phases
Iabc [A]
2
Torque [Nm ]
1
Torque
Id
IqMotorCurrent
MotorVoltage
BackEMF
Number of Pole Pairs
Npoles /2
Motor Line Currents
Back EMF
Line Voltages
Motor Currents [amps]
Max Flux
Linkage
psi_
3-Phase
Sinusoids
abc 2dqo
abc
the
dq
Number of Pole Pairs
Npoles /2
Pos
[rad ]
3
Vabc
[V]
2
Speed
[rad /s]
13
3
double (3)
3
3
3
3
double (3)
3
3
double (3)
double (3) double
double
double (3)double (3)
3
double
3
3
double (3)
double
double
doubledouble (2)
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
19
7 Results from the Analysis 7.1 Motor Velocity
Figure 7.1 Motor Velocity
7.2 Motor Current Command & Feedback
Figure 7.2 Motor Current
0 0.05 0.1 0.150
2
4
6
8
10
12
14
16
18
20Motor Velocity
Time, sec
Moto
r V
elo
city,
rad/s
ec
Motor Velocity
Velocity Command
-5 0 5 10
x 10-3
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6Motor Current Command & Feedback
Time, sec
Curr
ent,
Am
ps
Current Command
Actual Motor Current
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
20
7.3 Motor Torque
Figure 7.3 Motor Torque
7.4 Motor BackEMF
Figure 7.4 Motor BackEMF
-5 0 5 10
x 10-3
0
0.2
0.4
0.6
0.8
1
1.2
1.4Motor Torque
Time, sec
Moto
r T
orq
ue,
Nm
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35-15
-10
-5
0
5
10
15Motor BEMF
Time, sec
Voltage,
volts
Phase A
Phase B
Phase C
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
21
7.5 Motor Position
Figure 7.5 Motor Position
8 Digital Filter Implementation
After we confirmed the optimal controller coefficients we ran a real motor control test. The Initial Signal was obtained based on coefficient optimization performance. Coefficients were taken into real motor control system and raw test data was recorded into MS Excel Spreadsheet thru 4 channels digital 500MHz Tektronix oscilloscope. Due to noises, such as power source, motor winding imperfection, EMI issues etc. the sine wave is never perfect. The last part of this project is to design such a digital filter that clear up all possible noises to make design suitable for real life mission.
Filter Design Summary for Real Life Implementation
We examined the spectrum of the phase voltage and it is almost non-zero from 1kHz up to 5kHz so we designed an elliptic filter, which allows frequencies up to 1kHz and stops frequencies from 5kHz and up. The intermediate response of the filter (from 1kHz to 5kHz) is transitive with increasing attenuation as we move from 1kHz to 5kHz. This setting provokes no problem because the initial signal does not have any frequencies inside the transition band. In a different case a more precise filter would be required. In the design passband ripple Apas=1dB and stopband attenuation Astop=80dB I kept by default choice. Had we chosen 60dB the difference would be very small since both 60dB and 80dB is a huge attenuation. Ideally we would like Apass=0dB, so as the amplitude of all the frequencies in the passband to remain unaltered (that would be a perfect passband). However is
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.10
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8Motor Position
Time, sec
Moto
r P
ostition,
rad
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
22
not possible and so Apass=1dB means that a small amplitude distortion up to 1dB is allowed. For digital filter design implementation we were using 50,000 points test data that was recorded in 2 milliseconds. Due to size of the data we are providing here only a computer short screen:
Figure 8.0 50000 points 2usec phase voltage test data
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
23
MATLAB Script of Elliptic dial section digital filter:
% Group Project MAE 550 Engineering Optimization, Fall 2009 % Electromechanical System Performance Optimization % % Group Members: % % Santosh Rohit Yerrabolu % Anirudh Pasupuleti % Vladimir Ten
clear all; close all; clc;
%test data, raw initial signal x = xlsread('real_raw_test_data_for_MAE550_vladimir_ten.xls' ,
'D4419:E33255'); %the second column contains the dependent variable and consequently all the
information x = x(:,2); %FFT setting based on the raw voltage test data N = length(x); %number of samples for FFT Fs = 10^7 / 8; %sampling rate fft_resolution = Fs / N %FFT resolution
X_mag = abs(fft(x));
f = [0 : fft_resolution : Fs - fft_resolution]'; %Filter design %section 1 b1 = [1 -1.9969664834094429384 1]'; a1 = [1 -1.9965824396882807523 0.99658967925051866743]'; G1 = .21269923678879777522e-2; %section 2 b2 = [1 -1.9994686288012706310 1.0000]'; a2 = [1 -1.9986105563553899778 0.99863550105005205459]'; G2 = .46944009614010177855e-1;
x_filtered = G1 * filter(b1,a1,x); x_filtered = G2 * filter(b2,a2,x_filtered);
X_filtered_mag = abs(fft(x_filtered));
%visualization subplot(221); plot(x,'g'); grid on title('initial signal');
subplot(222); plot(f,X_mag,'g*');grid on title('spectrum of initial signal')
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
24
subplot(223); plot(x_filtered,'r');grid on title('filtered signal');
subplot(224); plot(f,X_filtered_mag,'r');grid on title('spectrum of filtered signal')
Figure 8.1 Raw Signal of the phase voltage and Signal after filtering Digital Filter Design Conclusion: When you design filter the performance is very sensitive on the coefficients accuracy. You may notice that coefficients have many decimal digits. And here is a trade off. If I reduce the accuracy the filter may become unstable namely it's poles may jump out off the unit circle. And that is the problem with IIR filters. You will need to break the transfer function in second order so to achieve numerical stability. The advantage of the elliptical filter is that for given allowable ripple in the passband and a minimum attenuation in the stopband, the width of the transition band is minimized.
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
25
9 Challenge of the Project
In this project we are working on a system that has 4 (four) different Engineering disciplines:
Electrical
Mechanical
Controls
Engineering Optimization
One of the biggest challenges was integrating both Electrical and Mechanical parts of the system into a single closed loop feedback transfer function which has several design variables. The second biggest challenge was selecting an appropriate Controls algorithm and compensation technique to meet performance criteria. Our system has two subsystem loops. Each subsystem has its own compensation gains, namely current loop gains - to meet torque requirements and velocity loop gains - to meet fin response. Finally the last challenge was implementing all theoretical development work into the model that can be used in real life. We successfully implemented dual stage digital Elliptical filer.
10 Lessons Learned
Due to complexity of the selected system we learned that the system breakdown and detailed investigation of the components of the system (Motor, Actuator, and Controller) is critical to determine the system’s transfer function. We needed an accurate transfer function in order to run optimization. That is why we took really significant amount of efforts and time to investigate the system on a component level with the detailed mathematical derivations, descriptions and physics processes inside the system. We learned that swarm optimization method for multi objective function is very difficult to implement. We also learned that other methods such zero, first and second order is very difficult to implement as well, due to high nonlinearity of the systems. The result of using any of these methods wouldn’t give us satisfied accuracy, especially in this sort of applications when we are dealing with a 0.25 degrees accuracy of motion.
11 Solution Approach Selected and Recommendations for Next Step
In controls/parameter estimation of multi disciplinary systems, such as an electro mechanical, it is very difficult to implement standard optimization methods that we discussed in the class so far. This is including multi-objective swarm optimization method which is based on searching space and processing stochastic data. When it comes to electro mechanical parameters estimation and controls, the problem begins after integration all three parts into one cost function as a transfer function and this function becomes highly nonlinear. For example in
MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
26
our simple case we were dealing with polynomials of third order differential equations. Moreover each and every parameter of the system has its own operating time domain and limitations and it cannot be liberalized due to a different state transitioning matrix, which is highly nonlinear as well. When the system is in differential mode (servo) and the steady state is not an option, the only reasonable approach of optimizing cost function is to convert a system of Ns order differential equations time domain into frequency domain. And this optimization approach we finally selected in this project to optimize our electro mechanical control system.
12 Reference
1 George Younkin - Industrial Servo Control Systems: Fundamentals and
Applications; 2 Richard Valentine - Motor Control Handbook, 1998; 3 Sergey Lyshevski - Electromechanical Systems, Electric Machines, and Applied
Mechatronics; 4 Chi-Tsong Chen - Linear System Theory and Design, 3rd edition, 1999; 5 Garret Vanderplaats - Numerical Optimization Techniques for Engineering
Design 4th edition; 6 Ravindran, K.M. Ragsdell, G.V. Reklaitis – Engineering Optimization Methods
and Applications, 2nd edition; 7 V.P. Sakthivel Multi-objective parameter estimation of induction motor using
particle swarm optimization; 8 D. Lindenmeyer An induction motor parameter estimation method;