LUT based SynRM Control Reference
Generate lookuptablebased control reference currents for fieldoriented control of SynRM and PMaSynRM
Since R2024a
Libraries:
Motor Control Blockset /
Controls /
Control Reference
Description
The LUT based SynRM Control Reference block generates the daxis and qaxis reference currents for fieldoriented control and fieldweakening control of a synchronous reluctance motor (SynRM) and a permanent magnetassisted synchronous reluctance motor (PMaSynRM). You can specify reference torque and feedback mechanical speed and the block outputs the corresponding reference current values. The block also supports the maximum torque per ampere (MTPA) and maximum torque per voltage (MTPV) operating regions.
The block uses i_{d}(T,ω) and i_{q}(T,ω) lookup tables (LUTs) to generate reference current values. Depending on the input method you use to specify the motor parameters, the block can either generate LUTs or use the data you provide.
You can specify the motor parameters using one of these methods.
Note
The following equations for SynRM and PMaSynRM follow a dq axis notation that is identical to that of a permanent magnet synchronous motor (PMSM).
Linear model with lumped parameters
— Lumped parameters with L_{d} and L_{q} (for SynRM) or lumped parameters with L_{d}, L_{q}, and FluxPM (for PMaSynRM)This method uses the lumped parameters to compute the i_{d} and i_{q} LUTs. The block obtains i_{d} and i_{q} for the given ω and T inputs by solving the equations associated with these curves.
Maximum torque per ampere (MTPA) curve (for SynRM)
$${i}_{d}+{i}_{q}=0$$
Maximum torque per ampere (MTPA) curve (for PMaSynRM)
$${i}_{d}^{2}+\frac{{i}_{d}{\psi}_{m}}{({L}_{d}{L}_{q})}={i}_{q}^{2}.$$
Constant torque trajectory (for SynRM)
$${i}_{q}=\frac{T}{1.5{P}_{p}({L}_{d}{L}_{q}){i}_{d}}$$
Constant torque trajectory (for PMaSynRM)
$${i}_{q}=\frac{T}{1.5{P}_{p}({\psi}_{m}+({L}_{d}{L}_{q}){i}_{d})}.$$
Current limit curve
$${i}_{d}^{2}+{i}_{q}^{2}={i}_{\mathrm{max}}^{2}.$$
Voltage limit curve (for SynRM)
$${\left(\frac{{V}_{DC}}{\sqrt{3}}\right)}^{2}={({i}_{d}{R}_{s}{\omega}_{e}{L}_{q}{i}_{q})}^{2}+{({i}_{q}{R}_{s}+{\omega}_{e}{L}_{d}{i}_{d})}^{2}.$$
Voltage limit curve (for PMaSynRM)
$${\left(\frac{{V}_{DC}}{\sqrt{3}}\right)}^{2}={({i}_{d}{R}_{s}{\omega}_{e}{L}_{q}{i}_{q})}^{2}+{({i}_{q}{R}_{s}+{\omega}_{e}{L}_{d}{i}_{d}+{\omega}_{e}{\psi}_{m})}^{2}.$$
When the motor operates within the voltage constraints, the block solves for the intersection of the MTPA line and the constant torque trajectory.
When the motor operates beyond the voltage constraints, the block solves for the intersection of the voltage constraint curve and the constant torque trajectory.
After computing the i_{d} and i_{q} tables from a grid of ω and T values, the block uses interpolation to find i_{d} ^{ref} and i_{q} ^{ref} for any ω and T inputs that lie within the range of the table values. The table values are clipped for ω and T values beyond the boundaries.
Nonlinear model with Ld and Lq LUTs
orNonlinear model with Ld, Lq, and FluxPM LUTs
— Nonlinear model with daxis and qaxis stator winding inductances and permanent magnet flux linkage lookup tablesThis method uses an approach similar to the lumped parameters method, except that the block updates the values for L_{d}(i_{d},i_{q}), L_{q}(i_{d},i_{q}), and FluxPM(i_{d},i_{q}) each time it computes i_{d} and i_{q} . The block iterates these computations until the i_{d} and i_{q} values converge.
Note
FluxPM(i_{d},i_{q}) value is applicable only to a PMaSynRM. L_{d}(i_{d},i_{q}) and L_{q}(i_{d},i_{q}) values are applicable for both SynRM and PMaSynRM.
Nonlinear model with D,Qflux linkage LUTs
— Nonlinear model with daxis and qaxis flux linkage lookup tables.This method uses an approach similar to the lumped parameters method, except that the block updates the values for ψ_{d}(i_{d},i_{q}) and ψ_{q}(i_{d},i_{q}) each time it computes i_{d} and i_{q} . The block iterates these computations until the i_{d} and i_{q} values converge.
Nonlinear model with id and iq LUTs
— Use this method when you want to manually provide the i_{d}(T,ω) and i_{q}(T,ω) tables. Typically, you obtain these tables through simulations or dyno tests.
You can also generate these tables using the mcbGenerateTables
function in Motor Control Blockset™.
For a detailed set of equations and assumptions that Motor Control Blockset uses for a synchronous reluctance machine, see Synchronous Reluctance Machine (Simscape Electrical).
In addition, you can use the Vdc input method parameter to configure the block to accept a fixed reference DC voltage through the DC voltage to compute LUTs (V) parameter or a variable reference DC voltage through a separate input port V_{dc} .
Based on the method you select in the Motor parameter input method parameter, you can use the lumped parameters or a nonlinear model to compute the reference currents as shown in this table.
Motor parameter input method  Vdc input method  Technique used to compute reference currents 

Linear model with lumped parameters

Specify via dialog
 The block uses the lumped parameters to compute the i_{d} and i_{q} LUTs for a fixed voltage specified in the DC bus voltage, Vdc (V) parameter, using which it determines the reference currents. 
Input port  use 3D LUT (voltage slice
based)
 The block uses the lumped parameters to compute the 3D i_{d} and i_{q} LUTs containing data for different voltages (or voltage slices specified in the DC bus voltage breakpoint vector, Vdc (V) parameter). It uses this data to determine the reference currents corresponding to the voltage specified at the input port V_{dc} .  
Input port  use 2D LUT (scaledw
based)
 The block uses the lumped parameters to compute the 2D i_{d} and i_{q} LUTs for a fixed voltage specified in the DC bus voltage, Vdc (V) parameter. It uses these LUTs to compute the reference currents (corresponding to the voltage provided at the input port V_{dc} ) by scaling the speed (ω).  
Nonlinear model with D,Qflux linkage LUTs

Specify via dialog
 The block computes the reference currents by using the daxis and qaxis flux linkage LUTs for a fixed voltage specified in the DC bus voltage, Vdc (V) parameter. 
Input port  use 3D LUT (voltage slice
based)
 The block uses the 3D daxis and qaxis flux linkage LUTs containing data for different voltages (or voltage slices specified in the DC bus voltage breakpoint vector, Vdc (V) parameter). It uses these LUTs to compute the reference currents corresponding to the voltage provided at the input port V_{dc} .  
Input port  use 2D LUT (scaledw
based)
 The block uses the 2D daxis and qaxis flux linkage LUTs for a fixed voltage specified in the DC bus voltage, Vdc (V) parameter. It uses these LUTs to compute the reference currents (corresponding to the voltage provided at the input port V_{dc} ) by scaling the speed (ω).  
Nonlinear model with Ld and Lq LUTs

Specify via dialog
 The block computes the reference currents by using the given L_{d} and L_{q} LUTs for a fixed voltage specified in the DC bus voltage, Vdc (V) parameter. 
Input port  use 3D LUT (voltage slice based)
 The block uses the given 3D L_{d} and L_{q} LUTs containing data for different voltages (or voltage slices specified in the DC bus voltage breakpoint vector, Vdc (V) parameter). It uses these LUTs to compute the reference currents corresponding to the voltage provided at the input port V_{dc} .  
Input port  use 2D LUT (scaledw based)
 The block uses the given 2D L_{d} and L_{q} LUTs for a fixed voltage specified in the DC bus voltage, Vdc (V) parameter. It uses these LUTs to compute the reference currents (corresponding to the voltage provided at the input port V_{dc} ) by scaling the speed (ω).  
Nonlinear model with Ld, Lq, and FluxPM LUTs

Specify via dialog
 The block computes the reference currents by using the given L_{d} , L_{q} , and permanent magnet flux linkage LUTs for a fixed voltage specified in the DC bus voltage, Vdc (V) parameter. 
Input port  use 3D LUT (voltage slice
based)
 The block uses the given 3D L_{d} , L_{q} , and permanent magnet flux linkage LUTs containing data for different voltages (or voltage slices specified in the DC bus voltage breakpoint vector, Vdc (V) parameter). It uses these LUTs to compute the reference currents corresponding to the voltage provided at the input port V_{dc} .  
Input port  use 2D LUT (scaledw
based)
 The block uses the given 2D L_{d} , L_{q} , and permanent magnet flux linkage LUTs for a fixed voltage specified in the DC bus voltage, Vdc (V) parameter. It uses these LUTs to compute the reference currents (corresponding to the voltage provided at the input port V_{dc} ) by scaling the speed (ω).  
Nonlinear model with id and iq
LUTs

Specify via dialog
 The block determines the reference currents by using the given i_{d} , i_{q} LUTs for a fixed voltage specified in the DC bus voltage, Vdc (V) parameter. 
Input port  use 3D LUT (voltage slice
based)
 The block uses the given 3D i_{d} , i_{q} LUTs containing data for different voltages (or voltage slices specified in the DC bus voltage breakpoint vector, Vdc (V) parameter). It uses these LUTs to determine the reference currents corresponding to the voltage provided at the input port V_{dc} .  
Input port  use 2D LUT (scaledw
based)
 The block uses the given 2D i_{d} , i_{q} LUTs for a fixed voltage specified in the DC bus voltage, Vdc (V) parameter. It uses these LUTs to compute the reference currents (corresponding to the voltage provided at the input port V_{dc} ) by scaling the speed (ω). 
Examples
Ports
Input
Output
Parameters
Extended Capabilities
Version History
Introduced in R2024a