PMSM Current Controller with Pre-Control
Discrete-time permanent magnet synchronous machine current controller with pre-control
Libraries:
Simscape /
Electrical /
Control /
PMSM Control
Description
The PMSM Current Controller with Pre-Control block implements a discrete-time PI-based permanent magnet synchronous machine (PMSM) current controller in the rotor d-q reference frame with internal feedforward pre-control.
You typically use this block in a series of blocks making up a control structure.
You can generate a current reference in the d-q frame to be used as an input to this block with a PMSM Current Reference Generator.
You can obtain a voltage reference in the abc domain by converting the output of this block using an Inverse Park Transform block.
You can see an example of a full control structure, from machine measurements to machine inputs, in the PMSM Field-Oriented Control block.
Equations
The block is discretized using the backward Euler method due to its first-order simplicity and its stability.
Two PI current controllers implemented in the rotor reference frame produce the reference voltage vector:
and
where:
and are the d-axis and q-axis reference voltages, respectively.
and are the d-axis and q-axis reference currents, respectively.
and are the d-axis and q-axis currents, respectively.
Kp_id and Kp_iq are the proportional gains for the d-axis and q-axis controllers, respectively.
Ki_id and Ki_iq are the integral gains for the d-axis and q-axis controllers, respectively.
Ts is the sample time of the discrete controller.
vd_FF and vq_FF are the feedforward voltages for the d-axis and q-axis, respectively.
The feedforward voltages are obtained from the machine mathematical equations:
and
where:
ωe is the rotor electrical velocity.
Ld and Lq are the d-axis and q-axis inductances, respectively.
ψm is the permanent magnet flux linkage.
Zero Cancellation
Using PI control results in a zero in the closed-loop transfer function, which can result in undesired overshoot in the closed-loop response. This zero can be canceled by introducing a zero-cancelation block in the feedforward path. The zero cancellation transfer functions in discrete time are:
and
Voltage Saturation
Saturation must be imposed when the stator voltage vector exceeds the voltage phase limit Vph_max:
where vd and vq are the d-axis and q-axis voltages, respectively.
In the case of axis prioritization, the voltages v1 and v2 are introduced, where:
v1 = vd and v2 = vq for d-axis prioritization.
v1 = vq and v2 = vd for q-axis prioritization.
The constrained (saturated) voltages and are obtained as follows:
and
where:
and are the unconstrained (unsaturated) voltages.
v2_max is the maximum value of v2 that does not exceed the voltage phase limit, given by
In the case that the direct and quadrature axes have the same priority (d-q equivalence), the constrained voltages are obtained as follows:
and
where:
and
Integral Anti-Windup
An anti-windup mechanism is employed to avoid saturation of integrator output. In such a situation, the integrator gains become:
and
where Kaw_id, Kaw_iq, and Kaw_if are the anti-windup gains for the d-axis, q-axis, and field controllers, respectively.
Assumptions
The plant model for direct and quadrature axis can be approximated with a first-order system.
This control solution is used only for permanent magnet synchronous motors with sinusoidal flux distribution and field windings.
Examples
Ports
Input
Output
Parameters
References
[1] Bernardes, T., V. F. Montagner, H. A. Gründling, and H. Pinheiro. "Discrete-time sliding mode observer for sensorless vector control of permanent magnet synchronous machine." IEEE Transactions on Industrial Electronics. Vol. 61, Number 4, 2014, pp. 1679–1691.
[2] Carpiuc, S., and C. Lazar. "Fast real-time constrained predictive current control in permanent magnet synchronous machine-based automotive traction drives." IEEE Transactions on Transportation Electrification. Vol.1, Number 4, 2015, pp. 326–335.
Extended Capabilities
Version History
Introduced in R2017b