Contenuto principale

LUT based ACIM Control Reference

Generate lookup-table-based control reference currents for field-oriented control of induction motor

Since R2026a

  • LUT based ACIM Control Reference block

Libraries:
Motor Control Blockset / Controls / Control Reference

Description

The LUT-Based ACIM Control Reference block generates the stator d-axis and q-axis reference currents for field-oriented control and field-weakening control of an AC induction motor (ACIM). You can specify reference torque T and feedback mechanical speed ω and the block outputs the corresponding reference current values.

The block uses lookup tables (LUTs) to generate stator reference current values isd(T,ω) and isq(T,ω). 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 use the Motor parameter input method parameter to specify one of these options.

  • Non-linear model with D,Q-flux linkage LUTs — The block uses a nonlinear model with d-axis and q-axis flux linkage lookup tables. This option computes the isd and isq LUTs. It obtains isd and isq for the given ω and T inputs by iteratively solving the equations of the associated constraint curves. To observe these constraint curves, use the options under the Plotting Options tab.

    The block updates the values for ψd(isd,isq) and ψq(isd,isq) each time it computes isd and isq. The block iterates these computations until the isd and isq values converge.

  • Non-linear model with id and iq LUTs — Use this option when you want to manually provide the isd(T,ω) and isq(T,ω) tables. You can obtain these tables through custom algorithms or motor calibration tests on dyno.

You can also 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 Vdc.

Your choice of settings determines the technique that the block uses to compute reference currents.

Motor parameter input methodVdc input methodTechnique
Non-linear model with D,Q-flux linkage LUTsSpecify via dialogThe block computes the reference currents by using the d-axis and q-axis flux linkage LUTs for a fixed voltage specified in the DC voltage to compute LUTs (V) parameter.
Input port - use 3D LUT (voltage slice based)The block uses the 3-D d-axis and q-axis 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 Vdc.
Input port - use 2D LUT (scaled-w based)The block uses the 2-D d-axis and q-axis flux linkage LUTs for a fixed voltage specified in the DC voltage to compute LUTs (V) parameter. It uses these LUTs to compute the reference currents (corresponding to the voltage provided at the input port Vdc) by scaling the speed (ω).
Non-linear model with id and iq LUTsUse Vdc for external calculationsThe block uses the given 2-D id, iq LUTs to compute the reference currents by scaling the speed (ω).
Input port - use 3D LUT (voltage slice based)The block uses the given 3-D id, iq 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 Vdc.
Input port - use 2D LUT (scaled-w based)The block uses the given 2-D id, iq LUTs for a fixed voltage specified in the DC voltage to compute LUTs (V) parameter. It uses these LUTs to compute the reference currents (corresponding to the voltage provided at the input port Vdc) by scaling the speed (ω).

For a detailed set of equations and assumptions that Motor Control Blockset™ uses for an ACIM, see Mathematical Model of Induction Motor.

Examples

Ports

Input

expand all

Reference torque input value (in Nm) for which the block computes the reference current.

Data Types: single | double | fixed point

Reference mechanical speed value (in rad/sec) for which the block computes the reference current.

Data Types: single | double | fixed point

Variable DC bus voltage (in volts).

Dependencies

To enable this port, set Vdc input method to Input port - use 3D LUT (voltage slice based) or Input port - use 2D LUT (scaled-w based).

Data Types: single | double | fixed point

Output

expand all

Reference stator d-axis phase current (in amperes).

Data Types: single | double | fixed point

Reference stator q-axis phase current (in amperes).

Data Types: single | double | fixed point

Parameters

expand all

Motor Parameters

Number of pole pairs available in the motor.

Resistance of the stator phase winding (in ohms).

Motor parameters that the block uses to generate the control reference currents. Set the parameter to one of these values:

  • Non-linear model with D,Q-flux linkage LUTs — Determine reference currents from the reference tables generated using d-axis and q-axis flux linkage lookup tables.

  • Non-linear model with id and iq LUTs — Determine the current reference using the id and iq lookup tables.

Use one of these options to specify the Vdc input:

  • Specify via dialog — Specify the fixed reference voltage Vdc using the DC voltage to compute LUTs (V) parameter. This setting is default if Motor parameter input method is set to Non-linear model with D,Q-flux linkage LUTs.

  • Use Vdc for external calculations — Specify the fixed reference voltage Vdc using the input port Vdc. This setting is default if Motor parameter input method is set to Non-linear model with id and iq LUTs.

  • Input port - use 3D LUT (voltage slice based) — Specify the variable reference voltage Vdc using the input port Vdc. When you select this option, the block computes the reference current data for the given voltage by using a 3-D lookup table (LUT) based on voltage slicing.

  • Input port - use 2D LUT (scaled-w based) — Specify the variable reference voltage Vdc using the input port Vdc. When you select this option, the block computes the reference current data for the given voltage by using a 2-D LUT based on motor speed (ω) scaling.

DC bus voltage (in volts).

Dependencies

To enable this parameter, set Vdc input method to Specify via dialog or Input port - use 2D LUT (scaled-w based).

DC bus voltage lookup vector used in id and iq lookup tables (in volts).

Dependencies

To enable this parameter, set Vdc input method to Input port - use 3D LUT (voltage slice based).

Specify the speed input type.

  • Use rotor speed (ωₘ) (mechanical speed (rad/s)) — Use the rotor speed as reference speed.

  • Use stator synchronous speed (ωmsync = ωm + slipm) (mechanical speed (rad/s)) — Use the stator synchronous speed as reference speed.

d-axis current vector (in amperes) in the ψd and ψd lookup tables.

Dependencies

To enable this parameter, set Motor parameter input method to Non-linear model with D,Q-flux linkage LUTs.

q-axis current vector (in amperes) in the ψd and ψd lookup tables.

Dependencies

To enable this parameter, set Motor parameter input method to Non-linear model with D,Q-flux linkage LUTs.

Slip lookup table data (in rad/sec). If you set Choose the speed input type to Use stator synchronous speed (ωmsync = ωm + slipm) (mechanical speed (rad/s)), the block computes the stator synchronous speed from the mechanical speed and slip.

Dependencies

To enable this parameter, set Motor parameter input method to Non-linear model with D,Q-flux linkage LUTs.

Select this parameter to provide measured (instead of computed) torque lookup data to the block.

Dependencies

To enable this parameter, set Motor parameter input method to Non-linear model with D,Q-flux linkage LUTs.

Measured torque lookup table data (in Nm).

Dependencies

To enable this parameter:

  • Set Motor parameter input method to Non-linear model with D,Q-flux linkage LUTs.

  • Select the Use measured (instead of computed) torque parameter.

Select this parameter to specify the percentage torque breakpoint vector values and the torque envelope values for the speed breakpoint vector (in the following parameters):

  • Reference percentage torque breakpoint vector, Trefpct (%)

  • Torque envelope for speed breakpoint vector, wrpm (rpm)

Select this parameter to use custom lookup vectors for motor torque and speed quantities.

Dependencies

To enable this parameter, set Motor parameter input method to Non-linear model with D,Q-flux linkage LUTs.

Torque reference lookup vector used in the id and iq lookup tables (in Nm). The vector can have any number of elements.

Dependencies

To enable this parameter, clear the Enable percentages for torque breakpoint vector parameter and either:

  • Set Motor parameter input method to Non-linear model with D,Q-flux linkage LUTs.

  • Select the Enable custom breakpoint vectors for torque and speed parameter.

or

  • Set Motor parameter input method to Non-linear model with id and iq LUTs.

Rotor speed lookup vector used in the id and iq lookup tables (in rpm). The vector can have any number of elements.

Dependencies

To enable this parameter, either:

  • Set Motor parameter input method to Non-linear model with D,Q-flux linkage LUTs.

  • Select the Enable custom breakpoint vectors for torque and speed parameter.

or

  • Set Motor parameter input method to Non-linear model with id and iq LUTs.

Torque reference lookup vector used in the id and iq lookup tables (in percentage). The vector can have any number of elements.

Dependencies

To enable this parameter, select the Enable percentages for torque breakpoint vector parameter, and either:

  • Set Motor parameter input method to Non-linear model with D,Q-flux linkage LUTs.

  • Select the Enable custom breakpoint vectors for torque and speed parameter.

or

  • Set Motor parameter input method to Non-linear model with id and iq LUTs.

Torque envelope values used to compute the percentage values of the torque reference lookup vector (specified in the Reference percentage torque breakpoint vector, Trefpct (%) parameter).

Dependencies

To enable this parameter, select the Enable percentages for torque breakpoint vector parameter and either:

  • Set Motor parameter input method to Non-linear model with D,Q-flux linkage LUTs.

  • Select the Enable custom breakpoint vectors for torque and speed parameter.

or

  • Set Motor parameter input method to Non-linear model with id and iq LUTs.

Maximum phase current limit for the motor (in amperes).

Viscous damping coefficient Bv of the motor in Nm/(rad/s).

Nonlinear Model with D,Q-Flux Linkage LUTs

d-axis flux linkage lookup table data (in weber).

Dependencies

To enable this parameter, set Motor parameter input method to Non-linear model with D,Q-flux linkage LUTs.

q-axis flux linkage lookup table data (in weber).

Dependencies

To enable this parameter, set Motor parameter input method to Non-linear model with D,Q-flux linkage LUTs.

Nonlinear Model with id and iq LUTs

d-axis current reference 2-D lookup table data (in amperes).

Dependencies

To enable this parameter, set Motor parameter input method to Non-linear model with id and iq LUTs and Vdc input method to Use Vdc for external calculations or Input port - use 2D LUT (scaled-w based).

d-axis current reference 3-D lookup table data (in amperes).

Dependencies

To enable this parameter, set Motor parameter input method to Non-linear model with id and iq LUTs and Vdc input method to Input port - use 3D LUT (voltage slice based).

q-axis current reference 2-D lookup table data (in amperes).

Dependencies

To enable this parameter, set Motor parameter input method to Non-linear model with id and iq LUTs and Vdc input method to Use Vdc for external calculations or Input port - use 2D LUT (scaled-w based).

q-axis current reference 3-D lookup table data (in amperes).

Dependencies

To enable this parameter, set Motor parameter input method to Non-linear model with id and iq LUTs and Vdc input method to Input port - use 3D LUT (voltage slice based).

Input Units

Unit of measure of the block input values.

Base voltage (in volts) for the per-unit system.

Dependencies

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

Base current (in amperes) for the per-unit system.

Dependencies

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

Base speed (in rpm) for the per-unit system.

Dependencies

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

Torque (in Nm) corresponding to one per-unit. See Per-Unit System page for more details.

You cannot configure this parameter. The block computes this value internally using the other parameters.

Dependencies

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

Parameter to scale down internal parameters to match the per-unit scale when generating code.

  • When you enable this option, the block scales down the internal constants and coefficients to match the per-unit scale. This option allows for higher precision when you use the fixed-point data type. If you use this option with the single or double data type, some precision loss can occur depending on the number of bits allotted to the integer portion.

  • When you disable this option, the block converts all the constants and coefficients it uses for internal calculations to SI units and then converts them back to the per-unit scale. This option allows you to update the lookup table values in the generated code, typically, for applications such as controller tuning or end-of-line operations. You can also update the values manually for debugging or reusing previously generated code.

Dependencies

To enable this parameter, set Motor parameter input method to Non-linear model with id and iq LUTs and Input units to Per-Unit (PU).

Plotting Options

The block enables this tab only when you set Motor parameter input method to Non-linear model with D,Q-flux linkage LUTs.

Enable the block to save the lookup table data that the block computes when you click the Compute (and plot) id and iq LUTs button.

Enable the block to use default plotting options when you click the Plot constraint curves button to plot the constraint curves of motor.

Motor speed (in rpm) that the block should use when you click the Plot constraint curves button to plot the constraint curves of motor.

Dependencies

To enable this parameter, clear the Use default options for plotting parameter.

Motor torque (in Nm) that the block should use when you click the Plot constraint curves button to plot the constraint curves of motor.

Dependencies

To enable this parameter, clear the Use default options for plotting parameter.

Enable the block to plot the drive characteristics when you click the Plot constraint curves button to plot the constraint curves of motor.

Dependencies

To enable this parameter, clear the Use default options for plotting parameter.

Enable the block to include drive characteristics for an increased motor current. To generate these drive characteristics in the plot, click the Plot constraint curves button.

Note

You can plot the characteristics for an increased motor current only when the current is higher than the rated current of the motor.

Dependencies

To enable this parameter, clear the Use default options for plotting parameter and select the Enable plotting the drive characteristics parameter.

When you click this button, the block computes and plots the lookup table data for id and iq currents.

When you click this button, the block plots the constraint curves of the motor.

When you click this button, the block computes and shows the following torque and speed characteristics:

  • Rated torque — Rated torque of motor (in Nm).

  • Rated speed — Rated speed of motor (in rpm).

  • Maximum speed — Maximum speed of motor (in rpm).

Extended Capabilities

expand all

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Fixed-Point Conversion
Design and simulate fixed-point systems using Fixed-Point Designer™.

Version History

Introduced in R2026a