Professional Documents
Culture Documents
ECE 5570 - Lab 8: Brushless DC Motor Control With 6-Step Commutation
ECE 5570 - Lab 8: Brushless DC Motor Control With 6-Step Commutation
1 Introduction
The objective of the lab is to develop a velocity and position control system for a threephase permanent magnet motor. A standard method for current control of the motor is
to use a three phase inverter and 6-step commutation scheme to drive the motor. The
6-step commutation scheme for the motor is shown in Figure 1
iA
0
- IREF
- IREF
0
IREF
IREF
iB
IREF
IREF
0
-IREF
- IREF
0
iC
- IREF
0
IREF
IREF
0
- IREF
To change the direction, one changes the sign of the current. For example, transistors
T2 and T6 are turned on in the -30! "30! step of the sequence for positive torque. For
negative torque, T3 and T5 are turned on.
2 Experiments
Equipment!list:!
You will need
!
!
!
!
!
!
brushless DC motor,
Brush DC motor,
Dual power amplifier,
A bread board, 6 - TIP 110 transistors, 6 - N1004 diodes,
an 0.51 " resistor (1%, 3W), 2 - LM324 chips, 9 - 1k "
resistors, 9 - 10k " resistors,
DC power supply to provide 5V.
Digital IO breakout cable
hA
hB
hC
Develop the driver circuitry for the 6-step commutation diagram, using digital
outputs of the dSPACE system and an A/D input used for current feedback.
Since the digital output voltage is only a 5V TTL signal, amplifiers are necessary
to connect 6 digital outputs to the 6 transistor inputs. For example, one of the 4
op-amps of an LM324 chip can be used to connect the digital output D1 to the
transistor input T1 as shown Figure 2.
Figure 2: Op-amp connection as a buffer between the digital outputs and the transistors
The resistor R3 is chosen to limit the current to drive the transistor. For the T1,
T2 and T3 use R3 = 1 k " resistor. For the other transistors a 10 k " resistor can
be used. The resistors R1 and R2 are to provide a threshold voltage for the TTL
signal coming from the digital output. By choosing R1 = 10k " and R2 = 1k " a
voltage of 1/11*Vs is provide. This configuration is not generally desirable as it
possible to exceed the value of TTL low-state voltage given a large enough Vs
but the maximum voltage of the application is limited by the dSpace application
to 15 V.
Once the buffers are built, it is time to edit the lab8.c file to implement the logic.
The functions pos_commutate and neg_commutate are provided as a starting
point. Variables, bit_in[0..2], are connected to digital lines 6, 7, and 8. these are
the hall-effect sensor you connected earlier. Variables, bit_out[0..5], are
connected to digital lines 0 thru 5. Using the information you gained from the
relationship of the sensor states and back-emf fill in the bit_out[] states for the
provided bit_in[] combinations
!
!
A better control law would be a dead-zone type control law but other options may work
as well. The dead zone control law added a region, #, around which the controller is
disabled. This law can be expressed as
abs( IREF ) ! ISENS $ # and IREF " 0 positively commutate
!
The value of # should be small enough to provide good tracking of the current reference,
while large enough to limit the frequency of switching. To avoid burning the motor, a
limit on the current reference IREF of about 4 amps should be inserted in the current
control scheme.
! Implement one of the current control laws in the Lab8.c. notice that EPS is
defined at the top of the code as 0.1
! Test the law by editing the velocity control, mode=3, switch case to provide a
current reference, IREF
! Set the IREF for a value greater than the steady-state current but smaller than
maximum starting current. Run the motor and notice how the waveform is
chopped on startup to limit the current by IREF
! Try a value of IREF close to or smaller than the steady state current . Does the
motor start? If the motor is helped to start with it keep running. Why or why not?
!#$%
"#$%
&'()*+,
-.//0)1)2.3
"6$76$
!
!
!
4.).5
8199,*::*-)
;%;<!
=#$%
!#$%
;>
;<!
!
=!
"#$%
&'()*+,
-.//0)1)2.3!
"6$76$
4.).5
8199,*::*-)
Capture and plot the best step response for an small step, %REF = 90 deg
Capture and plot the best response for large step, %REF = 3600 deg
Comment on the shape of the responses and document your controller gains