6. Control of a Brushless D.C. Motor
12 zones in 360 degrees
of mechanical rotation
1
2
3
4
5
6
B
A
C
s
r
tController
1
1
0
Source: Eastern Air Devices, Inc. Brushless DC Motor Brochure
120 0 hall spacing is
preferred over 60 0
spacing since
unpowered or
unconnected sensors
produce 111 or 000
codes, which can be
used for fault
detection.
8. Commutation of a Brushless DC Motor
N
S
N
S
N
N
S
N
S
C
C
CC
A
A
A
A
B
B
B
B
N N
S
S
N
N
S S
N
S
N
S
N
S
N
S
NN
S
S
NN
S
S
N
S
N
S
N
N
S
S
N
S
S
N
N
N
S
S
N
N
S
S
S
N
S
N
S
N
S
N
N
S
S
N
C
C
CC
A
A
A
A
B
B
B
B
C
C
CC
A
A
A
A
B
B
B
B
C
C
CC
A
A
A
A
B
B
B
B
C
C
CC
A
A
A
A
B
B
B
B
C
C
CC
A
A
A
A
B
B
B
B
N
S
N
S
N
S
S
N
10. Back EMF in a Single Loop of Wire
Source: Electric Drives, an Integrative Approach,
by Ned Mohan, University of Minn. Printing Services, 2000
N
S
Uniform airgap flux density
11. Source: Electric Drives, an Integrative Approach,
by Ned Mohan, University of Minn. Printing Services, 2000
Uniform
winding
density
Back EMF in a Multi-turn Winding
12. PWM 1
PWM 3
PWM 5
PWM 2
PWM 4
PWM 6
Phase R
Phase S
Phase T
0 60 120 180 240 300 360
Rotor Electrical Position (Degrees)
Sensorless Commutation
Zero
crossings
13. • In a sensorless BLDC system, only two coils are “on” at any moment in time. The
equivalent circuit of the motor with only two phases “on” is shown below
• After the inductive flyback associated with Za has extinguished, The internal
voltages are visible when measuring Va. Assuming balanced windings where Zb
and Zc are equal, and Eb and Ec are equal, then the voltage at node N = Vdc_link/2.
Therefore, the zero-crossing of Ea occurs when the Va reading is Vdc_link/2.
Sensorless Control of BLDC Motors
Ea
Eb
Ec
Vdc_link Zb
Zc
Za
Va
I
N
14. 96% BLDC Motor Efficiency
Using iron based amorphous
core material, Japanese
researchers at Tokai University
break 96% efficiency barrier!
≈ 100W
15. High power output per frame size
Easy to control with trapezoidal commutation
High efficiency due to small rotor losses
Low profile designs possible
Excellent high speed performance
Structure inherently allows heat to be removed easier
Slightly more torque ripple than sinusoidal motors
Field weakening requires additional current
Permanent magnetic field causes viscous drag
Permanent magnets can be demagnetized at high temp.
Advantages
Disadvantages
Brushless DC Motor Summary
18. Permanent Magnet AC Motor
• This motor exhibits a smoothly rotating magnetic field
where the magnetic gradient of the stator flux is illustrated
by the color shading. There is no commutation to cause
motor jerking. But how do you create such a smoothly
rotating magnetic field????
Animation by
Ken Berringer
19. Sinusoidal Winding Distribution
Stator winding density is sinusoidally distributed,
thus creating a sinusoidally distributed flux density
Phase A shown
Source: Electric Drives, an Integrative Approach,
by Ned Mohan, University of Minn. Printing Services, 2000
20. Source: Mahmoud Riaz, Sc.D., Professor of Electrical Engineering, Department of Electrical and Computer Engineering,
University of Minnesota
Flux Resulting from Sinusoidal Current
Pretty cool,
but no
rotating
vector!
22. PMSM Motors Summary
High power output per frame size
High efficiency due to small rotor losses
Low profile designs possible
Very low torque ripple
Structure inherently allows heat to be removed easier
Zero speed sensorless operation possible with IPM motors
More elaborate control required compared to BLDC
High rotor angle accuracy required vs. BLDC trapezoidal
Field weakening requires additional current
Permanent magnetic field causes viscous drag
Permanent magnets can be demagnetized at high temp.
(not as much of a problem with IPM motors)
Advantages
Disadvantages
23. PMSM Load Angle
Animation by
Ken Berringer
0.0s 0.3s 0.6s 0.9s 1.2s 1.5s 1.8s 2.1s 2.4s 2.7s 3.0s 3.3s 3.6s
-200V
-150V
-100V
-50V
0V
50V
100V
150V
200V
V(treaction)
Simulated Reactance Torque
as a function of angle delta
from 2005 Prius Traction Motor
0o 30o 60o 90o 120o 150o 180o-30o-60o-90o-120o-150o-180o
50
100
150
200
0
-50
-100
-150
-200
Newton-Meters
Maximum torque per amp
24. Orientation of Field for Max Torque
Source: Electric Drives, an Integrative Approach, by Ned Mohan, University of Minn. Printing Services, 2000
(Reluctance torque assumed to be zero)
Axis of rotor flux is fixed with respect to the rotor,
i.e., it is “synchronous”.
S
N
25. +24 V
0.015
PWM1
PWM1PWM2
PWM2
PWM1
PWM2
PI
Controller
-
+
ADC1
Desired Current
Measured Current
Error Signal
Measure current already flowing in the motor.1.
Compare the measured current with the desired current, and generate an error signal.2.
Amplify the error signal to generate a correction voltage.3.
Modulate the correction voltage onto the motor terminals.4.
Commutator keeps
rotor and stator fields
properly aligned!
Brush DC Motor
How Do You Control Torque
on a DC Motor?
Texas Instruments
Dave’s
Motor Control
Center
26. [ ]qsdr I
P
Torque λ
22
3
=
Constant
(for now)
How Do You Control Torque on a PMSM?
Constant
Adjustable
S
N
S
N
S
N
Interrupt:
Measure rotor flux angle
Regulate current vector to be 90o wrt rotor flux
Exit ISR
Interrupt:
Measure new rotor flux angle
Regulate current vector to be 90o wrt rotor flux
Exit ISR
Interrupt:
Measure new rotor flux angle
Regulate current vector to be 90o wrt rotor flux
Exit ISR
27. A
B
C
A
B
C
ib
ic
ia
(implied)
Controller
with A/D
ia
ib
ic
Measure and . From
Kirkoff’s current law, calculate .
ia ib
ic
A, B, and C axes are “fixed” with
respect to the motor housing. This
reference frame is also called the
“stationary frame” or “stator frame”.
1. Measure current already flowing in the motor.
net current vector
ia
ib
ic
Texas Instruments
Dave’s
Motor Control
Center
28. A
B
C
si
ib
ic
ia
2. Compare the measured current (vector) with the desired
current (vector), and generate error signals.
We must regulate the current vector magnitude AND angle
by regulating ia, ib, and ic.
Rotor flux axis?
29. N
S
θd
Part A. Measure the rotor angle to determine if the
net current vector is oriented at 90o with respect to
the rotor flux.
This is called the “direct” or “d” axis
Usually accomplished with a
resolver or encoder.
2. Compare the measured current (vector) with the desired
current (vector), and generate error signals.
30. αi
βi
Part B. Convert the three phase
current vectors into two
orthogonal vectors that will result
in the same net current vector. In
other words, convert the 3-phase
motor to a 2-phase motor. Then
we only have two current values
to regulate instead of three!
This is often referred to as the
FORWARD CLARK
TRANSFORMATION
A
B
C
si
aii 2
3
=α
cb iii 2
3
2
3
−=βia(t) ib(t) ic(t) iβ(t)iα(t)
ib
ic
ia
2. Compare the measured current (vector) with the desired
current (vector), and generate error signals.
31. αi
βi
A
B
C
si
ddq
ddd
iii
iii
θθ
θθ
βα
βα
cossin
sincos
+−=
+=
4 trig calulations
7 multiplications
3 additions
Total
θd
d axis
q axis
rotor flux axis
iq
id
Part C. Jump up on the
rotating reference frame,
whose x-axis is the rotor flux
axis.
2. Compare the measured current (vector) with the desired
current (vector), and generate error signals.
32. Part D. and are handled independently. Since the
comparison is performed in the rotating frame, motor AC frequency
is not seen. Thus, they are DC quantities!
id +
-
error(t)
+
-
error(t)
iq
iq (commanded)
(measured)
can however be used to weaken the field of the machine.
controls amount of torque generated by the motor
i d
i q
id iq
(commanded)
id
(measured)
Under normal conditions, we have all
the d-axis flux we need supplied by
the permanent magnets in the rotor.
So commanded id is set to zero.
This is how much torque we want!
2. Compare the measured current (vector) with the desired
current (vector), and generate error signals.
34. Voltage vector
αv
βv
Part A. Transfer the voltage vectors
back on to the stationary rectangular
coordinate system.
dqdd
dqdd
vvv
vvv
θθ
θθ
β
α
cossin
sincos
+=
−=
d axis
q axis
θd
A
B
C
vd
vq
rotor flux axis
4. Modulate the correction voltages onto the motor terminals.
We now need to “jump off”
of the rotating reference
frame.
vd (t)
vq(t)
vα (t) vβ (t)
36. Phase A - top
Phase B - top
Phase B - bottom
Phase C - top
Phase C - bottom
Phase A - bottom
4. Modulate the correction voltages onto the motor terminals.
Over time, under steady-state conditions, the correction voltages
va, vb, and vc will be sine waves phase shifted by 120o.
37. AC In
AC to DC
Converter
Three
Phase
Inverter
Gate
Drivers
DC Bus
Gate
Driver
Power
Supplies
Analog
Conditioning
Serial
Interface
F2803x
12 Bit
ADC Trigger
Fault
ePWM
Module
Sync
Isolation
eQEP
Module
Commanded
Speed
Actual Speed
+
-
PI
Controller
Field
Oriented
Controller
Commanded iq
Commanded id
Phase
Current
Reconstruction
icia
Space
Vector
Modulation
Vα
Vβ
ibus
Bus
Over-
Voltage
GPIO or PWM
Speed
Calculation
ibVbus
MotorPWMs
Overcurrent
BusCurrent
BusVoltage
Processor Ground
θ(t)
θ(t)
42. Σ
Σ Σ Σ
Z
-1
Z
-1
αβ
+
-
+
+
+ +
+
Integrator Integrator
+
Measured
Position
Estimated
Position
Estimated
Velocity
Estimated
Acceleration
Error
This form of the filter reveals the
state variables of the system.
State Variable Representation
43. Observers literally recreate the desired signal mathematically (great noise decoupling).
The “guess” is corrected by comparison with an observable signal.
Observers are used to “observe” a quantity which is difficult to measure
by mathematically modeling the system.
Model of H(z)
Integrator Integrator
αβ
Source: Motion Controller Employs DSP Technology,
Robert van der Kruk and John Scannell,
Phillips Centre for Manufacturing Technology,
PCIM – September, 1988
By providing an additional feedforward input, the tracking filter can
make better output estimates. It then takes the form of an OBSERVER.
Can be designed to
have zero (or near
zero) estimation lag.
Parameter Estimation with Observers
45. sR lsL mL
synEk ω
stator voltage
sL
( )
( ) ⎥
⎦
⎤
⎢
⎣
⎡−
⋅+⎥
⎦
⎤
⎢
⎣
⎡
⋅+⎥
⎦
⎤
⎢
⎣
⎡
⋅=⎥
⎦
⎤
⎢
⎣
⎡
e
e
synEss k
i
i
pL
i
i
R
v
v
θ
θ
ω
β
α
β
α
β
α
cos
sin
Assuming no saliency, stationary frame equations are:
Rotor with surface-mount magnets
Non-salient design (magnetically round))
Back EMF component
Sensorless Sinusoidal PMSM Control
46. +
-
Vin
emf
Low
Pass
Filter
+
-
i
i^1
Rs^
PI -1
Back EMF Observer
Stationary Frame Back EMF Observer
sR
Vin
sL i
emf
+
-
Vin
emf
1
Rs
Low
Pass
Filter
i
emf
( ) ( ) ( )
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛
−⎟⎟
⎠
⎞
⎜⎜
⎝
⎛ −
=
−
τ
t
s
in
e
R
temftV
ti 1
47. Back-EMF Observer Performance
0ms 5ms 10ms 15ms 20ms 25ms
-120V
-100V
-80V
-60V
-40V
-20V
0V
20V
40V
60V
80V
100V
120V
V(bemf) V(voltage_input)
0 25ms
sR sL i
emf
0.416Ω
Observer simulation
Observer sampling frequency = 10 KHz
-120 V
120 V
120 VAC
60 Hz
1.365 mH
One of three phases of
Baldor PMSM motor
Back-EMF
Estimated Back-EMF
+
-
Vin
Low
Pass
Filter
+
-
i
i^1
Rs^
PI -1
Back EMF Observer EMF
estimate
???
48. -1Σ
PMSM Motor
(2-phase representation)
αv
βv
ss RsL +
1
+
-
+
-
Σ
ss RsL +
1
+
-
+
-
P I
Back EMF α
Back EMF β
( )θsinK−
( )θcosK
Σ
s
1
X
-
+
s
1
K 1Σ
X
K 2
L P F
( )n
∧
θ
( )n
∧
ω
cos
sin
Σ
Σ
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛
+
−=
ss sLR
emfvi
1
)( ,,, βαβαβα
αi βi
0
0
Stationary Frame State Observer
for a Non-Salient Machine
-1P I
Texas Instruments
Dave’s
Motor Control
Center
49. Dual Motor Control with One Piccolo!!
AC Input
AC/DC
conversion
(with PFC)
3 Phase
Motor Driver
3 Phase
Motor Driver
System
Communication
F2802x
Dual Sensorless FOC with Sliding Mode ObserversDual Sensorless FOC with Sliding Mode Observers
Digital PFC implemented in the CLADigital PFC implemented in the CLA
50. Axis of rotor flux is fixed with respect to the rotor,
i.e., it is “synchronous”.
Source: Electric Machinery, by A. E. Fitzgerald, Charles Kingsley Jr., and Stephen D. Umans, McGraw-Hill, 1990
( )[ ]qsdsqsdsqsdr IILLI
P
Torque −+= λ
22
3
Reaction Torque
Reluctance Torque
Permanent Magnet Rotor
N
S
…but what about SALIENT Machines?
52. ( )
( ) ( )( ){ } ( )
( ) ⎥
⎦
⎤
⎢
⎣
⎡−
⋅+′−−+⎥
⎦
⎤
⎢
⎣
⎡
⋅⎥
⎦
⎤
⎢
⎣
⎡
⋅−−
⋅−
+⎥
⎦
⎤
⎢
⎣
⎡
⋅=⎥
⎦
⎤
⎢
⎣
⎡
e
e
syneqdsynqd
dsynqd
synqdd
s kiiLL
i
i
pLLL
LLpL
i
i
R
v
v
θ
θ
ωω
ω
ω
β
α
β
α
β
α
cos
sin
sR dL
)sin( eK θ−
Extended
EMF α
voltage
dt
d
causes
dt
d
withcombinedwhenwhich
d
d
causes
d
dL
=
λθ
θ
λ
θ
,,
Rotor with buried interior magnets
(salient design)
+
-
αv
αi ( ) βω iLL synqd ⋅−
sR dL
)cos( eK θ
Extended
EMF α
+
-
βv
βi ( ) αω iLL synqd ⋅−
Salient PMAC Machine
53. -1
-1
Σ
s
1
P IΣ
2-phase PMAC Motor
αv
βv
+
-
+
( ) ωβiLL qd −
P IΣ
+
-
+
-
+
Back EMF α
Back EMF β
X
-
+
s
1
K 1Σ
X
K 2
L P F
( )n
∧
θ
( )n
∧
ω
cos
sin
ss RsL +
1
ss RsL +
1
Σ
αi βi
Σ
-
( ) ωαiLL qd −
-
Stationary Frame State Observer for
a Salient Machine
( )θsinK−
( )θcosK
Texas Instruments
Dave’s
Motor Control
Center
55. F2802x (Piccolo) Series
Key New Features:
• 40/60 MHz
• Single 3.3V supply
• 12-bit ratio-metric ADC
• Low latency ADC trigger & seq.
• 2 Analog comparators, < 30nS
• 10 bit DAC reference, < 2uS settling
• 150ps PWM resolution Duty & Freq
• Dual “zero-pin” on-chip oscillators
• 38-pin TSSOP or 48-pin TQFP
F2802x (Piccolo) Series
12 bit
5 MSPS
Dual S/H
Auto Seq
ADC
A0/VREFHI
A1
A2
A3
A4
A6
A7
B1
B2
B3
B4
B6
B7
Analog
Comparators
CMP1-Out
DAC
10 bit
CMP2-Out
VSSA
Flash
16-64 KB
C28 Core
32 bit – 40/60MHz PWM1
A
B
Comms
SCI
SPI
I2C
PWM2
A
B
PWM3
A
B
PWM4
A
B
TripZone
logic
PWM-1A
PWM-1B
Int-Osc-1
VregPWR
GND
POR / BOR
2
Int-Osc-2
6
DAC
10 bit
Ext-Osc-2
3
CAP
Timer-0
Timers - 32bit
Timer-1
Timer-2
GPIO
Control
2
4
2
X1
X2
PLL
WD
PWM-2A
PWM-2B
PWM-3A
PWM-3B
PWM-4A
PWM-4B
TZ1
TZ2
TZ3
CMP1-out
CMP2-out
ECAP
Vref
RAM 4-12 KB
Temp
Sensor
System
56. F2803x (Piccolo with CLA) Series
Key New Features:
• 60 MHz CPU
• New acceleration unit (CLA)
• CLA has 32bit floating Pt precision
• Single 3.3V supply
• 12-bit ratio-metric ADC
• Low latency ADC trigger & seq.
• 3 Analog comparators, < 30nS
• 10 bit DAC reference, < 2uS settling
• 150ps PWM resolution Duty & Freq
• Dual “zero-pin” on-chip oscillators
• 64-pin or 80-pin TQFP
57. 32-bit CLA
60MHz
Data0
RAM
2KByte
Prog
RAM
8KByte
Data1
RAM
2KByte
Secure
Msg
RAM
256Byte
InterruptSleep
32-bit C28-CPU
60MHz
DAC
3 x
Comp
3 x
Comp
DAC
3 x Comp
F2803x PiccoloTM Device With CLA
G
P
I
O
M
u
x
SCIFLASH
64/128
KByte
4/8 sectors
P
e
r
B
u
s
3xDAC
10-bit
M0,M1
RAM
4KByte
EPWM1 HRPWM
P
e
r
B
u
s
SPI
I2C
CAN
EPWM2 HRPWM
ECAP
EQEP
OTP 2KByte
Secure
Boot
ROM
32b32b 32b
OSC1
10MHz
LIN (SCI)
OSC2
10MHz
PLL
WD
LPM
m
u
x
EXT
XTAL
GPIO
MUXXCLKIN
EPWM3 HRPWM
EPWM4 HRPWM
GPIO0
GPIOx
Ax
X1
X2
+
-
Interrupt
2 * SPI
EPWM5 HRPWM
EPWM6
EPWM7
POR/BOR XRSn
VSS
VREGENZ
VDD (core voltage)
VDDIO
Digital Power
VREG
3.3V +/-10%
VDDA
VSSA
Analog Power
3.3V +/-10%
ADC
12-bit
2 S/H
4.6MSPS
A
I
O
M
u
x
Per Bus
Bx
L0
RAM
4KByte
3 External Interrupts
JTAG
HRPWM
HRPWM
58. Piccolo controlSTICK
Power LED
Application LED
TMS320F28027
USB / JTAG
Interface and Power
On-board USB
JTAG Emulation
Peripheral
Header Pins
(GPIO 34)
(48-Pin Package)
62. Project Manager:
Source & object files
File dependencies
Compiler, Assembler &
Linker build options
Full C/C++ & Assembly
Debugging:
C & ASM Source
Mixed mode
Disassembly (patch)
Set Break Points
Set Probe Points
Editor:
Structure Expansion
Help CPU Window
Memory WindowGraph
Window
Status
Window
Watch Window
Menus or Icons
Code Composer Studio
63. C2000 Signal Processing Libraries
Signal Processing Libraries & Applications Software Literature #
ACI3-1: Control with Constant V/Hz SPRC194
ACI3-3: Sensored Indirect Flux Vector Control SPRC207
ACI3-3: Sensored Indirect Flux Vector Control (simulation) SPRC208
ACI3-4: Sensorless Direct Flux Vector Control SPRC195
ACI3-4: Sensorless Direct Flux Vector Control (simulation) SPRC209
PMSM3-1: Sensored Field Oriented Control using QEP SPRC210
PMSM3-2: Sensorless Field Oriented Control SPRC197
PMSM3-3: Sensored Field Oriented Control using Resolver SPRC211
PMSM3-4: Sensored Position Control using QEP SPRC212
BLDC3-1: Sensored Trapezoidal Control using Hall Sensors SPRC213
BLDC3-2: Sensorless Trapezoidal Drive SPRC196
DCMOTOR: Speed & Position Control using QEP without Index SPRC214
Digital Motor Control Library (F/C280x) SPRC215
Communications Driver Library SPRC183
DSP Fast Fourier Transform (FFT) Library SPRC081
DSP Filter Library SPRC082
DSP Fixed-Point Math Library SPRC085
DSP IQ Math Library SPRC087
DSP Signal Generator Library SPRC083
DSP Software Test Bench (STB) Library SPRC084
C28x FPU Fast RTS Library SPRC664
DSP2803x C/C++ Header Files and Peripheral Examples SPRC892
Available from TI Website ⇒ http://www.ti.com/c2000
64. C2000 Modeling & Code Generation
• Link for Code Composer Studio
• Real Time Workshop Embedded Coder
• Target for TI C2000
Compile
& Link
C/ASM
CodeTexas Instruments
Code Composer
Studio™
Environment
Down
load
Debug
TI C2000
DSC
MathWorks: Modeling Environment
MATLAB®
Simulink®
Stateflow®
The Mathworks
Support for C2000
VisSim/Embedded Controls Developer: Model
Based Development for TI C2000
www.vissim.com