Brushless DC electric motors (BLDC), also known as electronically commutated motors (ECMs, EC motors) or synchronous DC motors, are synchronous motors powered by DC electricity via an inverter or switching power supply, which produces an AC electric current to drive each phase of the motor via a closed-loop controller. The controller provides pulses of current to the motor windings that control the speed and torque of the motor.

The advantages of a brushless motor over a brushed motor are the high power to weight ratio, high speed, and electronic control. Brushless motors find applications in such places as computer peripherals (disk drives, printers), hand-held power tools, and vehicles that range from model aircraft to automobiles.

This project describes how to control a 3-phase brushless DC motor using a GreenPAK.

Below we described steps needed to understand how the motor control has been programmed. However, if you just want to get the result of programming, download GreenPAK software to view the already completed GreenPAK Design File. Plug the GreenPAK Development Kit to your computer and hit the program to design the device.

Construction and Operating Principle

A BLDC motor’s construction and operation are very similar to AC induction motors and brushed DC motors. Like all other motors, BLDC motors also consist of a rotor and a stator (Figure 1).

The BLDC motor stator is made from laminated steel stacked up to carry the windings. Windings in a stator can be arranged in two patterns - star pattern (Y) or delta pattern (∆). The major difference between the two patterns is that the Y pattern gives high torque at low RPM and the ∆ pattern gives low torque at low RPM. This is because in the ∆ configuration, half of the voltage is applied across the winding that is not driven, thus increasing losses and, in turn, efficiency and torque. BLDC motors are controlled using electrical cycles. One electrical cycle has 6 states. The Hall sensor-based motor commutation sequence is showed in Figure 2.

The underlying principles for the operation of a BLDC motor are the same as with a brushed DC motor. In the case of a brushed DC motor, feedback is implemented using a mechanical commutator and brushes. In a BLDC motor, feedback is achieved using multiple feedback sensors. The most commonly used sensors are Hall sensors and optical encoders.

Within a 3-phase BLDC the number of teeth (poles) is a multiple of 3 and the number of magnets is a multiple of 2. Depending upon the number of magnets and teeth each motor has a different number of cogging (i.e. magnetic attractions between rotors and stators) steps per turn. To calculate the number of steps (N) we need to know how many teeth and how many magnets are used in the motor. The motor used in this project has 12 teeth (poles) and 16 magnets.

𝑁 = 𝑝𝑜𝑙𝑒𝑠 ∗ (𝑚𝑎𝑔𝑛𝑒𝑡𝑠 / (𝐺𝐶𝐷(𝑝𝑜𝑙𝑒𝑠, 𝑚𝑎𝑔𝑛𝑒𝑡𝑠))

So, to make 1 turn we need to generate 48 electrical steps.


The main block diagram and typical application circuit are shown in Figure 3 and Figure 4 respectively.

This design has 2 inputs to control motor speed and direction. PIN#8 controls direction; a HIGH level on Pin#8 indicates the motor rotation is clockwise and a LOW level indicates that it’s counterclockwise. PIN#2 is used to control speed via an input frequency. Absence of the frequency signal on this pin will turn off the driver and the motor will stop. Applying frequency to this pin will start the motor during the first 500ms. Using an input frequency allows us to control the motor speed very precisely. To calculate RPM we need to know how many electrical steps a motor contains:


Read more »