Electric motors play a role in almost every part of our daily lives. They run our dishwashers and washing machines, cool our houses, and are essential to modern vehicles. The Brushless DC (BLDC) motor has been the motor of choice for many high- to mid-range systems needing both constant or variable speed and high reliability. With a few Hall Effect sensors and a controller, the BLDC motor becomes relatively easy to control. Today, BLDC motor systems are very commonplace—however, most use sensors to control the motor. In an effort to reduce the cost and improve the reliability of BLDC systems, many designers are looking to eliminate the sensors. Sensorless systems have been readily available for quite some time however, in the past, they required expensive controllers to run the algorithms needed to eliminate the sensors. Digital Signal Controllers (DSCs) such as Microchip’s dsPIC33FJ16MC102 DSC, which costs close to a dollar in volume, are bringing sensorless BLDC motor control to the masses.
Sensorless BLDC control relies on the properties of the BLDC motor to calculate the position of the rotor and from there commutate the motor at the right times. To understand how this works, let’s take a step back and look at the BLDC motor itself, and basic sensored control. Fundamentally, the BLDC motor uses an energized coil—called the stator—to cause a permanent magnet on the rotor (or shaft) to align with the coil, which causes the rotor to rotate and generate torque. In a three-phase BLDC motor, there are three coils (or phases) in the stator that are turned on and off sequentially to cause the rotor to rotate, and to generate torque. In order to keep the rotor spinning, the phases must be turned on and off in advance of the rotor. To make the rotor spin smoothly, the motor is built with each coil or phase broken down into multiple sets of coils. Each phase must be turned on and off in a particular order to make the rotor rotate. The position of the rotor dictates which phase needs to be turned on or off. Therefore, knowing the position of the rotor is critical for the motor’s operation, and a controller must actively switch the phases on and off in order for the BLDC motor to operate. The controller must keep the magnetic fields inside the stator ahead of the rotor, to keep the rotor spinning. The simplest way to know the rotor’s position is to use Hall Effect sensors, which generate pulses that tell the controller the rotor’s position. With the rotor’s position known, all that is left for a basic BLDC controller to do is lookup which pattern for the three phases corresponds to the position of the rotor, and switch the phases to that pattern.
Sensored operation is very easy to implement, but eliminating the sensors reduces the system’s cost and improves the reliability. To understand how the sensorless algorithm calculates the rotor’s position, let’s take a closer look at the BLDC motor’s three phases of the BLDC motor.
In “trapezoidal” control, at any one time, one phase is pulled high (+VBUS), one phase is pulled low (-VBUS), and the third phase is inactive. Hence the name, as the waveform of each phase is shaped like a trapezoid (see Figure1). When the rotor passes by a phase, the permanent magnet on the rotor induces a current in that phase that results in a voltage known as back electromotive force (EMF). The back EMF is dependent on the number of turns in each phase winding, the angular velocity of the rotor, and the strength of the rotor’s permanent magnet. The back-EMF waveform of each phase is related to the position of the rotor, so the back EMF can be used to determine the rotor’s position.
There are many different methods of using back EMF to determine the position of the rotor—one of the most common and most robust is zero-crossing detection. When one of the back-EMF signals transitions and crosses zero, the controller needs to switch the pattern on the phases. This process is known as commutation (see Figure 2). In order to keep the rotor advancing, there must be a phase shift between when the zero crossing occurs and when commutation occurs, which the motor controller must calculate and compensate for. A simple way to implement zero crossing is to assume that a zerocrossing event occurs whenever the back EMF on any of the phases reaches VBUS/2.
With a few op amps configured as comparators, this method can be easily implemented. However, there are several problems with this method. First and foremost, the back EMF is typically less than VBUS, so the zero-crossing events don’t necessarily happen at VBUS/2. Additionally, the properties of each phase might be different, so the back EMF voltage for a zero crossing on one phase might be different from that of the other phase. Finally, this simplistic sensing method causes positive and negative phase shifts in the sensed back-EMF signals.
In an actual motor, the zero-crossing threshold voltage varies considerably. Fortunately, this variable threshold voltage is equal to the voltage of the neutral point of the motor, as the neutral point of motor is the average of the back EMF of all three phases. Therefore, whenever the back EMF of any phase equals the motor’s neutral point, a zero-crossing event has occurred and the controller needs to commutate. This can be done using resistors and op amps, or by using the ADC module and software on the controller, itself. With a programmable controller, such as the dsPIC® DSC, the back EMF for each phase can be sampled using the ADC module, and the neutral point can be easily recreated in software by taking the average of the three back-EMF signals. The software can then compare this value to the sensed back EMF of the three phases and detect when a zero-crossing event has occurred. Once a zero-crossing event has occurred, the controller commutates the motor and the process starts all over again. Therefore, by using the back EMF of the motor and detecting zero crossings, the sensor can be eliminated from the system while maintaining the same level of performance.
A real-world system introduces other challenges to sensorless operation. First, at low speeds, the back EMF is very small and very difficult to detect. So, the controller must guess the rotor’s position until the motor begins to spin fast enough to generate enough back EMF to operate in sensorless mode. A software-programmable controller enables the system startup to be tailored to the particular application, reducing the effects of this issue. Another issue is the switching noise from the MOSFETs. As the MOSFETs switch to change the voltage on each phase, they introduce noise into the back EMF sensed by the controller’s ADC module. This noise needs to be filtered out, in order to accurately recreate the back EMF of each phase. A DSC has a DSP engine built into the processor, which can easily handle the computations needed to implement a digital filter and eliminate the switching noise. Other challenges arise from the specifics of a particular design. However, using a software-programmable controller typically makes them much easier to solve, as it does for the two issues mentioned here.
Learning any new technology is made easier by examining and experimenting with an example. Development tools tailored to sensorless BLDC control greatly simplify the learning process and speed product development. Traditionally, learning from a development tool can come at a high price, in terms of both money and hours spent learning the tool. New tools in the market are changing this. Tools such as Microchip’s motor-control starter kit cost less than $100 and include detailed application notes, example software and hardware schematics (see Figure 3). Motor-controller suppliers, including Microchip, typically offer the software and hardware files free of charge from their Web sites, making the learning process even easier.
In summary, sensorless BLDC control enables the cost of sensors and their cabling to be eliminated from the system. With new development tools and motor controllers, learning how to add sensorless control to a system is more accessible than ever. Application notes from motor-controller suppliers detail the ins and outs of sensorless algorithms and provide example software to accompany the theory. Development tools that used to cost hundreds of dollars now cost less than $100, and the silicon devices needed to implement the sensorless motor control algorithm are now close to $1 in volume. As the electronic motor market continues to grow, the demand for BLDC motor systems will also grow and the cost pressures will rise. Sensorless techniques are leading the way to meet these new demands.