27-06-2012, 04:22 PM
Design and Implementation of Adaptive Fuzzy Controller for Speed Control of Brushless DC Motors
Design and Implementation of Adaptive Fuzzy Controller.pdf (Size: 350.68 KB / Downloads: 55)
ABSTRACT
This paper presents the design and implementation of an adaptive
fuzzy logic controller for the speed control of brushless dc motors.
The proposed system uses an adaptation of the slope of the
membership functions of the variables used in the conventional
fuzzy controller based on the magnitude of the error. A simulation
analysis of the fuzzy controller and the adaptive fuzzy controller
are done and their performances are compared. Simulation results
of both fuzzy and adaptive fuzzy controllers are presented. The
adaptive fuzzy controller is better than the fuzzy controller based
on the performance parameters considered. An experimental
implementation of the designed adaptive fuzzy controller on an
embedded microcontroller is also presented.
Keywords
Brushless DC motor, Fuzzy controller, Adaptive fuzzy controller,
microcontroller.
INTRODUCTION
Recently , permanent magnet brushless dc motor (PMBLDC) is
very popular because of its attractive features such as high
starting torque, high efficiency, low maintenance cost, absence of
mechanical commutator, high speed operation, low volume to
torque ratio, elimination of sparking and electromagnetic
disturbances, noise.
A PMBLDC motor is inside out construction of DC motor. The
efficiency is likely to be higher than DC motor of equal size and
the absence of commutator and brushes, reduces the motor length.
Hence the lateral stiffness of the motor is increased, allowing for
high speeds [1, 2]. The power electronic converters required in
brushless dc motor are similar in topology to the PWM inverter
used in induction motor drives.
Nowadays brushless dc motors are used in various applications
such as defense, industries, robotics, etc. In these applications,
motor should be precisely controlled so as to give desired
performance. The classical controller need accurate mathematical
model of the system and can perform well only under linear
condition. Since the PMBLDC motor is highly coupled non-linear
multivariable system, it is difficult to obtain its accurate
mathematical model. Hence there is a need for intelligent
controller. So an attempt is made to develop fuzzy controller for
PMBLDC motor.
The fuzzy logic controller (FLC) is indeed capable of
providing the high accuracy required by high performance drive
system without the need of mathematical model [3, 4]. FLC
accommodates non-linearity without utilization of mathematical
model [5, 6]. The fuzzy logic controller uses fuzzy logic as a
design methodology, which can be applied in developing nonlinear
system for embedded control. Simplicity and less intensive
mathematical design requirements are the most important features
of the FLC.
Fuzzy logic control is derived from fuzzy set theory introduced
by Zadeh in 1965. In fuzzy set theory, the transition between
membership and non-membership can be gradual. Therefore,
boundaries of fuzzy sets can be vague and ambiguous, making it
useful for approximate systems. Fuzzy Logic controller is an
attractive choice when precise mathematical formulations are not
possible [7, 8].
PROPOSED SYSTEM
Figure 1. Proposed system.
Figure 1 shows the block diagram of proposed system. The
system above is composed of brushless dc motor, six step inverter,
gate drive for inverter, fuzzy controller and switching logic. Due
to the presence of parameter variation and load disturbance in a
BLDC motor, closed loop control is necessary, to obtain a
desirable behavior. BLDC motor has three phase windings on
stator and Permanent Magnet on rotor. In order to define the shaft
position, rotor position sensor is necessary. The sensor senses the
rotor shaft position and signals. The processed signals are given to
the fuzzy controller. The output of the controller is used to
provide switching signals for the inverter from which the speed of
the motor can be controlled.
FUZZY AS A CONTROL TOOL
Generally PI controller is widely used in BLDC motor control;
however it does not give satisfactory results when control
parameters and loading condition changes rapidly [3]. The fuzzy
logic controller (FLC) will guarantee a stable operation, even if
there is a change in motor parameters and load disturbances. The
C.Senthil Kumar
Assistant Professor, EEE Department,
PSR Engineering College, Sivakasi
Tamilnadu, India
N.Senthil Kumar
Professor, EEE Department
Mepco schlenk Engineering College,
Sivakasi, Tamilnadu India
©2010 International Journal of Computer Applications (0975 - 8887)
Volume 1 – No. 27
37
reason is obvious; any control system maps the input space to the
output space. Generally, a desired set of outputs are calculated for
a given set of inputs. This mathematical calculation is represented
with a formula, which demonstrates the system behavior.
However, this mathematical formula may be too complex to use
for the real world issues. In these cases, fuzzy logic provides a
useful methodology to create a practical solution for controlling
complex systems. It is not necessary to know the exact model of
such complex systems in order to design a FLC. It is sufficient to
understand the general behavior of the system. Fuzzy logic
enables the designer to express the general behavior of the
systems in an easier (linguistic) manner where it is allowed to use
words and sentences instead of numbers and equations. This is
accomplished by forming IF-THEN rules which describe the
characteristics of the system. High degree of automation and
robust nonlinear control is also possible by means of fuzzy
controller.
DESIGN OF FUZZY CONTROLLER
The purpose of the speed control of a brushless dc motor is to
arrange the applied voltage in order to reach the reference speed.
An error is determined by the difference between the actual speed
and the reference speed. The applied voltage should be changed
by increasing or decreasing the duty cycle of power transistors in
order to minimize the error[4,5].In order to accomplish this task
fuzzy controller is designed. Error and change in error are the
inputs for the fuzzy controller whereas the output of the controller
is change in duty cycle. Two input single output Mamdani type of
fuzzy controller with 25 rules is designed for this work. Design of
fuzzy controller involves three steps namely fuzzification,
inference mechanism and defuzzification.
Fuzzification
Fuzzy logic uses linguistic variables instead of numerical
variables. The process of converting a numerical variable in to a
linguistic variable is called fuzzification. Five linguistic variables
Negative Big(NB), Negative Small(NS), Zero(Z), Positive
Small(PS), Positive Big(PB) are used in this work. Triangular
membership function is assigned for input and output variables
defined in different universe of discourses. They are shown
below.
Fig.2 Membership functions used for fuzzy controller.
4.2 The inference mechanism
Table1: Rule base
CE E NB NS Z PS PB
NB NB NB NB NS Z
NS NB NB NS Z PS
Z NB NS Z PS PB
PS NS Z PS PB PB
PB Z PS PB PB PB
©2010 International Journal of Computer Applications (0975 - 8887)
Volume 1 – No. 27
38
The rules are in the following format. If error is Ai, and
change in error is Bi then output is Ci. Here the if “part” of a rule
is called the rule-antecedent and is a description of a process state
in terms of a logical combination of atomic fuzzy propositions.
The “then” part of the rule is called the rule consequent and is a
description of the control output in terms of logical combinations
of fuzzy propositions. The rule table for the designed fuzzy
controller is given in the table 1.From the rule table the rules are
manipulated as follows [4,5].
Rule1: If error is NB, and change in error is NB then
output is NB
Rule2: If error is NB, and change in error is NS then
output is NB
Rule3: If error is NB, and change in error is Z then
output is NB
.
.
.
Rule25: If error is PB, and change in error is PB then
output is PB.
4.3. Defuzzification
The reverse of fuzzification is called defuzzification. The use of
FLC produces required output in a linguistic variable. According
to real world requirements, the linguistic variables have to be
transformed to crisp Output. There are many methods of
defuzzification. Centroid method of defuzzification is used in this
work. The defuzzified output is obtained by the following
equation
B=
z dz
z zdz
( )
( )
μ
μ
Adaptive Fuzzy Controller
Adaptive fuzzy controller is one which provides provision for
changing the parameters of fuzzy system based on performance
index. Parameters of adaptation are
o the scaling factors for each variable.
o the fuzzy set representing the meaning of
linguistic variables.
o the if-then rules.[5]
In this work the slope of the membership function of error and
change in error are changed according to the values of error.
When the error lies in the range -1 to -0.5 and 0.5 to 1, the
membership function shown in figure 3 is used whereas when the
error lies in the range -0.5 to 0.5, the membership function shown
in figure 4 is used. This is accomplished in simulation by using
embedded Matlab function in simulink tool box.