BLDC
BLDC
net/publication/241633133
Instrumentation and control of a high power BLDC motor for small vehicle
applications
Article in Conference Record - IEEE Instrumentation and Measurement Technology Conference · May 2012
DOI: 10.1109/I2MTC.2012.6229466
CITATIONS READS
16 1,702
3 authors, including:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by S.N. Demidenko on 07 April 2016.
Abstract—Brushless DC (BLDC) motors are becoming an A sensorless controller requires the motor to produce a
increasingly popular motor of choice for low powered vehicles measureable back EMF for the motor controller to be able to
such as mopeds, power assisted bicycles, mobility scooters, and in determine the position of the rotor and therefore cannot provide
this reported application, motorised mountain boards. With smooth commutation at start up and low speeds. In contrast, a
rapid developments in technology, high energy density batteries sensored BLDC motor controller uses position sensors and
such as Lithium-ion Polymer batteries are becoming more therefore is able to determine the rotor position at any speed.
affordable and highly suitable for such vehicles due to the This allows for smooth commutation during start up. A
superior charge rate and light weight of the lithium chemistry sensored BLDC motor controller was built for this reason.
batteries. This combined with the high power, light weight, and
low cost BLDC motor results in the BLDC motor being a very II. ELECTRICAL SYSTEM OVERVIEW
favourable solution over an internal combustion engine for low
power vehicles with power requirements of up to 7kW. A BLDC A mixed-signal field programmable microcontroller, the
motor controller was developed specifically for the motorised Silicon Laboratories C8051F020, has been used to control the
mountain board application. The motor controller is a sensored motor driver circuit according to a range of inputs from various
BLDC motor controller which takes inputs from Hall Effect sensors. Custom made software was programmed in C which
sensors to determine the rotor position. Many other sensors are runs on the microcontroller. This software determines the
used to monitor the variables that are critical to the operation of operation of the motor controller. Fig. 1 shows the functional
the motor controller such as the motor phase current, battery blocks of the motor controller.
voltage, motor temperature, and transistor temperature. The
reported system is further enhanced by several additional The motor controller uses a three phase H-bridge to drive
features such as output for an LCD screen, regenerative braking, the motor. This circuit was chosen because it allows for four
timing advance, cruise control, and soft start functions. These quadrant operation of the motor, as well as coasting. Fig. 2
topics are discussed briefly in this paper. shows the schematic diagram of the three phase H-bridge.
C. Timing Advance
Timing advance is used in both brushed and brushless DC Figure 5. Waveforms from the neutral and 30° advanced motor
motors [6]. In brushed DC motors this is done by mechanically position sensors
moving the position of the brushes relative to the motor With this angle of timing advance, it also works out that the
windings. In BLDC motors, timing advance is done signal for 30° advanced timing in the reverse direction can be
electronically by commutating the motor sooner than it would generated from the signal from the second set of hall sensors.
normally do so. This is because the signal for 30° retarded timing is identical to
Ideally, the amount of timing advance (expressed as an the 30° advanced signal when phase shifted by 60° (which is
angle of electrical rotation) would be continuously variable the spacing between motor position transitions). This results in
from 0° at zero speed to some maximum advance angle at the the 30° retarded signal being exactly one sequence behind the
maximum motor speed. This can be done with a 30° advanced signal. By generating this third signal, it is
microcontroller, however it requires much processing and possible for the Motorboard to use 30° advanced timing in the
forward and reverse direction. The microcontroller is able to
switch between neutral timing and advanced timing depending
on the speed of the motor. The software makes use of a
hysteresis by switching to advanced timing at 4800 RPM and
back to neutral timing at 4700 RPM.
III. SOFTWARE DESIGN
The microcontroller is programmed with custom made
software to allow for additional functions that are unique to this
motor controller. The software is largely interrupt based for
improved computational efficiency and reliability.
Each time the microcontroller reads an analogue input,
eight consecutive readings are taken and the average of these
readings is calculated and used to set the new value of the
variable that is being read. This helps to further reduce the
effect of noise on the analogue signals from the various
sensors.
Distance measurements are done by counting the number of
new motor positions. For this particular motor, there are 6 rotor
positions in an electrical revolution, and 7 electrical revolutions
in a physical revolution of the motor. With a wheel diameter of
200mm and a gear ratio of 3.8:1, it can be calculated that after
254 new motor positions, the mountain board will have
travelled 1 meter. When the “new position” counter reaches
254, the distance counter is incremented by 1 m and the “new
position” counter is reset to zero.
Speed measurement is achieved by using one of the on
board timers to time the interval between two consecutive
motor position readings. The distance travelled for a single Figure 6. Basic flow diagram of the microcontroller program
position increment is known and therefore the speed can be B. Cruise control
calculated. At high speeds, the average of eight speed readings The cruise control function uses PI control to maintain the
is used for improved accuracy. Fig 6 illustrates the basic flow
speed of the Motorboard at the speed set point. The set point is
diagram of the motor controller software.
taken as the current speed at the time when the cruise control is
A. Soft Start activated by switching on the cruise control switch on the
The purpose of the soft start function is to protect the motor handheld controller. The PI controller varies the PWM duty
and motor driver circuit from experiencing an over current cycle in order to maintain the speed at the set point as the load
condition during start up. This is required because when the changes, i.e. when travelling up a hill. The cruise control
motor is at low speed or stationary, there is little or no back function is deactivated then the user applies the brakes. When
EMF produced by the motor. The back EMF opposes the the user stops using the brakes, the new speed is taken as the
voltage applied to the motor terminals, therefore the voltage set point. The values for the proportional factor and integral
experienced by the motor is the difference between the supply factor were found experimentally.
voltage and the back EMF voltage. With no back EMF, the IV. HANDHELD CONTROLLER
voltage experienced by the motor is large. The only resistance
in the circuit is that of the on-resistance of the transistors The user interface for the motorised mountain board is a
(0.008 Ω) [9], the resistance of the motor windings (0.036 Ω), handheld controller. The shell of a radio controlled car
and the resistance of the wires which is also very low. Thus the transmitter was used as the base of the handheld controller.
current can reach very large levels when the motor is stationary This shell was modified by stripping out the circuit board,
or running at a low speed. cutting off the battery case, and mounting a LCD module into
it. The trigger mechanism was retained and is used as the
The soft start function limits the power to the motor as a accelerator and brake control (pull back the trigger to
function of speed at which the motor is running. This is done accelerate, push forward to brake).
by setting a maximum allowable duty cycle of 5% at zero
speed and increasing this limit linearly to 100% at 1900 RPM. There are two variable resistors (rotary potentiometers) that
This function is implemented in the main loop of the program are also utilised; one is used to set the maximum duty cycle for
and therefore does not effect the operation of the critical the controller. This allows the maximum speed of the
interrupt based functions. Motorboard to be limited by the user which is useful when
someone is using the Motorboard for the first time. The other
variable resistor is used to cycle through the various data that is
displayed on the LCD module. There are two switches that are V. EXPERIMENTAL RESULTS
used by the motor controller; one is used to turn the controller Experimental results show the on-board distance
on and off, the other is used as the cruise control on/off switch. measurement to be accurate to ±0.5% when measured against a
The completed Motorboard and the handheld controller are tape measure. The resolution of this measurement allows the
shown in Fig 7. software to measure distances as small as 4mm. However,
The LCD screen is only large enough to display two lines there is uncertainty introduced in the measurement by the
of 16 characters. In order to display more data than would diameter of the wheel. The wheels are inflatable and therefore
otherwise be possible, one of the variable resistors in the the diameter changes slightly depending on the air pressure and
handheld controller is used to allow the user to select from a the mass of the rider. A lap around a 400m athletics track has
range of data screens. There are six data displays: shown the distance measurement to be within 1m of accuracy.
1. Main data screen: An experiment was also conducted to test the accuracy of
the on-board speed measurement. The Motorboard was brought
Displays current speed, distance travelled, battery up to an arbitrary speed of 17 km/hr on the LCD screen and
voltage, and instantaneous power output held at that speed. It was then filmed pasting a 5m tape
2. Temperature screen: measure. The video recording was then reviewed to determine
the time taken to travel the 5m distance. It was calculated that
Displays the temperature of the transistors, motor, the actual speed for this run was 17.42 km/hr. This experiment
microcontroller, and ambient temperature was repeated at a speed of 25 km/hr according to the on-board
3. Max value screen: instrumentation. The calculated actual speed for this run was
25.68 km/hr. These results establish that the speed
Displays the max speed reached, max current drawn, measurement reads slightly low; however it is inaccurate by
and max power output during the run less than 1 km/hr for speeds of less than 25 km/hr.
4. Secondary data screen: VI. CONCLUSION AND FUTURE WORK
Displays motor speed in RPM, and instantaneous As with any prototype, there is much room for
current improvement. One area for improvement is the commutation of
5. Program I/O screen: the motor based on the position sensor readings. Currently this
is done by reading the motor position at a frequency of 30 kHz
Displays the maximum duty cycle limit set by the to check for a new motor position. The commutation function
user, error code, and trip code from the motor can be done more efficiently using an interrupt based trigger.
controller program The Silicon Laboratories C8051F020 has four external
interrupt pins that can be configured as either rising edge
6. Debug screen:
sensitive or falling edge sensitive, not both. Therefore six
Displays the instantaneous duty cycle, throttle value external interrupt pins would be required in order to trigger an
(the value used to set the PWM duty cycle), and also interrupt for any motor position transition. A different
which transistors will be switched on for the current microcontroller should be used that will allow for the motor
motor position commutation to be done entirely based on interrupts. This will
improve the accuracy of the timing of the commutations and
significantly reduce the computational resources required.
The motor controller board could be miniaturised by using
surface mount components and using closer spacing of
components. In order to reduce the size of the motor controller
the microcontroller should be mounted directly on to the motor
controller PCB as opposed to using a development board. The
layout of the components on the PCB can also be improved on,
particularly the layout of the power transistors. They should be
positioned such that the high side and low side transistors are
as close as possible to reduce issues in transient voltage spikes.
The regenerative braking function requires further
development to protect the batteries from being charged at a
rate greater than the specified limit. Precautions should also be
in place to prevent the battery form being overcharged if the
Motorboard is used down a hill when the battery is fully
charged.