Main Content

Control Algorithm Design

Create controller algorithm for motor control system

Create the torque-control and speed-control subsystems, verify the target execution time, and tune the control gains.

Note

The blocks listed here are compliant with the MISRA C™ guidelines.

Blocks

expand all

Control Reference

ACIM Control ReferenceCompute reference currents for field-oriented control of induction motor (Since R2020b)
ACIM Feed Forward ControlDecouple d-axis and q-axis current to eliminate disturbance (Since R2020b)
ACIM Slip Speed EstimatorCalculate slip speed of AC induction motor (Since R2020b)
ACIM Torque EstimatorEstimate electromechanical torque and power (Since R2020b)
DQ LimiterSaturate voltages (or current) in the dq reference frame
MTPA Control ReferenceCompute reference currents for maximum torque per ampere (MTPA) and field-weakening operation
PMSM Feed Forward ControlDecouple d-axis and q-axis current to eliminate disturbance
PMSM Torque EstimatorEstimate electromechanical torque and power
Position GeneratorGenerate position ramp of fixed frequency
Six Step CommutationGenerate switching sequence for six-step commutation of brushless DC (BLDC) motor (Since R2020b)
Vector Control ReferenceCompute d and q axis components of reference vector
LUT based PMSM Control ReferenceGenerate lookup-table-based control reference currents for field-oriented control of permanent magnet synchronous motor (Since R2022b)
SRM CommutationGenerate switching sequences for n-phase switched reluctance motor (SRM) (Since R2022b)
LUT based SynRM Control ReferenceGenerate lookup-table-based control reference currents for field-oriented control of SynRM and PMaSynRM (Since R2024a)
SynRM FeedForward ControlDecouple d-axis and q-axis current to eliminate disturbance (Since R2024a)
SynRM Torque EstimatorEstimate electromechanical torque and power (Since R2024a)

Controllers

Derating FunctionCompute derating factor
PI ControllerDiscrete-time PID Controller (Since R2022a)
Field Oriented Control AutotunerAutomatically and sequentially tune multiple PID control loops in field-oriented control application
FOC Default Controller GainsCompute controller gains for the FOC based algorithms at run time based on empirical method or optimum theory (Since R2023b)
VbyF ControllerImplement V/F (open-loop or scalar) control for three-phase motors (Since R2023b)
Field-Oriented Current ControllerImplement current control for three-phase motors using field-oriented control (FOC) technique (Since R2023b)
I-F ControllerImplement I-F control for a three-phase permanent magnet synchronous motor (Since R2024a)
Sensorless Six-Step CommutationUse six-step commutation to run a BLDC motor or PMSM using sensorless control (Since R2025a)

Math Transforms

3-Phase Sine Voltage GeneratorGenerate balanced three-phase sinusoidal signals
atan2Compute four-quadrant arctangent
Clarke TransformImplement ab to αβ transformation
Inverse Clarke TransformImplement αβ to abc transformation
Inverse Park TransformImplement dq to αβ transformation
Park TransformImplement αβ to dq transformation
SinCos Embedded OptimizedImplement sine and cosine functions (Since R2024b)
PWM Reference GeneratorGenerate modulated signals from phase voltages
6-Phase VSD TransformCompute vector space decomposition (VSD) based transformation on six-phase inputs (Since R2024b)
6-Phase Inverse VSD TransformCompute vector space decomposition (VSD) based inverse transformation on orthogonal inputs (Since R2024b)
Protection RelayImplement protection relay with definite minimum time (DMT) trip characteristics
Host Serial ReceiveConfigure host-side serial communications interface to receive data from serial port
Host Serial SetupConfigure communication ports used by Host Serial Receive and Host Serial Transmit blocks
Host Serial TransmitConfigure host-side serial communications interface to transmit data to serial port
Hall Speed and PositionCompute speed and estimate position of rotor by using Hall sensors
Hall ValidityCompute rotor spin direction and validity of Hall sensor sequence
Mechanical to Electrical PositionCompute electrical position of rotor from mechanical position
Quadrature DecoderCompute position of quadrature encoder
Resolver DecoderCompute motor mechanical position and speed and sine and cosine values of motor electrical position
Software Watchdog TimerOutput true until counter reaches maximum count limit
Speed MeasurementCompute speed from rotor angular position
Sliding Mode ObserverCompute electrical position and mechanical speed of a surface-mount PMSM (Since R2021b)
Flux ObserverCompute electrical position, magnetic flux, and electrical torque of rotor
Pulsating High Freq ObserverEstimate initial rotor electrical position of interior PMSM using pulsating high frequency (PHF) injection (Since R2022b)
Extended EMF ObserverCompute electrical position and mechanical speed of permanent magnet synchronous motor (PMSM) (Since R2023a)
IIR FilterImplement infinite impulse response (IIR) filter
Vector plotPlot vectors in space domain (Since R2020b)
Position CompensationCompensate for position offset due to different types of delays (Since R2022b)
PLL with Feed ForwardCompute position and angular frequency from orthogonal sinusoidal signals (Since R2023b)
Compute ParameterExtend functionality of blocks by enabling additional inputs (Since R2024a)
Dead-Time CompensatorOvercome dead-time effect by modifying reference voltages (Since R2024a)
Protocol EncoderEncode input data into a uint8 byte stream by specifying the packet structure (Since R2024a)
Protocol DecoderDecode a uint8 byte stream by specifying the packet structure (Since R2024a)
Byte PackConvert input signals to uint8 vector (Since R2024a)
Byte Unpack Convert uint8 vector to input signals (Since R2024a)
Byte ReversalReverse order of bytes in input word (Since R2024a)
Memory CopyCopy data from and to memory section (Since R2024a)

Topics