
2005 Microchip Technology Inc.
DS93001A-page 3
GS153
dsPIC30F APPLICATION NOTES
The following are some applications notes on BLDC
motor control with the dsPIC30F that will help you jump
start your BLDC motor control project
AN957, “Sensored BLDC Motor Control
Using dsPIC30F2010”
This application note describes a simple open and
closed-loop solution to control a sensored BLDC motor
using a 28-pin dsPIC30F2010. The solution described
uses the six-step commutation method described
above to rotate and control the sensored BLDC motor.
The hardware platform used is the PICDEM MC LV
Board. With minor modifications, this application note
can be used with any other hardware platform from
Microchip (see the following section on motor control
boards). The firmware, with minor modifications, can
also be used with any motor control dsPIC30F device.
The dsPIC30F2010 is ideally suited for this application
due to on-chip availability of the motor control PWM,
Hall sensor and QEI input modules and the ability of the
DSP engine to compute multiple PID control loops.
AN901, “Using the dsPIC30F for
Sensorless BLDC Control”
This application note describes how to implement
sensorless control of a BLDC motor using the back EMF
detection technique mentioned above. The back EMF
voltage is attenuated and fed to the ADC inputs of the
dsPIC
Digital Signal Controller (DSC). The high-speed
ADC is then used to detect the zero crossing. This tech-
nique provides a very efficient control method for starting
and running a sensorless BLDC motor with a minimum
of components. The hardware used is a dsPICDEM
MC1 Motor Control Development Board used in con-
junction with either a dsPICDEM MC1L 3-Phase Low-
Voltage Power module or a dsPICDEM MC1H 3-Phase
High-Voltage Power module.
A dsPIC30F6010 device is used on the MC1 board in
this application. The application note describes in detail
how to start and run a sensorless BLDC motor. The
control method, however, is general enough to work
with any BLDC motor available in the market. Details
are provided to assist you in configuring the 45 param-
eters needed to start and run the BLDC motor. All 45 of
these user parameters can be set using the LCD and
push buttons available on the MC1 development board.
The firmware supports four different control modes and
two starting modes. The hardware drive section is
connected via a 37-pin D-type connector to either a
high-voltage or low-voltage power module, which
allows for BLDC motors that can operate in the voltage
range from 10 to 400 VDC. The firmware can also be
modified to work with any motor control dsPIC30F
device.
The dsPIC30F6010 is ideally suited for this application
because it includes on-chip motor control PWM, Hall
sensor and QEI input modules, along with a fast ADC
required to sample the back EMF and detect zero
crossing. A powerful DSP engine is available to
compute multiple PID control loops.
AN992, “Sensorless BDLC Motor Control
Using dsPIC30F2010”
This application note takes the application described in
AN901 one step further and provides a low-cost, yet
efficient, implementation on the smallest dsPIC30F
motor control device available, namely the 28-pin
dsPIC30F2010 with 12 Kbytes of program memory and
512 bytes of RAM. The hardware is simplified and uses
the stand-alone PICDEM MC LV board as the
hardware platform.
Because the PICDEM MC LV board has no LCD and
the dsPIC30F2010 has limited I/O, the 45 user param-
eters are set using a PC via the serial port and a
HyperTerminal link.
The PICDEM MC LV only supports voltages from 10 to
40 VDC, hence, only low-voltage BLDC motors are
able to run on this board. However, the technique used
in this application can be extrapolated. If higher voltage
and current drivers are provided to support higher volt-
age and current, then a similar, but modified hardware
can be used to run BLDC motors from 40V to 400V DC.
The dsPIC30F2010 is ideally suited for this application.
It includes on-chip motor control PWM, Hall sensor and
QEI input modules, along with a fast ADC to sample the
back EMF and detect zero crossing. A powerful DSP
engine is available to compute multiple PID control
loops.