MTPA Control Reference

Compute reference currents for Maximum Torque Per Ampere (MTPA) and field-weakening operation

  • Library:
  • Motor Control Blockset / Controls / Control Reference

Description

The MTPA Control Reference block computes the d-axis and q-axis reference current values for MTPA and field-weakening operations. The computed reference current values results in efficient output for the Permanent Magnet Synchronous Motor (PMSM).

The block accepts the reference torque and feedback mechanical speed of the rotor and outputs the reference d and q axis phase current values for MTPA and field-weakening operations.

The block computes the reference current values by solving mathematical relationships. The calculations use SI unit system. When working with the Per-Unit (PU) system, the block converts PU input signals to SI units to perform computations, and converts them back to PU values at the output.

These equations describe the computation of reference d-axis and q-axis current values by the block:

Mathematical Model of PMSM

These model equations describe dynamics of PMSM in the rotor flux reference frame:

vd=idRs+ dλddt  ωeLqiq

vq=iqRs+ dλqdt + ωeLdid+ ωeλpm

λd=Ldid+ λpm

λq=Lqiq

Te= 32p(λpmiq+(Ld Lq)idiq)

Te TL=Jdωmdt +Bωm

where:

  • vd is the d-axis voltage.

  • vq is the q-axis voltage.

  • id is the d-axis current.

  • iq is the q-axis current.

  • Rs is the stator phase winding resistance.

  • λpm is the permanent magnet flux linkage.

  • λd is the d-axis flux linkage.

  • λq is the q-axis flux linkage.

  • ωe is the rotor electrical speed.

  • ωm is the rotor mechanical speed.

  • Ld is the d-axis winding inductance.

  • Lq is the q-axis winding inductance.

  • Te is the electromechanical torque produced by PMSM.

  • TL is the load torque.

  • p is the number of motor pole pairs.

  • J is the inertia coefficient.

  • B is the friction coefficient.

Base Speed

These equations describe the computation of the motor base speed:

If ωm ωbase, id is zero. Therefore, we compute the d-axis and q-axis voltages as:

vdo= ωeLqiq

vqo=iqRs+ ωeλpm

vmax= vdc 3 Rsimax  vd2+ vq2

imax2= id 2+ iq2

ωbase=  vmax(Lqiq)2+(Ldid+ λpm)2

where:

  • ωe is the rotor electrical speed.

  • ωbase is the maximum motor speed outside field weakening region.

  • id is the d-axis current.

  • iq is the q-axis current.

  • vdo is the d-axis voltage when id is zero.

  • vqo is the q-axis voltage when id is zero.

  • Ld is the d-axis winding inductance.

  • Lq is the q-axis winding inductance.

  • Rs is the stator phase winding resistance.

  • λpm is the permanent magnet flux linkage.

  • vd is the d-axis voltage.

  • vq is the q-axis voltage.

  • vmax is the maximum voltage that the inverter can provide.

  • vdc is the DC bus voltage.

  • imax is the maximum current that the inverter can provide.

Surface PMSM

For a surface PMSM, you can achieve maximum torque by using zero d-axis current when the motor is below the base speed. For field-weakening operation, the reference d-axis current is computed by Constant-voltage-constant-power control (CVCP) algorithm defined by these equations:

If ωm ωbase:

  • id_mtpa= 0

  • iq_mtpa= Tref32pλpm

  • id_sat= id_mtpa= 0

  • iq_sat=sat(iq_mtpa,  imax)

If ωm> ωbase:

  • id_fw= (ωe_base ωe)λpmωeLd

  • id_sat=max(id_fw,  imax)

  • iq_fw= Tref32pλpm

  • iq_lim= imax2 id_sat2

  • iq_sat=sat(iq_fw,  iq_lim)

The saturation function used to compute iq_sat is described below:

If iq_fw< iq_lim,

iq_sat= iq_lim

If iq_fw>iq_lim,

iq_sat= iq_lim

If  iq_limiq_fwiq_lim,

iq_sat= iq_fw

The block outputs the following values:

Idref=id_sat

Iqref=iq_sat

where:

  • ωe is the rotor electrical speed.

  • ωm is the rotor mechanical speed.

  • ωbase is the maximum motor speed outside field weakening region.

  • ωe_base is the maximum electrical speed of motor outside the field weakening region.

  • id_mtpa is the d-axis phase current MTPA.

  • iq_mtpa is the q-axis phase current MTPA.

  • Tref is the reference torque (block input).

  • p is the number of motor pole pairs.

  • λpm is the permanent magnet flux linkage.

  • id_fw is the d-axis field weakening current.

  • iq_fw is the q-axis field weakening current.

  • Ld is the d-axis winding inductance.

  • imax is the maximum current that the inverter can provide.

  • id_sat is the d-axis saturation current.

  • iq_sat is the q-axis saturation current.

  • Idref is the d-axis current component corresponding to the reference torque and reference speed (block inputs).

  • Iqref is the q-axis current component corresponding to the reference torque and reference speed (block inputs).

Interior PMSM

For an interior PMSM, you can achieve maximum torque by computing the d-axis and q-axis reference currents from the torque equation.

im_ref= 2Tref3pλpm

im=max(im_ref,  imax)

id_mtpa=λpm4(LqLd)λpm216(LqLd)2+im22

iq_mtpa=im2(id_mtpa)2

vdo=ωeLqiq

vqo=ωe(Ldid+ λpm)

vdo2+vqo2=vmax2

(Lqiq)2+(Ldid+ λpm)2 vmax2ωe2

iq= imax2 id2

(Ld2 Lq2)id2+2λpmLdid+ λpm2+ Lq2imax2vmax2ωe2=0

id_fw= λpmLd+ (λpmLd)2 (Ld2 Lq2)(λpm2+  Lq2imax2 vmax2ωe2  )(Ld2 Lq2)

iq_fw= imax2 id_fw2

If ωm ωbase,

Idref= id_mtpa

Iqref= iq_mtpa

If ωm> ωbase,

Idref=max(id_fw,imax)

iq_fw= imax2 id_fw2

If iq_fw<im,

Iqref=iq_fw

If iq_fwim,

Iqref=im

For negative reference torque values, the sign of im and Iqref are updated and equations are modified accordingly.

where:

  • im_ref is the estimated maximum current to produce the reference torque.

  • im is the saturated value of estimated maximum current.

  • id_max is the maximum permissible d-axis current.

  • iq_max is the maximum permissible q-axis current.

  • Tref is the reference torque (block input).

  • Idref is the d-axis current component corresponding to the reference torque and reference speed (block inputs).

  • Iqref is the q-axis current component corresponding to the reference torque and reference speed (block inputs).

  • p is the number of motor pole pairs.

  • λpm is the permanent magnet flux linkage.

  • id_mtpa is the d-axis phase current MTPA.

  • iq_mtpa is the q-axis phase current MTPA.

  • Ld is the d-axis winding inductance.

  • Lq is the q-axis winding inductance.

  • imax is the maximum current that the inverter can provide.

  • vmax is the maximum voltage that the inverter can provide.

  • vdo is the d-axis voltage when id is zero.

  • vqo is the q-axis voltage when id is zero.

  • ωe is the rotor electrical speed.

  • id is the d-axis current.

  • iq is the q-axis current.

  • id_fw is the d-axis field weakening current.

  • iq_fw is the q-axis field weakening current.

  • ωbase is the maximum motor speed outside the field weakening region.

Ports

Input

expand all

Reference torque input value for which the block computes the reference current.

Data Types: single | double | fixed point

Reference mechanical speed value for which the block computes the reference current.

Data Types: single | double | fixed point

Output

expand all

Reference d-axis phase current that can efficiently generate the input torque and speed values.

Data Types: single | double | fixed point

Reference q-axis phase current that can efficiently generate the input torque and speed values.

Data Types: single | double | fixed point

Parameters

expand all

Type of PMSM based on the location of the permanent magnets.

Number of pole pairs available in the motor.

Resistance of the stator phase winding (ohms).

Dependencies

To enable this parameter, set Type of motor to Interior PMSM.

Stator winding inductance (henry) along the d-axis of the rotating dq reference frame.

Stator winding inductance (henry) along the q-axis of the rotating dq reference frame.

Dependencies

To enable this parameter, set Type of motor to Interior PMSM.

Magnetic flux linkage between the stator windings and the rotor's permanent magnets (weber).

Maximum phase current limit for the motor (amperes).

DC bus voltage (volts)

Dependencies

To enable this parameter, set Type of motor to Interior PMSM.

Unit of the block input values.

Speed of the motor at the rated voltage and rated current outside the field weakening region.

Current corresponding to 1 per-unit. We recommend you to use the maximum current detected by Analog to Digital Converter (ADC) as the base current.

Dependencies

To enable this parameter, set Input signal units to Per-Unit (PU).