Simulate an AC Motor Drive
The AC1, AC2, AC3, and AC4 models are based on the three-phase induction motor. This motor has a three-phase winding at the stator and a wound rotor or a squirrel-cage rotor. The squirrel-cage rotor consists of slots of conducting bars embedded in the rotor iron. The conducting bars are short-circuited together at each end of the rotor by conducting rings. The AC5 model is based on a wound rotor synchronous motor, and the AC6 model uses a permanent magnet synchronous motor. These AC motors are fed by a variable AC voltage and frequency produced by an inverter. The type of inverter used in the six AC drive models is a voltage source inverter (VSI) in the sense that this inverter is fed by a constant DC voltage. This constant voltage is provided by an uncontrolled diode rectifier and a capacitor (capacitive DC bus voltage).
Dynamic Braking
When the DC bus is provided by a diode rectifier, the drive doesn't have a bidirectional power flow capability and therefore cannot perform regenerative braking. In the AC1, AC2, AC3, AC4, and AC6 models, a braking resistor in series with a chopper ensures the braking of the motor-load system. This braking scheme is called dynamic braking. It is placed in parallel with the DC bus in order to prevent its voltage from increasing when the motor decelerates. With dynamic braking, the kinetic energy of the motor-load system is converted into heat dissipated in the braking resistor.
Modulation Techniques
The VSI inverters used in the AC drive models are based on two types of modulation, hysteresis modulation and space vector pulse width modulation (PWM).
The hysteresis modulation is a feedback current control method where the motor current tracks the reference current within a hysteresis band. The following figure shows the operation principle of the hysteresis modulation. The controller generates the sinusoidal reference current of desired magnitude and frequency that is compared with the actual motor line current. If the current exceeds the upper limit of the hysteresis band, the upper switch of the inverter arm is turned off and the lower switch is turned on. As a result, the current starts to decay. If the current crosses the lower limit of the hysteresis band, the lower switch of the inverter arm is turned off and the upper switch is turned on. As a result, the current gets back into the hysteresis band. Hence, the actual current is forced to track the reference current within the hysteresis band.
Next figure shows the hysteresis current control modulation scheme, consisting of three hysteresis comparators, one for each phase. This type of closed-loop PWM is used in AC3 and AC5 models.
The space vector modulation technique differs from the hysteresis modulation in that there are not separate comparators used for each of the three phases. Instead, a reference voltage space vector V_{s} is produced as a whole, sampled at a fixed frequency, and then constructed through adequate timing of adjacent nonzero inverter voltage space vectors V_{1} to V_{6} and the zero voltage space vectors V_{0}, V_{7}. A simplified diagram of a VSI inverter is shown below. In this diagram, the conduction state of the three legs of the inverter is represented by three logic variables, SA, SB, and SC. A logical 1 means that the upper switch is conducting and logical 0 means that the lower switch is conducting.
Simplified Diagram of a VSI PWM Inverter
In this diagram, the conduction state of the three legs of the inverter is represented by three logic variables, SA, SB, and SC. A logical 1 means that the upper switch is ON and logical 0 means that the lower switch is ON.
The switching of SA, SB, SC results in eight states for the inverter. The switching states and the corresponding phase to neutral voltages are summarized in the table that lists states, inverter operations, and space voltage vectors. The six active vectors are an angle of 60 degrees apart and describe a hexagon boundary. The two zero vectors are at the origin.
As an example, for the location of the V_{s} vector shown in the diagram of the inverter space-vector voltage, the way to generate the inverter output is to use the adjacent vectors V_{1} and V_{2} on a part-time basis to satisfy the average output demand. The voltage V_{s} can be resolved as:
$${V}_{b}=\frac{2}{\sqrt{3}}{V}_{s}\cdot \mathrm{sin}\delta $$
$${V}_{a}={V}_{s}\cdot \mathrm{cos}\delta -\frac{1}{2}{V}_{b}$$
V_{a} and V_{b} are the components of V_{s} along V_{1} and V_{2}, respectively. Considering the period T_{c} during which the average output must match the command, write the time durations of the two states 1 and 2 and the zero voltage state as:
$${t}_{a}=\frac{3}{2}\cdot \frac{{V}_{a}}{{V}_{d}}\cdot {T}_{c}$$
$${t}_{b}=\frac{2}{3}\cdot \frac{{V}_{b}}{{V}_{d}}\cdot {T}_{c}$$
$${t}_{z}={T}_{c}-\left({t}_{a}+{t}_{b}\right)$$
State |
SA |
SB |
SC |
Inverter Operation |
Space Voltage Vector |
---|---|---|---|---|---|
0 |
1 |
1 |
1 |
Freewheeling |
V_{0} |
1 |
1 |
0 |
0 |
Active |
V_{1} |
2 |
1 |
1 |
0 |
Active |
V_{2} |
3 |
0 |
1 |
0 |
Active |
V_{3} |
4 |
0 |
1 |
1 |
Active |
V_{4} |
5 |
0 |
0 |
1 |
Active |
V_{5} |
6 |
1 |
0 |
1 |
Active |
V_{6} |
7 |
0 |
0 |
0 |
Freewheeling |
V_{7} |
Open-Loop Volt/Hertz Control
The AC machine stator flux is equal to the stator voltage to frequency ratio because
$$\phi (t)={\displaystyle \int v(t)dt}$$
where
$$v(t)=\sqrt{2}\cdot V\cdot \mathrm{sin}(\omega \cdot t)$$
therefore
$$\phi (t)=\frac{\sqrt{2}\cdot V}{\omega}\cdot \mathrm{cos}(\omega \cdot t)$$
Because the motor is fed with a variable AC source voltage and frequency, it is important to maintain the V/Hz constant in the constant torque region if magnetic saturation is to be avoided. A typical V/Hz characteristic is shown below. Notice that the straight line has a small voltage boost in order to compensate for resistance drop at low frequency. Open-loop V/Hz control is used with low-dynamics applications such as pumps or fans where a small variation of motor speed with load is tolerable. The AC1 model is based on an open-loop V/Hz controller.
Closed-Loop Speed Control with Slip Compensation
In this type of control, a slip speed command is added to the measured rotor speed to produce the desired inverter frequency. A PI-based speed regulator produces the slip command. The desired inverter frequency generates the voltage command through a V/Hz characteristic such as the one shown above. The AC2 model is based on a closed-loop speed control that uses V/Hz and slip regulation.
Flux-Oriented Control
The construction of a DC machine is such that the field flux is perpendicular to the armature flux. Being orthogonal, these two fluxes produce no net interaction on one another. Adjusting the field current can therefore control the DC machine flux, and the torque can be controlled independently of flux by adjusting the armature current. An AC machine is not so simple because of the interactions between the stator and the rotor fields, whose orientations are not held at 90 degrees but vary with the operating conditions. You can obtain DC machine-like performance in holding a fixed and orthogonal orientation between the field and armature fields in an AC machine by orienting the stator current with respect to the rotor flux so as to attain independently controlled flux and torque. Such a control scheme is called flux-oriented control or vector control. Vector control is applicable to both induction and synchronous motors. We will see now how it applies to induction motors.
Considering the d-q model of the induction machine in the reference frame rotating at synchronous speed ω_{e},
$${V}_{qs}={R}_{s}{i}_{qs}+\frac{d}{dt}{\phi}_{qs}+{\omega}_{e}{\phi}_{ds}$$
$${V}_{ds}={R}_{s}{i}_{ds}+\frac{d}{dt}{\phi}_{ds}-{\omega}_{e}{\phi}_{qs}$$
$$0={R}_{r}{i}_{qr}+\frac{d}{dt}{\phi}_{qr}+({\omega}_{e}-{\omega}_{r}){\phi}_{dr}$$
$$0={R}_{r}{i}_{dr}+\frac{d}{dt}{\phi}_{dr}-({\omega}_{e}-{\omega}_{r}){\phi}_{qr}$$
$${T}_{e}=1.5p\frac{{L}_{m}}{{L}_{r}}({\phi}_{dr}{i}_{qs}-{\phi}_{qr}{i}_{ds})$$
where
$${\phi}_{qs}={L}_{s}{i}_{qs}+{L}_{m}{i}_{qr}$$
$${\phi}_{ds}={L}_{s}{i}_{ds}+{L}_{m}{i}_{dr}$$
$${\phi}_{qr}={L}_{r}{i}_{qr}+{L}_{m}{i}_{qs}$$
$${\phi}_{dr}={L}_{r}{i}_{dr}+{L}_{m}{i}_{ds}$$
The field-oriented control implies that the i_{ds} component of the stator current would be aligned with the rotor field and the i_{qs} component would be perpendicular to i_{ds}. This can be accomplished by choosing ω_{e} to be the speed of the rotor flux and locking the phase of the reference frame system such that the rotor flux is aligned precisely with the d axis, resulting in
$${\phi}_{qr}=0\Rightarrow \frac{d}{dt}{\phi}_{qr}=0$$
and
$${\phi}_{dr}={\phi}_{r}$$
which implies that
$${\omega}_{sl}=({\omega}_{e}-{\omega}_{r})=\left(\frac{{L}_{m}{R}_{r}}{{\phi}_{r}{L}_{r}}\right){i}_{qs}$$
and that
$${T}_{e}=1.5p\frac{{L}_{m}}{{L}_{r}}({\phi}_{r}{i}_{qs})$$
It also follows that
$$\frac{d}{dt}{\phi}_{r}=-\left(\frac{{R}_{r}}{{L}_{r}}\right){\phi}_{r}+\left(\frac{{L}_{m}{R}_{r}}{{L}_{r}}\right){i}_{ds}$$
The analogy with DC machine performance is now clear. The electric torque is proportional to the i_{qs} component, whereas the relation between the flux φ_{r} and the i_{ds} component is given by a first-order linear transfer function with a time constant L_{r} / R_{r}.
You cannot directly measure the rotor flux orientation in a squirrel-cage rotor induction machine. It can only be estimated from terminal measurements. An alternative way is to use the slip relation derived above to estimate the flux position relative to the rotor, as shown. The latter control scheme is called indirect field-oriented control and is used in the AC3 model.
Direct Torque Control
The field-oriented control is an attractive control method but it has a serious drawback: it relies heavily on precise knowledge of the motor parameters. The rotor time constant is particularly difficult to measure precisely, and it varies with temperature.
A more robust control method consists first in estimating the machine stator flux and electric torque in the stationary reference frame from terminal measurements. The following relations are used:
$${\phi}_{ds}={\displaystyle \int \left({V}_{ds}-{R}_{s}{i}_{ds}\right)dt}$$
$${\phi}_{qs}={\displaystyle \int \left({V}_{qs}-{R}_{s}{i}_{qs}\right)dt}$$
$${\widehat{\phi}}_{s}=\sqrt{{\phi}_{ds}^{2}+{\phi}_{qs}^{2}}\angle \text{atan}\left(\frac{{\phi}_{qs}}{{\phi}_{ds}}\right)$$
$${T}_{e}=1.5p({\phi}_{ds}{i}_{qs}-{\phi}_{qs}{i}_{ds})$$
The estimated stator flux and electric torque are then controlled directly by comparing them with their respective demanded values using hysteresis comparators. The outputs of the two comparators are then used as input signals of an optimal switching table. The following table outputs the appropriate switching state for the inverter.
Switching Table of Inverter Space Vectors
S(1) | S(2) | S(3) | S(4) | S(5) | S(6) | ||
---|---|---|---|---|---|---|---|
1 | 1 | V_{2} | V_{3} | V_{4} | V_{5} | V_{6} | V_{1} |
0 | V_{0} | V_{7} | V_{0} | V_{7} | V_{0} | V_{7} | |
-1 | V_{6} | V_{1} | V_{2} | V_{3} | V_{4} | V_{5} | |
-1 | 1 | V_{3} | V_{4} | V_{5} | V_{6} | V_{1} | V_{2} |
0 | V_{7} | V_{0} | V_{7} | V_{0} | V_{7} | V_{0} | |
-1 | V_{5} | V_{6} | V_{1} | V_{2} | V_{3} | V_{4} |
Example: AC Motor Drive
In this example, you build and simulate this simple induction motor drive system:
The example illustrates the use of the AC4 model with a 200 hp induction motor parameter set during torque regulation. The AC4 block models a DTC drive. During this example, the motor is connected to a fan and its reaction to torque steps is simulated.
Open the ac4_example by typing
ac4_example
at the MATLAB^{®} prompt.In this example, we will be driving a 200 hp induction motor of 460 V nominal armature voltage and 60 Hz nominal frequency. As specified in the DC example, the voltage source amplitude and frequency values needed for each drive model can be found in the reference notes. The nominal values of the corresponding motors are also included. The table contains the values corresponding to the AC4 200 hp model.
Drive Input Voltage
Amplitude
460 V
Frequency
60 Hz
Motor Nominal Values
Power
200 hp
Speed
1800 rpm
Voltage
460 V
Set the AC source voltage amplitude and frequency values to 460 V and 60 Hz, respectively.
Set the AC source phase-to-phase rms voltage value to 460 V, and the frequency to 60 Hz. Name the AC source
460 V 60 Hz
.To represent a real-life three-phase source, you must specify correct source resistance R and inductance L values.
Set the AC source resistance value to 0.0056 Ω and the inductance to 0.15 mH.
Connect the AC4 Model to a Mechanical Load
The Tm input of the AC4 block represents the load torque applied to the shaft of the induction motor. In this case, the load torque is opposed by a fan. This type of torque is typically a quadratic function of the speed, as shown in Equation 1:
$${T}_{m}=K\cdot {\omega}_{m}^{2}={K}^{\prime}\cdot {N}_{m}^{2}$$ | (1) |
where ω_{m} is the speed in rad/s and N_{m} is the speed in rpm.
Build the subsystem of the following figure and name it
Fan
.The constant K must be imposed so that at nominal speed, the motor develops nominal torque. This torque can be determined using Equation 4. Using this equation, there is a nominal value of 790 N.m. Finally, Equation 1 gives a K value of 0.022.
Set the constant value K to 0.022.
Connect the Fan block to the block.
Define the Set Point
Now define the set point (SP) input of AC4. For this example, the induction motor torque is controlled and a series of torque set points is imposed. A series of set points can be defined with the help of the Stair Generator block.
The Stair Generator block connected to the set point input of the AC4 block generates a signal changing at specified times. During this example, generate the following torque series.
t (s)
Torque Set Point (N.m)
0
0
0.02
600
0.25
0
0.5
-600
0.75
0
Set the Time field of the Stair Generator block to
[0.02 0.25 0.5 0.75]
. Set the Amplitude field of theStair Generator block to[600 0 -600 0]
.
Visualize Internal Signals
Use the AC4 model outputs to visualize interesting signals such as:
The motor torque value and set point
The motor speed
The motor flux modulus
The motor statoric currents
The DC bus voltage
All motor variable values can be read via the Motor vector. The Conv. vector contains all converter related data. The Ctrl vector includes all reference signals and other control values.
The contents of the Conv. vector can be easily determined by adding a Multimeter block to the model.
Following the input-output description of the reference notes, the torque reference signal is the first signal of output vector Ctrl.
Open the Scope Parameters dialog box. On
theGeneral tab, set the number of axes to
5
, set the simulation time range to
auto
, and use a decimation of 25
.
Clear the Limit Data Points to last check box on the
Data history tab. Connect the five outputs of the
Signal Selector block to the inputs of the scope.
Set the Fixed-Step Simulation Environment
To simulate your system, you must now specify the correct simulation time step and set the fixed-step solver option. Recommended sample time values for DC drives, AC drives, and mechanical models are in the Remarks sections of the corresponding block reference pages. The recommended sample time for the AC4 model is 1 µs.
Open the Powergui block. Set Simulation type to
Discrete
. Set Sample time to1
µs.In the Simulation tab, click Model Settings. Select Solver. Under Solver selection, select
fixed-step
andDiscrete (no continuous states)
. Set the Stop time to1
s and the Fixed-step size to1e-6
.
Before simulating your circuit, you must first set the correct AC4 internal parameters.
Set the High Power Drive Parameter Set
As explained in the DC example, many drive models have two sets of parameters:
a low power set and a high power set. By default, all models are initially
loaded with the low power set. The AC4 model parameters currently loaded in
ac4_example
are those of a 3 hp drive.
You now set the high power drive parameters, which are those of a 200 hp drive. To do this, you use the Load button of the user interface as specified in the DC example:
To load the 200 hp parameters, click the Load button.
Select the
ac4_200hp.mat
file and click Load.The 200 hp parameters are now loaded.
Set the Motor Inertia Value
Note that the inertia values currently specified in each AC and DC model are “no-load” inertias that only represent the inertia of the rotor. If the motor is coupled to a load, these values must be increased by the load inertias. In this case, the current value of the inertia amounts to 3.1 kg*m^2. Assume that the combined inertia of the motor and the fan amounts to 10 kg*m^2. Note that the use of a flexible shaft connected between the motor and the fan would allow decoupling of the motor and load inertias. In that case, the inertia value of the AC4 block would only be the sum of the rotor and shaft inertias.
In the Asynchronous Machine section of the dialog box, change the inertia value to
10
kg*m^2.Click OK to apply the changes and close the dialog box.
Set the Braking Chopper Resistance Value
The three-phase inverter of the DTC system is fed by a DC voltage produced by a three-phase diode rectifier. A capacitor located at the output of the rectifier reduces the DC bus voltage ripples. A braking chopper block has also been added between the rectifier block and the inverter block, in order to limit the DC bus voltage when the motor feeds back energy to the drive (shown below). This energy is dissipated through a resistance when the DC bus voltage is too high.
The parameters of the braking chopper are available in the Converters and DC bus section of the dialog box.
The braking chopper parameters are currently set to limit the DC bus voltage to about 700 V. Regarding the power P to be dissipated and the DC bus voltage limit V_{lim}, you can use the following equation to set the chopper resistance value:
$${R}_{chop}=\frac{{V}_{\mathrm{lim}}^{2}}{P}$$
A resistance of 3.3 Ω will dissipate 200 hp at 700 V.
Set the DC Bus Initial Voltage Value
Notice that the DC bus capacitance has a large value to reduce DC voltage ripples to small values. The AC4 model does not include a DC bus capacitor preload system. If you start the simulation with too small an initial bus voltage, too high initial currents are drawn from the rectifier to charge the capacitor. These high current values could damage a real-life system. You must set an initial DC bus voltage value to avoid such currents. This initial bus voltage must be equal to the rectified peak value of the AC source. If the AC voltage source amplitude is equal to 460 V RMS, the rectified DC bus voltage obtained with a capacitor is about 460 × $$\sqrt{2}$$V.
Open the Initial States tool of the powergui block. Set the
Uc_DTC Induction Motor Drive/Braking chopper/Cbus
value to650
V. Click Apply and then Close.Setting the DC Bus Initial Voltage Value
Set the AC4 Controller Parameters
The control system of AC4 has two main parts, a speed controller and a torque and flux controller (DTC). Information on these two parts is in the corresponding reference notes. For a quick idea of the internal structure of the drive control system, a schematic is available inside the user interface of the model. Open the schematics related to the AC4 model.
Open the user interface. Click the Controller section and then the Schematic button. You should see the controller schematics shown.
The speed controller consists of a simple proportional-integral regulator. The parameters of this controller are the proportional and integral gains, the speed ramp values, the low-pass filter cutoff frequency, the torque reference limits, and the sampling time. In this example, we will only control the motor torque; the speed controller is not used. Refer to Set the DC3 Controller Parameters and Simulation Results for more details on how to trim a PI controller.
Regarding the DTC controller, there is not much to trim. The parameters are the torque and flux bandwidths, the initial machine flux, the maximum switching frequency, and the DTC controller sampling time. All these parameters are already trimmed and should normally not be modified.
The default regulation mode is speed regulation. In order to have torque regulation, you must change the regulation mode in the Controller section of the user interface.
In the Controller section of the user interface, select
Torque regulation
for the Regulation type field. Click OK to apply the changes and close the dialog box.
The circuit is now ready for simulation.
Observe the motor's fast torque response to the torque set point changes. From 0.02 s to 0.25 s, the fan speed increases because of the 600 N.m acceleration torque produced by the induction motor. At t = 0.25 s, the electromagnetic torque jumps down to 0 N.m and the speed decreases because of the load torque opposed by the fan. At t = 0.5 s, the motor torque develops a -600 N.m torque and allows braking of the fan. During braking mode, power is sent back to the DC bus and the bus voltage increases. As planned, the braking chopper limits the DC bus voltage to 700 V. At t = 0.75 s, the electromagnetic torque jumps back to 0 N.m and the speed settles around -10 rpm and decreases toward 0 rpm. Notice that the flux stays around 0.8 Wb throughout the simulation. The flux and torque oscillation amplitudes are slightly higher than 0.02 Wb and 10 N.m respectively as specified in the user interface. This is due to the combined effects of the 15 µs DTC controller sampling time, the hysteresis control, and the switching frequency limitation.
It is interesting to visualize the rotating flux produced by the stator. To do so, use an XY Graph block.
Copy an XY Graph block inside the Signal Selector block of
ac_example
.Connect the scope as shown.
Run a new simulation.
This plot shows the simulation results of the XY Graph block. The rotating field is clearly visible. Its modulus is about 0.8 Wb and its bandwidth is slightly bigger than 0.2 Wb.