Summary of common motor control algorithms

Publisher:翠绿山水Latest update time:2024-08-29 Source: elecfans Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

01 BLDC Motor Control Algorithm

Brushless motors are self-commutated (self-direction converting) and therefore more complex to control.


BLDC motor control requires knowledge of the rotor position and the mechanism by which the motor is commutated and steered. For closed-loop speed control, there are two additional requirements, namely the measurement of the rotor speed and/or motor current and the PWM signal to control the motor speed power.


BLDC motors can use either edge-aligned or center-aligned PWM signals depending on the application requirements. Most applications require only variable speed operation and will use 6 independent edge-aligned PWM signals. This provides the highest resolution. If the application requires server positioning, dynamic braking, or power reversal, it is recommended to use supplemental center-aligned PWM signals.


To sense the rotor position, BLDC motors use Hall effect sensors to provide absolute position sensing. This results in more wires and higher costs. Sensorless BLDC control eliminates the need for Hall sensors and instead uses the motor's back EMF (electromotive force) to predict rotor position. Sensorless control is critical for low-cost variable speed applications like fans and pumps. Refrigerator and air conditioning compressors also require sensorless control when using BLDC motors.


Dead time insertion and supplementation

Most BLDC motors do not require complementary PWM, dead time insertion, or dead time compensation. The only BLDC applications that may require these features are high performance BLDC servo motors, sine wave excited BLDC motors, brushless AC, or PC synchronous motors.


Control Algorithm

Many different control algorithms are used to provide control of BLDC motors. Typically, power transistors are used as linear regulators to control the motor voltage. This approach is not practical when driving high power motors. High power motors must be PWM controlled and require a microcontroller to provide starting and control functions.

The control algorithm must provide the following three functions:

PWM voltage for controlling motor speed

Mechanism for rectifying and commutating the motor

Methods for predicting rotor position using back EMF or Hall sensors

Pulse width modulation is used only to apply a variable voltage to the motor windings. The effective voltage is proportional to the PWM duty cycle. When properly commutated, the torque-speed characteristics of a BLDC are the same as those of a DC motor. A variable voltage can be used to control the speed and variable torque of the motor.

Commutation of the power transistors enables the proper windings in the stator to generate the optimum torque based on the rotor position. In a BLDC motor, the MCU must know the position of the rotor and be able to commutate at the right time.

Trapezoidal commutation of BLDC motor

One of the simplest methods for brushless DC motors is to use so-called trapezoidal commutation.

9a448bd2-127f-11ee-962d-dac502259ad0.png

Figure 1: Simplified framework of a trapezoidal controller for a BLDC motor

In this schematic, the current is controlled through one pair of motor terminals at a time, while the third motor terminal is always electronically disconnected from the power supply.

Three Hall devices embedded in the large motor are used to provide digital signals that measure the rotor position in a 60-degree sector and provide this information to the motor controller. Since the current in two windings is equal at any time and the current in the third winding is zero, this method can only produce a current space vector with one of the six directions. As the motor turns, the current at the motor terminals is electrically switched once every 60 degrees (commutation), so the current space vector is always at the closest 30 degrees of the 90-degree phase shift.

9a62d3b2-127f-11ee-962d-dac502259ad0.png

Figure 2: Trapezoidal control: drive waveform and torque at commutation

The current waveform in each winding is therefore a trapezoid, starting at zero to positive current to zero and then back to negative current. This creates a current space vector that will approach balanced rotation as it steps in 6 different directions as the rotor rotates.

In motor applications like air conditioning and frost, using Hall sensors is not always an option. Back EMF sensors sensed in the non-coupled windings can be used to achieve the same result.

Such trapezoidal drive systems are very common due to the simplicity of their control circuits, but they suffer from the problem of torque ripple during the rectification process.

Sinusoidal commutation of BDLC motor

Trapezoidal commutation is not sufficient to provide balanced, accurate BLDC motor control. This is primarily because the torque produced in a three-phase BLDC motor (with a sine wave back EMF) is defined by the following equation:

Shaft torque = Kt [IRSin (o) + ISSin (o+120) + ITSin (o+240)]

in:

o is the electrical angle of the shaft

Kt is the torque constant of the motor

IR, IS and IT are the phase currents. If the phase currents are sinusoidal: IR = I0Sino; IS = I0Sin (+120o); IT = I0Sin (+240o)

You will get: shaft torque = 1.5I0*Kt (a constant independent of the shaft angle)

Sinusoidally commutated brushless motor controllers strive to drive the three motor windings with three currents that vary sinusoidally as the motor turns. The relative phases of these currents are chosen so that they will produce a smooth rotor current space vector that is orthogonal to the rotor and has constants. This eliminates torque ripple and steering pulses associated with northerly steering.

In order to generate a smooth sinusoidal modulation of the motor current as the motor rotates, an accurate measurement of the rotor position is required. Hall devices only provide a rough calculation of the rotor position, which is not sufficient for this purpose. For this reason, angular feedback from an encoder or similar device is required.

9a7f98bc-127f-11ee-962d-dac502259ad0.jpg

Figure 3: Simplified block diagram of a BLDC motor sine wave controller

Since the winding currents must combine to produce a smooth constant rotor current space vector, and each position of the stator winding is 120 degrees apart, the current in each wire group must be sinusoidal and phase-shifted by 120 degrees. The position information from the encoder is used to synthesize two sine waves, which are 120 degrees phase-shifted between them. These signals are then multiplied by the torque command, so the amplitude of the sine wave is proportional to the required torque. As a result, the two sinusoidal current commands are properly phased to produce a rotating stator current space vector in orthogonal directions.

The sinusoidal current command signals output a pair of PI controllers that modulate the current in two appropriate motor windings. The current in the third rotor winding is the negative sum of the controlled winding currents and therefore cannot be controlled separately. The output of each PI controller is fed to a PWM modulator and then to the output bridge and two motor terminals. The voltage applied to the third motor terminal is derived from the negative sum of the signals applied to the first two wire groups, appropriately for three sinusoidal voltages spaced 120 degrees apart.

As a result, the actual output current waveform accurately tracks the sinusoidal current command signal and the resulting current space vector rotates smoothly, is stabilized in quantity and is positioned in the desired direction.

Normally, the sinusoidal commutation commutation results in a stable control that cannot be achieved with trapezoidal commutation commutation. However, since it is very efficient at low motor speeds, it will break down at high motor speeds. This is because as speed increases, the current return controllers must track a sinusoidal signal of increasing frequency. At the same time, they must overcome the motor's back EMF, which increases in amplitude and frequency as speed increases.

Since the PI controller has finite gain and frequency response, a time-varying disturbance to the current control loop will cause a phase lag and gain error in the motor current, which increases at higher speeds. This will disturb the direction of the current space vector relative to the rotor, causing a displacement from the orthogonal direction.

When this happens, less torque can be produced by a given amount of current, so more current is needed to maintain torque. Efficiency decreases.

As speed increases, this reduction continues. At some point, the current phase shift exceeds 90 degrees. When this occurs, the torque decreases to zero. Speeds above this point result in negative torque through sinusoidal combination, so this cannot be achieved.

02 AC Motor Algorithm

Scalar control

Scalar control (or V/Hz control) is a simple method of controlling the commanded motor speed.

The steady-state model of the command motor is mainly used to obtain the technology, so transient performance is impossible to achieve. The system does not have a current loop. To control the motor, the three-phase power supply only varies in amplitude and frequency.

Vector control or field oriented control

The torque in an electric motor varies as a function of the stator and rotor magnetic fields and reaches its peak when the two fields are orthogonal to each other. In scalar-based control, the angle between the two fields varies significantly.

Vector control seeks to recreate the quadrature relationship in an AC motor. To control torque, each generates current from the magnetic flux produced to achieve the responsiveness of a DC machine.

Vector control of an AC command motor is similar to control of a single-field DC motor. In a DC motor, the field energy Φ F generated by the field current IF is orthogonal to the armature flux Φ A generated by the armature current IA. These fields are decoupled and stable with respect to each other. Therefore, when the armature current is controlled to control torque, the field energy remains unaffected and a faster transient response is achieved.

[1] [2]
Reference address:Summary of common motor control algorithms

Previous article:How to design a three-level PWM rectifier based on MATLAB?
Next article:A brief discussion on motor classification, current, and wire diameter comparison table

Recommended ReadingLatest update time:2024-11-15 07:16

How to connect the bldc driver? The difference between the bldc driver and the servo motor driver
How to connect the bldc driver The wiring method of BLDC (brushless DC motor) drivers can vary depending on the specific driver model and usage scenario, but in general, the wiring of BLDC drivers includes the following key parts: 1. Power wiring: BLDC drivers require an external power supply. Usuall
[Embedded]
Latest Embedded Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号