CONTROLLER
CONTROLLER
PI CONTROLLER
7.1 Introduction
Commutation ensures proper rotor rotation of the BLDC motor, while the motor speed depends
only on the amplitude of the applied voltage. The amplitude of the applied voltage is adjusted by
using the PWM technique. The required speed is controlled by a speed controller. The speed
controller is implemented as a conventional PI controller. The difference between the actual and
required speed is input to the PI controller and, based on this difference, the PI controller
controls the duty cycle of PWM pulses, which corresponds to the voltage amplitude required to
keep the required speed.
To run the BLDC motor at a desired speed is very important. By controlling the input voltage
and current we can control the speed of BLDC motor. Higher voltage means higher speed. The
speed control of a BLDC motor can be achieved by open loop control or closed loop control.
Open loop control is not efficient, whereas closed loop control are highly efficient and provide
smooth operation than the open loop control.in closed loop control a microcontroller is placed in
the feedback path.
The speed controller calculates a Proportional-Integral (PI) [5] algorithm according to the
following equations:
[ ]
t
1
u ( t )=K c e ( t ) + ∫ e ( τ ) dτ
T1 0
u ( k ) =u p ( k ) +u1 ( k)
u p ( k ) =K c . e ( k )
T
u1=u 1 ( k −1 ) + K c e (k )
T1
Where,
e(k) = Input error in step k
w(k) = Desired value in step k
m(k) = Measured value in step k
u(k) = Controller output in step k
up(k) = Proportional output portion in step k
uI(k) = Integral output portion in step k
uI(k-1) = Integral output portion in step k-1
TI = Integral time constant
T = Sampling time
Kc = Controller gain
Vb=kbθ˙m=kbθms
Tm Tm
Ea−Ra( )−Las( )−kbsθm=0
kt kt
Ra+ L a s
Ea−Tm( )−kb sθm=0
kt
Rotational System:
∑T=Jθ¨m
Tm−Dθ˙m=Jθ¨m
Tm=Js2Θm+Ds θ¨m
Tm= θm(Js2+Ds)
Putting in our Equation:
( Ra+ La s)
Ea− θm (Js2+Ds) −kbsθm=0
kt
( Js 2+ Ds)(Ra+ La s)
Ea= θm + kbsθm
kt
Eakt=θm((Js2+Ds)(Ra+Las)−ktkbs)
θm kt
= + kbsθm
Ea ((Js 2+ Ds))(Ra+ La s)+kt kb s
θm S Wm skt
= = (Ra+ La s)+kt kb s ¿
Ea Ea ( Js+ D)¿
kt
G(s)=
¿¿
Parameters Symbol Ratings
Torque constant Kt 69.13259e-3
Back EMF Kb 69.6e-3
Moment of Inertia J 4.4346e-6
Friction coefficient B 5.98e-6
Electrical Inductance L 4.60e-6
Electrical Resistance R 4.03
Speed RPM 2000
7.3 Flowchart for speed control of BLDC Motor
A controller is used because it has several advantages Like 0% steady state error, no oscillations,
better reaction time and greater stability. The oscillations and overshoot in system output are
reduced by the controller.
A table is attached below which shows the effects of different constants of a controller on output.
Keeping in mind the effect of these Constants on output, we can design a controller to meet our
requirements. In designing or controller we would ignore the proportional constant as its value is
quite low and it will have a very little to no effect on the output.
A block diagram is shown below with a controller and a feedback loop.
the results achieved with the integration of this controller are shown below.
We have used SISO tools on MATLAB to design our controller. In MATLAB first we will
define our transfer function.
We will select required configuration and import this transfer function in siso tools.
All the characteristics of the transfer function will be loaded on siso tools. The characteristics
include the magnitude bode plot, the phase bode plot, the root locus plot and the step response. In
the step response plot we can see that our rise time and settling time is quite long and there are
oscillations but the overall system is stable. We can change the proportionality constant kp by
moving the poles of our system on the root locus. By increasing KP we can see that our rise time
will decrease but overshoot will increase and the steady state error will also decrease. To
overcome this problem we will add integrator i.e we will add a zero. We will put that zero
according to requirement. After adding zero we will move our poles on the new root locus.