Main Content

DQ Limiter

Saturate voltages (or current) in the dq reference frame

Since R2020a

Libraries:
Motor Control Blockset / Controls / Control Reference
Motor Control Blockset HDL Support / Controls / Control Reference

Description

The DQ Limiter block generates saturated values of the input voltages (or current) in the dq reference frame, depending on the specified saturation limit and the selected method of saturation.

The block accepts reference values of d and q axis voltages (or current) and outputs the corresponding saturated values. The block also provides the unsaturated peak value of the reference dq voltages (or current), which you can use to enable field weakening control.

Note

The block supports a fixed-point data type size up to 128 bits.

Equations

These equations describe the computation of saturated dq voltage (or current) values by the block.

For DQ equivalence:

magref=(dref)2+(qref)2

When magref>xmax.

  • dsat=drefmagref×xmax

  • qsat=qrefmagref×xmax

When magrefxmax.

  • dsat=dref

  • qsat=qref

Where, xmax is the saturation limit.

When D-axis is prioritized:

magref=(dref)2+(qref)2

dsat=min(max(dref,xmax),xmax)qsat=sign(qref)×min(|qref|,|xmax2(dsat)2|)

Where, xmax is the saturation limit.

When Q-axis is prioritized:

magref=(dref)2+(qref)2

qsat=min(max(qref,xmax),xmax)dsat=sign(dref)×min(|dref|,|xmax2(qsat)2|)

Where, xmax is the saturation limit.

Examples

Ports

Input

expand all

Reference voltage (or current) value along the d-axis of the rotating dq reference frame.

Data Types: single | double | fixed point

Reference voltage (or current) value along the q-axis of the rotating dq reference frame.

Data Types: single | double | fixed point

Saturation method that the block uses to initiate saturation. The port accepts one of the following integer values:

  • 1 – Prioritize D-axis

  • 2 – Prioritize Q-axis

  • Any other positive integer – D-Q equivalence method

Dependencies

To enable this port, select Input port for the Saturation method parameter.

Data Types: uint16

Saturation limit value that the block uses to initiate saturation. The port accepts values greater than or equal to 0.

Dependencies

To enable this port, select Input port for the Saturation limit parameter.

Data Types: single | double | fixed point

Output

expand all

Saturated voltage (or current) value along the d-axis of the rotating dq reference frame.

Data Types: single | double | fixed point

Saturated voltage (or current) value along the q-axis of the rotating dq reference frame.

Data Types: single | double | fixed point

Unsaturated peak value of the input voltages (or current).

Data Types: single | double | fixed point

Parameters

expand all

Select whether the block should use dialog box or input port to specify the saturated method.

Programmatic Use

satMethodInputType

Select the saturation method that the block should use.

Dependencies

To enable this parameter, set Saturation method to Specify via dialog.

Programmatic Use

satMethodSelected

Select whether the block should use dialog box or input port to specify the saturated limit.

Programmatic Use

satLimitInputType

The maximum magnitude of voltage (or current) above which the block outputs are limited.

DQ saturation limit (current) is usually the rated current of the motor. When you work with the Per-Unit system (PU), you should convert the rated current of the motor to Per-Unit value with respect to the base current.

DQ saturation limit (voltage) is usually the maximum phase voltage supplied by the inverter. Generally it is Vdc3 for Space Vector PWM and Vdc2 for Sinusoidal PWM, where Vdc is the DC link voltage of the inverter.

Note

You can enter either per unit or SI unit voltage (or current) value in this parameter (unit of the entered value should be same as that of the dref and qref inputs). For optimum performance, we recommend that you provide a per unit value.

Dependencies

To enable this parameter, set Saturation limit to Specify via dialog.

Programmatic Use

Vmax

Extended Capabilities

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 R2020a