Brushless Motors: Design & Control
“Everybody recognizes that if you can make very efficient electric motors, you can make a quantum leap forward.” — James Dyson
Introduction
Motors drive the modern world. Brushless DC Motors (BLDCs), one type of direct-current motor, play a heightened role in almost every commercial industry because of their efficiency, long lifespan, and unique torque-capabilities.
In this article, I’d like to explain the history, design, and control of BLDC motors.
Preliminary Definitions
Stator: The stationary portion on an electric motor
Rotor: The rotating assembly of an electric motor, typically housed inside the stator.
Current: A flow of electricity that results from the movement of electrically charged particles.
Voltage: An electric potential or electromotive force. When a current is applied to a conductor, current flows.
Induction: The production of an electromotive force across an electrical conductor in a changing magnetic field.
Back EMF: An electromagnetic force appearing in an inductive circuit that opposes any change of current in the circuit.
History & Context
The invention of the DC Motor came about in the early 1800s, with initial developments made in 1832 by British scientist William Sturgeon. The first type of DC Motor developed was referred to as “brushed.” These brushed DC motors had stators comprised of a permanent magnet; inside the cylindrical-cavity of the stator is the rotor, which is comprised of the shaft, armature, and commutator.
While the exact workings of brushed motors are undoubtedly genius, they’re not the focus of this article. BLDC’s are.
One crucial topic to note about the brushed DC motor, however, is the commutator.
It’s that yellow-colored piece of metal in the back of the motor that interacts with brushes that are mounted inside the stator. The brushes (ideally) maintain constant contact with the rotor, allowing current to be provided to the rotor at all times.
This clever design requires that only voltage be applied for the motor to run. No complicated control systems are required. Nevertheless, it’s important to note that the brushes cause friction, which decreases torque-efficiency and increases wear.
The brushed DC motor is very convenient for a time when microchips haven’t been invented! Brushed DC motors can be powered by light-infrastructure.
The Solid-State Revolution
When Jack Kilby, a TI Engineer, invented the integrated circuit (IC) on September 12, 1958, the universe was ripe for, as James Dyson puts it, a quantum leap forward in motor technology.
With the advent of the microchip and the lightspeed innovation going on in transistor technology, motors could be designed without the need for the cleverness of the DC motor’s brushes, relying instead of the microsecond-electrical precision now available.
Realizing this, T.J Wilson and P.H Trickey published their paper “D-C machine with solid-state commutation.”
In their paper, Trickey and Wilson introduced the idea of solid-state commutation. By taking advantage of transistors and microchips, which could switch electrical signals in micro-seconds, they eliminated the need for brushes and vastly improved the efficiency and life of motors.
Brushless Motor Design
A BLDC has a rotor and stator, similar to the brushed motor. BLDC’s however (usually) have six coils in the stator and a permanent magnet as the rotor.
Furthermore, most designs have three hall-effect sensors arranged in 120° increments, which electrically respond to the South and North-poles of the rotor. These magnetic sensors determine when current should be applied to the motor coils to make the magnets rotate at the right orientation. When the north-pole is closer to the sensor, the output is positive. When the south-pole is closer, the output is negative.
The stator coils are configured in pairs, with coils opposite to one another connected by wire. We call each coil pair a “phase”. When current is injected into these coils, a magnetic field is created coaxially with the direction of the coil.
While this could be explained using esoteric ideas without proper justification, the true nature of this phenomenon is rooted in special relativity, which is beyond the scope of this article.
And to be completely honest, no one is quite sure why magnetic fields form from moving charges.
Engineering takes predictable phenomenon for granted and use them to drive innovation.
Commutation Principle
By switching one coil-pair on, the north-pole will be attracted and the south-pole will be repelled (or vice-versa). This imparts a torque on the rotor, essentially making the rotor “chase” the magnetic fields created by the stator. This torque, however, will stop once the poles of the stator are aligned with the opposite poles of the rotor.
By switching the coils on and off exceptionally quickly, we can keep the rotor rotating. The method in the video is a simple demonstration, and would clearly fail to keep the torque continuous. It also underutilizes the torque-potential of the coils by only powering one pair at a time.
What other methods of commutation are there?
Trapezoidal Control
“Trap Control” or “Six-Step Commutation”
When analyzing commutation methods, we make a graph of how each phase’s current changes with the rotation of the rotor.
With three hall effects sensors, arranged in the configuration below, we can distinguish the motor’s position by 60° increments (360°/6).
This is where trapezoidal commutation gets it’s colloquial name “six-step commutation.” We can make a graph of each phase’s current through each of these six positions:
At first glance, this appears complicated and unpredictable. However, this pattern is rather intuitive when aggregated and visualized:
While trapezoidal control is one of the easiest commutation methods to implement (as we will see!), it’s not a perfect control pattern.
Literature asserts that trapezoidal commutation can theoretically produce constant-torque, since the back-EMF shape of BLDCs is likewise trapezoidal. In practice, however, the current cannot be established instantaneously in a motor phase due to switching delays; as a consequence, a torque-ripple is present at each 60° commutation.
Pros:
—Control algorithms are relatively simple (6 states)
— Only two phases are on at a time
— Less switching loss
— High speed and high torque
Cons:
— Significant torque-ripple at every 60° commutation
— Doesn’t maximize torque output and motor efficiency
— High acoustic and electromagnetic noise
Field-Oriented Control
“FOC” or “vector control”
Imagine you’re trying to rotate a screw using a wrench. In your head, picture yourself “pushing” the wrench in towards the screw or “pulling” it away.
In this scenario, the force you’re applying is parallel to the wrench. Of course, the wrench won’t rotate.
However, try applying a force perpendicular to the wrench. Now it will rotate!
From this example, it’s evident that perpendicular forces on objects impart torque. Parallel forces don’t!
FOC applies this concept to BLDC motor control by trying to maximize the magnetic force from the coils that’s perpendicular to the rotor, so that all the energy used to create those fields is fully utilized for torque-creation.
Get Ben Saxon’s stories in your inbox
Join Medium for free to get updates from this writer.
To explore this idea further, we must first define our BLDC in a mathematical coordinate system, like so:
This is a good start. Let’s now define some system variables:
Rotor Angle: θ
Phase Currents: I_U, I_V , I_W
Fixed X,Y Coordinate Plane: I_A, I_B
**Medium does not allow subscripts, interpret “X_Y” as “X sub Y”**
We now arrive at a new coordinate system that incorporates the XY plane:
Finally, we must introduce one last coordinate system: the quadrature and direct system.
“Quadrature” simply refers to the axis perpendicular to the rotor poles. “Direct” refers to the axis parallel to the poles.
We now introduce new system variables, I_d and I_q: the current vectors for the direct and quadrature axis, respectively.
To maximize torque on the rotor, we maximize I_q and minimize I_d. It’s the same concept behind the wrench analogy.
But how?
FOC Algorithm
In order to minimize current to the direct axis, and maximize current to the quadrature axis, we must do the following:
- Measure the angular position of the rotor (as precise as possible)
- Compute the desired stator field vector based on the measured angular position of the rotor
- Control the 3-phase currents to achieve the desired stator field vector
The first step can be done rather trivially using an encoder. Our difficulties begin with the second step.
We need to convert our currents in the phase axes, I_u , I_v , and I_w, into components in the direct-quadrature system to see how efficiently our current energy expenditure is being used. This can be done with two handy transforms:
The Clarke Transform
“There is no demand for women engineers, as such, as there are for women doctors; but there’s always a demand for anyone who can do a good piece of work.”
Before we can transform our phase-currents into quadrature and direct-current, we have to take a pitstop in the αβ system. We can use the Clarke Transform to accomplish this:
This is nothing more than simple trigonometry. From our coordinate-system, the U-axis lays on the α-axis, so it contributes it’s entire current in the positive direction. Then, we find the horizontal components of the V and W phases, and subtract them, since they point left.
Now, we’ve successfully transformed our phase currents into currents into α and β parts. Let’s now convert to the quadrature and direct-axes:
Park Transform
Now to transform from the XY axes to the DQ (direct-quadrature) axes. This can be accomplished by the following:
Ok. Using the Clarke transform, then inputting that result into the Park transform, we now have the total current contributions to both the quadrature and direct axes.
We can now theoretically understand the behavior of FOC with these mathematical transforms.
But how do we physically implement this?
The PID Controller
“Proportional-Integral-Derivative Controller”
PID controllers, which stand for proportional-integral-derivative controllers, are one of the most ubiquitously-used algorithms in industrial-control.
A PID controller uses proportionality, integration, and derivation to minimize error. We create an error-function called e(t), which is simply defined by (desiredValue - the currentValue).
There are three ways we can minimize e(t):
Proportional Control: Multiply e(t) by some proportional gain, Kp, and add that change to the initial value.
Integral Control: Integrate the error over time, multiply by some gain, Ki, and add that to the initial value. Integral control accounts for past-values of error. When e(t)=0, the integral will cease to grow.
Derivative Control: Take the derivative of the error, multiply by some gain, Kd, and add that to the initial value. This is called “anticipatory control,” as it’s an estimate of future error. The more rapid the change, the greater the dampening effect.
Venturing deeper into PID controllers is beyond the scope of this article, so let’s now tie it all together…
Implementing FOC:
The key to implementing FOC is to use both the inverse Clarke and Park in addition to the normal transforms.
The inverse Park transforms currents in the DQ system to the αβ system.
The inverse Clarke transforms currents in the αβ system back to the coil-phase system.
We start in the initial state, with the rotor (presumably) in some randomized position.
The encoder first records the rotor position, and we can simply use the inverse Clarke and Park transform with a quadrature-value of 1 and direct-value of 0. In essence, starting off with maximal torque.
After the rotor rotates some small value, the encoder will record a different rotor position θ, and the current stator-torque vector will no longer be optimal… there will be some contribution to the direct-axis.
We can feed the current values of I_q and I_d into their own PI controllers. The derivative-control is not necessary, for reasons outside the scope of this article.
The PI Controllers will minimize the error of between the desired I_d and I_q and the current values of I_d and I_q.
It will then feed these corrected values into the Inverse Park and Clarke, to transform the currents from the DQ space back to the phase-coil space.
Finally, current-controllers change the current in each phase to reflect these new values.
And the cycle continues…
Pros:
— Attains maximum energy-efficiency
— Significantly reduces acoustic and EM noise
— Less thermal buildup
— More precise positioning and motor-control
— Continuous torque (no ripple)
Cons:
— Encoders and control system is costly
— PI control parameters are difficult to set
— High switching loss
Wrapping Up
Brushless DC Motor control presents a unique challenge compared to their predecessor, the brushed DC motor.
Simpler methods like trapezoidal control can be implemented for low-cost, high-speed applications like consumer-grade power tools, but methods like these don’t fully utilize the potential of BLDCs.
Complex methods like FOC (field-oriented control) are invaluable to industries like industrial engineering, where CNC machines and linear actuators require high-efficiency, low-maintenance, precise torque characteristics and control, and high-power density. However, they’re complicated and costly to implement.
I hope this article gives you a solid idea of BLDCs. While it brushes over some nuanced topics like sensorless control and filtering, it hits at the general idea and implementation behind trapezoidal and FOC algorithms.





