DESIGNING AND IMPLEMENTING A DSP BASED VARIABLE-SPEED DRIVE FOR THEATRE STAGE SYSTEMS by Y A N L I B.Eng., Southeast University (China), 1995 A THESIS SUBMITTED IN P A R T I A L F U L F I L L M E N T O F T H E R E Q U I R E M E N T S F O R T H E D E G R E E O F M A S T E R O F APPLIED SCIENCE in T H E F A C U L T Y O F G R A D U A T E STUDIES (Electrical and Computer Engineering) T H E UNIVERSITY O F BRITISH C O L U M B I A January 2007 © Yan L i , 2007 Abstract Today's power electronics technology and digital control system provide a convenient means to boost the performance of electrical drive systems. While the industry has witnessed a variety of applications of electrical variable-speed drives, this work is focusing on designing and implementing a D S P controlled 3-phase variable-speed drive for a theatre stage system to achieve automatic operations and accurate position control. A cascade structure with feed-forward reference is selected as the control algorithm for this application. A s a key factor in motion control, profiles of acceleration, speed and position (ASP) are also investigated. A trapezoidal speed profile with limited jerks is recommended for the final implementation. In addition, some operational conditions for safe and agreeable operations have been discussed and identified. Before proceeding with the experiment, the dynamics of the whole system including the controller, the voltage source inverter, the induction machine and the stage has been evaluated by M A T A L B / S i m u l i n k . The non-linear behavior of induction machines is studied and a linearized induction machine model under variable-frequency conditions is developed to verify the closed loop stability of the whole system. A test facility is then constructed to validate system performance. A D S P controlled 3-phase inverter is built and tested. Multiple measures are implemented into the IGBT drive for obtaining immunity to high common-mode dv/dt noise. Quantitative methods for sizing the gate resistor are also presented in this paper. Four different motion control algorithms are employed to find the most suitable for this application. Both experimental and simulation results indicate that closed loop position control is critical to achieve required accuracy of position for the stage system. ii Abstract ii Table of Contents iii List of Tables v List of Figures vi Acknowledgements ix Chapter 1 Introduction 1 1.1 Current System Overview 1 1.2 Thesis Objectives and Outlines 1 Chapter 2 Dynamics of the Stage Mechanic System 3 2.1 Elementary Principles of Mechanics 3 2.1.1 Moment of Inertia 4 2.1.2 Effect of Gearing 4 2.1.3 Friction 6 2.2 Safe Riding Conditions 6 Chapter 3 Control Algorithm . 10 3.1 General Mot ion Control Requirements 10 3.2 Cascaded Structure of Motion Control 11 3.3 Acceleration-speed-position (ASP) profiles 13 3.3.1 Time-optimal A S P Profile 13 3.3.2 Limited Jerk A S P Profile 16 3.4 Motor Drive 18 3.4.1 Scalar Control vs. Vector Control 18 3.4.2 Electromagnetic Torque under Variable-frequency Operations 19 3.5 Controller Design and Simulation Results , 20 3.5.1 Speed Loop Design 21 3.5.2 Position Control 26 3.5.3 Comparison o f Different Controls . .27 3.5.4 Control Stability 29 Chapter 4 Implementation of the Variable-Speed Drive 37 4.1 Hardware Design 37 4.1.1 Hardware Overview 37 4.1.2 I G B T and its Drive 38 4.1.2.1 Maintaining dv/dt Noise Immunity 39 4.1.2.2 I G B T Drive Schematics and Component Selection 42 4.1.3 Temperature Detection Subsystem 50 4.1.4 D C Bus Bulk Capacitor 52 4.1.5 Energy Dissipation Subsystem 53 4.1.6 Encoders 57 4.2 Software Design 60 4.2.1 Pulse Width Modulation with THI 61 4.2.2 Event Manager Setup 61 4.2.3 Speed Estimation and Speed/Position Recording 62 4.2.4 Deadtime Setting 63 4.2.5 Look-up Tables 64 Chapter 5 Experimental Results 65 5.1 I G B T Drive 65 5.2 Mot ion Control 69 Chapter 6 Conclusions and Recommendations 83 6.1 Conclusions '. 83 6.2 Recommendations 84 References 85 Appendix A: Estimating the Mass and Moment of Inertia of the Stage 86 Appendix B: Induction Motor Test and Parameter Estimation 87 Appendix C: Induction Motor QdO Model 89 Appendix D: Linearized Induction Machine Model under Variable-Frequency Operation 92 Appendix E : Computing Stator and Rotor Currents for Induction Machines in qdO System 95 Appendix F: Modified Limited-jerk ASP Profile 97 Appendix G: Flowchart of the Software 105 iv List of Tables Table 3.1 Travel time for time-optimal A S P profile 15 Table 3.2 Travel time and traveled distance for limited-jerk A S P profile 17 Table 3.3 Eigenvalues of open loop speed, open loop position control 32 Table 3.4 Eigenvalues o f closed loop speed, open loop position control 33 Table 3.5 Eigenvalues of open loop speed, closed loop position control 34 Table 3.6 Eigenvalues of closed loop speed, closed loop position control 35 Table 4.1 Features of the I G B T gate drive 42 Table 4.2 Component list for the I G B T gate drive 43 Table 4.3 Gate resistance sizing driven by peak output current of the I G B T drive 44 Table 4.4. Turn-on gate resistor sizing by tsw constraint 46 Table 4.5 Turn-on gate resistor sizing driven by dV0Ut I dt constraint 47 Table 4.6 Turn-off gate resistor sizing 48 Table 4.7 Gate voltage spike induced by high dv/dt 49 Table 4.8 Calculation of the braking resistor 55 Table 4.9 Look-up tables used in the program 64 Table 5.1 Parameters of the induction machine used for the experiment 70 Table 5.2 Different control algorithms 70 Table 5.3 Tested load conditions ..: . . .70 Table 5.4 Summary o f the test for all control methods 81 List of Figures Fig. 2.1 Rotating object and its block diagram representation 3 Fig. 2.2 Effect of transmission on the moment of inertia and torque 5 Fig. 2.3 Force analysis for variable speed revolution 7 Fig. 2.4 Max imum angular acceleration versus speed under different friction conditions 9 Fig. 3.1 Desirable position control curve 10 Fig. 3.2 Cascaded control structure of drive including position, speed and acceleration control 11 Fig. 3.3 Simplified cascaded control structure of drive including position and speed control 12 Fig. 3.4 Cascaded control structure with feed-forward signals 12 Fig. 3.5 Time-optimal positioning with limited acceleration/deceleration and limited maximum speed 14 Fig. 3.6 Limited jerk A S P profile 16 Fig. 3.7 Electromagnetic torque change during speed-up process 19 Fig. 3.8 Electromagnetic torque change during slow-down process 20 Fig. 3.9 Block diagram for system simulation 21 Fig . 3.10 P controller for speed loop 22 Fig. 3.11. Linear slip compensation method 23 Fig. 3.12 Block diagram of slip compensation 23 Fig. 3.13 Gains of speed, a function of induction machine slip 24 Fig. 3.14 Simulation results of speed when measurement error applied 25 Fig. 3.15 Comparison of speeds for different speed controls 26 Fig. 3.16 Block diagram for closed loop position control 26 Fig. 3.17 Non-linear torque-speed characteristic of induction machines 27 Fig. 3.18 Simulated speed and position profiles for four control methods 29 Fig. 3.19 Block diagram of the V / f control, V S I and the induction machine 30 Fig. 3.20 Block diagram of closed loop speed open loop position control (CSOP) ..... 33 vi Fig. 3.21 Block diagram of open loop speed closed loop position control (OSCP) 34 Fig. 3.22 Block diagram of closed loop speed closed loop position control (CSCP) 34 Fig. 3.23 Frequency response of the open loop speed closed loop position control 36 Fig. 4.1 System topology 37 Fig. 4.2 Basic I G B T Drive Circuit 39 Fig. 4.3 By-pass resistor for high-frequency noise 39 Fig. 4.4 Noise shielding of opto-couplers 40 Fig. 4.5 Optical fiber setup for noise immunity 41 Fig . 4.6 Noise shielding of dc/dc power supply 41 Fig. 4.7 Inductor with high common-mode signal rejection 41 Fig. 4.8 Additional dv/dt immunity of negative bias turn-off voltage 42 Fig. 4.9 I G B T gate drive schematic 44 Fig . 4.10 I G B T turn-on sequence 45 Fig. 4.11 Current path when I G B T turns on 45 Fig. 4.12 Current path of the low-side I G B T drive when high-side turns on 47 Fig. 4.13 Separate gate current paths for turning-on and turning-off 49 Fig. 4.14 N T C interface to the D S P 50 Fig. 4.15 N T C characteristic and sampled voltage 51 Fig. 4.16 D C bus ripple 52 Fig. 4.17 Current path for (a) Operation mode of motoring (b) Operation mode of generating 54 Fig. 4.18 Over-voltage detection circuit 56 Fig. 4.19 Hysterisis characteristic of the over-voltage detection circuit 56 Fig. 4.20 A n incremental encoder 57 Fig. 4.21 Interface circuitry for one channel between the D S P and the encoder ... 60 Fig. 4.22 3.3V power supply using programmable shunt regulator diode 60 Fig. 4.23 Two counting modes for T 2 C N T (a) Up-counting mode (b) Down-counting mode 62 vii Fig. 5.1 L o w side I G B T gate signal, with Vdc = OV and no load 65 Fig. 5.2 High side I G B T gate signal, with Vdc = 128 V and no load 65 Fig. 5.3 Low-side I G B T gate signal for (a) R = 7.5 Q. (b) R = 4 Q. (c) R = 2 f2.. . 66 Fig. 5.4 High-side I G B T gate signal for (a) R = 7.5 D. (b) R = 4 Q (c) R = 2 Q : 67 Fig. 5.5 H a l f bridge setup and the discharge path during the deadtime 67 Fig. 5.6 Load current for (a) R = 7.5 Q (b) R = 4 Q (c) R = 2 Q 68 Fig. 5.7 Line current o f the induction motor for (a) T = 0 N m (b) T = 0.2 N m .... 69 Fig. 5.8 Experimental results for open speed loop, open position loop control (OSOP) 71 Fig. 5.9 Experimental results for closed loop speed, open loop position control (CSOP) 72 Fig. 5.10 Experimental results for open loop speed, closed loop position control (OSCP) ; 74 Fig. 5.11 Experimental results for closed loop speed, closed loop position control (CSCP) ; , 76 Fig. 5.12 Testing results for all the control algorithms 78 Fig. 5.13 Simulation results based on the tested system 79 Fig. 5.14 Experimental results of O S C P control with medium position error correction 80 viii Acknowledgements I would like to express my gratitude to my supervisor, Dr. W i l l i a m G . Dunford, for his support and guidance during my graduate studies at the University of British Columbia. His broad vision, profound knowledge, and creative thinking have been the source of inspiration through this research. I am grateful to my professors, Dr. Juri V . Jatskevich, Dr. Patrick Palmer and Dr. Jose R. Marti for their valuable guidance and advice in my research and graduate studies. I would like to thank my peers for their help. Among them are Weidong Xiao, David Majesus, Kenneth Wicks, Hee-Sang K o and Dr. Magnus Lind . Special thanks to Yong Zhang, my partner during the last months of this research, who helped me build the 3-phase inverter. I would also like to thank all o f the members in the Power Electronics and Power System group with whom I shared the last two years. I cherish the experience to work with them and the memories for the valuable discussions. Thanks for all your friendship and help. Many thanks are due to M r . Robert Gardiner, head of the theatre, M r . Jay Henrickson, the technical manager of the theatre, and M s . Michelle Nelson for initializing this project and providing necessary facilities and assistance throughout this process. Finally, I would like to thank my parents, for their love and support. Especially, I would like to thank my wife, Long, for her love, care and encouragement. ix Chapter 1 Introduction 1.1 Current System Overview The Frederic Wood Theatre, located at the north end of University of British Columbia ( U B C ) Point Grey campus, has been home to U B C ' s theatrical performances for over fifty years. The construction of the current building finished in 1963. A s the heart o f a theatre, the stage serves as a space for actors or performers and a focal point for the members of the audience. A s is necessary in a drama, sceneries are required to be changed according to the mood, and rotary stage can serve a performance to the need of scenery change. There is. a 27-foot rotary stage in the Frederic Wood Theatre. The rotary stage is driven by a 3-hp dc motor via a steel cable coupled the motor and the stage. When changing the scenery, the stage is operated manually. The position control of the stage is somewhat coarse since it can not realize automatic control and only depends on the operator's experience. A n experienced operator knows exactly when to turn off the machine such that the huge stage together with the actors standing on it can stop at the desired position. The scenery setting differs time to time, and so does the number of actors. A l l those bring complexity and uncertain factors to the operation of the stage. Consequently, a demand of an automatic stage drive and control system comes into being. Induction motors, owing to their simplicity, reliability and relatively low cost compared to dc motors, have gained the favor of users in many industrial applications. The fast advent of power electronics in the past decades presents users mature and reliable devices, which makes it very easy and cost-effective to feed an induction machine with adjustable-frequency ac voltage sources. Actually a variable-frequency drive plus an induction motor have become a quite standard solution for variable-speed applications, which is also the choice being implemented in this project. 1.2 Thesis Objectives and Outlines The objective of this thesis is to identify several approaches for controlling the stage system. The design w i l l be implemented in a DSP-based digital controller. A n r experimental variable-speed drive is also implemented in order to verify the design and simulation results. Specific objectives include: • To find safe operation areas for the stage • To design and compare different motion control algorithms and find a proper one for this application • To develop an experimental variable-speed drive • To test the experimental system and evaluate the conceptual design and simulation The thesis is organized into six chapters. Chapter 1 gives a brief introduction of the current stage system and outlines the objectives of this thesis. In Chapter 2, some basic principles of mechanics are reviewed and a safe operation area for the stage is proposed. Chapter 3 is focused on the analysis of different motion control algorithms and the stability of the whole system. Chapter 4 w i l l be dealing with the implementation of an experimental variable-speed drive. Some designing concerning both hardware and software are presented. Selective experimental results are included in Chapter 5. The last chapter concludes the design and the implementation and proposes some work needed to be done in the future. 2 Chapter 2 Dynamics of the Stage Mechanic System 2.1 Elementary Principles of Mechanics In the stage and its drive system, both mechanical and electromagnetic energies exist and there is the exchange between the two types of energies. Since the whole system involves mechanical and electrical engineering, it is necessary to recall some basic concepts and laws related to mechanics. The most general equation to describe rotational motion is dco TL=J dt (2.1) where TM is the driving torque and TL the load torque, oo is the angular speed, J is the overall moment of inertia of the rotating mass about the axis of rotation. A s speed is the derivative of the shaft position 0, we have TM~TL Tdco _ Td20 . v — ~ • dt dt dco d20 where a = — = —— dt dt (2.2) (2.3) is the angular acceleration. The rotational system can be considered as a second-order differential equation, with the input as the driving torque and the load torque and the output as speed and position [1]. The following diagram describes such a mechanical system with a lumped mass. CO 1 1 s s Fig . 2.1 Rotating object and its block diagram representation 3 2.1.1 Moment of Inertia The moment of inertia, defined as J= \ r2dM J o (2.4) is the integral o f the moments of the masses relative to the rotation axis. Considering a homogenous cylinder with mass evenly distributed, the moment of inertia can be obtained by with M being the mass of the object, and R is the radius of the cylinder. A n estimation of the moment of inertia of the stage is listed in Appendix A . 2.1.2 Effect of Gearing A s the tangential force per rotor surface is limited by iron saturation and heat losses in the conductors, the direct coupling of a low speed motor with the load may result in an unnecessarily large motor [2]. It is then often preferable to employ transmissions, operating the motor at a high speed and thus increasing its power density. This is the approach in the current stage driving system. Transmission systems affect the moment of inertia of the coupled rotating masses as well as the torque applied to the rotation axis. In our mechanical system, there is a simple transmission system connecting the motor to the stage by a belt pulley and a wire rope twisted between the pulley and stage. A n ideal transmission system is shown in Fig. 2.2, where two pulleys are engaged by a wire rope without backlash or slip. Assuming the left hand wheel is the driving pulley, we have where F i is the force exerted by pulley 2. If there is no load torque applied, for pulley 2 (2.5) Tx-rxF,=J\ da>. (2.6) dt da>2 (2.7) dt A s F i and F2 is a pair of forces against each other, Fx = F2 (2.8) Assuming there is no slip between the two pulleys, a>xrx - co2r2 (2.9) 4 Fig . 2.2 Effect of transmission on the moment of inertia and torque Substituting (2.7), (2.8) and (2.9) into (2.6) results in TX=JX^ + ^ J 2 ^ = [JX+^)2J2]^ (2-10) at r2 at r2 at CO T If we define transmission ratio as /I = — = — , fAM) , (2.11) co2 rx A at at where JXe is the effective moment of inertia reflected at the axis of pulley 1. It contains a component referred from pulley 2. For convenience, J2 is used to represent the moment of inertia of pulley 2 referred to the axis of pulley 1 hereafter, i.e. j\ = J-± (2.13) and Ju=Ji+J'2 (2.14) Expressing force F i and F2 in terms of torques results in Fx=— and F2=— (2.15) (2.16) rx r2 where 7^ is the equivalent torque referred to the axis of pulley 2. Substituting (2.15) and (2.16) into (2.8), we have T T' ±1 = ^ (2.17) rx r2 and T[=XTX (2.18) 5 From the above equations, it can be concluded that i f X>1, the transmission system reduces the speed output by X times, while the torque output is increased by X times. For the following analysis, we assume pulley 1 as the shaft of the induction machine and pulley 2 as the shaft of the stage. Therefore JME=JM+J'L=JM+Y (2-19) JU=JM+JL=JM%+JL (2-20) with JME representing the effective moment of inertia referred to the motor side, JLE being the effective moment of inertia referred to the stage side, JL being the moment of inertia of the stage referred to the motor side, and JM being the moment of inertia of the motor referred to the stage side. When simulating the system dynamics, the moment of inertias and torques are all referred to the motor side. A transmission ratio X,=600, which optimizes the travel time for a half revolution travel, is used in simulations. Although the stage has a comparatively huge moment of inertia with respect to its own shaft, the equivalent moment of inertia referred to the motor side only has the same order that the motor has. 2.1.3 Friction The stage absorbs the electromagnetic energy from the motor and stores it as its kinetic energy. However, losses may occur when the stage is rotating. Since the rotation speed of the stage is very low, losses like windage loss can be neglected. The only mechanical loss concerned is the friction loss. In the following analysis, the friction is assumed constant as long as the stage is rotating. For simulation purposes the coefficient of friction is assumed as 0.05, a typical value of rotational friction. 2.2 Safe Riding Conditions Before proceeding to the system design, we have to find a way to decide what the maximum angular speed rjco4L+al (2.26) or Ja>l+a\ (2.27) The most serious case, in terms of r, happens when people stand at the edge of the UP n max) [2]. This is exemplified in Fig . 3.5 for two different travel distances. Acceleration, speed and position are plotted versus time for two cases depending on whether the maximum speed is reached. The left hand part of F ig . 3.5 shows the case with the maximum speed being reached. Beginning at time zero in steady state condition, 0O = co0 - aQ - 0, a new position reference is required. A time optimal transient includes three phases, maximum acceleration, operation at a constant maximum speed and maximum deceleration to the commanded position. If the desired new position is not far 6 from the previous position, maximum speed may be reached when 9 < , and the transient switches to the maximum deceleration phase immediately after the acceleration, which is shown on the right hand of Fig . 3.5 13 t Fig. 3.5 Time-optimal positioning with limited acceleration/deceleration and limited maximum speed In the long travel distance case, i.e. the left part shown in Fig . 3.5, the total acceleration time tx=^- (3.1) The traveled distance during 0 to tx is 69, = \l(\\dt)dt = ±amJ*=~^ (3.2) 14 Assuming the maximum deceleration and acceleration are equal in magnitude, the travel time during the deceleration period is the same as r,, and so is the traveled distance. The travel time for the constant speed region is 0 - 20. 9 , co t2~ti=— = ^ (3.3) ^max ^max ^max In conclusion, the total travel time is t3 =2r, +(t2-r,) = 2 ^ - + ( — — ^ m ^ ) = ____ + ____ ( 3 4 ) *^ max ^max "^max ^max ^max (3.4) gives the answer to the minimum travel time for a limited acceleration/deceleration and limited maximum speed case, where the travel distance is long enough such that maximum speed has been reached. Similarly, total travel time needed in a short travel distance case can be deduced. Table 3.1 gives a brief list for the travel time for different travel distances. Table 3.1 Travel time for time-optimal A S P profile Long Travel Distance Short Travel Distance Travel Time 2 O max eset < ^ ^max f, «max ^max V^max '2 «max N / A '3 ^set | ®max ^max "^max 2 \ 0 s e l V^max In a time-optimal A S P profile, there exist sudden changes of acceleration, or called jerks at 0 + , / , , t2 and t3, shown in Fig . 3.5 where the first row indicates the derivative of acceleration, donated as y , reaches infinity at those moments. In applications involving passengers, jerks should be avoided for the sake of riding safety and comfortbility. Thus, a new A S P profile with limited jerk is developed from the time-optimal profile. The new profile is called limited-jerk A S P profile. 15 3.3.2 Limited Jerk ASP Profile If the derivative of acceleration y is restricted to a maximum value ym3K, i.e. I Y I- Xmax' m e time-optimal A S P profile w i l l then be changed to a limited jerk profile, which is illustrated in F ig . 3.6 for two different travel distances. -a > t > t > t > t Fig . 3.6 Limited jerk A S P profile When jerk limitation takes effect in the control, we obtain a trapezoidal acceleration characteristic, which becomes triangular for the short-travel-distance case shown in the right hand in Fig . 3.6. During the jerk limitation period, the speed 16 characteristic follows a function of second order parabola, and the distance function assumes the shape of a third order parabola [3]. Table 3.2 Travel time and traveled distance for limited-jerk A S P profile Time Travel Time Traveled Distance Yn t,-2t4 ^max ^max (Y Y max / max ^max _|_ ^max ry y max / max ^max |~ ^ max _^ ^ max j 2 ex. v max / max t2 t2 tx ^max _|_ ~^max a y max / max 6? co„ 6? co co a max max. _j_ max j 2 ex v max / max @set ^max ^max ^max ^max / max Yn e,. Travel time and traveled distance at different moments are shown in Table 3.2 for the long travel distance. For the limited jerk profile, the total travel time increases by cc — — compared with the time-optimal condition. If ymm is set to infinity, the limited-jerk -^ max profile degrades back to the unlimited-jerk profile, i.e. the time-optimal A S P , and the total travel time decreases to — ^ - + since = 0 . Actually the time-optimal max max / max profile can be regarded as a subset of the limited-jerk profile while setting / m a x to infinity. The limited-jerk control prolongs the travel time, and the increased time depends on how Y is set. / max A third A S P profile, called the modified limited-jerk A S P profile has been proposed and developed which can effectively reduce jerks generated by the induction 17 machine during the first few seconds o f the start-up transient. The modified limited-jerk A S P profile is attached in Appendix F. 3.4 M o t o r D r i v e 3.4.1 S c a l a r C o n t r o l vs . V e c t o r C o n t r o l The previous sections are focused on motion control. The objective for this section is to choose a proper motor drive technique and design the whole control system. From the historical perspective, scalar control methods, based on the steady-state equivalent circuit of motors, were first realized to control induction machines. Later, vector control technologies are applied with the fast progress of power electronics and digital controllers. Based on transient equivalent circuit of the motors, vector control techniques can provide high-quality control over the whole speed range while scalar control techniques exhibit comparatively lower performance and even poor performance within low speed ranges. However, scalar control, in terms of implementation, is easier than vector control because it, apart from rotor speed, does not necessarily need to measure state variables [4]. Moreover, the performance can be improved by incorporating extra controls. A s the demand for the dynamic performance of the stage system is not very high, applying scalar control techniques in this project might be good enough to meet the requirements while keeping the overall topology simple and being easy for implementation. Scalar methods control the amplitude and frequency of the control variable, either the stator voltage or current, such that the air-gap flux is kept constant in order to control the electromagnetic torque working around motor's rated condition. To keep as simple as possible, a constant volts-per-hertz control w i i l be implemented in the motor drive. This is a speed control strategy which is designed to accommodate variable speed commands by using the inverter to apply a voltage of correct magnitude and frequency so as to approximately achieve the commanded speed. The output from volts-per-hertz control is a variable-amplitude variable-frequency voltage signal, which can be realized by applying pulse-width modulation ( P W M ) to a dc voltage source and thus can avoid using current sensors. However, as the torque and flux are both related and are not decoupled in the stator current, any change in the stator current influences the flux, thus resulting in a 18 slower torque response. Moreover, the stability problems are the disadvantages of this method. 3.4.2 Electromagnetic Torque under Variable-frequency Operations Fig. 3.7 shows a steady-state torque-speed characteristic (line 1) for typical induction machines. Assume P I at line 1 is the previous operating point with the electric torque T e l , rotor speed co and stator voltage frequency f l . If the motor is required to accelerate, a voltage with higher frequency f2 and higher magnitude, when volts-per-hertz control is used, F ig . 3.7 Electromagnetic torque change during speed-up process is applied to the stator. The new torque-speed characteristic is plotted as dotted line in Fig. 3.7, donated as line 2. Since the speed of the rotor can not change instantaneously after the command, the operating point moves from PI to P2, which is at line 2. From the figure we can find that the new electromagnetic torque is increased to Te2, the extra torque w i l l drive the motor to accelerate until a new balanced state is achieved. On the other hand, feeding a voltage with reduced frequency and magnitude w i l l result in a deceleration, which is shown in Fig . 3.8. Line 1 is the previous torque-speed curve with PI the previous operating point while dotted line 2 is the new one with P2 the new operating point. We notice that the electromagnetic torque is negative. This operation is known as the braking state for the induction machine. During the braking state, the kinetic energy of the rotating system is fed back to the driver, and the induction machine acts as a generator. 19 Fig . 3.8 Electromagnetic torque change during slow-down process The feedback energy, which w i l l be blocked by the diode-based converter from sending back to the grid, must be dissipated within the drive. Otherwise the regenerated current might charge the dc bulk capacitor to reach a damageable voltage level. In this project a braking branch consisting of a switch-controlled resistor is connected in parallel with the dc capacitor. The resistor w i l l be turned on to dissipate the regenerated energy when unsafe dc voltage is detected. 3.5 Controller Design and Simulation Results In order to ease designing the controller and verify i f the whole system can work well , simulations are run first before stepping to hardware implementation. Because the constant volts-per-hertz control, a speed control, is used, the inner loop o f acceleration in Fig . 3.4 is eliminated and a two-level cascade structure with position and speed w i l l be employed in the final implementation. The whole system for simulation, expressed in block diagram in Fig . 3.9, consists of a cascaded motion controller with feed-forward reference signals, a voltage source inverter (VSI), an induction machine and the stage system, which is simplified and represented by a lumped moment of inertia. A l l simulations are based on a M A T L A B / S i m u l i n k environment. 20 Reference generator d re fr 0) r e f 6 -A C O r e f f l l Gset 1 Position controller C O r e f * Speed controller Speed Loop Position Loop V/f Te Tfric Controller Drive and Mechanical Load Fig . 3.9 Block diagram for system simulation A motor test has been carried out to estimate machine parameters which are not given by the manufacturer. Testing method and tested results are attached in Appendix B . In addition, some mechanical parameters of the stage itself and the transmission system have been estimated as well . The simulation is based on those calculated values. A qdO model of the induction machine [5] is then employed for simulation. A detailed motor model is given in Appendix C. The rotor is short-circuited and the zero sequence circuit is neglected in the simulation. A constant volts-per-hertz control is used and third-harmonic injection is integrated into the V S I block. Power electronics devices are represented by ideal switches because the device-level performance is not the main concern of this simulation. Speed loop and position loop, apart from the mechanical system, are the two most important factors in the whole system. The discussion w i l l begin with the inner loop, the speed loop. 3.5.1 Speed Loop Design Speed, although it is not the final control target for the system, is of importance to realize a safe operation of the stage system. In addition, a well-designed speed control can help its outer loop, the position loop, achieve a high-accuracy control. Here both 21 open-loop and closed-loop of speed control w i l l be compared. Moreover, two types of closed-loop control for speed w i l l be explored. In order to generate torque, a slip has to be developed in an induction machine [6]. That means the rotor w i l l only run at the synchronous speed when there is no resistive torque, otherwise the mechanical speed w i l l always be different from the synchronous speed. In addition, the slip is a non-linear function of synchronous speed and electromagnetic torque. B y changing the synchronous speed at a given rotor speed, the torque w i l l be changed as well . The non-linearity definitely forces the system to move into a new but hard-to-predict balanced condition. A s always, P or PI control comes to our first consideration. A proportional (P) controller of the speed loop is shown in Fig . 3.10. Speed Loop Fig . 3.10 P controller for speed loop If we assume the gain of volts-per-hertz controller and V S I are unity and neglect the dynamics of the induction machine, we have ( a V - a > , ) t f , ( l - * ) • = " , • (3-5) where s is the slip. Rearrange (3.5), it yields - ^ - = p - — (3.6) r e f - C ° r ) 0 - - S ) = ®r . (3-7) where s is the slip. Rearranging (3.7) we have 23 CO. 2-2s (3.8) To compare different controllers, a M A T L A B program is developed to compute gains of speed for proportional control and slip compensation. Results are plotted in Fig. 3.13. It is noted that the gain o f speed is a function of machine slip, whereas the slip is a non-linear function of machine torque. Fig . 3.13 Gains of speed, a function of induction machine slip It can be concluded that slip compensation does reduce the speed error along all the slip range. However, the compensation effect is not remarkable at the rated condition that s = 0.03. A proportional controller can greatly reduce the speed error in high slip area, but it is ineffective, or even worse than open loop control, in the low slip range. In addition, simulation has been carried out to verify i f the two controllers are sensitive to measurement error. In the simulation, a 1% noise was applied to the measured speed signal. A s shown in Fig. 3.14(a), the P controller amplifiers measurement errors. The output of the inverter is ruined by the noise even i f the proportional ratio K p 24 is set to 5. Therefore a pure proportional controller with a high coefficient is not suitable for speed control in this project. Simulation results, given by Fig . 3.14(b), show that slip compensation is not sensitive to measurement errors. (a) P controller $ 10 30 20 i 10 3 4 5 Time (s) (b) slip compensation 3 4 5 Time (s) rotor stator desired Fig . 3.14 Simulation results of speed when measurement error applied Other than the P controller, a PI controller might be an alternative. Actually as the movement of the system follows a pre-defined A S P profile, any speed error accumulated w i l l be reflected in the position signal. Since the closed position control w i l l correct the position error, which in term can be regarded as the integration controller to the speed, there is no need to design an extra integration controller for speed. Based on the above analysis, slip compensation w i l l be used as the closed loop speed control for the rest of the simulation and experiment. The next figure illustrates the speed curves obtained by a M A T L A B / S i m u l i n k simulation, which employs a time-optimal A S P profile. Speeds are obtained for open loop control as well as slip compensation control. 25 3.5.2 Position Control There are some options for position control, including P, PI, P D or PUD. Although integration can cancel out the static error, it may introduce position oscillation, which is undesirable during the final positioning period. Differentiation can predict the operation trend, but in real application, it amplifies high frequency component, which sometimes is problematic. Therefore only proportion control is used for position controller. ©ref Ge(s) AGO 1 UJR 1 e J •^1 Speed Loop ^ s Position Controller i J Position Loop Fig . 3.16 Block diagram for closed loop position control A high proportion coefficient K p is desirable in getting a small error system. But as the nonlinear essential of the induction machine, a high gain in position error could 26 saturate the speed output, sometimes it may even cause the electromagnetic torque collapse. Assume A is the previous operating point with a corresponding torque Te in Fig . 3.17. Due to the sluggish response of the motor during the first few seconds, position controller tries to reduce the position error by sending an increased-speed command to the motor. The more aggressive the controller is, the higher the output frequency is. However, as shown in Fig . 3.17, the operating point could move from A to A ' , with which a reduced electromagnetic torque is associated. This reversed behavior of the induction machine w i l l be regarded as a more sluggish response from the perspective of the position controller, and the whole system w i l l be trapped into vicious cycles. Speed Fig . 3.17 Non-linear torque-speed characteristic of induction machines The non-linear torque-speed characteristic occurred between the zero speed and the breakdown speed of induction machines forces users to give up using aggressive position controls. B y trial and error, the range for K p is found between 1 to 4 to assure the algorithm work well during all the speed range. It also shows, from the stability verification in 3.5.4, the system with those coefficient settings is far from the stable margin obtained under rated conditions of the induction machine. 3.5.3 Comparison of Different Controls There are totally four combinations for speed and position controls: open loop speed and open loop position control (OSOP), closed loop speed and open loop position control (CSOP), open loop speed and closed loop position control (OSCP), and closed 27 loop speed and closed loop position control (CSCP). To compare their performances, simulations have been carried out and results for each case are plotted together in Fig. 3.18. In the simulation, position is referred to the stage side in the form of pulses. A 12-bit encoder is assumed to be used, which can output 4096 pulses per revolution. The transmission ratio is set to 600:1 from the motor shaft to stage shaft. The simulation indicates that closed loop speed control can achieve smaller speed error than open loop speed control. Closed loop position control can also produce a much smaller position error than open loop position control. However, in terms of position error, closed loop speed closed loop position control (CSCP) does not show any advantage over the open loop speed closed loop position control (OSCP). 28 Fig . 3.18 Simulated speed and position profiles for four control methods 3.5.4 Control Stability Although different motion control algorithms have been simulated, it is still not clear i f they are stable. In order to study the stability o f different control methods, a 29 linearized model for induction machines has been derived. A s the drive involves variable-frequency operation, the magnitude of the stator voltage, the frequency of the stator voltage, and the frequency of the rotor w i l l all influence the electromagnetic torque output of the machine. In the linearized model those factors are decoupled and represented in three transfer functions. Please refer to Appendix D for the detailed development. In order to easy the stability analysis, a subsystem, consisted of a constant volts-per-hertz controller, a V S I and the induction machine, is regarded as a whole and the transfer function ^ ° ? r o f the subsystem w i l l be derived first. Wi th the subsystem staying constant, different control loops can be cascaded to it and the corresponding transfer functions can be easily derived. Since the induction machine is a non-linear element, only its transfer function under the rated condition w i l l be used hereafter. During the startup process for an induction machine, one of the eigenvalues of the motor has a positive real part, which means the machine itself is in an unstable state. There are some control technologies which can push poles into the left-side of the s plane, making the system stable and controllable. However, it is out of the scope of this paper. AOOref* Fig . 3.19 Block diagram of the V / f control, V S I and the induction machine Fig. 3.19 illustrates the subsystem mentioned above. To obtain the transfer function ^ C ° r o f the whole system, it needs to know the transfer function of the induction machine first. 30 In the following analysis, all variables are in per-unit. Another assumption is that ATL = 0. If u is the input vector of the blocks embraced by the dashed line in Fig . 3.19, Av u = A&>„ (3.9) where AV = [AV^ Aveds Aveqr Av^.] 7 . Eliminating ATL from (d.l2) we have Q>+3_oLt^oGU--_9 : 1 G i _o 1 >T TR^T ' Ai " Acor 2H W + G) Ai " Q 1 - Q - F i 0 Aa>r 0 0 Av Aco„ (3.10) where r, F, G, Q are defined in (d.2), and Ai = [A/9es Afds Aieqr Ai'^J. If Acor is the only variable concerned and we eliminate ATe in the output equation of (d. l 3), we get r , i Ai Aco =[0 l l — (3.11) Defining Aco„ y = Acor A = B Q-'Cr + ^ oF + ^ G ) I - Q - G i 0 1 io (G r +G) 2H 0 Q - - Q F i 0 0 0 c = [o|i] D = [0] we can express the system in standard linear system dynamical equations as px = Ax + Bu y - Cx + Du If (3.18) is solved for x and the result is substituted into (3.19), we have y = C(sl - A) Bu + Du = C(sl - A) 'Bu (3.12) (3.13) (3.14) (3.15) (3.16) (3.17) (3.18) (3.19) (3.20) 31 where the operator p has been replaced by Laplace operator s commonly used in transfer function formulation. Av If all variables are in per-unit, = 1 is satisfied for constant volts-per-hertz control, and for volts-per-hertz control we have Av = Acorer (3.21) Assuming Av* s is in phase with Av and Av* s = Av ? e r = AvJ r = 0 , we have Av = [ A v ; A v i Av; A v i f ^ A v 0 0 O f (3.22) Now we can relate Acoreft with the input vector u o f the induction machine by substituting (3.21) into (3.22) and we have u = Aa>rerW (3.23) where W = [l 0 0 0 i f . Combining (3.20) and (3.23), we have y = C(sl - A ) - 1 Bu = AcorepC(sI - A)'1 B W (3.24) and Acor = C ( s I - A ) _ 1 B W (3.25) which is the transfer function of the whole system indicated in F ig . 3.19. Under the rated condition, the explicit expression of the transfer function ^ C ° r is obtained as G,(J) = Aco 8.53e2s3 + 8.41e4s2 + 1.19e8s + 5.24e9 1 Aco,t s5 + 200s 4 + 1.54e5s3 + 1.31e7s2 + 4.39e8s + 5.23e9 rej Eigenvalues o f Gi(s) are computed and listed below. Under the rated condition, all eigenvalues have negative real part. Table 3.3 Eigenvalues of open loop speed, open loop position control Eigenvalues -54.9±j371 -31.7±j l9 .4 ^6^8 32 1 s Reference generator Wref I 1 I °ref C O r e f V/f Speed controller Speed Loop VSI Te 1 S C 0 r Tfric 8r Controller ; Drive and Mechanical Load Fig. 3.20 Block diagram of the closed loop speed open loop position control (CSOP) For closed loop speed open loop position control (CSOP), as shown in Fig . 3.20, the transfer function is 1.70e3s3 +l.6Se5s2 + 2.37e8j + 1.05el0 G2(s) = ^ = 2 G,(5) corep 1 + G,(s) S i +200s 4 +1.54e5s 3 +1.32e7s 2 +5.57e8.s + 1.05d0 Eigenvalues of G2(s) are listed below. Table 3.4 Eigenvalues of closed loop speed, open loop position control Eigenvalues -54.6±j371 -25.6±j35.2 -39.3 For open loop speed closed loop position control, as shown in Fig . 3.21, the transfer function can be deduced as (eref ~ d r )Gg (s) + coref = coreft, moreover coref = 9refs, cor = 9rs, 0 s so we get (0 , - 6r )Ge (s) + 9refs = — - — . Rearranging it we have G,(s) 9r _ G0(s) + s _ 852/+8.75e4s 3 +1.19e8s 2 +5.71e9s + 2.09el0 9ref ~ G / x + _ £ _ ~ s6 + 200s 5 +1.54e5s 4 + 1.31e7s3 +4.39e8s 2 + 5.70e9s + 2.09el0 where G0(s) = Ke=A. 33 Reference generator eref r r COref 6 ^ -Aco s p i° COref* v/f Position controller Position Loop VSI Te Tfric 1 C O r 1 s S er Controller j Drive and Mechanical Load Fig. 3.21 Block diagram of open loop speed closed loop position control (OSCP) Eigenvalues of the open loop speed closed loop position control are listed in Table3.5. Different from the previous controls, there is one more eigenvalue added caused by the closed loop of position. Table 3.5 Eigenvalues of open speed, closed position control Eigenvalues -54.4±j371 -33.2±jl6.1 -18.4 -5.93 Finally the stability o f the closed loop speed closed loop position control has been checked. The block diagram is illustrated in Fig. 3.22. Reference generator L COref 1 S Oref Aco COref* Position controller V/f Speed controller Speed Loop Position Loop VSI Te C0r Tfric Controller Drive and Mechanical Load Fig . 3.22 Block diagram of closed loop speed closed loop position control (CSCP) 34 The transfer function can be derived as Wnf ~ 6 r )Gg (s) + (Oref + ((Oref - & , ) = CO f e f t . Moreover, coref = 6refs , cor = 6rs, then we have (eref-8r)Ge(s) + 26refs-ers = Rearranging it we get 6r _ G0(s) + 2s For rated condition withG e(s) = Kg =4, 1.70e3.s4 +1.71e553 +2.38e85 2 +1.095el0j + 2.09el0 0ref 5 6 +2005 5 +1.54e5^ 4 +1.32e75 3 +5.58e85 2 +1.09el05 + 2.09el0 • Eigenvalues of the transfer function are listed below. Table 3.6 Eigenvalues of closed loop speed, closed loop position control It is indicated from the eigenvalues that all the control methods are stable. There is one more eigenvalue occurred for closed loop position control than open loop position controls. This is because one more integration block is introduced between the speed and the position. A bode diagram of the open loop speed closed loop position control (OSCP) is given in Fig . 3.23. The actual working frequency, in terms of position, is very low for the stage system. The frequency response analysis shows the whole system has unity gain and very small lag when working in the low frequency range. Eigenvalues -54.6±j371 -24.7±j34.4 -38.9 -2.14 35 Bode Diagram .225 L t . - . j — j - j . j . . ! . j . m i j — ^ - i — --4 ;—;—;- i^--i-4—1 10" 1 1 0 ° 101 1 0 2 1 0 3 Frequency (Hz) Fig . 3.23 Frequency response of the open loop speed closed loop position control In this chapter, two acceleration-speed-position (ASP) profiles have been discussed followed by speed loop and position loop design. A l l those controls are straightforward and time-invariant. The time-variant characteristics o f the induction machine under scalar control narrows the choice o f control parameters. A n d it is hard to find a linear and time-invariant controller optimized for all the operating states of the machine. However, thanks to the feed-forward cascade structure, the algorithm can still achieve accurate and fast position control which fulfills the demands aroused by safe operation and riding comfortability. 36 Chapter 4 Implementation of the Variable-Speed Drive 4.1 Hardware Design A good control algorithm is only the first step towards a satisfactory system. A lot of efforts have been made building up an experimental system to verify the conceptual design. From this chapter, emphasis w i l l be given to the implementation of a prototype of the variable-speed drive from which the final implementation w i l l be developed. 4.1.1 Hardware Overview Fig . 4.1 depicts the basic components of the whole drive system for the stage. The drive system includes a variable-speed drive (VSD) , an induction machine, and a transmission system coupled to both the motor and the stage. Among all the components, the variable-speed drive is the heart of the system. A l l the motion controls as well as the motor control w i l l be realized via the V S D . 3-phase ac supply ADC QEP RWM RDPINT DSP AC Input Fig . 4.1 System topology The variable-speed drive employs the commonly used A C - D C - A C topology. It converts the 3-phase, 60 H z input into dc voltage source, which is then inverted into a 3-phase variable frequency and variable voltage output to drive the motor. In the prototype, the inverter uses six discrete I G B T power modules with built-in freewheel diode. There are also highly integrated I G B T power modules available in the market, which include 37 the three-phase rectifier, the three-phase inverter, the brake chopper and a temperature sensor all into one package. Due to the high reliability, those all-in-one modules are recommended in the final implementation. The I G B T power modules are gated by a DSP-based controller. According to the operation command, the D S P generates sinusoidally modulated P W M outputs to the driver IC. Opto-couplers provide necessary signal isolation between the D S P and driver IC. Interface circuitry between the D S P and outside sensors generates voltage shift and filters noise out from signals feeding to the DSP. In case a fault happens, the fault signal is fed back to the P D P I N T channel o f the D S P . The converter-motor combination can accommodate four-quadrant operations such that during the generating mode, the induction machine converts the kinetic energy to electrical energy. In that case the current and power reverses the direction and tries to flow back to the power supply side, which w i l l be blocked by the diodes in the rectifier and invoke a voltage rise at the dc bus. Thus, a resistor, called R D , is used to dissipate the energy during the generating mode. A n extra I G B T switch in series with Rb, turns on whenever the dc bus voltage exceeds a safe operation value, thus preventing overcharging. A n encoder is a position sensor coupled to the shaft of rotational objects. Speed information can be derived from the differentiation of the position signals within some time period. In the D S P , there is an interface called Q E P , which is specifically designed to process the signals from the encoders. The next discussion w i l l be focused on each component mentioned above. 4.1.2 IGBT and its Drive Fig . 4.2 illustrates a basic I G B T gate drive circuit, which converts logic level control signals into appropriate voltage and current that can drive the I G B T power module reliably and efficiently [7]. The conversion is performed by a pair of bipolar transistors alternately connecting the I G B T ' s gate to the appropriate on (Von) and off (Voff) voltages. The gate resistor is selected to generate a proper peak current charging or discharging the I G B T ' s gate. The optocoupler provides isolation between the high power component and control signal to avoid potential damage to the digital controller. 38 Drive Opto-Coupler Gate Resistor IGBT Module Input Fig . 4.2 Basic I G B T drive circuit The I G B T gate drive circuits are subjected to high common mode dv/dt noise produced by the fast switching, high voltage and high current I G B T power modules. To maintain the immunity to the high dv/dt noise is critical for the drive circuit to function normally in an offensive environment. 4.1.2.1 Maintaining dv/dt Noise Immunity High common mode dv/dt induced by the turn-on of the positive IGBTs in a two-level bridge leg is something that users often encounter. When the collector of the positive I G B T is turned on, a current is induced due to the device's collector-gate (i.e. reverse transfer) capacitance, shown in Fig . 4.3 as CRES- The collector-to-gate current develops a voltage across the series gate resistor as well as the stray inductance in the gate circuitry. If this annoying voltage exceeds the threshold voltage o f the I G B T , the off-state I G B T w i l l be spuriously turned on, and thus, a cross-conduction w i l l happen. CRES/ ( X J~ L . Fig . 4.3 By-pass resistor for high-frequency noise Adding an extra resistor between the gate and emitter of the I G B T device could, to some extent, cancel the offending collector-to-gate current. The principle here is that a 39 R C low-pass filter, consisting of the collector-gate capacitance and the gate-emitter resistor, as shown in Fig . 4.3, provides a by-pass for the high-frequency noise. In addition, the high common-mode dv/dt noise might cause breakdown, i.e. a transient malfunction o f any isolating interface for the gate drive signals. After the anti-crosscondution delay, when the complementary negative device turns on, the emitter of the positive device makes a transition to the negative bus potential with a very high negative dv/dt, which can often exceed the common-mode dv/dt noise immunity level of the optocouplers used. It is important for the positive device, which must remain "off ' during this transient. F ig . 4.4 Noise shielding of opto-couplers Optocouplers with good immunity to high common-mode dv/dt noise could be used in the drive circuit. The immunity is normally achieved by adding shields between the "primary" and "secondary" side of the opto-coupler. Another possible solution is to lower the induced dv/dt noise by increasing the "turn-on" gate resistor on the device drivers. However this w i l l result in a slowing down turn-on process and consequently higher "turn-on" switching loss. In addition, given the switching frequency, the turn-on process has to be fast enough compared to the whole "on" period so as to keep the duty cycle fidelity. A s an alternative to optocouplers, fiber optic cables can be used to completely eliminate the problem and to provide very high electrical isolation and creepage distance [8]. Now optic fibers are almost universally used in high-power voltage-fed IGBT converters. A side-effect benefit from using optic-fibers is that the digital controller and the I G B T driver/IGBT module could be physically separated, which makes the design and layout much more flexible. 40 Optical Fiber \ Transmitter Receiver Fig . 4.5 Optical fiber setup for noise immunity Apart from the control-signal isolation barrier, attention must also be given to reducing dv/dt capacitance coupling to or from the positive I G B T floating gate-drive power supply. In most high power applications it is necessary to use power supplies that are isolated from the input side such that they can be floating with respect to the ground because the potential of the emitter of the high side I G B T changes when the low side I G B T is switched. Although isolated power supplies are not definitely necessary for low side I G B T drives, they are recommended in order to avoid noise caused by noise voltage induced in stray inductance of the negative dc bus [7]. Normally a common-mode unwanted capacitance is intrinsic between the transformer windings of the power supplies. Appropriate electrostatic shielding of the power supply transformer windings from each other is crucial. In high power system, the positive drivers are always supplied from a shielded transformer dedicated to each IGBT. In addition, an inductor with high common-mode rejection is placed in the input side of the power supplies in order to prevent coupled high dv/dt noise, shown in Fig . 4.7. Fig . 4.6 Noise shielding of dc/dc power supply AC input To power supply Fig . 4.7 Inductor with high common-mode signal rejection 41 A substantial negative bias is used for I G B T drive, which provides additional dv/dt immunity and reduces turn-off losses. The additional margin to absorb "real" collector-gate capacitance coupled reverse transfer charge during high dv/dt, with respect to the gate-emitter "turn-on" threshold voltage, is a significant reliability improvement, particularly when switching peak (fault) current, coincident with a high dc-bus voltage. Vge Vge i i • Vth •fx- Vth -(a) LA (b) Fig . 4.8 Additional dv/dt immunity of negative bias turn-off voltage 4.1.2.2 IGBT Drive Schematics and Component Selection A s a result of the fast developing IC technologies, I G B T drivers are not confined to just provide drive function. Some protection and auxiliary functions are integrated into the driver IC to provide an all-in-one product. The gate drive used in the prototype, HCPL-3120, is a high-current output I G B T gate drive with built-in opto-coupler. Its main parameters are given in Table 4.1. Table 4.1 Features of the I G B T gate drive Feature Specification Description Peak output current 2.0-2.5 A Common-mode rejection ( C M R ) 15kV/us Ve in = 1.5 k V Input voltage V c c 1 5 - 3 0 V Under Voltage Lock-Out Protection ( U V L O ) 9 . 5 - 1 2 V Hysteresis Maximum switch frequency 2 M H z Isolation 630 V peak 42 HCPL-3120 contains an under-voltage lockout ( U V L O ) feature that is designed to protect the I G B T under low voltage condition. The output voltage o f HCPL-3120 switches the output off when it detects a low voltage from the power supply and turns on at a higher threshold. Other components used in the gate drive are listed in Table 4.2. Table 4.2 Component list for the I G B T gate drive Reference Name Type Description U l Dc/dc power supply VASD1-S5-D15 5V/±15V U 2 Gate drive IC HCPL3120 Wi th built-in optd-coupler R l Resistor 180 Q R2 Gate resistor s i n R3 Resistor 1.5 k Q R4,R5 Resistor 5.5 k Q C1,C2,C3 Capacitor 10 uF electrolytic The per :phase I G B T drive schematic is shown in F ig . 4.9. 43 +5V CI: from DSP Rl -A/W-U l I +Vin I -Vout I COM - V i i i +Vout 1 C2 5 r C3: 6 U2 N/C | Vcc ANODE| Vo CATHODE Vo N/C | Vee R4 R5 Low voltage High voltage R2 -A/W-IG BT c 0 R3 Fig . 4.9 I G B T gate drive schematic A dc-dc converter provides the isolated ±15V power to the I G B T drive. The converter can provide l k V dc voltage isolation across its input and output that is high enough in this application. A resistor is connected to the output of the converter which needs a minimum of 10% loading to maintain a reliable and fully-performed output. There are several guidelines to choose a proper value for the gate resistor Rg, one of which is driven by the peak current of the I G B T driver, illustrated below. Table 4.3 Gate resistance sizing driven by peak output current o f the I G B T drive V c c Iout_pk Rg = Vcc/Iout_pk Peak output current of Gate drive voltage Gate resistance the I G B T drive 15 V 2 A 7.5 f2 44 The above calculation is somewhat coarse. Actually by properly sizing the gate resistors the switching speed o f the output I G B T can be controlled [9]. Some basic rules are given below for sizing the gate resistors to obtain desired switching time. The switching time tsw is defined as the time spent to reach the end of the plateau voltage, as shown in Fig . 4.10. VGE*L Fig . 4.10 I G B T turn-on sequence Here Qgc and Qge indicate the gate to collector and gate to emitter charge respectively. Table 4.4 shows the calculation process to size the turn-on gate resistor driven by tsw constraint. Vcc CRES CRES Ic I IGBT Driver Fig . 4.11 Current path when I G B T turns on 45 Table 4.4 Turn-on gate resistor sizing driven by tsw constraint Description IRG4PC50UD Qge Gate Emitter charge (turn-on) 25 nC Qgc Gate Collector Charge (turn-on) 61 nC t SW Switching Time 500 ns Iavg Q +Q *Zgc *Zge t SW Average Charging Current 172 m A V* Gate Plateau Voltage 6 V RT0T V -V* _ Y CC V ge Equivalent Output Resistance 52 Q I avg of the Gate Driver RDRp Driver Equivalent on-resistance io- is n RGon = RT0T — RDRp Gate On-resistance 37 - 42 Q Turn-on gate resistor can also be sized to control output slope dVout/dt. Although the output voltage has a non-linear behavior, the maximum output slope can be dV Iav approximated by — — = — ^ — [9]. The calculation of this kind of constraint is given in ^ CjiESoff Table 4.5. 46 Table 4.5 Turn-on gate resistor sizing driven by dV0Ut I dt constraint Description IRG4PC50UD dV0Ul dt Output Voltage Slope 5 V/ns r ^RESoff Reverse Transfer Capacitance (off-state) 52 pF r dVout "vs dt RESoJI Average Charging Current 260 m A Gate Plateau Voltage 6 V V -V* n _ yCC Y ge ^TOT ~ j avg Equivalent Output Resistance of the Gate Driver 34 D. RDRp Driver Equivalent on-resistance 1 0 - 1 5 Q RGon = RTOT ~ RDRP Gate On-resistance 1 9 - 2 4 Q Combining the calculation results for the two constraints, the gate resistance for turn-on should be greater than 40 ohms. The worst condition in calculating the turn-off resistor is when the collector of the I G B T in the off state is forced to commutate by the turn-on of the companion I G B T [9]. In that case, a parasitic current through CRESoff w i l l be induced by the high dv/dt of the output node. I f the voltage drop at the gate exceeds the threshold voltage of the I G B T , the Turning ON c IGBT Driver dV/dt Fig . 4.12 Current path of the low-side I G B T drive when high-side turns on 47 device may be turned on by itself, which w i l l cause cross conduction for the whole leg. If no negative bias voltage is used, condition dV Vth>Vge=(RGoJf +RDRn)-CRESoff (4.1) must be verified to avoid spurious turn-on. Rearrange (4.1) we get V RGoff < 'h dy ~ RDRn (4-2) Fig. 4.12 shows the current induced by the high dv/dt o f the output node, where CIES is the input capacitance, and CRES is the reverse transfer capacitance. A n example of calculating the turn-off gate resistor is given in Table 4.6. Table 4.6 Turn-off gate resistor sizing Description IRG4PC50UD dVout dt Output Voltage Slop 5 V/ns r ^RESoff Reverse Transfer Capacitance (off-state) 52 pF v* Gate Threshold Voltage 3 - 6 V RTOT Equivalent Output Resistance of the Gate Driver 1 2 - 2 3 Q RDRn Driver Equivalent off-resistance 10- 15 CI RGoff = RTOT ~ RDRn Gate Off-resistance 0 - 13 f2 From the above estimation, we find that the required resistance for turning-off contradicts the turn-on gate resistance. In order to make both turn-on and turn-off safe, the gate circuit, such as the one shown in Fig. 4.13, may. be employed. The diode w i l l block the "on" current path from flowing through the " o f f resistor, while the " o f f current flows through both resistors. Normally the " o f f path is short-circuited to provide as quick turning-off process as possible. 48 IGBT Driver RGon . — V v V — — * —iOff~""""7" RGoff G Fig . 4.13 Separate gate current paths for turning-on and turning-off If we consider the extreme case that there is a very fast step change on I G B T collector, the gate-emitter voltage can be approximated with the capacitor divider: CB V =V — ge ce q 'RESoff + C RESoff T W£S (4.3) which is driven only by I G B T characteristics. Table 4.7 gives the verification for the I G B T used in the prototype. Table 4.7 Gate voltage spike induced by high dv/dt Description IRG4PC50UD c ^RESoff Reverse Transfer Capacitance (off-state) 52 pF c Input Capacitance 4000 pF vce Collector Voltage 300 V • Gate Voltage 3.9 V . vth • Gate Threshold Voltage 3 - 6 V It is clear that the gate voltage w i l l be raised to a critical level that it might trigger the conduction of the I G B T at the wrong moment. Apart from the method to introduce two separate gate resistors, another way to avoid the spurious turn-on is to use negative bias voltage for the off state, which is also the solution used in building the prototype board. For a negative bias voltage of -15V, the actual gate voltage under the extreme condition w i l l be -11V as maximum during the " o f f state, which is quite far from the threshold voltage of the I G B T . The additional margin brought by negative bias voltage is really a significant reliability improvement. 49 The above-described methods for sizing gate resistors are intended to approximate the turn-on and turn-off phenomena of power IGBTs. More accurate sizing may rely on more precise I G B T modeling and parasitic components dependant on the layout and connection of the circuit. 4.1.3 Temperature Detection Subsystem Thermal issue and temperature control is a problem affecting any semiconductors. The sensitivity exhibited by the N T C thermistor makes it advantageous to be used for low cost, precision temperature measurement and control in the industry. A thermistor is an electronic component that exhibits a large change in resistance with a change in its body temperature. N T C thermistors have a negative temperature-resistance characteristic that the resistance w i l l drop as temperature rises. When N T C thermistor sensor is integrated into the power module, it can facilitate temperature detection and over-temperature protection. But the non-linearity of the thermistor resistance-temperature characteristic sets a practical limit on the possible temperature range over which a single thermistor can be operated in a measurement circuit. Therefore an interface circuitry is employed to generate DSP-friendly signal that can be directly sampled by the D S P . The interface circuit is given in Fig . 4.14 Fig. 4.15 illustrates the temperature-resistance characteristic of the N T C sensor used in the integrated power module as well as the voltage-temperature characteristic seen from the D S P . The transformed voltage signal can easily be read by the D S P , from 0 ? +5V Fig . 4.14 N T C interface to the D S P 50 to 2.5 V . The linearity has been improved to be suitable for measurement. The input terminal into the D S P can also be clamp to a 3.3V voltage source via a Zener diode to avoid damaging A D C module by spike voltage. Characteristic of NTC Thermistor Sampled Voltage by DSP I ! r - : - r r 1 3.5 , , Fig . 4.15 N T C characteristic and sampled voltage A s the linearity of the temperature-voltage characteristic is still not ideal, a lookup table is introduced to interpret the temperature from the input voltage. Channel A D C I N 1 in the D S P is assigned to accept vin and R E S U L T 1 is the variable associated with v,„ in the software. The lookup table has 64 rows of records such that the interpretation from voltage to temperature can provide enough resolution for control algorithm to know the temperature. The minimum temperature interval is 5°C in the program. Therefore only the six M S B s (most significant bits), i.e. bit 15 to bit 10, o f vin are effective and R E S U L T 1 is right-shifted by 10 bits to discard bit 0 to bit 9. The actual vin is in the range from 0.4 - 2.35 V . Voltages beyond that range represent temperatures under 0°C or over 150°C, which are as wel l beyond the possible operation temperature range. In the lookup table, all input voltages between 0 to 0.4V are translated to 150°C, and voltages between 2.35V to 3.3V are translated to 0°C for simplicity. The I G B T ' s body temperature should be maintained between 0°C to 125°C to assure device safety and undegraded performance. The program sends a temperature 51 alarm when temperature rises to 100°C. The output pulses w i l l be shut down when temperature is over 125°C. 4.1.4 D C Bus Bulk Capacitor Electrolytic capacitors are used to smooth the dc bus voltage. Its capacitance is an inverse function of the allowed ripple voltage A V and can be derived as 2R C„ (4.4) (V2 -V2. )f V m a x m i n ) J rect where Pin is the load power in watts, frecl is the ripple frequency, F m a x is the maximum dc voltage and Vmin is the minimum dc voltage [10]. V Vmax Vmin | < t r>H t D C " h-t = 1/frect-Fig . 4.16 D C bus ripple With a 3-phase 208V ac input, F m a x = JlVLL = 28IF . Assume r m i n = 9 5 % F m a x = 2 6 7 F , then 2R 2x2235 (VL-VL)frec, (281 2 - 2 6 7 2 ) - 3 6 0 = 1618/zF tc, the charging time, can be calculated as 52 TmJ cos"1 (0.95) c o s " ' ( ^ ) 2nfin 2n • 60 and discharging time tDC is 'z>c = -j- ~ tc = ~ 842// = 1.94mS (4.6) /,** 360 The average charging current is given by \y y _ r / . 281 -267 Ir=C— = C m a x m i n = 1618// = 27,4 (4.7) ^c r c ^ 842// According to the calculation, at least a 1600 uF capacitor should be employed to maintain the dc bus ripple within 5% or less. The capacitor should also can stand 27A charging current. 4.1.5 Energy Dissipation Subsystem During the braking period, the kinetic energy of the stage system w i l l be reverted to electric energy by the induction machine, which is shown in Fig . 4.17. A s the converter, consisting of only diodes, can not send the regenerated energy back to the grid, a dissipation system must be adopted to absorb the excessive energy, otherwise dc bus voltage might be charged to a very high and dangerous level. A braking branch is then developed to dissipate the extra current. The braking branch includes a voltage-controlled I G B T and a resistor connected in series to the dc bus. The I G B T switch w i l l be closed and connect the braking resistor to the dc bus when the dc voltage exceeds a threshold. The control circuit disconnects the braking resistor when the dc voltage drops back to normal level. 53 :Rb J < J i t J l T * (a) ^0 j Fig. 4.17 Current path for (a) Operation mode of motoring (b) Operation mode of generating The braking resistance can be derived from the fact that the braking resistor should be able to dissipate all the regenerated power. Recalling the differential equation (2.1) describing the rotational motion, we have M L dt (4.8) dco If the deceleration rate is defined as a = —, TM is the braking torque of the machine, dt TL is equal to the friction torque Tf, and / = JMe, where JMe is the equivalent moment of inertia referred to the motor side, rearranging (4.8) we have dco M u Me ,„ 1 f dt (4.9) Note all the quantities in (4.9) are expressed in their magnitudes. The regenerated power is Pg =TMcor=(JMe^-Tf)cor=(JMea-Tf)c»r (4.10) 54 The power dissipated in the braking resistor Pd can be expressed as V1 pd=ir ( 4 . i i ) The inequation Pd > Pg has to be satisfied to maintain- a constant dc bus voltage. Combining (4.10) and (4.11), we get {JMea-Tf)(°r The right part of (4.12) reaches its minimum value when the machine is running at its maximum speed, which means the braking resistor has to be designed according to the worst case when the stage just begins to decelerate and the machine has its highest regenerated power at that moment. A detailed calculation of the braking resistor used in this application is given below in Table 4.8. Table 4.8 Calculation of the braking resistor Variable Value Description vdc 280 V J Me 0A6kg-m2 Moment of inertia of the whole , system referred to the motor side The deceleration for a 1800 rpm-a 75.4 radls2 running machine to stop within 2.5 seconds Tf O N m Conservatively assuming no friction torque 188.5 rad/s Assuming rotor speed equal to the maximum synchronous speed 34 Q The voltage detection circuitry is plotted in Fig . 4.18. The attenuated dc bus voltage is sent to a voltage follower, and then compared with a reference voltage. The 55 voltage comparator has a hysterisis pickup/dropout characteristic, which can eliminate flipping of the braking branch. Vdc 99k l k O . l u l k -A/vV 47k - W V — Vref Vo Fig . 4.18 Over-voltage detection circuit According to Fig . 4.18, the pickup voltage is calculated by V -V V pickup ref ref R R or,Vpickup=Vref(l + j±) Rf Dropout voltage is obtained by YzlXzL = Rr R, orVdropoul=Vref(l + ^-)-^V0 Rf Rf V (4.13) (4.14) (4.15) (4.16) Off V p : pickup voltage V d : dropout voltage V r : rated voltage . Vdc 0 V r V d V p Fig . 4.19 Hysterisis characteristic of the over-voltage detection circuit 56 Assuming V0 285 v,vt 295 V, V0 = 4 . 5 F , w e g e t dropout 100 pickup 100 R f R = 45 , Vref=2.9V Reference voltage is generated by a shunt regulator (TL431). 4.1.6 Encoders In order to obtain position and machine speed, a rotary encoder is probably the most frequently used transducer. There are two types of encoders, absolute encoders and incremental encoders. A n absolute encoder has multiple channels, each of which reads one binary digit. A typical 10-line encoder wi l l generate a 10-bit binary number and one revolution w i l l be divided into 2 1 0 (1024) positions, each giving a unique code. B y interpreting the output code, a control system can get the absolute position information associated with it. In an incremental encoder, pulses are generated for every increment of travel. B y counting these pulses, the traveled angle or distance is obtained. Normally there are two channels of pulses, which are quadrature to each other, generated by the encoders. B y comparing which channel is leading, it is quite easy to detect the rotating direction of the motor. In addition to that, a start marker is usually provided on a third channel as an 'index', which can be used to indicate a zero or home position on the encoder. It is quite easy to develop speed measurement with either type of encoders. The output from an encoder is a series of pulses corresponding to the angle it travels. Speed is Fig. 4.20 A n incremental encoder 57 the derivative of angle. In digitized form, the average speed in the sampling interval is expressed as co(t) = j[e(t)-6{t-X)} (4.17) where T is the sampling interval. It is worth mentioning that with a given sampling interval T the resolution of a discrete speed measurement is reduced at low speed range because fewer pulses are counted within one sampling interval. The worst case for speed estimation happens when no more pulses come during one sampling interval T, and calculated speed is zero. Given a constant-time window, the number of observed pulses is counted and the speed is then approximated as W = ~dt*!\K 2N-T [ ] ° r f = ~^PTf~[rpm] (4.18a, 4.18b) where N is the output bit number of the encoder, A N is the number of observed pulses, Ts is the sampling time [11]. The resolution of speed measurement Aco is given as Aco = ^-[rad-s'1] o r A / = ^ M (4.19a, 4.19b) The above equation indicates that the quantization resolution depends only on the resolution of the encoder and the sampling time. The resolution is independent from the motor speed. In this project, a 12-bit encoder is used and sampling time is set to 1/4000s, so the speed resolution is Af = ——— « 6 0 [ r p m ] 2 1 2 - (1/4000) which is equal to the resolution of the speed lookup table A S P _ S T . The current stage drive system uses a wire rope to connect the motor and the stage, which w i l l be the approach used in the new drive system as well . However, there is no such a transmission system in the experimental setup and the encoder is directly coupled to the shaft of the motor. In the real system, this configuration of the encoder may be problematic because measurement error o f position, caused by slippage, w i l l be accumulated from the motor shaft encoder. Even i f there is no slippage, the transmission ratio used for calculation, i.e. the nominal ratio, w i l l never be exactly equal to the actual 58 transmission ratio. The difference w i l l be accumulated as wel l to ruin the position estimation. If only one encoder would be used, it could be coupled to the shaft of the stage. Due to the transmission effect, the speed measured at the stage shaft is much slower than the speed measured from the motor's shaft. The advantage of this one-encoder configuration is that the speed estimation w i l l not be influenced by slippage. In addition, the implementation is simple. The disadvantage is that an encoder with higher output bit is necessary. From simulation results, the system w i l l be stable only i f the sampling period of speed is less than 0.05s. Assuming that the transmission ratio is 600:1 from the motor shaft to the stage shaft and the speed resolution is 60 rpm, i f we rearrange (4.14), then we have l N . 60 „ 60 2N >^^—-A = — ^ — • 600 = 12000pps, &f-Ts 60-0.05 So at least a 14-bit encoder (16384 pulses per revolution) is needed for this system. If we want to use the same 12-bit encoder in the stage drive system, a second encoder could be installed and coupled to the motor shaft. In such a case, the stage encoder w i l l provide the position measurement while the motor shaft encoder w i l l provide the speed signal to the control system. However, this two-encoder configuration w i l l definitely make both hardware and software much more complicated than the one-encoder configuration. In addition, extra measures such as a low-pass filter for the speed estimation may be necessary to eliminate the invalid reading caused by slippage. Apart from the above two methods, there is a third option available, which is to use open loop speed closed loop position control (OSCP). A s there is no speed loop, only one encoder is required. This encoder can be coupled to the shaft of the stage. Different from the first solution, this encoder is assigned to provide only position information. A s we know that the changing rate of position is slower than speed, high-bit output capability is therefore not necessarily required for this encoder. From simulation, as well as the experimental results that w i l l be given in the next chapter, open loop speed closed loop position control (OSCP) can achieve as same the position accuracy as obtained from closed loop speed closed loop position control 59 (CSCP). From this point o f view, open speed closed position control (OSCP) gets ahead of the rest methods. A n interface circuitry is added between the encoder and D S P Q E P pins. Only one channel is plotted in Fig . 4.21. A voltage follower booms the output capability for the encoder and an opto-coupler provides galvanic isolation. +3.3V -JLTLTL 380 from one channel of the encoder 380 -AAAr-R l to DSP QEP O . l u Fig. 4.21 Interface circuitry for one channel between the D S P and the encoder A s 3.3V is the standard voltage for I/O of the D S P , a simple 3.3V power supply is built by using a TL431 , shown in Fig . 4.22. +5V 50 3.2k 9.8k +3.3V TL431 Fig . 4.22 3.3V power supply using programmable shunt regulator diode 4.2 Software Design The code for the drive system is written in assembly language and has been tested successfully on a TMS320LF2407. D S P , which is mounted on a LF2407 Evaluation Module ( E V M ) from Spectrum Digital. 60 Some flowcharts summarize the structure of the code and are attached in Appendix G . The complete listing of the assembly code and auxiliary files are attached as well in the appendix. 4.2.1 Pulse Width Modulation with THI The method used to produce the sine modulated P W M signal is based on look-up tables. A look-up table S T B L associates P W M frequencies with different steps. A step value is added to the counter every time a new value from the sine table is to be loaded. B y changing the value of the step, the program can accurately control the frequency of the sine wave [12]. From the calculation in 4.1.4, we notice that the average dc bus voltage is around 274 V . Using a sinusoidal P W M , the maximum line-to-line voltage is 2V2 which is only 80% of the rated voltage of the induction machine. In order to increase the inverted voltage, third harmonic injection has been incorporated into the modulation. With third harmonic injection (THI), the maximum output line-to-line voltage of the inverter reaches Vlf = = 194V V 2 which has a 15% increase over the sinusoidal P W M . 4.2.2 Event Manager Setup The program sets up the Event Manager A ( E V A ) to generate six symmetrical sinusoidal P W M waveforms on pin P W M 1 to P W M 6 . Each Event Manager module has a Quadrature Encoder Pulse (QEP) circuit, which normally interfaces with optical encoder to receive position and speed information. The Q E P in E V A is enabled in the software and pins QEP1 and QEP2 are configured to receive two channels of pulses from the encoder. T i m e r l , acting as a base frequency for the program, is configured to have a frequency of 20 kHz , which is also the switching frequency for all six IGBTs. 61 4.2.3 Speed Estimation and Speed/Position Recording The information retrieved from the encoder is in the form o f position. In order to obtain the speed signal, the computation Speed = K [ T 2 C N T ( n ) - T 2 C N T ( n - l ) ] / T (4.20) is required, where T 2 C N T T is the register associated with encoder readings, T is the sampling interval and K is a coefficient to transfer the speed to a hertz format. It is found that i f the sampling frequency is set to be equal to the number of pulses per revolution of the encoder, the division can be eliminated. Assume fr is the mechanical speed of the motor in hertz, N is the number of pulses per revolution of the encoder, and / , = —^— is the sampling frequency. For each sampling period, the number of counted f -N pulses Npps = fr • Nppr • Ats = m . If Nppr = fspl, we have Npps = fr, which means J spl the number of counted pulses is the actual mechanical speed. In the software, the refreshing frequency o f speed estimation is set to 4,000, which is quite approximated to the number of pulses per revolution of the encoder. The register T 2 C N T storing the pulses overflows when it reaches the maximum count in an up-counting mode, which is associated with a positive rotating direction of the motor. Likewise the register underflows when it counts down to zero and winds back to its maximum value. Nppr-1 Nppr-1 Nppr-1 Nppr-1 Nppr-2 • • t — • t (a) (b) Fig. 4.23 Two counting modes for T 2 C N T (a) Up-counting mode (b) Down-counting mode 62 A special program is designed to correct the measurement when overflow or underflow occurs. It is assumed the motor can only be rotating towards one direction in one shot of the operation. If the rotating direction is positive and the Q E P is in the up-counting mode, once T2CNT(n) - T2CNT(n- l ) < 0, which represents an overflow, the speed reading w i l l be recalculated as Speed = T2CNT(n) - T2CNT(n - l ) + N ppr (4.21) Similarly, the program negatives the speed reading when the motor is assigned a negative rotating direction. It is worth mentioning that jerks in the T 2 C N T reading caused by mechanical oscillation may happen, which w i l l ruin the reading and make the control algorithm invalid. A low pass filter is then added to overcome the bad reading. If the possible maximum speed for the motor i s . fr m a x , because N = f , , then ^/ r_max • Consequently, any reading of Npps greater than Nppsm^ w i l l be discarded. The measured variables are stored for future analysis. In the software variables are stored every other 0.1 second. Two arrays SPD and POS are claimed to record real-time speed and position information. Some of the experimental results saved in SPD and POS w i l l be redraw in Chapter 5. 4.2.4 Deadtime Setting It is necessary to include a blank time, called deadtime, to avoid cross conduction between the high side and low side devices in one leg because any real power electronic devices do not turn on or off instantaneously. In the E V A o f the LF2407 D S P , a programmable dead-band unit D B T C O N A is built-in to add a deadtime into the P W M signals. It has been found that the deadtime causes a reduction in the fundamental component of the output voltage and introduces low order harmonics [13]. In variable frequency drive systems the magnitude drop of the voltage subsequently leads to a reduction of the output electromagnetic torque. Therefore the deadtime should not be set excessively long compared with the total turn-off time of the I G B T devices. In the software the deadtime is set to lp,s. 63 4.2.5 Look-up Tables Look-up tables are widely used in the program which provides an easy way to implement non-linear functions such as trigonometric operations. Speed/position operation curves are also stored in several tables. A brief introduction for all the look-up tables used in the program is attached for reference. A D C H Z and A D C V O L are designed to implement the volts-per-hertz curve. Speed and position profiles are stored in two look-up tables, A S P _ S and A S P _ P . Each table has 256 entries. A timer controls how frequently the speed and position loops are performed. In the program the period of the timer is set to 0.05s. Table 4.9 Look-up tables used in the program Name No. of Entries Format Range Step size /entry Description Sine waveforms with S T B L 256 Q15 0 - 3 6 0 ° 1.41 ° third harmonic injection Associating A D C H Z 128 Hexadecimal -64 - 63 H z 1 H z frequencies with the incremental step Associating . A D C V O L 128 Q15 -64 - 63 H z 1 H z frequencies with voltages, controlling the V / H z ratio V L T P R E 64 Unsigned integer 0 - 1 5 0 ° 5 ° interpreting the sampled N T C voltage to temperature A S P _ S T 256 Unsigned integer 0 - 1 2 . 8 s 0 - 25 - 0 H z 0.05 s 1 H z Storing the desired speed profile A S P _ P T 256 Unsigned integer 0 - 1 2 . 8 s 0 - 32320 pulse 0.05 s 1 pulse Storing the desired position profile 64 Chapter 5 Experimental Results 5.1 IGBT Drive A clean and noise-free gate signal can assure the IGBTs to be turned on or off accordingly as they are required. Before the full dc voltage is applied, the I G B T gate signals are examined. Both low-side and high-side signals are plotted in Fig . 5.1 and Fig. 5.2 respectively. 20 > O > 10 -F 0 -10 -20 T 1 1 r i r ~i r £ . « ' / .1 \ - 2 - 1 0 1 Time (s) 3 4 5 x 10"5 Fig . 5.1 L o w side I G B T gate signal, with Vdc = 0 V and no load A s the two figures are recorded separately, their time origins are not necessarily the same. Additionally, the gate signals might have different duty cycles. 20, 10 > "~ -20 I I \ t i i -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Time (s) x 10" Fig . 5.2 High side I G B T gate signal, with Vdc = 128 V and no load The gate signals are checked and recorded again with dc voltage applied and load connected. A dc voltage of 128V was obtained from 10 vehicle batteries connected in 65 series to achieve high power and high current output. A R L load was connected between one phase output and the negative dc bus to set up a half bridge topology. 20 o -20 20 -20 20 > -20 (a) J I I L -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 ,-4 x 10 (b) • f f J L j If™— -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 .-4 (c) x 10 ! / jf I i f I L ! 1 i i i -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Time(s) x 1 Q - 4 Fig. 5.3 Low-side I G B T gate signal for (a) R = 7.5 Q (b) R = 4 Q (c) R = 2 Q Fig. 5.3 shows the gate signals obtained under different load currents. The arrows show where the high common mode dv/dt noise is coupled into the gate signals. The amplitude of the coupled voltage is about 3 volts and close to the estimation in Chapter 4. Due to the negative biased voltage during the off state, the spike is pushed far from the positive voltage region to avoid false I G B T conduction. The magnitude of the switching noise is current independent. 66 > > 20 0 -20 > -HJ CD > > • " - Q J > 20 0 -20 20 0 -20 (a) J L J L J l_ -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 .-4 (b) (c) Time (s) x 10 J I I I I i L -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -4 x 10 f f f -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 x 10 Fig . 5.4 High-side I G B T gate signal for (a) R = 7 . 5 Q ( b ) R = 4 Q ( c ) R = 2 f l The gate signal of the high-side I G B T are also recorded and plotted in Fig. 5.4. Different from the low-side, switching noise can not be observed. This may be explained that during the deadtime when high-side and low-side IGBTs are both off, the charge accumulated at the emitter of the high-side I G B T is discharged or partially discharged OFF OFF Fig . 5.5 H a l f bridge setup and the discharge path during the deadtime 67 through the R L load, as shown in Fig . 5.5. When it comes to the moment that the low-side I G B T turns on, the voltage at the emitter of the high-side I G B T may have already dropped to a low level, which can not induce a high dv/dt noise coupled to the high-side gate signals. If the R L load is connected to the positive dc bus, a noise voltage w i l l occur at the high-side I G B T gate signals while the gate signals of the companion I G B T remain quite clean. The tested load currents are illustrated in Fig. 5.6. A s the third harmonic injection is utilized, the phase-to-ground voltage is no longer sinusoidal. (a) 0.06 0.06 0.06 Fig . 5.6 Load current for (a) R = 7.5 Q (b) R = 4 Q (c) R = 2 Q 68 Finally the line current is recorded and plotted below for an induction machine connected to the variable-frequency-drive. The same induction machine is used for all the motion control tests afterwards. (a) \ A A f A \ / \ r \ / / / w v 4 V F V -0.05 -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04 0.05 (b) -0.05 -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04 0.05 Time(s) Fig. 5.7 Line current of the induction motor for (a) T = 0 N m (b) T = 0.2 N m 5.2 Motion Control A validation experiment has been carried out to verify the conceptual design of the control system. The tested system consists of an induction machine, an optical encoder, the I G B T power module and its drive board, and a D S P Evaluation board. Parameters of the induction machine used in the experiment are listed below in Table 5.1. A 12-bit (4096 pulses per revolution) optical encoder is coupled directly to the motor shaft. 69 Table 5.1 Parameters of the induction machine used for the experiment Item Specification Rated Voltage 120 V Rated Power 175 W Rated Current 1.5 A Rated Speed 1670 rpm Number of Poles 4 Four different control algorithms have been tested. Table 5.2 describes briefly the four control methods. Table 5.2 Different control algorithms Control algorithm Abbreviation Open loop speed, open loop position control O S O P Closed loop speed, open loop position control C S O P Open loop speed, closed loop position control O S C P Closed loop speed, closed loop position control C S C P For each control algorithm, different load conditions are tested, including no load, half the rated load, full load and variable load. The variable load test is design to simulate the fluctuation of the load torque existed in the real system. Table 5.3 Tested load conditions Item Set Torque N o load O N m H a l f the rated load 0.5 N m Fu l l rated load 1 N m Variable load 1 - 0 - 1 - 0-1 N m Experimental results for open loop speed,, open loop position control (OSOP) are shown in Fig . 5.8 70 ( Z H ) Jong psads ( s s | n d ) J O J J B u o i t i s o d ( Z H ) paads (es|nd) uoijjsod Fig. 5.8 Experimental results for open loop speed, open loop position control (OSOP) The results show that noticeable errors exist in both speed and position control. The heavier the load, the greater the deviation in the speed and position. Moreover, in the 71 speed subplot, obvious sag o f speed occurs for the variable load condition when the load happens to increase to its maximum value. After first testing with both loops open, the speed loop is closed to compare the difference. The results are shown in Fig. 5.9 (asind) uouisod Fig. 5.9 Experimental results for closed loop speed, open loop position control (CSOP) 72 For C S O P control, both speed error and position error have been reduced thanks to the closed loop of speed. However, the speed error is still noticeable as well as the position error. After the closed loop speed control, the closed loop position control was tested while the speed loop is open (OSCP). The results are illustrated in F ig . 5.10. 73 (ZH)paads (asinj) uojusod Fig. 5.10 Experimental results for open loop speed, closed loop position control (OSCP) Since the position loop is closed, the position error has been dramatically reduced. In addition to the position, the speed error drops as well while no closed-loop is applied to speed control. Considering the position profile is derived from the speed curve, both of 74 them are mutually tied to each other. When the position loop tries to reduce its own error, it involuntarily regulates the speed as well , and thus accompanied with an improved speed performance. The closed loop speed and closed loop position control (CSCP) is finally tested. The experimental results are given in Fig . 5.11. 75 ( Z H ) J 0 J J 3 pssds (as|nd) Jong uowsod Fig. 5.11 Experimental results for closed loop speed, closed loop position control (CSCP) In terms of position or speed error, no improvement is observed between open loop speed, closed loop position control (OSCP) and closed loop speed, closed loop position control (CSCP) . However, speed error reduces when compared to O S C P . 76 For all the tested scenarios, actual speed lags the required value during the acceleration process while it leads the latter during the deceleration period. That's why from the results of both closed loop position controls, the position error experiences a trapezoidal change, i.e. it first increases, then keeps constant and finally drops to a very low level during the whole process. The test results of all four controls are re-plotted in Fig . 5.12 for comparison. For each control, only those obtained under the worst case, i.e. with the rated load, is plotted for simplicity. Since the tested system and the stage system are quite different, they w i l l definitely exhibit different dynamic behaviors. In order to make the comparison between the experimental and simulation results more reasonable and consistent, a simulation based on the tested system has been carried out and the results are plotted in Fig . 5.13. We find the theoretical model of the tested system veraciously predicts the dynamic behavior of the real system. 77 ( Z H ) paads (ssind) uoujsod Fig . 5.13 Simulation results based on the tested system Apart from the above experiments, an OSCP control with medium position error correction (Ke=4) is tested under rated load condition in order to obtain more accurate position control. The results are plotted in Fig. 5.14. 79 CO (zH) J Q J J 3 psads ( a 8 , n d ) J 0 J J 3 U O ! , ! S O d CO CN ( Z H ) paads fD Q _ I % Q O CO CO E F (asirid) uomsod Fig. 5.14 Experimental results of O S C P control with medium position error correction Table 5.4 summarizes the test of all the four control methods. In Table 5.4 as well as in Fig. 5.8 to Fig . 5.14, position and position errors are assumed to be referred to the 80 stage side and expressed in the form of pulses. One pulse is equivalent to a length of 6 mm measured at the edge of the stage. Table 5.4 Summary of the test for all control methods Speed Error Acceleration/ Position Control algorithm Constant Speed Error /Deceleration (pulse) (Hz) Open loop speed, open loop position control (OSOP) 4/2.8/-0.1 107 Closed loop speed, open loop position control (CSOP) 3/1.5/-0.2 65 Open loop speed, closed loop position control (OSCP) 1.5/0/-1 3 ( K e = l ) 1 (K e=4) Closed loop speed, closed loop position control (CSCP) 1.5/0/-1 3 Some conclusions can be drawn based on the simulation as wel l as the experimental results. Firstly, i f the position loop is open, huge position error is inevitable to occur. A s position is the main control target of the system, open loop position controls, both OSOP and C S O P , can not meet the requirements, thus are not recommended. Secondly, i f closed loop position control is employed, position error accumulated in the acceleration process w i l l be made up and cancelled during the deceleration period. The effect of closed position control is obvious. Thirdly, between open loop speed closed loop position control (OSCP) and closed loop speed closed loop position (CSCP) control, no big difference has been observed. However, O S C P is recommended as the control algorithm since it is simpler to implement. In terms of the performance, the position error can be maintained at a level of around 1 pulse when an O S C P control with medium position error correction is used. The error level is very close to the control requirements stated in Chapter 3. Although the results are not obtained from the real stage system, we can still expect the final 81 implementation can exhibit as similar performance as obtained from the experimental setup and approach the desired control level. In this chapter, some experimental results are presented. From the results, it can be concluded that the hardware as well as the software in the prototype system works well . The tested system can be operated in the way that is predefined by the acceleration-speed-position (ASP) profiles. Both speed and position errors are confined in an acceptable level. 82 Chapter 6 Conclusions and Recommendations 6.1 Conclusions In this thesis the development of a DSP-controlled variable-speed drive has been considered. The design and implementation of a prototype involving motion control and machine drive have been proposed, analyzed and validated experimentally. From the observation, some points can be concluded as follows. The cascaded structure for motion control exhibits several advantages including transparent and straightforward structure, flexibility for step-by-step design and commissioning, and the use of standard controllers. Thanks to the feed-forward signals produced by a reference generator, the slow response of the cascaded control with multiple loops is easily improved without any stability being sacrificed. Another merit of the reference signal is that the system can be controlled and operated following the desired speed and position curves along all the travel process. Four different motion control algorithms, i.e. open loop speed open loop position (OSOP) control, closed loop speed open loop position (CSOP) control, open loop speed closed loop position (OSCP) control, and closed loop speed closed loop position (CSCP) control are simulated, and tested on an experimental system. It is observed both closed loop control methods can work well with the system while open loop speed closed loop position control is recommended for its simple implementation and good dynamic performance. The controller is designed and optimized under the rated condition of the induction machine. However, as induction machines exhibit some non-linear characteristics in the low-speed region under scalar control, the controller must be verified for all the operating conditions. A n aggressive controller, i.e. a system with strong error correction, is not suitable for this application. The tested I G B T drive can work well under all the testing conditions with dc bus voltage up to 300V and maximum current up to 27A. When designing the gate drive, much effort has been made to maintain the immunity to high common-mode dv/dt noise for I G B T gate drives. A negative bias voltage during the off state for the gate drive brings remarkable safe operation margins for the IGBTs. Other measures, such as a well-83 shielded interface between any high-voltage and low-voltage circuits, play important roles to assure I G B T modules work in a healthy condition. In addition, the gate resistor can be properly selected to control the switching speed of the output IGBT. There are different rules for sizing turn-on and turn-off resistors. If one gate resistor can not meet the requirements for both on and off operation, either two separate resistors and separate current paths must be employed, or we can use the turn-on gate resistor assisted with the negative bias voltage. 6.2 Recommendations A s a continuation to this work, emphasis could be focused on improving the performance, reliability and practicality of the whole system. Some more features can be incorporated to the I G B T drive, such as the anti-crossover protection, short-circuit/over current protection and fault feedback. Dc bus voltage and line current could also be used to realize more precise control. For the final work of the project, more accurate and authentic data of the stage mechanical system need to be measured, and accordingly tune-up the motion control system. 84 References H . B . Ertan, M . Y . Uctug, R. Colyer, and A . Consoli, Modern Electrical Drives, Kluwer Academic Publishers, Boston, 2000. W . Leonhard, Control of Electrical Drives, Springer, New York, 2001. H . Gross, J. Hamann, and G . Wiegartner, Electrical Feed Drives in Automation, Publicis M C D Corporate Pub., 2001. B . A m i n , Induction Motors, Springer, New York, 2001. P. C . Krause, O. Wasynczuk, and S. D . Sudhoff, Analysis of Electric Machinery and Drive Systems, Wi ley Interscience, New York, 2002. A . Munoz-Garcia, T. A . Lipo, and D . W . Novotny, " A new induction motor V / f control method capable of high-performance regulation at low speeds," IEEE Trans, on Industry Applications, vol.34, no.4, pp.813-821, Jul/Aug. 1998. E . R. Motto, Hybrid Cicuits Simplify IGBT Module Gate Drive, Powerex Inc., 1999. N . Mohan, T. M . Undeland, and W . P. Robbins, Power Electronics, John Wiley & Sons, New York, 2003. Data Sheet PD60232, IR22381Q/IR21381Q, International Rectifier, 2005. P. Wood, M . Battello, N . Keskar, and A . Guerra, Plug N Drive Application Overview, International Rectifier, 2002. M . Faccio, P. Grande, F. Parasiliti, R. Petrella, and M . Tursini, " A n embedded system for position and speed measurement adopting incremental encoders," in Proc. IEEE IAS, Oct. 2004, pp. 1192-1199. D . Figol i , Creating a Sine Modulated PWM Signal Using the TMS320 EVM, Texas Instruments, 1999. V . M . Cardenas, S. Horta, R. Echavarria, "Elimination of dead time effects in three phase inverters," in Proc. IEEE International Power Electronics Congress, v o l . , no . , Oct. 1996, pp.258-262. W . Shepherd, L . N . Hulley, and D . T. W . Liang, Power Electronics and Motor Control, Cambridge University Press, Cambridge, 1995. 85 Appendix A: Estimating the Mass and Moment of Inertia of the Stage The moment of inertia of a complex structure, such as the stage, containing steel frame and wood surface can in practice only be determined by approximation. Here an estimation of the moment of inertia of the stage is given for simulation. R2 The moment of inertia of the stage can be calculated as J = M — with M being the mass of the stage, R being the radius of the stage. The stage is a steel-framed wood-covered structure. The estimation is given by the table below. Table a.l Calculation of the moment of inertia of the stage Item Calculation Note Radius of the stage i? = 8 - 2 3 = 4 . 1 1 5 m diameter of the 2 stage is 27-foot. Wood thickness 5 cm estimated Volume of the wood V = hnR2 = 0 .05x3.14x4.115 2 = 2.66m 3 part Mass density for wood p = 0.7x10* kg 1 Mass of the wood M = Vp = 2.66x0.7 = 1.86xl0 3A:g Mass of the steel frame, 1 to 2 x\03kg estimated scene setup and actors on the stage Total mass of the stage 3 to 4 x\03kg Total moment of inertia 25 to 34 x\03kg-m2 of the stage In most simulations, 25x l0 3 Ag- -m 2 is used as the moment of inertia of the stage, including the scenery setups and actors standing on it. 86 Appendix B: Induction Motor Test and Parameter Estimation Parameters on the nameplate of the machine are given in Table b . l . Table b . l Nameplate data of the induction machine Variable Value Rated output 3 hp (2.24kW) Voltage 230 V Fu l l load current 8.2 A Frequency 60 H z Speed 1760 rpm Power factor 0.77 Efficiency 89.5% Some tests have been carried out to estimate the detailed parameters of the machine. Tests include dc test, no load test and block rotor test. Testing results and parameter derivation are given below: 1) D C Test: r, =1 /2 = 0.5Q 2) No-load Test V,-,,NL = 205.2 V3 V3 Vas = - t ^ = ^ = 118.47F, INL =3.577'A SNL=\251.66VA, PNL=10SW, QNL = 1253VAR, P f = 0.086 XNL = &^= 1 2 5 3 2 = 32.64Q 3I2NL 3x3 .577 2 3) Blocked-rotor Test V 28 3 3.1) V„ = = = 16.37F , IBR = 4.0015,4 V r l-l,NL 8.35 S p 1 BR 56 3 / 2 ~I1BR 3 x 4 2 - Ms IIBRY-R B R = ^ - = ^ r = 1.166n Xm = ^ V A S I I B R ) 2 - R 2 B R = V(16.37/4.0015)2 - 1 .166 2 = 3.92Q 87 X , s = X l l r = ^ = l.96Q 3.2) Vas = ^ = ^ - = = 22.3 IF , IBR = 5.995,4 V3 V3 P 129 3 / ^ 3x5 .995 2 XBR = yl(ya/Iu)2-R2M = V(22.31/5.995)2 -1 .196 2 = 3.524Q ^ = ^ = ^ - = 1.7620 3.3) Vas = = ^ = 2 8 - 1 5 F > 7 « = 8 - 0 2 9 5 ^ • P 230 BR 3I2BR 3x8.0295 2 X gR = j(Vas/IBR)2-R2BR = v / (28.15/8.0295) 2 - 1 .189 2 = 3.298Q X f e = x ; r = ^ = 1.649Q 3.4) Average value: Xls=Xlr=L79Q XM = XNL - x , s = 3 2 - 6 4 - 1 -79 = 30.85Q 4) Estimate r'r from the torque-speed curve Y.+ = , 2 X M = , I0'"5 2 ^ = 0.945xl32.8 = 125.5F Jr2+(Xls+XM)2 V0 .5 2 +32.64 2 V 3 + = 7 X M Y ( r ; + 7 ^ \ = 0-4466 + j l .6987 V2 r Ii T = 3 ^ £ ^ ^ _ ^ = 1 2 1 9 F M D • = 0 422Q ^ (rs,th+rr/s)2+(XlsA+Xlr)2 88 Appendix C: Induction Motor QdO Model The equivalent circuit o f an induction motor in arbitrary reference frame is developed in Fig . c . l . The rotor is short-circuited and the zero sequence circuit is neglected in the simulation process. + + ds + Os coX. 'ds -M\N-Llr (co-cor)X\r rr -ry^ry^ ^ O " VVNr qr coX., •AAA/ —'^rr\ 'ds ldr • A A A r -^ls • O s - A A V + + dr + Fig . c . l Arbitrary reference-frame equivalent circuit for an induction motor The following formulas are used to develop the equivalent circuit and model, (a) Flux linkage per-second and reactance equations dy/ dt dt - ™ b { - r s \ s Vd, + V<,s) . ... m-cor , , ®"ft(-rrV Vdr + 0 q-axis stator-side q-axis rotor-side (c.l) (c.2) 89 dt AVer dt dt dy'or dt ... m-cor . . tobi-V* Vqr + Vdr) &b(-rshs + V 0 s ) ™b(-r'rhr + V0r) d-axis stator-side d-axis rotor-side 0-axis stator-side 0-axis rotor-side (c.3) (c.4) (c.5) (c.6) (b) Output equations x. hr =-^-i¥dr-¥md) as , W qr \ Xls Xlr W m d = X a d ^ ^ ) X!s Xlr 1 XNN ad aq \ \ \ + + — q-axis stator-side d-axis stator-side q-axis rotor-side d-axis rotor-side q-axis d-axis (c.7) (c.8) (c.9) (c.10) ( e l l ) (c.12) (c.13) Xm Xls Xlr (c) Torque equations P 3 1 2 2 co. dt fdC e: (C.14) (c.15) 90 *^ — J rotor + ^ t o a r f (c.16) (c.17) (d) Abcs-to-qdO transformation V = K V T q d O s T a b c s (c.!8a) s 3 cos# cos(# 7T) COS(0+ — 71) sin# sin(<9—n) cos(0 +—n) _1 2 2 , 0 = 0(0)+ ^ codt 1 .2 (c.l8b) (e) QdOs-to-abcs transformation V = K _ 1 V T a b c s T q d O s (c.!9a) K; cos# sin# 1 2 2 cos(#- — n) s i n ( 0 - - j n) 1 2 2 cos(# + — 7i) sin(# + — 7i) 1 3 3 , 0 = 0(0) + |axfc (c.!9b) 91 Appendix D: Linearized Induction Machine Model under Variable-Frequency Operation The voltage equation for induction machine with current as state variables may be written in the synchronously rotating frame as ^xM ®b «>b mb -, ,e ss s ss ^xu qs •e Vds ®b ^b ®b «>t lds S AM •'e qr cob ®b ®b •'e Jdr S AM P X ®b ®b (d.l) Assume v = [veqs veds veqr vedr] and v = ri + coeFi + corGi + pQi -Is lds idr ] r . Rewrite (d. 1) we have (d-2) where r = G= r, 0 0 0 0 0 0 0 0 K 0 ' 0 0 0 4 "0 0 0 0 " 0 0 0 0 0 -4 0 - 4 hi. 0 4 0 F = 0 0 ~LSS 0 - LM 0 LM 0 0 Lrr 4 0 4, 0 0 4 0 K LM 0 4 0 0 0 4 0 4 o Rearrange (d.2) we get pi = - Q ' r i - coeQl¥i - co rQlGi + Q"1 v If we expand the above equation at an operation point (i0 , f f l e 0 , (y r 0 ,v 0 ) ,we have p(i0 + Ai) = - Q - ' r ( i 0 + Ai) - K 0 + Acoe)Q-l¥(K + Ai) - (cor0 + Acor )Q-'G(i 0 + Ai) + Q-' (v 0 + Av) Substitute (d.3) to (d.4) we get pAi = -Q/ 'rAi - coe0Q-'FAi - A f l J e Q _ , F i 0 - cor0Q~lGAi - Afi> rQ _ ,Gi 0 + Q 'Av (d.5) (d.3) (d.4) 92 The electromagnetic torque is expressed as T.=X„.(i'A-*lO o r T e = i r G i The relationship between torque and speed in per-unit is Te-TL=2Hpcor Substitute (d.6) into (d.7) we get 1 1 T 1 pcor=—(Te-TL) = i r G i TL where H, the inertia constant expressed in seconds, is L , 2 , , to I (d.6) (d.7) (d.8) (d.9) 2 P rB Expand the above equation at an operation point (cor0, i 0 , TeQ, TLQ), we have p(cor0 + Acor) = ^ -(i0+ A i ) r G ( i 0 + Ai) ~ ( T L 0 + ATL) (d. 10) ZH ZH Substitute (d.8) into (d.10), and A i r G i 0 = i o G r A i , we get pAcor=^\0T(GT +G)Ai-~ATL (d.11) Therefore the input equation of the induction motor and the mechanical system is " A i " Acor 1 i ^ ( G r + G ) j 0 + 2H Q - ! - Q - F i 0 ! i i 1 0 ! 0 A i Acor 0 2H _Av Aa>e (d.l 2) Output equation is A T ; Aco, i 0 r ( G r + G ) Acor + 0 0 0 0 0 0 _Av Acoe Assume M = - Q - , ( r + fl>e0F + fflr0G) N = ' o ( G r + G ) R = - Q G i 0 (d.13) (d.l 4a) (d.l 4b) (d.l 4c) 93 K = - Q F i 0 (d.l4d) Then (d.l2) can be rewritten as pAi = M A i + RAcor + Q _ 1 A v + KAcoe pAcor = A i — AT, r 2H 2H 1 (d.l 5a) (d.l 5b) Rearrange (d.l5a) we have A i =| s i - M p 1 (RAtf) r + Q - 1 A v + KAfi> e) • (d.16) where the operator p has been replaced by the Laplace operator s commonly used in transfer function formulation and I is the unity diagonal matrix. Substitute (d.l4b) and (d . l6 ) in to(d . l3 )wege t ATe = N A i = N | j I - M p 1 (RAcor + Q _ 1 A v + K A w e ) (d.17) Define Gmr = N | si -M | _ 1 R (d.l8a) G v = N | s I - M I"1 Q _ 1 (d.l8b) Gae = N | 5 l - M r 1 K (d.l8c) we can rewrite the torque equation (d. 17) as A7/e = GarAcor + GVA\ + G0)eAcoe (d.19) Expand (d.7) at the operation point (cor0, Te0, TL0) we have ATe-ATL=2HpAcor 1 1 or Acor= — --(ATe-ATL) 2H s (d.20) (d.21) Av Fig. d. 1 Transfer function for variable-frequency operated induction motor Using (d.19) and (d.21), F ig . d . l gives the decoupled transfer function of a variable-frequency operated induction motor around a given operating point. 94 Appendix E: Computing Stator and Rotor Currents for Induction Machines in qdO System + -AAAr J A l s s -VvV J A w Fig. e.l Equivalent circuit for steady-state operation of a symmetrical induction machine From the per-phase equivalent circuit for steady-state operation of a symmetrical induction machine, the input impedance of the equivalent circuit shown in Fig. e.l with rotor side short-circuited is + co2(L2M-LssLrr) + jcoe^Lss+rsLrr) -+M4 (e.l) Then we have Ias — ' (e.2) 2 2 hs and /cjhave the same magnitude as las, except that they have — n and - — ^ phase shift to las, i.e. 2 2 hs = / a s [ c o s ( - — 7i) + jsm(--x)] ~ ' ~ 2 2 and Ics = Ias [cos(— n) + j sm(— ^)] For single fed machine, Var = 0 whereupon / ' = — MA 'M -+'M4 (e.3) (e.4) (e.5) 95 7 ~ ~ 2 2 Ibr and Icr have the same magnitude as Ias, except that they have — n and - — ^ phase shift to Tar, i.e. 2 2 hr = Iar[cos(- — 7t) + y 'sm(- — 7r)] 2 2 and Icr =/ a r[cos(— n) + j ' s i n ( j ^ ) ] (e.6) (e.7) After obtaining all the variables in the abc system, we can transfer them to the qdO system by (e.8) ["4 Ids ± Os where K = — 5 3 2 2 cos# cos(^—n) COS{6 +—7T) 3 3 2 2 sin 0 sin(<9-—n) cos(6' + — n) 1 1 1 (e.9) 2 2 2 ' In (e.9), we can assume 6 = 0 to simplify the computation i f synchronous frame is used, and assume the q-axis and a-axis are in-phase. Similar to the transfer of stator current, rotor current in the qdO system can be obtained by Uqr hr hr]T=Ks[L hr I J (MO) 96 Appendix F: Modified Limited-Jerk ASP Profile A big trouble, found from the simulation results o f both time-optimal A S P profile and limited-jerk A S P profile, is that there is offending oscillation of the acceleration during the first second of the operation. c o o o < desired actual 1 2 3 ^ F ig . f . l Acceleration of the time-optimal A S P profile Fig . f.2 Acceleration of the limited-jerk A S P profile Table f . l gives the jerk for each A S P profile. Table f . l Transient response for different A S P s Time-opt imal A S P Limi ted- je rk A S P Jerk y -1150tol280 rad/s3 -1100 to 1284 rad/s 3 97 The oscillation reveals the intrinsic disadvantage of scalar control. In scalar control, the torque component and field component at the stator current are not decoupled. The air-gap flux needs several seconds to be built up. However, the scalar-controlled drive does not have any knowledge of that. The stator voltage seen from a qd system is not in phase with the air-gap flux, so there must be considerable fluctuation in the air-gap flux, which is then transferred to the electromagnetic torque of the machine. A m i n proposed a quantitative way to analyze the operating conditions of scalar control [4], which is based on the observation of the time-constants of induction machines. Time-constants can be easily derived from eigenvalues of the machine. Eigenvalues satisfy the characteristic equation of matrix A of the state equation, i.e. det(A-XI) = 0 ( f l ) where I is the identity matrix. The eigenvalues could provide behavior of an induction machine at any balanced operating conditions. Negative real parts are the sign to show any state variables decrease exponentially with time, thus the system w i l l gradually run to its steady-state. Table f.2 lists the eigenvalues of the 3-hp induction machine under different conditions. Table f.2 Eigenvalues of the Induction Machine Eigenvalue Stall Rated Speed No Load Ki = - — ± i ( ° \ h -97.21±j377 -54.55±j371 -54.56±j371 Xi4 =-—±ja2 -2.85±j377 -26.31±j32.2 -22.64±j33.4 X5 0.45 -37.95 -45.26 If we express the eigenvalues as Xx 2 = —— ± jcox, X34 - —— ± jco2 and X5, r, r, ' T2 and r2 represent the two time-constants of the machine, one referred to the stator side and the other referred to the rotor side. There are five eigenvalues, two from the stator, two from the rotor and one from the mechanical system. A s the electromagnetic torque is 98 concerned in this chapter, discussion w i l l be focused on the variables associated with electromagnetism. Plot of the electromagnetic time-constants versus motor mechanical speed in rpm are shown in Fig . f.3. Electromagnetic time-constant vs. rotor mechanical speed 0.4 -0.1 major time-constant minor time-constant 200 400 600 800 1000 1200 1400 1600 1800 motor mechanical speed (rpm) Fig . f.3 Electromagnetic time-constants of the induction machine One of the two time-constants is from the stator side and the other is from the rotor side. The major time-constant is contributed by the stator side, while it is also the dominant time-constant for the whole speed range. At the low speed area, especially the stall state, the major time-constant varies from 0.1 - 0.3 s. Compared with the rotor side time-constant, the stator side time-constant is much bigger, which casts a huge influence on the performance of the scalar control at low speed range, i.e. the dynamic response is by and large slow. For medium and high rotor speed area, the major time-constant decreases quickly and it keeps at the range of 0.02 - 0.04s, which makes the response much faster at that speed range. From the perspective of physical essential, the stator side time-constant can be approximated by — (0.16s) [14], because the mutual magnetizing inductance is large, it decides that the time-constant can't be small during the build-up of 99 the air-gap field. However, the time-constant of the rotor side is always smaller than the stator side time-constant, so it is a minor time-constant in the system and can be neglected. We may estimate the rotor side time-constant by using r r = i ± 4 ( f 2 ) s which, as a function of slip, ranges from 0.01 to 0 second. For scalar control method, the process of calculating the magnitude and phase of stator voltage must be continually repeated at the end of some step-time At [I]. If it is assumed that the length of period At is at least five times of the major electromagnetic time-constant, remma, of the motor, i.e. At>5r (f3) em,ma \X--'J then we have A A at A At We also assume that the relative angular speed must not have changed too much during the period of At, for example 10% when motoring or -10%o when braking, therefore Ao)„ rm ®rm = ±0.1 (f.5) Combining (f.3), (f.4) and (f.5) we have A A2 ' 50T (f.6) defines the admissible electromagnetic torque output for induction motors under scalar control [4]. A simulation based on M A T L A B / S i m u l i n k has been developed to analyze the admissible torque, actual torque together with the flux linkage per-second of the air-gap during the first few seconds of the acceleration period. The results, plotted together in Fig. f.4, show that actual torque exceeds the admissible torque between 0.3 - 1.3 s. A n d right during that period the electromagnetic torque has huge fluctuation. 100 Fig. f.4 Admissible torque, actual torque and air-gap flux with limited-jerk A S P profile during the acceleration period If we look at the air-gap flux, we find that the flux fluctuates dramatically during that period as well . Theoretically the flux transfers its fluctuation to the output torque. If we could prevent that from happening, we might regulate the torque to have a smoother output. Note there is friction existing in the mechanic system, i f the A S P profile is redesigned to make the motor try to output a torque that does not exceed the maximum static friction, the friction torque w i l l contradict the electromagnetic torque and the stage w i l l be held standstill during that period. Although there is no speed output from the motor, the air-gap flux w i l l gradually be established. After the air-gap flux grows up to some certain level, its fluctuation decreases and then the commanded torque can resume to what is desired in the limited-jerk curve. Therefore a modified limited-jerk A S P profile has been developed from the original limited-jerk A S P profile. In the new A S P profile, an inflection point is introduced to separate the acceleration period into two steps, as shown in Fig. f.5 1 0 1 -a > t > t > t > t Fig . f.5 Modified limited-jerk A S P profile Between 0 to t5, a gentle slope for the acceleration is adopted and in the second phase between t5 to t l , a slope with normal value is used to accelerate the system. 102 100 CM c o 0 ) CD o o < Fig . f.6 Simulation results for modified limited-jerk A S P profile From the simulation illustrated in Fig . f.6 we can find the start-up transient has been improved such that only small oscillations can be observed when a modified A S P profile is used. Table 3.4 provides a comparison for the jerk obtained under three different A S P profiles. Table 3.4 Jerks for different A S P profiles Time-optimal A S P Limited-jerk A S P Modified limited-jerk A S P Jerk y -1150 to 1280 rad/s3 -1100 to 1284 rad/s3 -200 to 400 rad/s3 103 0 0.5 1 1.5 2 2.5 3 3.5 Time (s) Fig. f.7 Admissible torque, actual torque and flux linkage per-second o f the air-gap with limited-jerk A S P profile during the acceleration period Torques and air-gap flux are plotted again in Fig . f.7 for the modified limited-jerk A S P profile. The moment that the actual torque exceeds the admissible torque is delayed for 0.8s, which gives time for the air-gap flux to build up to about 60% of its rated level. A n induction motor can only output satisfactory torque when an appropriate magnetic flux level in the air-gap has been established. The modified limited-jerk A S P profile, by avoiding accelerate the system during the period when the air-gap is experiencing its severest oscillations, is expected to generate much smoother electromagnetic torque, and thus, improves the riding comfortability. 104 Appendix G: Flowchart of the Software The main program consists of three parts, an initialization setup, an endless main loop and several interrupt service routines. Detailed code is eliminated in the thesis. Here are some flowcharts summarizing the program. M A I N CPU initialization - SCSR1 and SCSR2 registers - Watchdog disable - External memory interface - Shared I/O pins - Software stack setup - A D C setup EVA module setup - Disable timer 1 and timer2 - Configure GPTCONA - Clear timer 1 counter - Setup timer 1 period register - Setup deadband unit - Setupcompareregisters - Setup A C T R A - Setup C O M C O N A - Setup T1CON - Setup timer 2 period register T2PR - Clear timer 2 counter T2CNT - Setup T2CON - Setup QEP unit Interrupt setup - Clear core flags - Enable core interrupts - Clear E V flags - Enable E V flags - Enable global interrupts Fig. g . l Flowchart of the main program - C P U initialization, Event Manager modules setup and interrupt setup 105 Initialize tables, pointers and variables for specific application - Initialize pointers for phase A , B and C - Assign T O P T A B L E to the beginning address of wave table S T B L - Initialize step size, both high bits and low bits - Initialize M O D R E G L / H registers for three phases - Initialize T O P H Z to the beginning address of look-up table A D C H Z - Initialize T O P V O L to the beginning address of table A D C V O L - Initialize T O P T P to the beginning address of table V L T P R E .- Initialize pointers for speed/position control A S P profiles - Initialize variables associated with operation direction, revolutions, timers, look-up table indices, stop sign, output frequencies, measured speed and positions 1 - Setup I/O pins for brake leg control r Main loop - Endless loop waiting for interrupt Fig. g.2 Flowchart of the main program - initialization of other variables, I/O pins setup and main loop 106 D S P reset Reset interrupt vectors S T A R T INT1 A D C I S R INT2 GISR2 SINE w INT3 GISR3 T 2 P E R I O D w INT4 GISR4 C A P 3 w Other INT Fig . g.3 Flowchart of the interrupt service routine In all the Interrupt Service Routines, A D C I S R homes the several functions, including temperature detection, speed estimation, speed and position recording and motion control. Interrupt Service Routine SINE generates the P W M waveform with the frequency and magnitude assigned by motion control block. 107 SINE M O D R E G A = M O D R E G A + F R Q S T E P A r Discard (Zero) the highest 8 bits of M O D R E G H A T A B L E A = M O D R E G H A t Read the value from wave table with the offset address T A B L E A and store it to S I N E V A L A Do the same operations for phase B as in phase A Do the same operations for phase C as in phase A L O A D M A J > Phase A y . Phase B Phase C Fig . g.4 Flowchart of the sub-function S I N E Sub-function S INE generates P W M sinusoidal waveforms and transfers the results to sub-function L O A D M A which normalizes the sine wave values to a proper format that used by E V A registers L O A D M A S M A V A L = M A V A L * normal in Q15 format C O M P A P v E T l = S I N E V A L A * S M A V A L C M P R 1 = C O M P A R E T 1 + normal in Q15 format Do the same operations for phase B as above in phase A Do the same operations for phase C as above in phase A v Phase A r Phase B r Phase C STOP = 1? Yes ^ > • Turn off output P W M N o return Fig . g.5 Flowchart of the sub-function L O A D M A 109 A D C I S R r Detect power module temperature r Yes STOP = 1 Estimate mechanical speed and position Record mechanical speed (or position error) and position along time Speed control Position control Speed conversion return F ig . g.6 Flowchart of the sub-function A D C I S R