0% found this document useful (0 votes)
85 views4 pages

ECE788 Lab2 Vector Control PMSM 2024

Vector control of PMSM

Uploaded by

Kamal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
85 views4 pages

ECE788 Lab2 Vector Control PMSM 2024

Vector control of PMSM

Uploaded by

Kamal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

ECE 788

Control of Adjustable Speed Drives

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

ECE 788 1 Control of Adjustable Speed Drives


Objective
▪ Implementing a vector control of a three-phase Permanent-Magnet Synchronous Machine
using MATLAB-Simulink.
Note- You are supposed to be familiar with MATLAB-Simulink and are able to run your simulation
either remotely or on your computer.

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 𝜃

𝑖𝑑𝑚 𝑖𝛼𝑚 𝑖𝑎𝑚


current
𝑖𝑞𝑚 P(−𝜃𝑚 ) 𝑖𝛽𝑚 −1
𝐶32 𝑖𝑏𝑚
sensors
𝑖𝑐𝑚 = −𝑖𝑎𝑚 − 𝑖𝑏𝑚

Figure 1- Vector control of PMSM: current control loop.

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
𝑣𝑐 𝑖𝑐

𝜃𝑚

𝑖𝑑𝑚 𝑖𝛼𝑚 𝑖𝑎𝑚


𝑖𝑞𝑚 P(−𝜃𝑚 ) 𝑖𝛽𝑚 −1
𝐶32 𝑖𝑏𝑚
𝑖𝑐𝑚

Figure 2- Vector control of PMSM: simplified current control loop.

ECE 788 2 Control of Adjustable Speed Drives


I. Current controller tuning:

Let’s assume an accurate decoupling control is implemented:

𝑣𝑑∗ = (𝑢𝑑 − 𝐿𝑞 ∙ 𝜔 ∙ 𝑖𝑞𝑚 )⁄𝐺𝑉𝑆𝐼


{
𝑣𝑞∗ = (𝑢𝑞 + 𝐿𝑑 ∙ 𝜔 ∙ 𝑖𝑑𝑚 + Ψ𝑓 ∙ 𝜔)⁄𝐺𝑉𝑆𝐼
(2)

We select PI controller to control 𝑖𝑑 and 𝑖𝑞 .

Q1) To achieve the following performances:

▪ Zero steady-state error


▪ No overshoot
▪ Closed-loop bandwidth 𝑓𝐵𝑊 = 500 𝐻𝑧

tune PI controllers using pole-zero compensation technique:

𝐾𝑝𝑑 = , 𝐾𝑖𝑑 =
𝐾𝑝𝑞 = , 𝐾𝑖𝑞 =

Note- Machine parameters have been specified in Lab 1.

II. Current controller simulation:

1) Implement PI controllers for 𝑖𝑑 and 𝑖𝑞 with the above calculated gains in Simulink.

2) Implement the decoupling control in Simulink (see Eq. (2)).

3) Consider 𝑖𝑑𝑟𝑒𝑓 = 0 𝐴 and 𝑖𝑞𝑟𝑒𝑓 has a step change of +10 𝐴 (from 𝐼𝑞0 to 𝐼𝑞0 + 10) at 𝑡 = 0.1 𝑠.

4) Run the simulation and save the following results: 𝑖𝑑 , 𝑖𝑞 , 𝑣𝑑 , 𝑣𝑞 , Ω.

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.

To realize the discrete-time controller:

1) A “Trigger” block ( ) must be added into the block “Control”.

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/𝑓𝑠 .

Once the model is ready, run the following test:

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.

ECE 788 4 Control of Adjustable Speed Drives

You might also like