IJ82
IJ82
IJ82
net/publication/271199015
CITATIONS READS
4 5,005
4 authors, including:
Sai Babu Ch
Jawaharlal Nehru Technological University, Kakinada
180 PUBLICATIONS 1,142 CITATIONS
SEE PROFILE
All content following this page was uploaded by Sai Babu Ch on 22 January 2015.
Research Article
MICROCONTROLLER BASED CONTROL OF THREE
PHASE BLDC MOTOR
P. Devendra1*, 2Madhavi TVVS*, 3K Alice Mary, 4Ch. Saibabu
detection. Various micro controllers and DSP windings are excited in the given sequence and once
controllers are available for sensor less control. the motor starts rotating, rotor position is sensed by
III. MICROCONTROLLER BASED the Hall sensor and then the motor is excited based
CONTROL SCHEME on the Hall signal and according to the direction of
The proposed control for BLDC motor control using rotation of the motor.
PIC microcontrollers of MICROCHIP with device The speed can be controlled in a closed loop by
name PIC16F690 is shown in the figure (3). measuring the actual speed of the motor. If the
speed is greater than the desired rated speed, then all
the transistors are turned off for a short duration and
then again excited based on the Hall position and
accordingly speed can be adjusted to get constant
speed. The ADC of the microcontroller is used to
convert the analog signal corresponding to the speed
of the motor to a digital value and comparison is
done with the calculated digital value which is
Fig.3 Micro Controller based Control proportional to the rated speed
The base drive to the MOSFETS in the Inverter A. PIC16Fseries Micro controller
circuit is given by the PIC16F690 micro-controller. PIC16Fseires microcontroller which is used for this
The Hall signals from the motor are fed as inputs to project is a 40-pin device, 8 bit CMOS
the PIC16Fseries device and based on the Hall Microcontroller which belongs to the MICROCHIP
position and the direction of rotation of the motor family of microcontrollers. It has 10-bit Analog to
specified by the manufacturer the corresponding Digital converter (ADC) and we have used only 8
gate drive is made active by the microcontroller and bits for our control so that the speed can be
fed to the stator of the BLDC motor. controlled in 255 steps ranging from 6 to 1500 rpm.
The commutation sequence for rotating the motor in The various features of this device make this device
clock wise direction when viewed from the non to be selected for the proposed control. Timer1 is
driving end is given in the Table (1). operated in external oscillator mode with an external
Table (1): Sequence for rotating motor in crystal oscillator of 20 MHz connected to the micro
clockwise direction controller device. An external Potentiometer is
connected to the ADC pin which provides the
required speed range.
B. Algorithm for Assembly language code written
using MPLAB IDE v7.52tool
MPLAB IDE v7.52tool of MICROCHIP has been
used to write the code in assembly language using
PIC16F690 data sheets provided by MICROCHIP.
The algorithm to run and maintain constant speed of
Based on the Hall sensor input to the
a BLDC motor is
microcontroller, the corresponding transistors are
made active and current flows through two windings • Set PORTE as digital hall input.
and the other winding is inactive and hence • Set PORTC as Outputs to transistors.
commutation is done electronically with the use of a • Generate interrupt on timer1 over flow and
microcontroller. also on completion of ADC conversion by
The commutation sequence for rotating the motor in setting the appropriate registers.
counter clock wise direction when viewed from the • Enable Global interrupt.
non driving end is given in the Table (2). • Give excitation to the motor windings
irrespective of the Hall signal according to
the direction of rotation of the motor (clock
wise or counter clock wise).
• Start TIMER1 which is operated with
external crystal oscillator at 20 MHz
frequency
• Generate LOOK-UP Table for clock wise
rotation of the motor irrespective of the
Thus by properly exciting the corresponding Hall signal.
winding based on the hall signal, the motor is • At the timer overflow interrupt service
commutated and is made to run at the desired speed. routing (ISR), generate LOOK-UP Table
Initially irrespective of the rotor position, the
for clock wise rotation of the motor based b) FET driver circuit:
on Hall signal.
• Set the motor speed using external
potentiometer connected to the ADC pin.
• Enable ADC to convert the analog voltage
into digital.
• Compare this digital value with the counter
value equivalent to the motor speed (rated).
• If motor speed is higher than the rated
speed then turn off all the transistors for
short duration in ADC conversion complete
ISR and return back from the ISR.
• Then repeat the excitation process based on
Hall signal. Fig (6) FET driver circuit
• This program drives the BLDC motor at The complete hardware set up for the motor control
constant speed and by varying the external is shown in Fig (7).
potentiometer value we can change the
motor speed and according make the motor
run at that constant speed.
This algorithm is used to write a program in
MPLAB IDE and is dumped on to the PIC16F690
device and tested on the 24 V, 80 W, and 1500 rpm
BLDC motor shown in the figure (4).