In this video you will learn how to automatically tune Field-Oriented Controllers for an Induction Motor.
In induction motors, the three-phase current in the stator windings creates a magnetic field
that rotates at synchronous speed, causing the rotor to move at a slightly slower speed.
This speed difference is called slip and is necessary for torque production.
In Field Oriented Control the motor torque and rotor flux are controlled independently.
To accomplish this, the three sinusoidal stator currents are first transformed into two DC components
on a synchronously rotating reference frame using the Clarke and Park transformations.
The d-axis current on the new frame allows control of the rotor flux
and provides a way to adjust motor efficiency and power-factor.
The q-axis current is orthogonal to the d-axis and allows control of the motor torque.
For example, if you are driving an electric vehicle where the electric machine is controlled using field-oriented control,
when you push down the accelerator pedal to go faster, you are commanding more torque, which translates in more q-axis current.
Alternatively, you can use the cruise control system of the vehicle to obtain the torque request through an outer loop speed controller.
Now let's look at a Simulink� model that implements a field-oriented control architecture.
In this model, three-phase voltage from the grid is converted to dc through a transformer and a grid-side rectifier.
The DC voltage is then converted back to AC through a machine-side inverter,
which drives an induction motor with a time-varying load.
This functionality is modeled with Simscape Power Systems�.
The objective of field-oriented control in this demo
is to control the semiconductor switches in the machine-side power inverter to achieve the desired torque and flux.
The control loops contain four PI controllers and are implemented in the �Controls� subsystem as follows:
The stator currents and rotor speed are measured and fed into the flux observer to obtain the dq-axes currents,
the rotor magnetizing current, and the angle of the synchronously rotating reference frame.
The rotating frame angle is used at a later stage to perform inverse Clarke and Park transformations.
The measured rotor speed, magnetizing current and the provided references are used by the flux and rotor speed controllers
in the outer control loops to calculate references for the dq-axes currents.
Based on these, the current controllers in the inner control loops determine the required stator voltage in the dq frame.
After applying inverse Park and Clarke transformations, the required stator voltage is used by a PWM Generator block
to generate the control signals for the semiconductor switches in the machine-side inverter.
For this simulation, the gains in the PID blocks are set at initial guesses.
To evaluate the controllers� performance, we will view the errors in the Flux and rotor speed control loops,
and we will also compare the torque produced by the motor with the required load torque.
After running the simulation, we can notice that the initial PI gains do not provide the best performance
as the response is underdamped with significant overshoots.
To get better reference tracking performance, we will need to tune the PI gains.
To do this, we will use the �Closed-Loop PID Autotuner� block.
This block injects an excitation signal during closed-loop operation to estimate the plant frequency response
and then uses this estimate to automatically tune the PID gains.
The advantage of closed-loop tuning is that the controller keeps the plant near the nominal operating point
and also maintains safe operation during the tuning process.
The block inputs are the control output signal, the plant output and the time window when the tuning will happen.
The outputs include the tuned PID gains and the estimated frequency response.
First, we add the �Closed-Loop PID Autotuner� block to the model.
Because the block allows tuning of one controller at a time
we will place the block after all four controllers to be able to tune them in a single simulation.
In this example the PI controllers will be tuned sequentially between t=3.5 seconds and t=5.8 seconds,
starting with the d-axis current loop, and followed by the q-axis current loop, the rotor flux loop and finally the rotor speed loop.
To adjust the controller�s response speed and robustness, we can set appropriate values to the �Target bandwidth�
and �Target phase margin� entries on the �Tuning� tab in the block configurations.
We can also specify the amplitude of the excitation signal on the �Experiment� tab.
After running the model, we can see that, before the tuning begins, the response is identical to the original model.
We can also see the effect of the excitation signal injected by the blocks we added during the tuning process.
After the experiment is complete, we can view and copy the tuned PI gains back to the controllers in the original model
or we can write the tuned gains directly to the appropriate block and disable or remove the autotuning blocks.
Running the original model with the new gains shows a much improved response with more accurate tracking.
This concludes the video.