This document describes an optimization project for an electromechanical fin control system. It includes:
1) An introduction describing the electromechanical actuator system, which uses a brushless DC motor and ballscrew actuator to control fins on a missile.
2) A system design analysis section that provides an overview of the basic operation, sizes the actuator components based on required torque and force, and analyzes constraints such as rotational acceleration.
3) A component analysis section that models the rotary to linear motion conversion for speed, force, and acceleration, calculates reflected inertias, and derives equivalent free body and rotor equations.
1. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
ELECTROMECHANICAL FIN CONTROL
SYSTEM PERFORMANCE OPTIMIZATION
Group Project
December 11, 2009
Vladimir Ten
Santosh Rohit Yerrabolu
Anirudh Pasupuleti
Instructor: Dr. English
1
2. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
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
2
3. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
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
Fin # 1
BLDC Motor
Fin Lock
Balscrew/Crankarm
Flight
Computer
Fin Actuator # 1
BLDC Motor Fin # 2
Vladimir Ten Balscrew/Crankarm Fin Lock
Santosh Rohit Yerrabolu
Anirudh Pasupuleti
Project MAE 550 Control
Electronics
Fin Actuator # 1
Fin # 3
BLDC Motor
Fin Lock
Balscrew/Crankarm
Battery
Fin Actuator # 1
Fin # 4
BLDC Motor
Fin Lock
Balscrew/Crankarm
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,
3
4. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
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.
4
5. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
3 Component Analysis and Constraints
3.1 Actuator
3.1.1 Rotary to Linear Conversion of a Screw System (RPM to in/sec)
Screw
x Rod
Lead
Lead Lead Conversion Of Rad / Sec To RPM
xRod S Screw
Screw
60 * 25.4 2 * 25.4 Rad Re v 60 sec Re v
* *
xRod (inch / Sec ) Sec 2Rad Min Min
S Screw ( RPM ) Conversion Of RPM To Rad / Sec
Lead (mm) Re v Min 2Rad Rad
* *
Min 60Sec Re v Sec
Example,calculateLinear output speed for an actuator with :
Ball Screw Lead 5 mm
Motor with Speed 4800 RPM
5
Output Speed xRod 4800
15.7 inch / sec
60 * 25.4
3.1.2 Rotary to Linear Conversion of a Screw System (Torque to Force)
TScrew
Actuator
FRod
Lead
TActuatorStaticFriction
FRod TScrew TActuatorStaticFriction 2
25.4
Actuator
Lead
Example, Calculate Peak Force output (rod end force) for a linear actuator with :
Ball Screw Lead 5 mm
M otor withPeak Torque TScrew 75.2 inch - lb
TActuatorStaticFriction 6 inch - lb
Actuator 0.8
FRod 75.2 62
25.4
(0.8) 1767lb
5
5
6. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
3.1.3 Rotary to Linear Conversion of a Screw System (Acceleration)
Screw
Lead
Rod
x Rod Screw
x
2 25.4
Lead
Example, calculate rod end accelerati on for a linear actuator with :
Ball Screw Lead 5 mm
M otor (screw) rotational accelerati on 20000 rad/sec 2
5
OutputLine arAccelera tion Rod 20000
x 627inch / sec 2
2 * 25.4
g
ExpressedInG ' s : 627inch / sec 2 1.62 g ' s
386inch / sec 2
Note : 1g 386inch / sec 2
3.1.4 Reflected Inertia of Linear Actuation System
2
w Lead
J Load Load
Lead
JActuator
g 2 * 25.4 * GR
WLoad
JActuator JLoad
JTotal
Example : For a linear actuator with a 20 mm ball screw and a
60 pound load directly coupled to the rod end, calculate the
equivalent system inertia as reflected to the motor centerline .
J Actuator 0.001in lb sec2
WLoad 60lb
Lead 20mm
GR 1
2
60 20
J Load 0.0024in lb sec
2
386 2 * 25.4
J Total JActuator J Total
6
J Total 0.001 0.0024 0.0034in lb sec2
7. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
Lead=20mm
JActuator
WLoad=60 pounds
JActuator JLoad
0.001 0.0024
JTotal
0.0034
J Total J Actuator J Load
3.1.5 Rotational Acceleration
General Representation :
T
Motor MotorPeak
Peak
J Total
Acceleration (when accelerating friction reduces effective torque) :
T T
Motor MotorPeak SystemStaticFriction
Peak
J Total
Deceleration (when slowing down friction increased effective torque) :
T T
Motor MotorPeak SystemStaticFriction
Peak
J Total
Lead
Rod Screw
x
2 * 25.4
7
8. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
TSystemFriction Static TMotorPeak Motor Peak
JTotal
Example,Caluclate accelerati values for a Linear Actuator with :
on
Motor Tpeak 77 in - lb
TSystemStaticFriction 6in lb
J Actuator 0.001in lb sec2
WLoad 60lb
Lead 20mm
JTotal 0.0034in lb sec2
NominalAccelerati :
on
TScrewPeak 77
Rotational : ScrewPea k
22647rad / sec2
J Total 0.0034
20
Linear : Rod 22647
x 2838in / sec2 7.4 g ' s
2 * 25.4
Peak Accelerati :
on
TScrewPeak TActuatorStaticFriction 77 6
Rotational : ScrewPea k
20882rad / sec2
J Total 0.0034
20
Linear : Rod 20882
x 2617in / sec2 6.8 g ' s
2 * 25.4
Peak Decelerati :
on
TScrewPeak TActuatorStaticFriction 77 6
Rotational : ScrewPea k
24412rad / sec2
J Total 0.0034
20
Linear : Rod 24412
x 3059in / sec2 7.9 g ' s
2 * 25.4
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.
Lead
Tm TsA TvL
F
Ja Rod End
V
bA
8
9. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
3.1.7 Equivalent Rotor Equations
25.4
F [TM Ts A bA A ]2
J
Lead
25.4
LetK 2
Lead
F [TM Ts A bA A ]K
J
F KT KTs Kb K
M A
A
J
A
KTM F K [Ts A bA A ]
J
T F / K Ts b
M A
J
A A
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)
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:
������������ = ������������ ������������
9
10. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
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 -
10
11. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
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.
v 1 i Kt w
Ltt S Rtt JS B
vbemf
Ke
Figure 3.4.1 DC Motor with feedback
11
12. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
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 S
wcmd + 1 icmd + 1 Vs v + 1 i Kt w
Z mvff Z iff
K mvff K iff Vmod Ltt S Rtt JS B
- S - S -
vbemf
Ke
K ifb
K mvfb
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.
J B RB K t K e
icmd +
S
1
RB K K ( s J )
i
Vs v
Z iff t e LJ
K iff Vmod LB RJ RB K t K e
- S s
2
s
LJ LJ
K ifb
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
12
13. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
������������������
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.
13
14. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
% 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);
14
15. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
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
Unit Step Response of 6278 s 2 + 5.012e006 s + 6.814e007/s 3 + 6872 s 2 + 5.872e006 s + 6.814e007
1
System: CurrentClosedLoop
System: CurrentClosedLoop Peak amplitude >= 0.996
Settling Time (sec): 0.171 Overshoot (%): 0
0.9
At time (sec) > 0.3
System: CurrentClosedLoop
Rise Time (sec): 0.000334
0.8
0.7
0.6
Output y
0.5
0.4
0.3
0.2
0.1
0
0 0.05 0.1 0.15 0.2 0.25 0.3
t (sec)
Figure 4.1 Step Response with compensating gains
15
16. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
Bode Diagram
0
System: CurrentClosedLoop
Peak gain (dB): -2.89e-015
-5 At frequency (rad/sec): 2.35e-007
Magnitude (dB)
-10
-15
-20
-25
45
0
Phase (deg)
System: CurrentClosedLoop
Phase Margin (deg): -180
Delay Margin (sec): Inf
-45
At frequency (rad/sec): 0
Closed Loop Stable? Yes
-90
0 1 2 3 4 5
10 10 10 10 10 10
Frequency (rad/sec)
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.
System Analysis : Motor Control Evaluation
Sinedrive Motor , 3-Phase Implementation
double
Cmd [V] Cmd Input [V] double
Motor Velocity [V]
Motor Velocity [V] double (3) double
Command Vabc [V] Vabc [V] Motor Position [V]
Generation Motor Pos . [ rad, V]
double (3)
Line Currents [amps]
Iabc [A]
3
Controller Motor
Figure 6.1 System Top Level
16
17. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
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)
Generic Analog Sinedrive Controller
double double double
1/Kmvfb MotorVelocityCommand 1/Kifb MotorCurrentCommand
2
Id _cmd
double Iq _cmd
0
(1/z)s+1
double (2) double (2) double (2) double (2) double (2)
k –––––– 1/Vmod xy xy _lim dq
(1/z)s+1 2
double double double s double (3) double (3)
1 k –––––– Modulation abc fdc Vabc 1
PI 1 Vector
s 2 Gain double
Cmd Input k=Kiff Limiter the Iabc Ibus Vabc
PI 3
[V] z=ziff [V]
k=Kmvff dqo 2abc Power Stage 1
z=zmvff
MotorVelocityFdbk Motor Pos .
Npoles/2 [rad , V]
Terminator
the double -K - double 3
double
Motor double (2) dq 3
Velocity 2 abc Kifb 4
double (3) double (3)
[V] Current Iabc
abc 2dqo
Sensor [A]
MotorCurrentFdbk Scaling
2
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
Terminal
Power Stage Voltages
-Vs/2 to Vs/2
double (3)
1 double (3) double (3)
3
±1 double double double 3 1
fdc Vbatt 0.5
double Vabc
double double double
double (3) 3 0.5 Rbatt 0
2
3
Iabc Dot Product Battery
Draw
BusVoltage
BusCurrent
double
BusPower
2
Ibus
3 double (3)double
MotorPower
3
Figure 6.3 Power Stage
17
18. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
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
Motor Subsystem
2
Torque Velocity
2
[Nm] [rad /s]
double MotorVelocity
MotorTorque MotorPosition
Speed [rad/s] double double double double double 1 double 1 double
Torque [Nm] -K- 3
double (3) s s
1 Vabc [V] Position
double (3) Armature [rad /s] [rad ]
Vabc Pos [rad] Iabc [A] 1 [rad ]
Inertia
[V ] double
Iabc (inverse )
Torque Generation
[amps ] Nm/Jnet_actuator
3 Phase Sinewave Motor
Friction
Bm
Vel [rad /s]
MotorDrag double Friction [lbf in ]
Torque [lbf in ]
Coulomb Friction
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.
Sinewave Drive Motor -- Individual Phases
3 1
3 double
BackEMF double (3) Speed abc 2dqo
[rad /s]
3
2 abc double
3 Id
Iabc [A] double (2)
MotorCurrent dq double
3 Iq
the
Back EMF
3
double (3)
Motor Currents [amps] double (3) double
double (3) 3
Line Voltages 1
2 3 3
Torque Torque [Nm ]
Vabc
[V] Motor Line Currents
Line
3 Currents
MotorVoltage 3
Npoles /2 psi_ Npoles /2 3
double (3) double (3) double (3) double double
Pos
Number of Pole Pairs Max Flux 3-Phase Number of Pole Pairs [rad ]
Linkage Sinusoids
Figure 6.5 Motor Phases
18
19. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
7 Results from the Analysis
7.1 Motor Velocity
Motor Velocity
20
Motor Velocity
18 Velocity Command
16
14
Motor Velocity, rad/sec
12
10
8
6
4
2
0
0 0.05 0.1 0.15
Time, sec
Figure 7.1 Motor Velocity
7.2 Motor Current Command & Feedback
Motor Current Command & Feedback
1.6
Current Command
1.4 Actual Motor Current
1.2
1
Current, Amps
0.8
0.6
0.4
0.2
0
-5 0 5 10
Time, sec -3
x 10
Figure 7.2 Motor Current
19
20. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
7.3 Motor Torque
Motor Torque
1.4
1.2
1
Motor Torque, Nm
0.8
0.6
0.4
0.2
0
-5 0 5 10
Time, sec -3
x 10
Figure 7.3 Motor Torque
7.4 Motor BackEMF
Motor BEMF
15
Phase A
Phase B
10 Phase C
5
Voltage, volts
0
-5
-10
-15
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35
Time, sec
Figure 7.4 Motor BackEMF
20
21. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
7.5 Motor Position
Motor Position
1.8
1.6
1.4
1.2
Motor Postition, rad
1
0.8
0.6
0.4
0.2
0
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
Time, sec
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
21
22. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
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
22
23. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
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')
23
24. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
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.
24
25. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
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
25
26. MAE 550 ENGINEERING OPTIMIZATION PROJECT FALL 2009
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;
26