A 3Φ AC Induction motor can be mathematically modeled as an electrical and a mechanical system related by back-emf to speed and current-torque relationships. In this experiment, the electrical and mechanical parameters of the Induction motor are determined. These values are necessary to design proper control system to control motor speed, torque, or position.
Motor model
Under steady-state operating condition, i.e. motor speed, magnitude and frequency of current and voltage, and torque are constants, the induction motor can be modeled (on a per-phase basis) as a transformer as shown below.
On the left is the stator circuit and on the right is the rotor circuit. These are electrically isolated by the air-gap in between the stator and the rotor but are magnetically coupled. In a permanent magnet synchronous motor during steady-state, the rotor rotates at synchronous speed:
ω_{sync} = 2P × ω_{s} = 2P × 2πf_{s}(1)
where, P is the number of poles and f_{s} is the frequency of the applied voltage.
In case of an induction motor, the rotor rotates at a speed, slightly slower than the synchronous speed (under motoring mode):
ω_{mech} = (1 - s) × ω_{sync}(2)
where, s is the motor slip and is typically between 0.005 to 0.05.
The induced voltage on the rotor is directly proportional to the motor slip and the stator voltage across the magnetizing inductance. If the rotor was stationary, i.e. ω_{mech} = 0, then slip s = 1 and the above circuit behave exactly like a transformer. When the rotor rotates at synchronous speed, i.e. ω_{mech} = ω_{sync}, then slip s = 0 and there is no voltage induced on the rotor because the rotor does not "see" any changing flux as it rotates at the same speed as the stator induced air-gap flux. For any speed in between, the induced rotor voltage magnitude is proportional to the slip and the frequency of the induced rotor voltage f_{r} is given by:
f_{r} = s × f_{s}(3)
The equation of the rotor circuit is given in Eqn. 4. This can be modified by cancelling slip on both sides as done in Eqn. 5.
s × V_{m} = s × ω_{s}L_{m}I^{'}_{r} + R^{'}_{r}I^{'}_{r}(4)
V_{m} = ω_{s}L_{m}I^{'}_{r} + R^{'}_{r}sI^{'}_{r}(5)
This allows for further simplification of the equivalent circuit as shown below:
The equivalent reflected rotor resistance R^{'}_{r}s, in the above equivalent circuit consists of two components namely, the reflected rotor resistance R^{'}_{r} and mechanical output equivalent resistance R_{m} = R^{'}_{r}1-ss. The power lost in R_{m} equals the output mechanical power given by:
P_{o} = 32 × I^{2}_{r,peak} × R^{'}_{r} × 1 - ss = T_{em} × ω_{mech}(6)
where, T_{em} is the motor electromagnetic torque and I_{r,peak} is the peak rotor current.
The equivalent circuit modified to reflect the mechanical model, given by Eqn. 7, is shown below:
T_{em} = T_{c} + Bω_{mech} + Jdω_{mech}dt(7)
where,
V_{s} : stator terminal phase voltage
R_{s} : per-phase stator resistance
L_{ls} : per-phase stator leakage inductance
L_{m} : per-phase magnetizing inductance
R^{'}_{r} : per-phase rotor equivalent resistance
L^{'}_{lr} : per-phase rotor equivalent leakage inductance
s : rotor slip
J : rotor inertia
B : coefficient of viscous friction
T_{c} : torque due to Coulomb friction
T_{em} : output/electromagnetic torque
T_{l} : load torque
In the following section, the motor parameters are determined by further simplifying the circuit under different operating conditions.
Parameter estimation
In this experiment, the electrical and mechanical model parameters are determined as follows:
R_{s}: Use a multimeter. The resistance measured across two terminals is the line-line resistance. This must be divided by 2 to get per-phase resistance R_{s}. Alternatively, apply a constant voltage, V_{a} of less than 2 V at the motor terminal and measure the steady-state stator current I_{s}. Divide V_{s} by I_{s} to obtain the line-line stator resistance, half of which give the stator phase resistance R_{s}.
L_{m}: Apply rated voltage V_{s} at rated frequency f_{s}, at the motor terminals. At this condition, the motor should rotate with very low slip since there is no load torque other than the frictional component. Since the slip is small, the equivalent rotor resistance R^{'}_{r}/s is extremely large. Hence, the rotor can be considered at open circuited under no load condition. If the induction motor is coupled to a DC generator, more precise estimation can be done by running the generator in speed control with the reference speed set to synchronous speed. This essentially makes slip s = 0 and thus the rotor is open circuited. From the stator current and voltage, the sum of magnetizing inductance and stator leakage inductance, L_{s} = L_{m} + L_{ls}, can be determined using the following equation:
R^{2}_{s} + (L_{s} × 2πf_{s})^{2} = V^{2}_{s,peak}I^{2}_{s,peak}(8)
In a practical induction motor, L_{m} >> L_{ls}. Hence, the value obtained for L_{s} by solving the above equation can be reasonably approximated to be equal to L_{m}
R^{'}_{r}, L_{ls} and L^{'}_{lr}: Lock the rotor so that it does not rotate. Apply 25% rated frequency and increase the applied voltage gradually, till the stator current reaches rated value. The reason for choosing 25% of rated frequency for this test is as follows. If a high enough frequency is applied, the impedance of the magnetizing path is much higher than that of the rotor, i.e. ωL_{m} >> ωL_{ls} + R^{'}_{r}/s. Thus, the magnetizing branch impedance can be ignored for this test. But this frequency will not be reflective of the actual motor which under normal operation has rotor currents at frequency close to the rated slip frequency. Due to this the estimated resistance will be higher than the actual resistance due to skin-effect. If this test was done at very low frequency, close to slip frequency, then the magnetizing impedance is not large enough in comparison to rotor impedance to be ignored and this complicates the estimation of rotor parameters. Hence to maintain the simplicity of the former and the precision of the latter a frequency in between the rated stator frequency and the rated slip frequency is chosen, f_{s} = 0.25 x f_{rated}. Under this condition, the equivalent circuit can be summarized as given by:
(R_{s} + R^{'}_{r}) + j × (L_{ls} + L^{'}_{lr}) × 2πf_{s} = V_{s}I_{s}(9)
Knowing the peak current I_{s,peak}, peak voltage V_{s,peak} and the phase shift between the current and voltage Φ, the leakage inductance and rotor resistance can be estimated as follows:
R = R_{s} + R^{'}_{r}(10)
L_{l} = L_{ls} + L^{'}_{lr}(11)
2πf_{s} × L_{l}R = tan(Φ)(12)
R^{2} + (L_{l} × 2πf_{s})^{2} = V^{2}_{s,peak}I^{2}_{s,peak}(13)
Solving these equations results in solution for R and L_{l}, from which the leakage inductances and rotor resistance can be determined using Eqn. 14 through 16. The last two equations are empirical relations.
R^{'}_{r} =R - R_{s}(14)
L_{ls} = 25L_{l}(15)
L_{lr} = 35L_{l}(16)
T_{c} and B: If the motor is not accelerating i.e. motor speed is a constant, and there is no load connected, the inertial torque component and load torque component in Eqn. 7 becomes zero, leading to the following equation:
T_{em} = T_{c} + Bω_{m}(17)
Apply a 3Φ voltage of magnitude V and frequency f such that V/f = V_{rated}/f_{rated}, at the motor terminal. Measure the motor speed ω_{m}, and stator peak current I_{s,peak}. The rotor peak current can be computed from the stator peak current using current division as given by Eqn. 18. The electromagnetic torque T_{em} can be computed from the rotor peak current I_{r,peak} using Eqn. 6. Repeat the same for different voltages and plot the result, T_{em} (y-axis) vs. ω_{m} (x-axis). The resulting plot will be linear. The slope of the plot equals the coefficient of viscous friction B and the y-axis intercept is the frictional torque T_{c}, due to Coulomb friction.
I_{r,peak} = I_{s,peak} × 2πf_{s} × L_{m}√((2πf_{s} × (L_{m} + L^{'}_{lr}))^{2} + (R^{'}_{r}s)^{2})(18)
J: Apply a 3Φ voltage of magnitude V and frequency f such that V/f = V_{rated}/f_{rated}, at the motor terminal. Once the speed settles down, measure the speed ω_{m}, and peak stator current I_{s,peak}. At steady state, the electromagnetic torque T_{em} (Eqn. 7), solely compensates for drag due to friction. Disable the inverter so that the motor current dies-down to zero rapidly. After this, there is no electromagnetic torque and all the frictional losses must be supplied from the inertial energy. This leads to the motor to stop gradually. This is summarized in Eqn. 19, which is obtained by equating T_{em} and load torque T_{l} in Eqn. 7 to zero.
0 = T_{fric} + Jdω_{m}dt(19)
At the moment the inverter is disabled, time t = t_{dis}, the frictional torque component T_{fric} is same as, that of electromagnetic torque T_{em}(t_{dis}) just before disabling the inverter, which can be computed from using Eqns. 6 and 18. Substituting this into Eqn. 11 yields:
J = T_{em}(t_{dis})dω_{m}dt(t_{dis})(20)
Thus, the motor inertia can be obtained by dividing, the electromagnetic torque just before disabling the inverter, with the motor deceleration just after disabling the inverter.Disabling the inverter is not the same as setting the output voltage to 0. In the first case, the motor current extinguishes at a much faster rate than the rate at which the motor speed slows down. After this point, the inertial energy is not lost to armature resistance or fedback to the source. If the terminal voltage was set to zero, the inertial energy in addition to being lost in friction, will also be lost in the armature resistance because the back-emf will source the current due to the terminal being effectively shorted.
For all computations in the steps below, the number of poles of the induction motor, P = 4.
R_{s}: Measure across the motor terminal using a multimeter. Divide by 2 to obtain per-phase resistance.
L_{m}:
Open Workbench and pin the Explorer and Properties dock.
Navigate to and open the IMMotor project file in Experiment2 folder usually in the following location: C:\Program Files (x86)\Sciamble\WorkBench v1\Examples\CUSPLab\AdvancedDrives.
Expand the project and open the IMElecEst model file (double clicking on the model node). Open the model properties (double click anywhere in the blank space of the open model). Copy the value in the property labelled Name, which if previously unchanged will be IMElecEst.
Since this project has more than one model file, the project must be notified as to which of these models should be run. To do this, open the project properties (double click on the project node in the Explorer dock) and paste the copied model name (IMElecEst) into the Start model/Function field.
Shown below is the IMElecEst model:
The model consists of DC motor speed controller to maintain the motor at synchronous speed. On the top is 3Φ sine PWM, which controls the applied terminal voltage and frequency. To the right of it is 3Φ current measurement blocks. The phase A and C current are measured. The phase B current is computed by using the fact that the sum of the 3Φ current equals zero.
Set the DC motor reference speed to π * IMParam:frated in the Constant block labelled wRef.
To type the character π, click Alt+P. Pressing Alt will bring up the Greek keyboard.
Set the stator voltage Magnitude to IMParam:Vsrated and Frequency to IMParam:frated in the Sine block labelled Vs. These values are defined within IMParam script.
Turn ON the DC power supply and set the voltage to 40 V.
Ensure that button on the top dock, to transition to real-time mode, is pressed. Click the button.
Open the scope named IStator to see the data log of phase-A stator current. After about 5 s, stop the data logging by clicking on button. Auto-focus the scope result by clicking in the Scope's toolbar.
Zoom in on the peak of the stator currents, once the motor has attained steady-state. Make note of this value.
Compute the value of L_{m} using Eqn. 8, where V_{s,peak} can be obtained from the IMParam script file's Vsrated value.
R^{'}_{r}, L_{ls} and L^{'}_{lr}:
Since this is a blocked rotor test, set the DC motor reference speed to 0 in the Constant block labelled wRef.
Set the stator voltage Magnitude to IMParam:Vs and Frequency to IMParam:f in the Sine block labelled Vs. These values are defined within IMParam script.
Open the IMParam file within the project and set the variable f to 15 and Vs to 5.
Turn ON the DC power supply and set the voltage to 40 V.
Ensure that button on the top dock, to transition to real-time mode, is pressed. Click the run button.
After about 5s turn off the DC power supply.
Do not let the test run continuously for more than 10s. Since the stator current equals rated current or more, the motor tends to get heated quickly. In addition, the rotor is not rotating preventing the natural cooling offered by a rotating rotor. Due to this, make sure to turn of the DC power supply after every reading and turn it back on only when needed.
Open the stator phase-A current scope and look at the peak stator current at stead-state. In the current is less than rated current of 2.5A, increment the induction motor stator voltage V in IMParam script by small steps (of 2V).
If the peak current is greater than the rated current, reduce the voltage by large steps (of 5V) to bring the current to within rated current limit.
Keep repeating this till the peak current converges close to the rated current.
Ensure that the DC power supply is turned off.
Zoom in on the peak of the stator current, once the motor has attained steady-state. Make note of this value.
Zoom in on the zero-crossing (negative to positive transition) of the stator current, once the motor has attained steady-state. Make note of the time t_{zc} at which the zero-crossing occurs. The number of stator voltage cycle between time t = 0 and t = t_{zc} is given by:
N = floor((t_{zc} × f_{s}))(21)
where, f is the frequency of the applied voltage and floor is the value rounded to the smallest of the two closest integers.
From this the phase shift between the stator current and voltage can be computed by:
Φ = 2π × (t_{zc} × f_{s} - N)(22)
Compute the value of R^{'}_{r}, L_{ls} and L^{'}_{lr} from phase shift and the peak stator current, using Eqns. 10 through 16.
Close the IMElecEst model.
T_{c} and B:
All three parameters are estimated using the same method, in this step.
Open the IMBEst model within the same project.
Open the model properties and copy the property, Name. Go to project properties and set the Start model/Function to the copied value.
Set the stator voltage Magnitude to IMParam:Vs and Frequency to IMParam:f in the Sine block labelled Vs. These values are defined within IMParam script.
Open the IMParam file within the project and set the variable f to 15 and Vs to f * Vsrated / frated.
Ensure that button on the top dock, to transition to real-time mode, is pressed. Click the run button.
After about 5s turn off the DC power supply.
Make note of the results in a table of following layout:
V_{s,peak} (V) | I_{s,peak} (A) | ω_{mech} (rads/s) | I_{r,peak} (A) | P_{o} (W) | T_{em} (Nm) |
---|---|---|---|---|---|
where, V_{s,peak} is the stator peak phase voltage which can be obtained from the Magnitude property of Sine block labelled Vs, I_{s,peak} is the peak stator current logged in Scope IStator, and ω_{mech} is the motor speed logged in Scope wmech. All these values must be measured after reaching steady-state after applying the desired voltage. The remaining table entries are computed based on these values using Eqns. 6 and 18.
Repeat the previous three steps for different motor frequency f, from 15 Hz to 45 Hz, in steps of 3 Hz. The voltage Vs in the IMParam script must always be maintained such that V/f = V_{rated}/f_{rated}.
Turn OFF the DC power supply and unplug the USB cable.
Plot the result of T_{em} (y-axis) vs ω_{mech} (x-axis).
Measure the slope of the get an estimate of coefficient of viscous friction B and the y-axis intercept to get the frictional torque due to Coulomb friction T_{c}.
J:
Open the IMJEst model within the same project.
Open the model properties and copy the property, Name. Go to project properties and set the Start model/Function to the copied value.
The model is shown below. The stator voltage is set to motor rated voltage IMParam:Vsrated and rated frequency IMParam:frated. When the motor has reached its steady-state, the inverter is disabled at t = 3 s. This puts the inverter terminals at high-impedance so that, the inertial energy is lost only in the frictional component.
Re-connect the USB and turn on the DC power supply.
Ensure that is pressed. Click to run the model in real-time.
Open the scope wmech to observe the motor speed. When the data has been logged for 5 s, click the to stop the data logging. The results in will look something similar:
Zoom in on the speed at t = 3s and determine the slope as shown below.
In the stator current plot, make note of the current's peak magnitude, before the inverter was disabled at t = 3 s. Using this current, speed and speed slope, the inertia is calculated using Eqns. 6, 18 and 20.
Turn OFF the DC power supply and disconnect all the connections including the USB.
This concludes the experiment on DC motor characterization. The parameters estimated in this experiment will be used in the following experiments, to tune a PI loop to control the motor speed.
Attach a plot of I_{s} from L_{m} estimation.
Attach a plot of I_{s} from R^{'}_{r} estimation.
Attach plots of I_{s} and ω_{mech} for different f from B estimation.
Attach plot of I_{s} and ω_{mech} from J estimation.
Attach the table from B estimation.
List the results of all final parameter values.
Using these parameters design an Induction motor abc model and show motor current and speed for an applied voltage of 14 V (ll-rms) at 50 Hz.