Optimization Project


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Optimization Project

  1. 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. 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. 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. 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. 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 2Rad Min Min S Screw ( RPM ) Conversion Of RPM To Rad / Sec Lead (mm) Re v Min 2Rad 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  62 25.4 (0.8)  1767lb 5 5
  6. 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. 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. 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. 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  Kb  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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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