Documentation 
On this page… 

In this section, you will learn how to use the AC drive models of the Electric Drives library. First, we will specify the types of motors, converters, and controllers used in the six AC drive models of the library designated AC1 to AC6. The AC1, AC2, AC3, and AC4 models are based on the threephase induction motor. This motor has a threephase winding at the stator and a wound rotor or a squirrelcage rotor. The squirrelcage rotor consists of slots of conducting bars embedded in the rotor iron. The conducting bars are shortcircuited 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. The models of these three types of motors are available in the Machines library. 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).
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 motorload 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 motorload system is converted into heat dissipated in the braking resistor.
The VSI inverters used in the AC drive models of the library 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.
Operation Principle of Hysteresis Modulation
The following figure shows the hysteresis current control modulation scheme, consisting of three hysteresis comparators, one for each phase. This type of closedloop PWM is used in AC3 and AC5 models.
Typical Hysteresis Current Controller
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 Inverter 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.
For the location of the V_{s} vector shown in Inverter Space Vector Voltages, as an example, the way to generate the inverter output is to use the adjacent vectors V_{1} and V_{2} on a parttime 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)$$
Inverter Space Voltage Vectors
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} 
Inverter Space Vector Voltages
The AC machine stator flux is equal to the stator voltage to frequency ratio since
$$\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)$$
Since the motor is fed with a variable AC source voltage and frequency, it is important to maintain the volts/Hz constant in the constant torque region if magnetic saturation is to be avoided. A typical volts/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. Openloop volts/Hz control is used with lowdynamics applications such as pumps or fans where a small variation of motor speed with load is tolerable. The AC1 model is based on an openloop volts/Hz controller.
Volts/Hz Characteristics with Compensation at Low Frequency
In this type of control, a slip speed command is added to the measured rotor speed to produce the desired inverter frequency. A PIbased speed regulator produces the slip command. The desired inverter frequency generates the voltage command through a volts/Hz characteristic such as the one shown above. The AC2 model is based on a closedloop speed control that uses volts/Hz and slip regulation.
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 machinelike 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 fluxoriented 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 dq 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}_{s}{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 fieldoriented 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 firstorder linear transfer function with a time constant L_{r} / R_{r}.
You cannot directly measure the rotor flux orientation in a squirrelcage 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 fieldoriented control and is used in the AC3 model.
Rotor Flux Position Obtained from the Slip and Rotor Positions
The fieldoriented 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 to make matters worse 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} 
In this example, you will build and simulate the simple induction motor drive system in Induction Motor Drive Example Circuit.
Induction Motor Drive Example Circuit
This stepbystep 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.
In this tutorial, you learn about
Open the Electric Drives library. You can open the library by typing electricdrivelibin the MATLAB^{®} Command Window or by using the Simulink^{®} Library Browser. The AC4 model is located inside the AC drives library. Copy the AC4 block and drop it in the ac_example window.
AC4 Model Inside the Drives Library
As with the DC example, you must now connect the AC4 block to a proper voltage source:
Open the Electrical Sources library and copy the ThreePhase Source block into your circuit. Connect the voltage source outputs A, B, and C to the AC4 A, B, and C inputs, respectively.
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 of the Electric Drives library can be found in the reference notes. The nominal values of the corresponding motors are also included. The following table contains the values corresponding to the AC4 200 hp model.
AC4, 200 HP Drive Specifications
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 phasetophase rms voltage value to 460 V, and the frequency to 60 Hz. Name the AC source 460 V 60 Hz.
To represent a reallife threephase source, you must specify correct source resistance R and inductance L values. The procedure to determine these values is described in the example, Connecting the DC3 Model to a Voltage Source. Following this procedure, you determine a resistance value of 0.0056 Ω and an inductance value of 0.15 mH.
Set the AC source resistance value to 0.0056 Ω and the inductance to 0.15 mH.
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 45:
$${T}_{m}=K\cdot {\omega}_{m}^{2}={K}^{\prime}\cdot {N}_{m}^{2}$$  (45) 
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.
Fan Block
The constant K must be imposed so that at nominal speed, the motor develops nominal torque. This torque can be determined using Equation 44. Using this equation, there is a nominal value of 790 N.m. Finally, Equation 45 gives a K value of 0.022.
Connect the Fan block to the block. Your schematic should now look like the following schematic.
Building the Example Circuit
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 Timer block.
Open the Control Blocks section of the Extra library and copy the Timer into ac_example. Connect the block to the set point input of the AC4 model and name it Torque reference.
The Timer block generates a signal changing at specified times. During this example, generate the following torque series.
Torque Set Point 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 Timer block to [0.02 0.25 0.5 0.75]. Set the Amplitude field of theTimer block to [600 0 600 0].
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. The DC bus voltage, named UDC: AC4/Rectifier_3ph, is the 10th signal of output vector Conv.
Multimeter Window
Following the inputoutput description of the reference notes, the torque reference signal is the first signal of output vector Ctrl.
Build the following subsystem to extract all the needed visualization signals. Name the subsystem Signal Selector.
Signal Selector Subsystem
The rad2rpm block contains the constant 30/π to convert the rotor speed from rad/s to rpm. A RealImag to Complex block and a Complex to MagnitudeAngle block compute the magnitude of the flux vector.
Copy a scope to your model to display the output signals of the Signal Selector block. 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.
All drive models of the library are discrete models. To simulate your system, you must now specify the correct simulation time step and set the fixedstep 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 SimPowerSystems™ library and copy a Powergui block into ac_example. Open the Powergui, click Configure Parameters, and in the Powergui block parameters dialog box set Simulation type to Discrete. Set the sample time to 1 µs.
Your circuit should now look like Induction Motor Drive Example Circuit.
Open the Simulation/Configuration Parameters dialog box. Select the fixedstep, Discrete (no continuous states) solver option. Set the stop time to 1 s and the fixedstep size to Ts.
Before simulating your circuit, you must first set the correct AC4 internal parameters.
As explained in the DC example, many drive models of the Electric Drives library 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:
Open the user interface by doubleclicking the AC4 block. The interface is shown below:
AC4 User Interface
Select the ac4_200hp.matfile and click Load.
The 200 hp parameters are now loaded.
You must now set the motor inertia value. Note that the inertia values currently specified in each AC and DC model are "noload" 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.
The threephase inverter of the DTC system is fed by a DC voltage produced by a threephase 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 "burned" through a resistance when the DC bus voltage is too high.
Braking Chopper
The parameters of the braking chopper are available in the Converters and DC bus section of the dialog box, as shown below:
Converters and DC Bus Section of the User Interface
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.
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 reallife 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, the rectified DC bus voltage obtained with a capacitor is about 460 × $$\sqrt{2}$$V.
Doubleclick the Powergui block located at the top level of ac_example. Click the Initial States Setting button. Set the Uc_DTC Induction Motor Drive/Braking chopper/Cbus value to 650 V. Click Apply and then Close.
Setting the DC Bus Initial Voltage Value
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.
Controller Schematics of the User Interface
The speed controller consists of a simple proportionalintegral regulator. The parameters of this controller are the proportional and integral gains, the speed ramp values, the lowpass 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 Setting 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. As you can see below, 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.
Controller Section of the User Interface
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.
The simulation results are shown below.
Simulation Results
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 a XY scope from the Sinks library.
Copy an XY scope inside the Signal Selector block of ac_example.
Adding a XY Graph to Visualize the Rotating Statoric Flux
The following figure shows the simulation results of the XY scope. The rotating field is clearly visible. Its modulus is about 0.8 Wb and its bandwidth is slightly bigger than 0.2 Wb.
Rotating Statoric Flux