Microchip Technology DM164130-2 Data Sheet

Page of 60
The BLDC Add-on Board
 2012 Microchip Technology Inc.
DS41629A-page 25
2.4.3
BLDC Parameter Optimization
Brushless motors depend on the software to commutate the motor. The software must 
determine the rotor position relative to the stator so as to commutate the driver circuitry 
at specific rotor positions. The rotor position is determined in sensorless motors by 
voltages induced into the stator by rotor motion. The induced voltage is referred to as 
back EMF or BEMF. When the rotor is stationary, there is no BEMF from which to 
determine the rotor position. Starting the motor requires commutating the motor blindly, 
without the benefit of feedback, to start the rotor in motion fast enough to sense the 
BEMF, and close the loop on rotor position for commutation.
The motor speed, in response to the applied voltage, varies by motor design. We need 
to match the initial drive voltage and open-loop commutation rate to the motor to 
accomplish two objectives:
1. prevent excessive current in the motor
2. start rotation fast enough to sense the BEMF
When the motor is running, the BEMF on the driven pair of stator windings matches the 
applied voltage. The BEMF on the undriven winding starts at one power rail at the 
beginning of the commutation period and ends at the other power rail at the end of the 
commutation period. However, this is only true when the motor is running at the design 
speed. At any other speed, the BEMF is effectively undetectable. Unfortunately, the 
motor will not start if we apply a voltage, and then commutate at the rate for which the 
motor is designed. To start the motor, we need to commutate slower than the design 
rate and then ramp up to the design speed.
The task of motor optimization is to find a combination of applied voltage and 
commutation rate for which the motor will start to rotate. From there, the control 
algorithm will ramp-up the commutation rate to where the BEMF can be sensed. The 
Motor Control GUI enables us to independently set the applied motor voltage and 
commutation rate to find a combination that works. Use the following steps to 
experiment with your motor optimization:
1. Set POT R21 to middle range for your motor or 90 degrees CCW from the middle 
range for the ebm-papst motor supplied with the BLDC Add-on Board.
2. Select Open-Loop mode.
3. Set the speed control to a nominal rate, such as 100.
4. Slowly increase the % Drive control until the motor starts to turn.
5. Slowly increase the speed control until it is just faster than the motor can go.
6. Slowly reduce the speed control until the motor starts to rotate again.
7. Note the % Drive setting, then enter 0 into the % drive control text box.
8. Re-enter the % drive setting noted in step 6, and observe that the motor starts 
spinning.
9. Repeat steps 7 and 8 to verify the motor always starts reliably. If it does not, then 
reduce the speed control slightly and repeat steps 6, 7 and 8.
10. When you are satisfied with the start response obtained by steps 6, 7 and 8, then 
enter the final speed control value into the Speed Start-up value text box. The 
equivalent RPM will be displayed.
Note: The displayed RPM value is only accurate if the motor has the number of 
poles indicated. The number of poles only matters if you want the RPM 
value to represent the mechanical operation. If you are not sure how many 
poles your motor has, then you can determine this by leaving the % Drive 
where it is, setting the speed to zero, and count the number of Step button 
clicks it takes to make one full motor revolution. Divide this number by 
three, that is the number of poles.