Main Content

Discrete-time Brushless DC Motor current PI controller

**Library:**Simscape / Electrical / Control / BLDC Control

The BLDC Current Controller block uses this algorithm to control current in a DC brushless motor.

The BLDC Current Controller produces the duty cycle for a BLDC block by implementing proportional-integral (PI) current control using this equation.

$\text{D}=\left({K}_{p}+{K}_{i}\frac{{T}_{s}z}{z-1}\right)\left({I}_{s\_ref}-{I}_{s}\right)$

Where:

*D*is the duty cycle.*K*is the proportional gain._{p}*K*is the integral gain._{i}*T*is the time period._{s}*I*is the reference current._{s_ref}*I*is the measured current._{s}*G*is the zero cancellation polynomial._{zc}

The closed-loop transfer function for the PI control algorithm yields a zero that can be cancelled by using zero-cancellation in the feedforward path. The zero-cancellation transfer function in discrete-time is:

${G}_{ZC}\left(z\right)=\frac{\frac{{T}_{s}{K}_{i}}{{K}_{p}}}{z+\left(\frac{{T}_{s}-\frac{{K}_{p}}{{K}_{i}}}{\frac{{K}_{p}}{{K}_{i}}}\right)}.$

The block obtains control signals for the three phases by multiplying the duty cycle by the commutation signals. The resulting three control signals are normalized over the interval [-1, 1].

[1] Stirban, A., I. Boldea, and G. D. Andreescu. "Motion-Sensorless
Control of BLDC-PM Motor With Offline FEM-Information-Assisted Position and Speed Observer."
*IEEE Transactions on Industry Applications*. 48, no. 6 (2012):
1950-1958.