Documentation

Vector Controller (PMSM)

Implement vector controller model for permanent magnet synchronous machines (PMSM)

Library

Electric Drives/Fundamental Drive Blocks

Description

The Vector Controller (PMSM) block is similar to the Field-Oriented Controller block for induction machines, as it offers DC-machine-like performance for sinusoidal permanent magnet machines. The machine torque can be controlled irrespective of the stator flux.

The PMSM vector-controller model is for use with a three-phase or five-phase permanent magnet synchronous machine. It has two operating modes to represent a detailed or an average-value controller.

Detailed mode

In detailed mode, the Vector Controller (PMSM) block contains four main blocks, shown for a three-phase and five-phase PMSM, respectively.

  • The dq-abc and dq-abcde blocks perform the conversion of the dq current components in the rotor reference frame into abc- and abcde-phase variables respectively.

  • The current regulator is a bang-bang current controller with adjustable hysteresis bandwidth.

  • The angle conversion block computes the electrical rotor angle from the mechanical rotor angle.

  • The Switching control block limits the inverter commutation frequency to a maximum value that you specify.

The space vector modulation can be selected only for a three-phase PMSM. The following figure shows a block diagram of the controller with space vector modulation.

In this case, the current regulators are proportional-integral regulators. The calculated values Iqs* and Ids* are compared to the actual values of current components Iqs and Ids, respectively and the current errors are fed to two PI controllers, which generate commanded stator voltage components Vqs, and Vds, respectively.

The dq-αβ block converts the commanded stator voltage components from rotating dq coordinates into stationary αβ coordinates using the phase angle of the rotor flux rotating field.

The Space Vector Modulator block receives the obtained voltage vector Vαβ and generates an appropriate switching states vector for control of inverter switching devices.

The SVM unit contains four main blocks:

  • The Sector Selector block is used to find the sector of the αβ plane in which the voltage vector lies. The αβ plane is divided into six different sectors spaced by 60 degrees.

  • The Ramp Calculator block is used to produce a unitary ramp at the PWM switching frequency. This ramp is used as a time base for the switching sequence.

  • The Switching Time Calculator block is used to calculate the timing of the voltage vector applied to the motor. The block input is the sector in which the voltage vector lies.

  • The Gates Logic block receives the timing sequence from the Switching Time Calculator block and the ramp from the Ramp Calculator block. This block compares the ramp and the gate timing signals to activate the inverter switches at the proper time.

Average mode

In average mode, the high-frequency switching actions of the power switches are not represented in the Vector Controller (PMSM) block.

Average mode is similar to detailed mode with hysteresis modulation except that there is no switching control block and the pulses generated by the current regulator are three-level signals (-1, 0, 1). The three-level signals indicate whether the average-value inverter applies a negative, zero, or positive DC bus voltage (Vdc) to the machine during inverter saturation. In detailed mode, the Vector Controller (PMSM) model outputs the actual pulses for the inverter switches.

Parameters

Model detail level

Specify the model detail level to use:

  • Detailed (default)

  • Average

Number of phases

Select between a three-phase and five-phase PMSM. The default value is 3.

Modulation type

Select hysteresis or space vector modulation. The default is Hysteresis.

Sample time (s)

The vector-controller sampling time, in seconds. The sampling time must be a multiple of the simulation time step. The default value is 20e-6.

Current hysteresis bandwidth (A)

The current regulator hysteresis bandwidth, in amperes. This parameter is available only when the Model detail level parameter is set to Detailed and the Modulation type is set to Hysteresis. The default value is 0.1. This value is the total hysteresis bandwidth distributed symmetrically around the current set point. The figure shows a case where the current set point is Is* and the current regulator hysteresis bandwidth is set to dx.

Maximum switching frequency (Hz)

The maximum inverter switching frequency, in hertz. This parameter is available only when the Model detail level parameter is set to Detailed and the Modulation type is set to Hysteresis. The default value is 20e3.

Pairs of poles

The number of pole pairs. The default value is 4.

Specify

Select the machine constant that you want to specify for block parameterization. Choices are Flux linkage established by magnets (V.s) (default), Voltage Constant (V_peak L-L / krpm), and Torque Constant (N.m / A_peak).

Flux linkage

The constant flux, in webers, per pole pairs induced in the stator windings by the magnets. The default value is 0.175.

Voltage constant

The peak line-to-line voltage per 1000 rpm of the machine controlled by the current controller. This voltage represents the peak open circuit voltage when the machine is driven as a generator at 1000 rpm. The default value is 126.966.

Torque constant

The torque per ampere constant of the machine controlled by the current controller. The default value is 1.05.

DC bus voltage sensor cutoff frequency (Hz)

The cutoff frequency of the first-order low-pass filter applied to the DC bus voltage measurement, in hertz. This parameter is enabled only when the Model detail level parameter is set to Detailed and the Modulation type is set to SVM. The default value is 50.

SVM switching frequency (Hz)

The fixed inverter switching frequency, in hertz. This parameter is enabled only when the Model detail level parameter is set to Detailed and the Modulation type is set to SVM. The default value is 20000.

d-axis current regulator — Proportional gain

The d-axis current controller proportional gain. This parameter is enabled only when the Model detail level parameter is set to Detailed and the Modulation type is set to SVM. The default value is 200.

d-axis current regulator — Integral gain

The d-axis current controller integral gain. This parameter is enabled only when the Model detail level parameter is set to Detailed and the Modulation type is set to SVM. The default value is 1000.

q-axis current regulator — Proportional gain

The q-axis current controller proportional gain. This parameter is enabled only when the Model detail level parameter is set to Detailed and the Modulation type is set to SVM. The default value is 200.

q-axis current regulator — Integral gain

The q-axis current controller integral gain. This parameter is enabled only when the Model detail level parameter is set to Detailed and the Modulation type is set to SVM. The default value is 1000.

Inputs and Outputs

Torque

The torque reference, typically provided by a speed controller.

teta

The rotor flux angle.

I_abc

The three line currents of the three-phase PMSM. This input is visible only when the Number of phases parameter is set to 3.

I_abcde

The five line currents of the five-phase PMSM. This input is visible only when the Number of phases parameter is set to 5.

Sig*

A vector containing measurement signals:

  • iabc* — The three reference currents, available when the Number of phases parameter is set to 3.

  • iabcde*— The five reference currents, available when the Number of phases parameter is set to 5.

  • Pulses* — Two three-level signals when a three-phase PMSM is used (four three-level signals when a five-phase PMSM is used). The three-level signals, -1, 0, or 1, indicate whether the average-value inverter applies a negative, zero, or positive DC bus voltage (Vdc) to the machine.

This output is visible only when the Model detail level parameter is set to Average.

Gates

The pulses for the six inverter switches. This output is visible only when the Model detail level parameter is set to Detailed.

Examples

The Vector Controller (PMSM) block is used in the AC6 block of the Electric Drives library.

References

[1] Bose, B. K. Modern Power Electronics and AC Drives, NJ: Prentice-Hall, 2002.

Introduced in R2015b

Was this topic helpful?