ECE788 Lab2 Vector Control PMSM 2024
ECE788 Lab2 Vector Control PMSM 2024
Lab #2
Vector Control of Permanent-Magnet
Synchronous Machine
Due date: Feb. 28, 2024 (before 11:59PM)
Please upload report on Avenue to Learn:
Assessments> Assignments> Assignment #2
Procedure
Figure 1 shows the block diagram of the current control loop in the framework of vector control
of sinusoidal Permanent-Magnet synchronous machines (PMSM).
𝑣𝐷𝐶
𝑣𝑎∗ 𝑖𝑎
𝑖𝑑𝑟𝑒𝑓 𝑣𝑑∗ 𝑣𝛼∗ 𝑣𝑎
𝑣𝑏∗
𝑖𝑞𝑟𝑒𝑓 Current 𝑣𝑞∗ 𝑣𝛽∗ 𝐶32 VSI 𝑣𝑏 𝑖𝑏
Controllers
P(𝜃𝑚 ) 𝑣𝑐∗ PWM PMSM
𝑣𝑐 𝑖𝑐
𝜃𝑚 Resolver 𝜃
In this figure, the block PMSM has been already developed in Lab 1. Current and position
measurements are supposed to be accurate and transformation matrices in the controller (blocks
in red) are the same as those already used in the modeling of PMSM in Lab 1.
For testing the current controllers’ performance in simulation, we assume in this lab that
PWM+VSI is replaced by its average model:
𝐺𝑉𝑆𝐼 = 1 (1)
As seen in Topic 3, the above block diagram can be simplified to the following under conditions
discussed in Topic3:
Control
𝑣𝑎∗ 𝑣𝑎 𝑖𝑎
𝑖𝑑𝑟𝑒𝑓 𝑣𝑑∗ 𝑣𝛼∗
𝑣𝑏∗
𝑖𝑞𝑟𝑒𝑓 Current 𝑣𝑞∗ 𝑣𝛽∗ 𝐶32 𝑮𝑽𝑺𝑰 VSI 𝑣𝑏 𝑖𝑏
Controllers
P(𝜃𝑚 ) 𝑣𝑐∗ PWM PMSM
𝑣𝑐 𝑖𝑐
𝜃𝑚
𝐾𝑝𝑑 = , 𝐾𝑖𝑑 =
𝐾𝑝𝑞 = , 𝐾𝑖𝑞 =
1) Implement PI controllers for 𝑖𝑑 and 𝑖𝑞 with the above calculated gains in Simulink.
3) Consider 𝑖𝑑𝑟𝑒𝑓 = 0 𝐴 and 𝑖𝑞𝑟𝑒𝑓 has a step change of +10 𝐴 (from 𝐼𝑞0 to 𝐼𝑞0 + 10) at 𝑡 = 0.1 𝑠.
5) Zoom on the above variables after the step change on 𝑖𝑞𝑟𝑒𝑓 occurs. Measure the response
time 𝑡𝑟 (time from 0% to 95% of the step change magnitude). Is 𝑡𝑟 consistent with your
tuning in Section I?
6) Reconsider your current controller design with 𝑡𝑟 = 5 𝑚𝑠 in Section I.Q1. Then go back to
step II.4 and then II.5. Comment on the obtained results.
7) To take into account parameter uncertainties and errors in the tuning (I.Q1) and the
decoupling control, consider a stator resistance 𝑅̂𝑠 = 1.5 × 𝑅𝑠 , 𝐿̂𝑑 = 2 × 𝐿𝑑 and 𝐿̂𝑞 =
0.5 × 𝐿𝑞 (parameters with “^”are the known parameters and used in the tuning of the
controller). Then, calculate the controllers’ gains in Section I.Q1 and run steps II.4 and II.5.
Save your results and comment on them.
ECE 788 3 Control of Adjustable Speed Drives
III. Discrete-time control
The current control is mostly implemented in a digital control board. Therefore, the block
“Control” in Simulink must be triggered in a regular way at the sampling frequency. In this study,
the latter is set to 𝑓𝑠 = 10 𝑘𝐻𝑧. Furthermore, the inherent delay of the discrete-time control
introduces a coupling between 𝑑-axis and 𝑞-axis current control loops. This effect degrades the
control performance and may lead to instability.
2) A “pulse generator” ( ) must be integrated to the model, it provides rising (or falling)
edge to the “Trigger”. The frequency of the pulse signal is equal to the sampling frequency
(𝑓𝑠 ). The pulse generator input time (t) comes from the clock ( ).
3) All continuous-time blocks in the control block, including integrators, if any, must be
replaced by their discrete-time equivalents.
4) An angle shift must be implemented in the control to minimize the coupling effect due to
the discrete-time control. Its role is to advance the rotor position angle of the voltage vector
in such a way that the control voltage vector dq-components are well aligned with actual
rotor dq-axes. Set the angle shift to 𝜔 ∙ 𝑇𝑠 /2, with 𝑇𝑠 = 1/𝑓𝑠 .
5) Run the discrete-time controller under the same condition as with the continuous-time
controller in Section II with no parameter error and 𝑓𝐵𝑊 = 500 𝐻𝑧. Watch the current
control performance in terms of set-point tracking, response time, overshoot, and
decoupling control.