Documentation Home Page OPAL-RT Schematic Editor Home Page
Pour la documentation en FRANÇAIS, utilisez l'outil de traduction de votre navigateur Chrome, Edge ou Safari. Voir un exemple.

Permanent Magnet Synchronous Machine

This block implements a permanent magnet synchronous machine.

The PMSM block implements a three-phase Permanent Magnet Synchronous Motors (PMSM) model with resolvers and encoders. 

Equations & Characteristics

General PMSM Solver Equation

The equation of the PMSM model can be expressed as follows:

where Labc is the time-varying inductance matrix (global inductance for DQ and VDQ models), Iabc is the stator current inside the winding, R is the stator resistance and Vabc is the voltage across the stator windings. As for ψabc, it defines the magnet flux linked into the stator windings (for DQ and VDQ models), or the total flux (for the SH model),

Standard DQ Motor Characteristics

In normal conditions, the ideal sinusoidal stator voltages of the PMSM, back-EMFs, and inductances all have sinusoidal shapes. One can transform the equation using the Park transformation with a referential locked on the rotor position θ using (2a) and (2b).

The Park transform (also called ‘DQ’ transform) reduces sinusoidal varying quantities of inductances, flux, current, and voltage to constant values in the D-Q frame thus greatly facilitating the analysis and control of the device under study.

It is important to note that there are many different types of Park transforms and this often leads to confusion when interpreting the motor states inside the D-Q frame. The one used here presents the advantage of being orthonormal (notice the 3/2  factor). This particular Park orthonormal transform is power-invariant which means that the power computed in the D-Q frame by performing a dot product of currents and voltages will be numerically equal to the one computed in the phase domain. With this transform (and only this transform) the PMSM torque can be expressed by (3), where pp is the number of pole pairs.

One may notice the absence of the 3/2 factor in (3), which is usually present in the PMSM torque equation when using non-orthonormal transforms. This is, again, because this model uses the orthonormal Park transform. Figure 1 explains the principle of the Park transform. Considering fixed ABC referential with all quantities ( Vbemf, motor current I) rotating at the electric frequency ω, if we observe these quantities in a D-Q frame turning at the same speed we can see that the motor quantities will be constant.

This is easy to see for the Back-EMF voltage Vbemf  that directly follows the Q-axis (because the magnet flux is on the D-axis by definition). In Figure 3, I leads  and the Q-axis by an angle called β (beta). The modulus of the vector I is called Iamp. In the figure below, θ is the rotor angle, aligned with the D-axis.

Park transform with definitions for theta and beta

The Vd and Vq are not calculated directly inside the blackbox. But using P and Q could estimate Vd and Vq using the following equations since Instantaneous calculated P and Q in the phase domain are equivalent to instantaneous calculated P and Q in the DQ domain.

FPGA Implementation

Since the simulation is performed on FPGA hardware, the block implements a low pass filter on Vabc of stator set at 1000 Hz to help visualize the voltage. Because the original traces are square-like, it is harder to figure out the trace of Vabc without the filter. 

The FPGA block also implements a low-pass filter that is used to remove high harmonics of the DQ currents from accessing the table, which could make the model stiffer. Its default cut-off frequency is set at 200 Hz, but it can be adjusted by the parameter “TableInputCutoffFrequency“ in the json parameter file (see PMSM Variable DQ parameters file).

Parameters & Measurements

The PMSM's parameters and measurements are separated in 4 different tabs, Electrical, Mechanical, Resolver and Encoder.

Electrical Parameters & Measurements

Symbol

Name

Description

Unit

Type

Symbol

Name

Description

Unit

Type

Mconf

Motor configuration type

Type of motor : Constant DQ, Variable DQ or Spatial Harmonics.

In Variable DQ and Spatial Harmonics mode, electrical input parameters are hidden and a resource file must be provided.



Input

Mfile

Motor configuration

Field only visible in Variable DQ and Spatial Harmonics modes. Allows to import a Variable DQ or Spatial Harmonics motor configuration resource file.



Input

Rs

Stator resistances

Resistances of the stator windings specified for every phase, A, B and C.

Ω

Input

Lls

Stator inductances

d and q axis inductances

H

Input

δΦ/δθ


Back EMF profile

Profile of the back EMF, either Sinusoidal or User defined




Input

EMFfile

Back EMF profile table

Field only visible in User defined mode. Allows to import a back EMF resource file.



Input

λm

Permanent magnet flux linkage

Amplitude of the rotor permanent magnet flux

Wb

Input

pp

Number of pole pairs

Number of pole pairs



Input

is

Stator currents

Currents measured at phases A, B and C of the stator

A

Measurement

isdq

Stator currents (DQ)

Currents measured of axis d and q

A

Measurement

Vs

Stator voltages

Voltages measured at phases A, B and C of the stator

V

Measurement

Bemf

Back EMF voltages

Phase to neutral voltage generated from the permanent magnet flux linkage

V

Measurement

P

Active power (3ph, instantaneous)

Instantaneous electrical active power

W

Measurement

Q

Reactive power (3ph, instantaneous)

Instantaneous electrical reactive power

var

Measurement

θe

Electrical rotor position

Position of the rotor from 0 to 360 degrees

°

Measurement

Rs

Snubber resistance

Resistances of the snubber on phase A, B and C

Ω

Input

Cs

Snubber capacitance

Capacitance of the snubber on phase A, B and C

F

Input

Mechanical Parameters & Measurements

Symbol

Name

Description

Unit

Type

Symbol

Name

Description

Unit

Type

J

Rotor inertia

Moment of inertia of the rotor

kg*m2

Input

Fv

Viscous friction coefficient

Viscous friction

N*m*s/rad

Input

Fs

Static friction torque

Static friction

N*m

Input

ctrl

Mechanical control mode

Control mode of the mechanical model. Has two possible values: speed or torque. In speed mode, the mechanical model is bypassed and the speed command is sent directly. In torque mode, the torque command is used to measure the speed using the mechanical parameters of the machine.



Input

T

Torque command

Torque command sent to the mechanical model

N*m

Input

ωrc

Rotor speed command

Speed command sent to the mechanical model

rpm

Input

ωr

Rotor speed

Speed of the rotor

rpm

Measurement

Te

Electromagnetic torque

Torque measured at the rotor

N*m

Measurement

θ0

Initial rotor angle

Rotor position at time t = 0

°

Input

θ

Rotor angle

Rotor position from 0 to 360 degrees

°

Measurement

.

Resolver Parameters & Measurements

Symbol

Name

Description

Unit

Type

Symbol

Name

Description

Unit

Type

Ren

Enable resolver

Whether or not to enable the resolver

N/A

Input

Rsc

Resolver feedback signals

The two two-phase windings producing a sine and cosine feedback current proportional to the sine and cosine of the angle of the motor

N/A

Measurement

Rpp

Number of resolver pole pairs

Number of pole pairs of the resolver

N/A

Input

Rdir

Direction of the sensor rotation

Direction in which the sensor is turning, either clockwise or counterclockwise

N/A

Input

Rθ

Angle offset Δθ ( Sensor-  Rotor )

Angle offset between the resolver and the rotor position from 0 to 360 degrees

°

Input

Emod

Excitation mode

Number of resolver excitation windings. Can either be single (just one excitation signal) or double (two excitation signals)

N/A

Input

Rk1

Resolver sine cosine gains

The sine/cosine modulation output sine/cosine component amplitude. Default value are 1, 0, 0 and 1. When the double excitation is selected, the default values shall be set 0, 1, 1, and 0.

N/A

Input

Rk2

Resolver sine cosine gains for the second excitation

The sine/cosine modulation output sine/cosine component amplitude for the second excitation. Default value are -1, 0, 0 and 1

N/A

Input

Etype

Excitation source type

The source from which the excitation of the resolver is generated. Can either be AC, which is generated inside the FPGA with the specified frequency, DC (only for single excitation), and External, which is generated from outside the model

N/A

Input

Ef

Excitation frequency

Frequency of the excitation when in AC mode. When in Double excitation, the second excitation signal has the same frequency and is 90º leading.

Hz

Input

Esrc

Excitation source

Source of the external excitation source when in External mode

N/A

Input

Esrc2

Second excitation source

Source of the second external excitation source when in External mode and Double excitation

N/A

Input

Ets

Excitation time shift

This parameter is used to compensate the time offset between the carrier generation's input in the system and modulated signals' output

s

Input

 

image-20240905-185049.png

 

Encoder Parameters & Measurements

Symbol

Name

Description

Unit

Type

Symbol

Name

Description

Unit

Type

Encen

Enable encoder

Whether or not to enable the encoder

N/A

Input

Enctype

Encoder type

Encoder type, either Quadrature or Hall Effect

N/A

Input

QABZ

A B Z encoder signals

A B and Z signals of the encoder

N/A

Measurement

Qppr

Number of pulses per revolution

Number of pulses in one full revolution of the encoder

N/A

Input

Qdir

Direction of the sensor rotation

Direction in which the sensor is turning, either A leads B or B leads A

N/A

Input

Qθ

Angle offset Δθ ( Sensor - Rotor )

Angle offset between the encoder and the rotor position from 0 to 360 degrees

°

Input

Qrat

Encoder speed ratio ( sensor to mechanical position )

Mechanical to encoder ratio. Angle of Encoder = Qrat * machine mechanical angle. 

N/A

Input

Hθ

Hall effect sensor position

Position of sensor phases A, B and C in Hall effect mode

°

Input

Hrat

Hall effect sensor speed ratio ( sensor to mechanical position )

Mechanical to encoder ratio. Angle of Encoder = Hrat * machine mechanical angle in Hall effect mode

N/A

Input

image-20240328-135903.png

Visualization of Resolver Encoder Parameters Effects

Number of resolver pole pairs affects the number of electrical turns per mechanical turns. On the left figure, the number of resolver pole pairs is 2, on the right figure, the number of resolver pole pairs is 4.

Resolver sine cosine gains affect the sine (first axe) and cosine (second axe) modulation output. Default values set to 1, 0, 0, 1 make it so the sine modulation has a sine form and the cosine modulation has a cosine form. If set to 0, 1, 1, 0, the sine modulation would have a cosine and the cosine modulation would have a sine form.

Excitation frequency, in AC excitation source type, affects the frequency of the carrier signal. We can see the time step highlighted in red. ( Figure 3 is an enlarged view of Figure 2 )

Number of pulses per revolution (Qppr) defines how many times signals A and B pulse between two Z pulses ( one full rotation ).

Direction of the sensor rotation describes if A leads B ( Clockwise ) or if B leads A ( Counterclockwise )

Electrical Ports

  • This block has three electrical ports, the three terminals of the stator.

OPAL-RT TECHNOLOGIES, Inc. | 1751, rue Richardson, bureau 1060 | Montréal, Québec Canada H3K 1G6 | opal-rt.com | +1 514-935-2323
Follow OPAL-RT: LinkedIn | Facebook | YouTube | X/Twitter