Brushless DC Motor Control

Emily Adam 

Link to Research Document 

Introduction

While our team has used exclusively brushed DC motors for our past rovers, there’s a lot more options out there. Motors vary in terms of commutation methods, motor structure, and control algorithms, each with their own advantages/disadvantages. This document provides a platform for the team to investigate brushless motor alternatives, from a controls perspective. 

Brushed DC Motors

Brushless DC Motors

  • Stator consists of permanent magnets. Rotor consists of coil windings

  • High maintenance

    • Not sustainable for long-term applications due to wear on brushes

  • Low efficiency 

  • Mechanical commutation 

    • Motor is supplied with DC voltage, so commutation is achieved by using brushes paired with a mechanical commutator

  • Easy to control. Control speed by varying the average voltage supplied

  • Stator consists of coil windings. Rotor consists of permanent magnets

  • Low maintenance

  • High efficiency

  • Electrical commutation

    • Motor is supplied with AC or AC-like voltage (which would be manufactured from a DC supply)

  • Complex to control. Requires power supply waveforms to be synthesized, changing their frequency and amplitude

General Workings of a Synchronous Brushless Motor

Within a synchronous brushless motor, the rotor has a North and South pole. Then, along the stator are numerous coil windings. When a pair of these windings (i.e. phase A and phase C in the GIF below)  are energized, it creates magnetic field lines that the rotor will try to align itself with. 

Back-EMF (BEMF) And Its Relevance

Back-EMF is the opposing electromotive force (EMF) produced by Lenz Law. This is when an object experiences a change in magnetic flux, i.e. from a motor’s rotor rotating through the stator’s magnetic field. EMF is induced and it obtains a polarity that opposes the change that created it, in attempt to keep the magnetic flux constant. Back-EMF has the effect of reducing supplied voltage to the load. It is also only produced when the motor is turning. Thus, no motion = no back-EMF.  Here is a review on the fundamental principles that allow motors to move. 

Depending on the motor’s internal structure, it will produce different back-EMF patterns. For brushless motors, this further categorizes two types of motors: “Brushless DC” motors (BLDCs), which have a trapezoidal shaped back-EMF, and “Permanent Magnet Synchronous” motors (PMSMs), which have a sinusoidal shaped back-EMF. 

The graphs shown above are what would be seen if an oscilloscope voltage probe was connected across two phases of a brushless motor (PMSM on the left, BLDC on the right) and the rotor was manually turned. It is seen that back-EMF is a function of rotor position and is directly related to speed. To maximize efficiency, we want to model our drive current to match the motor’s back-EMF waveform. This means the resulting waveform is an amplified version of the back-EMF profile, and that our control method should vary depending on the shape we’re trying to match. For trapezoidal back-EMF, we use trapezoidal control. This technique is easier to implement, requires less processing power, and is good for high speed applications. However, it experiences ripples in torque/speed production, which will be discussed more later. For sinusoidal back-EMF, we use field-oriented control. This technique is more complex, but is highly efficient and has only a small torque/speed ripple. 

Torque Considerations

When the rotor’s magnetic field is aligned with the stator’s magnetic field, the torque produced is equal to zero. Thus, maximum torque occurs when the fields are perpendicular to each other. Maximum torque also occurs when the rotor’s magnetic field is perpendicular to the stator’s current vector. This is because the phase currents flow into coils, which will result in a magnetic field in the same direction, as seen in the image below. 

With trapezoidal control, perpendicularity is never maintained, but rather, the angle between the rotor and stator fields fluctuates within a range. This is depicted in the GIF below.

On the other hand, with field-oriented control, the angle is held at 90 degrees. This quality is what makes field-oriented control better for producing higher torques. The constant perpendicularity is also depicted in the GIF below.


Trapezoidal Control

Trapezoidal control is the strategy to create rotation by energizing only the next set of two phases to move the rotor. 

Creating Motion 

The following system is needed to generate consistent rotation in a brushless motor. Each section will be explored in-depth.

Three-Phase Inverter: converts DC to three-phase currents, which allows for electrical commutation. This inverter circuit consists of three pairs of two MOSFETs in series, called half-bridges. Each half-bridge is hooked up to a different phase on the BLDC motor, and together, the MOSFETs switch to create a number of paths to connect different pairs of motor phases to the supply voltage and ground. 


The enabled MOSFET on the high-side of the inverter supplies positive current to its connected phase. The current then flows through that phase into another phase, connected to the enabled low-side switch. Thus, the low-side phase experiences opposite, or negative, current flowing through it. The layout of these connections is depicted in the image below. The flow of current is shown in the GIF.

Gate drivers: used to turn on/off the specific MOSFETs, according to the commutation logic. Gate drivers can be implemented on their own, connected to an external three-phase inverter. They can also be implemented as both the gate drivers and inverter in one chip. 

Feedback control: collects information on the rotor’s position to determine what stator coils to energize next. This can be achieved using sensors such as encoders or resolvers to be coupled to the motor’s shaft, or hall-effect sensors to be integrated in the motor’s construction. A sensorless technique is to look at the back-EMF waveform on an uncommutated/powered-off  phase. For example, in the image below where phase B is driven high and phase C is driven low, back-EMF would be taken from phase A.

As mentioned previously, a motor’s back-EMF is a function of rotor position and thus position can be derived. While getting motor feedback from back-EMF means less components in the system, the feedback strategy is less accurate at start-up and at lower speeds when back-EMF is weak.

Commutation logic: used to control the gate drivers, based on rotor position information provided by the feedback system. This can come in the form of an MCU, FPGA, DSP, digital state machine, or pure analog implementation.

Controlling Speed

While the above circuitry successfully produces rotation, it does so at a fixed speed. This is because our motor is being supplied with a fixed voltage. Thus, to vary speed, we need to vary voltage. The easiest and most common way to achieve this is by using Pulse-Width-Modulation (PWM). In short, PWM is the act of turning on a signal for a percentage of time. This therefore decreases the average voltage to some specified value. 

PWM is implemented into trapezoidal control in two ways. One way is to introduce a Buck Converter between the controller and the three-phase inverter. Buck Converters are used in circuits to take the input voltage and output a lower, specified voltage to the load. They consist of a PWM controller and a transistor (which can both be bought in one integrated circuit), hooked up to an inductor that generates a back-EMF voltage to oppose the input voltage by a specified amount.

 

The other method is to implement PWM techniques directly into our commutation logic. While the Buck Converter strategy chooses a pair of coils to energize, then lowers the voltage, then executes the command, this alternative method lowers the voltage while choosing the energizing pattern. For example, if the logic wants to pull Phase A to high and Phase C to low, it will switch between that command and its reverse, Phase A to low and Phase C to high. This achieves the same things that PWM does, in that the voltages to Phase A and Phase C are averaged to some lower value, thus lowering the speed of the motor.


Field Oriented Control

Field Oriented Control (FOC) is the control algorithm that aims to produce a stator magnetic field/net stator current vector that is constantly perpendicular to the direction of the rotor’s magnetic field. It uses three phase, sinusoidal currents and space vector modulation to create those currents. 

Creating Motion & Achieving Orthogonality

The following system is needed to generate consistent rotation in a brushless motor while producing maximum torque. Each section will be explored in-depth.

Clarke/Park Transformations: The first step in FOC is to determine how to modify the three-phase currents such that we produce our desired net current vector. To do this, we need to know the three-phase currents that are already flowing through the motor. We also need to know the rotor’s position, which can be determined using any of the previously mentioned sensored or sensorless techniques. With this information, we compute the desired currents -- which produce a net current vector orthogonal to the rotor’s magnetic field -- and compare it against the true currents. If there is error, the three-phase currents are modified to achieve orthogonality based on the rotor position. How we regulate and modify the currents is by using Clarke and Park transformations. These help us simplify how we process the current data. Essentially, the forward Clarke transformation simplifies the net current vector from three axes/phases -- called the abc Frame --  to two axes/phases -- called the αβ Stationary Frame. It’s like reimagining the motor with four coils, spaced 90 degrees from each other, instead of a motor with six coils, spaced 60 degrees.


The forward Park transformation then further simplifies the Clarke transformed waveforms by translating them to the DQ Rotating Reference Frame. The Park transform breaks up the current vector into two components: the Direct Axis -- which is aligned with the rotor’s magnetic field -- and the Quadrature axis -- which is orthogonal to the Direct Axis. Notice that these components rotate with the current vector, now that we’re in the rotating reference frame. Also notice how the direct and quadrature currents no longer have a sinusoidal shape when plotted. Thus, Id and Iq are interpreted as DC signals. 

Iq Reference, 0, and PI Controllers: After obtaining Id and Iq from the Clarke and Park transformations of the current in the motor, the next step is to modify them to create our desired, orthogonal vector. Two PI controllers are needed -- one for bringing Id to zero and another for bringing Iq to its maximum. The output of the PID controllers are the voltages that would produce a current vector of the Id and Iq values. 

Inverse Park, SPWM/SVPWM Generator: The goal of the Space Vector PWM (SVPWM) Generator or Sinusoidal PWM Generator (SPWM) is to generate the duty cycles/logic to eventually produce the voltage vector formed by Vd and Vq using PWM. Both SVPWM and SPWM operate fundamentally the same way, but differ in their switching sequences. Essentially, the eight possible combinations of the three-phase inverter produce six “Basic” vectors along the stator and two Null vectors. 


Using PWM to switch between Basic vectors will determine the position of the voltage vector, while switching between Basic and Null vectors will determine its magnitude. The reason we need the Inverse Park transformation is because we’re now viewing specific locations on the motor. Therefore, we transition out of the rotating frame and into the simplified, stationary frame (αβ Frame).

PWM Driver and Three-Phase Inverter: The microcontroller/PWM driver turns the logic provided by the SPWM/SVPWM generator into actual PWM signals. These are applied to the gate drivers that operate the three-phase inverter as intended (i.e. similarly to the GIF above). Overtime, the observed currents from the three-phase inverter to the motor are sinusoidal, with phases A, B, and C spaced out by 120 degrees.

Motor Circuitry Protection

The additional functions should be added to any motor driver system to prevent irreversible failure.

  • Overcurrent protection (OCP): stops the motor from crossing current rated limits
  • Thermal shutdown: stops operations if the motor exceeds its rated temperature
  • Under-voltage lock-out (UVLO): protects the motor driver circuitry from supply voltage dropping below operating voltage 
  • Shoot-through: prevents both MOSFETs in series (in each half-bridge  circuit) from being on at the same time, which results in a current short 
  • Lock detect: determines when the motor is stalled
  • Anti-voltage surge (AVS): prevents energy from returning to supply voltage by the motor

Recommended Resources!

Background knowledge

Covering Brushless Motor Control