Main Content

VbyF Controller

Implement V/F (open-loop or scalar) control for three-phase motors

Since R2023b

Libraries:
Motor Control Blockset / Controls / Controllers

Description

The VbyF Controller block implements V/F (open-loop or scalar) control for a three-phase permanent magnet synchronous motor (PMSM) or an AC induction motor (ACIM).

You can specify reference speed, motor rated speed, number of motor pole pairs, motor rated voltage, minimum block output voltage, as well as number of discrete time steps for initial ramp up as inputs to compute the three-phase voltages that drive the motor.

When you start up the motor, the block uses the NRamp input to identify the number of block samples that it needs to gradually ramp up the motor speed to the reference speed.

NRamp=TrampDiscretestepsize(s)

The block's output voltage amplitude varies according to the reference motor speed (ωref), while keeping the ratio of rated voltage to rated frequency constant.

Vabc_amplitude=  (Vratedfrated)fref=(Vratedωrated)ωref

where:

  • Vabc_amplitude is the amplitude of the output voltage Vabc.

  • Vrated is the amplitude of rated phase voltage of the motor.

  • frated is the rated frequency of the motor.

  • fref is the reference frequency of the motor.

  • ωrated is the rated speed of the motor.

  • ωref is the reference speed of the motor.

The V/F control technique does not require any feedback from the motor. This control technique ensures a constant stator magnetic flux by keeping the motor phase voltage proportional to its frequency. For more information about this technique, see Open-Loop Motor Control.

Note

If you specify 16-bit fixed-point inputs, the block might not produce an accurate output due to insufficient resolution.

Examples

Ports

Input

expand all

Reference mechanical speed for V/F control.

Data Types: single | double | fixed point

Rated mechanical speed of the motor.

Data Types: single | double | fixed point

Number of pole pairs available in the three-phase motor.

Data Types: single | double | fixed point | uint | int

Amplitude (peak value) of the rated phase voltage of the motor corresponding to the rated speed of the motor.

Data Types: single | double | fixed point

Minimum amplitude (peak value) of the block output voltage that should be applied to the motor.

Data Types: single | double | fixed point

Number of discrete time steps used for initial ramp up of motor speed.

Data Types: single | double | fixed point | uint | int

Signal that enables block outputs:

  • 1 — Enables block outputs.

  • 0 — Reset internal integrators.

Data Types: single | double | fixed point

Output

expand all

Stator phase a, b, and c voltages that drive the motor.

Data Types: single | double | fixed point

Parameters

expand all

Units of the ωmref and ωmrated inputs.

Select Per unit based on dialog to use per-unit system for the two speed inputs. For more information about the per-unit system, see Per-Unit System.

Rated speed of the motor (in rpm) that the block uses in the per-unit computations. For more information about the per-unit system, see Per-Unit System.

Dependencies

To enable this parameter, set Input speed unit to Per unit based on dialog.

The fixed time interval (in seconds) between two consecutive instances of block execution.

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 R2023b