Arduino Based Sensorless Speed Control of BLDC Motor Using GSM
Arduino Based Sensorless Speed Control of BLDC Motor Using GSM
I. INTRODUCTION
C.MADHUMITA et.al: ARDUINO BASED SENSORLESS SPEED CONTROL OF BLDC MOTOR USING GSM
Rs
Rs
0
Vab Rs
V 0
bc
Vca Rs
Ls M
0
M Ls
M Ls
Ls M
0
0
Rs
Rs
(1)
0
M Ls
Ls M
ia ea eb
di
ib eb ec
dt
ic ec ea
Rs
Rs
0
0 ia
Rs ib
Rs ic
(2)
Ls
0
Ls
Ls
Ls
0
0
Ls
Ls
ia ea eb
di
ib eb ec
dt
ic ec ea
Te (ea ia ebib ec ic ) / K t I
(3)
Fig. 1.
TL J L
dt
BL
P Te
(6)
E ea eb ec K b
Here Kb is the back EMF constant, E is the back EMF per
phase, and is the angular velocity in radians per second. To
design conventional controllers, parameters of both motor and
load are to be determined. The specification of the BLDC
motor used in the proposed Arduino controlled system is 5V
with a power rating of 1W and the rated speed of 3000 RPM.
III. ARDUINO AND PIC MICROCONTROLLER
The proposed speed control of BLDC drive uses
inexpensive Arduino boards and PIC 18F45K22
microcontroller. Arduino is a microcontroller board and open
source environment. This allows the user to make computers
that drive both functional and creative projects. Using Arduino
the user can design and manufacture kits for building digital
devices and interactive objects which can sense and control a
physical parameter. Arduino projects are based on a family of
microcontroller board designs manufactured by many vendors.
This uses various 8-bit Atmel AVR or 32-bit Atmel ARM
processors. These systems provide sets of digital and analog
I/O pins that can be interfaced to various extension boards and
also other circuits. These boards feature serial
communications interfaces, including USB for loading
programs from a personal computer. An integrated
development environment (IDE) is provided by the Arduino
platform for programming the microcontrollers. This also
includes support for C and C++ programming languages.
Arduino boards are inexpensive for projects involving robots
and motion detection [19].
An Arduino board comprises of an Atmel 8-bit AVR
microcontroller along with complementary components that
facilitate programming and incorporation into other circuits.
Fig. 2.
Arduino Board
Fig. 3.
C.MADHUMITA et.al: ARDUINO BASED SENSORLESS SPEED CONTROL OF BLDC MOTOR USING GSM
2000
1500
1000
Voltage(V)
frequency.
Initially the reference speed is given by either GSM under
automatic control or by PC under manual control. After a
cycle of operation, under no load condition, the actual speed
of the motor is obtained from the rotor position sensed by the
Hall Effect Sensors. This speed dc is compared with the
reference speed ref thereby generating the error speed e. If
the speed exceeds the reference speed an error message is
generated. Once an error is detected an error message is sent
by the Arduino to the registered mobile via GSM which in
turn sends the control message to the Arduino board. On
receiving this message, the speed error is received by the
Arduino board which generates PWM signal to be given to the
inverter, thereby controlling the speed of the motor.
Fig. 4 shows the simulated block diagram of the proposed
system and Fig. 5 shows the three phase inverter. Fig. 6 shows
the input voltage waveform of the BLDC drive with respect to
time.
500
0
-500
-1000
-1500
-2000
Fig. 6.
0.05
0.1
0.15
Time (seconds)
0.2
0.25
V. SIMULATION RESULTS
Fig. 7 shows the variation of three phase current with
respect to time. Under constant loads currents will be in phase
with each other and the waveform will be constant without
any deviation. is the angle of rotation of the BLDC drive.
Fig. 8 shows the variation of with time.
Current Time Plot
100
80
60
current(amperes)
40
20
0
-20
-40
-60
-80
-100
0.12
0.14
0.16
0.18
0.2
0.22
Time (seconds)
Fig. 7.
1000
900
Fig. 4.
800
700
Theta
600
500
400
300
200
100
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Time (seconds)
Fig. 8.
Fig. 5.
B j rj l
j 1
150
100
EMF(V)
50
-50
-100
-150
Fig. 9.
0.055
0.06
0.065
Time (seconds)
0.07
0.075
3000
2500
Fig. 12. Hardware showing the interface between PIC and GSM modem.
Speed(rpm)
2000
1500
1000
500
0.1
0.2
0.3
0.4
0.5
Time (seconds)
0.6
0.7
0.8
0.9
Fig. 10. Waveform of Speed Vs Time before and after the reference speed is
changed from 2000 RPM to 2500 RPM.
C.MADHUMITA et.al: ARDUINO BASED SENSORLESS SPEED CONTROL OF BLDC MOTOR USING GSM
Machines and their Control. Boca Raton, FL: CRC Press, 2009, pp. 451563.
[18] P. Pillay and R. Krishnan, Modeling, Simulation, and Analysis of
Permanent-Magnet Motor Drives, part II The brushless dc motor drive,
IEEE Trans. Ind.Appl, vol. 25, no. 2, pp.274-279, Mar/Apr. 1989.
[19] www. http://arduino.cc/
[20] http://www.microchip.com
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]