BLDC Motor Control ANfpga
BLDC Motor Control ANfpga
BLDC Motor Control ANfpga
1.0 Introduction
The main objective of the design is to commutate a Three-Phase BLDC Motor which has Hall
sensor feedback. The control inputs are available through hardware (I/Os) or a 2-wire serial
interface.
Control Options
Start/Stop BLDC
START/STOP Commutation MOTOR
Control
Logic
Hall F/B
HALL_A
MSTP_OR_BL_MD_H
bldc_module HALL_B
PWM_FREQ_SEL_H
HALL_C
bdbl_driver
BLDC
hw_ctrl StateMachine PHASEA_H
RUN_H
PHASEA_L
Debounce
blk HW/SW
MUX PHASEB_H
STOP_H
PHASEB_L
CW_OR_CCW_H control glue
logic PHASEC_H
PLUS_H
PHASEC_L
MINUS_H
pwm_out
MST_OR_BD_BL_H
bdbl
Speed pwm_gen
HW_SW control _bdbl
sw_ctrl
dutycycle
RxD
TxD Serial
clkgen
SYS_CLK
Clkdiv clk_10mhz
20M_to_10M
RST
The motor is commutated based on the signals given by the Hall Sensors mounted at various
positions inside the motor. Hall outputs change every 60 electrical degrees. The state of the
control switches and the Hall sensor signals are scanned continuously. A new voltage vector /
control trajectory is applied to the BLDC motor based on the Hall sensor signal conditions. This
mechanism is known as commutation.
A
Q0 A Q2
B Q4
C
Q1 Q3 Q5
C B
Figure 3 Push-Pull Stages of a 3-Phase BLDC Drive
Hall A
A
Hall B
B
Hall C
AHigh BHigh
G
D
G
D CHigh G D
S Q0 S
Q2 S Q4 A
ALow D BLow D
CLow D
G G G
S Q1 S Q3 S Q5 C B
VM_LOW
Hall A
Commutation
Hall C
Sequencer Hall B
3.3 Commutation
Typical 3-Phase Current Waveforms:
1 2 3 4 5 6 1 2
A A B B C C A A
B C C A A B B C
Figure 6 shows the commutation sequence for a typical 3-Phase BLDC Motor. Each phase is
active for 120 electrical degrees. At any given time/step interval, notice that only two phases are
active. The third phase is inactive or floating. This mechanism has built-in dead time and
assures that the two MOSFETs in the same bridge are not active at the same time.
The commutation sequence as shown above will be AB-AC-BC-BA-CA-CB-AB-AC… and
repeats from there on. Notice that during AB sequence, the upper side of the A bridge is active
while the lower side of B bridge is active. So current flows from DC+ through the A high side to
the motor winding across A and B, passes through the low side of the B bridge and to DC-. The
commutation timing is determined based on the position of the rotor. In the case of a sensored
drive, the Hall effect sensor digital outputs determine the position of the rotor, which can be
used to move to the next logical sequence.
HALL_SENSOR
STOP_MOTOR Stop
4.0 Waveforms
PWM to High Side
In this case the PWM signal is applied only to the high side of the MOSFET pair, while the low
side is driven for 100% of the commutation period.
AB AC BC BA CA CB AB AC
1 2 3 4 5 6 1 2
A
Ahigh
Alow
B
Bhigh
Blow
Chigh
Clow
Figure 8. PWM to High Side
5.0 I/Os
The following table describes the Main I/Os in the design.
6.0 Conclusion
This design example allows the user to run a Three-Phase BLDC motor using the low-power
IGLOO device. The design has been specifically developed with the drive circuit in mind. Please
refer to the Icicle Motor control documentation for detailed usage of the IP and the features
available through hardware and software.
About Ishnatek
Ishnatek offers FPGA design and hardware prototyping services. Ishnatek offers Design and
Verification Services for embedded solutions. We have IPs such as 8031, RTC, Timers,
Enhanced PWM, UART/SIO/IrDA, I2C, LED Drivers and Key scan, Parallel Port, ECP/EPP, etc.,
which can be building blocks for your embedded controller solutions.