MICROCHIP GS001

GS001
Getting Started with BLDC Motors and dsPIC30F Devices
Author:
Stan D’Souza
Microchip Technology Inc.
advance and is implemented mainly in software at high
speeds of rotation. The result of phase advance is
better efficiency in the BLDC motor operation.
INTRODUCTION
Sensored BLDC Motor Control
As a means of reducing high energy and maintenance
costs in motor control applications, BLDC motors are
seeing a resurgence in applications where efficiency
and reliability are important. The dsPIC30F motor control devices are ideally suited to drive and control a
wide range of BLDC motor types, in a large number of
applications. Microchip has developed a number of
solutions using the dsPIC30F and BLDC motors. This
document will help you select an appropriate solution
for your BLDC motor application.
When driving a BLDC motor, it is important to know the
position of the magnetic rotor with reference to the
stator. Most commonly, Hall effect sensors are used to
generate feedback on the rotor position. This type of
control is called sensored BLDC motor control. Most
BLDC motors have three windings. Based on the
position of the magnetic rotor, two windings are energized at a given time with each phase conducting for
120 electrical revolution degrees, resulting in six
distinct combinations of energization. This type of drive
is called “trapezoidal” or “six-step commutation”.
BLDC MOTOR BASICS
SIX-STEP COMMUTATION
DC brush motors have a permanent magnet on the
stator with the motor winding on the rotor. During rotation, the current in the windings is reversed using
mechanical carbon brushes and a commutator located
on the rotor. The BLDC motor has permanent magnets
on the rotor with the electrical windings on the stator.
The first obvious advantage of the BLDC motor is the
elimination of the mechanical commutator and
brushes, which significantly improves mechanical
reliability. The commutator and brushes in DC motors
also give rise to sparking, so eliminating these
components means that BLDC motors can operate in a
harsh environment. The I2R heat losses in the windings
of a BLDC motor are now on the stator and can be
dissipated very easily. Consequently, efficiency of the
BLDC motor is vastly improved.
Figure 1 depicts a typical six-step commutation
scheme with the Hall sensor output overlay. Six-step
commutation offers a simple, yet efficient, method of
driving a BLDC motor. Hall A (HA), Hall B (HB) and Hall
C (HC) sense the position of the rotor with respect to
the windings, R, Y and B. Depending on the Hall sensor
reading from 1 to 6, an appropriate pair of windings is
driven high and low with the third winding not driven.
Each 360 degree electrical cycle is broken down to six
60 degree electrical sectors, in which one winding is
driven high, a second is driven low and the third is not
driven. Example: In Hall position 6 or sector 1, the R
winding is driven high while the B winding is driven low
and the Y winding is not driven. By reading the Hall
sensors, the six-step commutation algorithm can very
easily be implemented in software.
There are, however, some challenges when spinning a
BLDC motor. Firstly, a revolving electrical field has to
be created in the windings, which also has to be well
aligned with the magnetic field on the rotor. The
efficiency of the BLDC motor depends largely on the
alignment of the revolving electrical field to the
magnetic field on the rotor. To sense the magnetic field,
Hall sensors are normally used. Based on the signal
presented by the Hall sensors, the windings are appropriately excited. As the speed of the rotor increases,
however, there is a certain amount of lag between the
voltage excitation and the current effect on the
windings due to the inductance of the windings. To
overcome this lag, the voltage is initiated a little in
advance. This phenomenon is known as phase
© 2005 Microchip Technology Inc.
FIGURE 1:
TYPICAL SIX-STEP
COMMUTATION
HA
R
60°
HB
Y
HC
B
Sector
Hall
5
5
0
4
1
6
2
2
3
3
4
1
5
5
0
4
1
6
DS93001A-page 1
GS153
DRIVING SENSORED BLDC MOTORS WITH A
SINUSOIDAL VOLTAGE
When it is rotated like a generator, a BLDC motor
creates a sinusoidal voltage output (120 degrees apart)
in all three phase windings. So the “natural” drivers for a
BLDC motor are three sinusoidal voltages at
120 degrees apart. The six-step commutation normally
works very efficiently in most BLDC applications.
However, in some applications, the DC switching of the
PWM drive voltage used in six-step commutation sometimes causes a phenomenon known as torque ripple.
Torque ripple typically manifests as a low-frequency
rumble in some systems.
An alternative to the six-step method is to feed a PWM
driven sine wave to the three phases (at 120 degrees
apart) using a Space Vector Modulation (SVM)
technique. This method is just as efficient as six-step
commutation and delivers uniform torque to the load.
Microchip is developing an application note on this
technique.
For example, in Sector 1, the Y winding is monitored for
zero crossing. When that transition occurs, the timer is
loaded with half the T60 time in a timer. When that timer
times out, the windings are commutated as described
earlier. That is, Y is driven high, B is kept at low and R
is not driven.
Microchip has developed two application notes on sensorless BLDC control: AN901, “Using the dsPIC30F for
Sensoreless BLDC Control” and AN992, “Sensorless
BLDC Motor Control Using dsPIC30F2010”.
FIGURE 2:
0
R
T30
0
Y
Sensorless BLDC Motor Control
Sensors add cost to a BLDC motor application. Also,
sensors need to be adjusted during the manufacturing
process. In quite a few applications, however, the need
to find the exact position of the rotor is not necessary.
Fan blowers and compressor motors are typical applications which run at a constant or limited speed range.
In these applications, the back EMF detected on the
third unexcited winding can be used to switch the PWM
commutation of the motor windings.
TYPICAL SENSORLESS
COMMUTATION
T60
0
B
SECTOR
5
0
1
2
3
4
5
0
1
Figure 2 shows a typical sensorless commutation
diagram. In this method, the back EMF voltage on the
winding that is not driven in each sector is monitored.
When this voltage crosses the imaginary “half-point” or
“zero-crossing” line, zero crossing is detected. The
algorithm now knows that it is in the center of the sector
and has 30 electrical degrees remaining to do the next
commutation. The time taken for each sector
(60 degrees) is known as, say T60. When the zerocrossing point is detected, a timer is loaded with half
the value of T60. When this timer times out, an interrupt
is generated and the next winding commutation is
implemented. This method of control is called
sensorless control of a BLDC motor.
DS93001A-page 2
© 2005 Microchip Technology Inc.
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 technique 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 conjunction with either a dsPICDEM MC1L 3-Phase LowVoltage 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 parameters 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.
© 2005 Microchip Technology Inc.
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 parameters 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 voltage 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.
DS93001A-page 3
GS153
dsPIC30F HARDWARE MODULES TO
CONTROL BLDC MOTORS
Micorchip offers a number of hardware tools to help you
implement your own BLDC motor control solution.
FIGURE 3:
PICDEM™ MC LV BOARD
A two-lines by 20-character LCD is used along with four
LEDs for display purposes. Four push buttons and two
potentiometers are available for data entry and feedback. Spare analog and digital pins are made available
on two header banks.
No drivers are available on the board, so the MC1
board must be connected to an external drive system.
A 37-pin D-type connector is used to connect the MC1
board to a dsPICDEM MC1H 3-Phase High-Voltage
module (Figure 5) or dsPICDEM MC1L 3-Phase LowVoltage module (Figure 6). The D-type connector
connects to external circuitry via opto isolators, thus
allowing for a safe, electrically isolated drive to high
voltage (400 VDC).
The dsPICDEM MC1 Motor Control Development
Board can be used with a dsPICDEM MC1H 3-Phase
High-Voltage Power module to drive a high-voltage
BLDC motor. Refer to the “dsPICDEM™ MC1 Motor
Control Development Board User’s Guide” (DS70098)
for full details on the capabilities and functions
available on this board.
PICDEM MC LV Board
This board offers a self-contained, low-voltage platform
(Figure 3) that supports all 28-pin motor control
dsPIC30F devices, including the dsPIC30F2010,
dsPIC30F3010 and the dsPIC30F4012. Hardware support for sensored, as well as sensorless, BLDC motors
is available on this board. The factory shipped board
supports a motor voltage of 24V; however, the
hardware can support voltages from 10V to 40V at
motor currents of up to 4 Amps.
A serial port is available to communicate with an
external source. An MPLAB® ICD 2 In-Circuit Debugger connection is available for programming and
debugging purposes. A potentiometer is available for
speed control, along with two switches for start/stop
control.
FIGURE 4:
dsPICDEM™ MC1 MOTOR
CONTROL DEVELOPMENT
BOARD
[Insert photo of dsPICDEM MC1 Board]
On-board power drivers support direct drive to the
BLDC motor. A low-side power resistor supplies current
and Fault feedback to the dsPIC DSC. The “PICDEM™
MC LV Development Board User’s Guide” (DS51554)
provides details on the use of this board.
dsPICDEM MC1 Motor Control
Development Board
The dsPICDEM MC1 Motor Control Development
Board (Figure 4), is a general purpose development
board that uses a dsPIC30F6010 to control a wide
range of motor control applications, including sensored
and sensorless BLDC motors. Serial RS-232 and CAN
ports are supported, along with an ICD 2 In-Circuit
Debugger connection for programming and debugging
purposes.
DS93001A-page 4
© 2005 Microchip Technology Inc.
GS153
FIGURE 5:
dsPICDEM™ MC1H 3PHASE HV MODULE
FIGURE 6:
dsPICDEM™ MC1L 3-PHASE
LV MODULE
dsPICDEM MC1H 3-Phase High-Voltage
Power Module
dsPICDEM MC1L 3-Phase Low-Voltage
Power Module
The high-voltage module (Figure 5) connects to an
MC1 board to form a high-voltage BLDC motor control
system. The dsPICDEM MC1H 3-Phase High-Voltage
Power module offers high-voltage isolation, as well as
Fault, overcurrent and overvoltage protection. Each
phase is monitored with fast current sensors and a
robust latching network to disable the outputs in case
any Fault condition occurs. This protection is necessary during code development and prevents accidental
destruction of the drive circuitry due to inadvertent
software issues.
The low-voltage module (Figure 6) connects to an MC1
board to form a low-voltage BLDC motor control
system. The dsPICDEM MC1L 3-Phase Low-Voltage
Power module offers voltage isolation, along with Fault,
overcurrent and overvoltage protection. Each phase is
monitored with fast current sensors and a robust latching network to disable the outputs in case any Fault
condition occurs. This protection is necessary during
code development and prevents accidental destruction
of the drive circuitry due to inadvertent software issues.
The high-voltage module rectifies a single-phase wall
input voltage of 110 VAC to generate a DC bus voltage
of 165 VDC. Alternatively, it can also rectify an input
wall voltage of 220 VAC to get a DC bus voltage of
330 VDC. This DC bus voltage is then converted to
drive a 3-phase motor.
The hardware can be used to drive ACIM and BLDC
motors. For complete details on the features and
capabilities of this module, refer to the “dsPICDEM™
MC1H 3-Phase High-Voltage Power Module User’s
Guide” (DS70096).
© 2005 Microchip Technology Inc.
DC voltage is supplied externally from a power supply.
This DC bus voltage is then converted to drive a 3-phase
motor.
The hardware can drive 3-phase low-voltage BLDC
motors. For more details on the features and capabilities of this module, refer to the “dsPICDEM™
MC1L 3-Phase Low-Voltage Power Module User’s
Guide (DS70097).
DS93001A-page 5
GS153
DIFFERENT dsPIC30F BASED
HARDWARE PLATFORMS FOR BLDC
MOTOR CONTROL
limited number of dsPIC DSC devices supported on a
given hardware platform, you can build a daughter
board based on the motor control dsPIC30F device
needed for your application and plug it into the available socket or header pins on the PICDEM MC LV or
MC1 development boards.
You can use the Selection Summary (Table 1) to select
different Microchip hardware platforms for specific
application needs. Note that although there are a
TABLE 1:
SELECTION SUMMARY
Supported
dsPIC30F
Devices
Operating
Voltage
Range (VDC)
Power
Range
(Watts)
Application
Note
Sensored
10 to 40
50 to 200
AN957
PICDEM™ MC LV
dsPIC30F2010
dsPIC30F3010
dsPIC30F4012
Sensored
40 to 400
Up to 800
AN957
MC1 and High-Voltage Power module
dsPIC30F6010
Sensored
10 to 48
Up to 600
AN957
MC1 and Low-Voltage Power module
dsPIC30F6010
Sensorless
10 to 40
AN992
PICDEM MC LV
dsPIC30F2010
dsPIC30F3010
dsPIC30F4012
Sensorless
40 to 400
Up to 800
AN901
MC1 and High-Voltage Power module
dsPIC30F6010
Sensorless
10 to 48
Up to 600
AN901
MC1 with Low-Voltage Power module
dsPIC30F6010
Sensorless
40 to 400
As per user’s
design
AN992
PICDEM MC LV (user modified for
high voltage)
dsPIC30F2010
dsPIC30F3010
dsPIC30F4012
BLDC
Motor Type
Hardware Platform
Recommendations
ORDERING INFORMATION AND NUMBERS
PICDEM™ MC LV Development Board: DM183021
Power Supply (optional): AC002013
Motor with cables: AC300020
“PICDEM™ MC LV Development Board User’s Guide” (DS51554)
dsPICDEM™ MC1 Motor Control Development Board: DM300020
“dsPICDEM™ MC1 Motor Control Development Board User’s Guide” (DS70098)
dsPICDEM™ MC1H 3-Phase High-Voltage Power Module: DM300021
“dsPICDEM™ MC1H 3-Phase High-Voltage Power Module User’s Guide” (DS70096)
dsPICDEM™ MC1L 3-Phase Low-Voltage Power Module: DM300022
“dsPICDEM™ MC1L 3-Phase Low-Voltage Power Module User’s Guide” (DS70097)
DS93001A-page 6
© 2005 Microchip Technology Inc.
Note the following details of the code protection feature on Microchip devices:
•
Microchip products meet the specification contained in their particular Microchip Data Sheet.
•
Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the
intended manner and under normal conditions.
•
There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our
knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data
Sheets. Most likely, the person doing so is engaged in theft of intellectual property.
•
Microchip is willing to work with the customer who is concerned about the integrity of their code.
•
Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not
mean that we are guaranteeing the product as “unbreakable.”
Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our
products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts
allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.
Information contained in this publication regarding device
applications and the like is provided only for your convenience
and may be superseded by updates. It is your responsibility to
ensure that your application meets with your specifications.
MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED,
WRITTEN OR ORAL, STATUTORY OR OTHERWISE,
RELATED TO THE INFORMATION, INCLUDING BUT NOT
LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE,
MERCHANTABILITY OR FITNESS FOR PURPOSE.
Microchip disclaims all liability arising from this information and
its use. Use of Microchip’s products as critical components in
life support systems is not authorized except with express
written approval by Microchip. No licenses are conveyed,
implicitly or otherwise, under any Microchip intellectual property
rights.
Trademarks
The Microchip name and logo, the Microchip logo, Accuron,
dsPIC, KEELOQ, microID, MPLAB, PIC, PICmicro, PICSTART,
PRO MATE, PowerSmart, rfPIC, and SmartShunt are
registered trademarks of Microchip Technology Incorporated
in the U.S.A. and other countries.
AmpLab, FilterLab, Migratable Memory, MXDEV, MXLAB,
PICMASTER, SEEVAL, SmartSensor and The Embedded
Control Solutions Company are registered trademarks of
Microchip Technology Incorporated in the U.S.A.
Analog-for-the-Digital Age, Application Maestro, dsPICDEM,
dsPICDEM.net, dsPICworks, ECAN, ECONOMONITOR,
FanSense, FlexROM, fuzzyLAB, In-Circuit Serial
Programming, ICSP, ICEPIC, Linear Active Thermistor,
MPASM, MPLIB, MPLINK, MPSIM, PICkit, PICDEM,
PICDEM.net, PICLAB, PICtail, PowerCal, PowerInfo,
PowerMate, PowerTool, rfLAB, rfPICDEM, Select Mode,
Smart Serial, SmartTel, Total Endurance and WiperLock are
trademarks of Microchip Technology Incorporated in the
U.S.A. and other countries.
SQTP is a service mark of Microchip Technology Incorporated
in the U.S.A.
All other trademarks mentioned herein are property of their
respective companies.
© 2005, Microchip Technology Incorporated, Printed in the
U.S.A., All Rights Reserved.
Printed on recycled paper.
Microchip received ISO/TS-16949:2002 quality system certification for
its worldwide headquarters, design and wafer fabrication facilities in
Chandler and Tempe, Arizona and Mountain View, California in
October 2003. The Company’s quality system processes and
procedures are for its PICmicro® 8-bit MCUs, KEELOQ® code hopping
devices, Serial EEPROMs, microperipherals, nonvolatile memory and
analog products. In addition, Microchip’s quality system for the design
and manufacture of development systems is ISO 9001:2000 certified.
© 2005 Microchip Technology Inc.
Advance Information
DS93001A-page 7
WORLDWIDE SALES AND SERVICE
AMERICAS
ASIA/PACIFIC
ASIA/PACIFIC
EUROPE
Corporate Office
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
Technical Support:
http://support.microchip.com
Web Address:
www.microchip.com
Australia - Sydney
Tel: 61-2-9868-6733
Fax: 61-2-9868-6755
India - Bangalore
Tel: 91-80-2229-0061
Fax: 91-80-2229-0062
China - Beijing
Tel: 86-10-8528-2100
Fax: 86-10-8528-2104
India - New Delhi
Tel: 91-11-5160-8631
Fax: 91-11-5160-8632
Austria - Weis
Tel: 43-7242-2244-399
Fax: 43-7242-2244-393
Denmark - Ballerup
Tel: 45-4450-2828
Fax: 45-4485-2829
China - Chengdu
Tel: 86-28-8676-6200
Fax: 86-28-8676-6599
Japan - Kanagawa
Tel: 81-45-471- 6166
Fax: 81-45-471-6122
France - Massy
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
China - Fuzhou
Tel: 86-591-8750-3506
Fax: 86-591-8750-3521
Korea - Seoul
Tel: 82-2-554-7200
Fax: 82-2-558-5932 or
82-2-558-5934
Germany - Ismaning
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
Atlanta
Alpharetta, GA
Tel: 770-640-0034
Fax: 770-640-0307
Boston
Westborough, MA
Tel: 774-760-0087
Fax: 774-760-0088
Chicago
Itasca, IL
Tel: 630-285-0071
Fax: 630-285-0075
Dallas
Addison, TX
Tel: 972-818-7423
Fax: 972-818-2924
Detroit
Farmington Hills, MI
Tel: 248-538-2250
Fax: 248-538-2260
Kokomo
Kokomo, IN
Tel: 765-864-8360
Fax: 765-864-8387
China - Hong Kong SAR
Tel: 852-2401-1200
Fax: 852-2401-3431
China - Shanghai
Tel: 86-21-5407-5533
Fax: 86-21-5407-5066
China - Shenyang
Tel: 86-24-2334-2829
Fax: 86-24-2334-2393
China - Shenzhen
Tel: 86-755-8203-2660
Fax: 86-755-8203-1760
China - Shunde
Tel: 86-757-2839-5507
Fax: 86-757-2839-5571
China - Qingdao
Tel: 86-532-502-7355
Fax: 86-532-502-7205
Malaysia - Penang
Tel:011-604-646-8870
Fax:011-604-646-5086
Philippines - Manila
Tel: 011-632-634-9065
Fax: 011-632-634-9069
Singapore
Tel: 65-6334-8870
Fax: 65-6334-8850
Italy - Milan
Tel: 39-0331-742611
Fax: 39-0331-466781
Netherlands - Drunen
Tel: 31-416-690399
Fax: 31-416-690340
England - Berkshire
Tel: 44-118-921-5869
Fax: 44-118-921-5820
Taiwan - Kaohsiung
Tel: 886-7-536-4818
Fax: 886-7-536-4803
Taiwan - Taipei
Tel: 886-2-2500-6610
Fax: 886-2-2508-0102
Taiwan - Hsinchu
Tel: 886-3-572-9526
Fax: 886-3-572-6459
Los Angeles
Mission Viejo, CA
Tel: 949-462-9523
Fax: 949-462-9608
San Jose
Mountain View, CA
Tel: 650-215-1444
Fax: 650-961-0286
Toronto
Mississauga, Ontario,
Canada
Tel: 905-673-0699
Fax: 905-673-6509
04/20/05
DS93001A-page 8
© 2005 Microchip Technology Inc.