Single Phase AC Motor speed controller using 8051
Single phase AC Motor speed
controller
Abstract:
Here is a very simple example of
AC motor speed control given by changing firing angle of TRIAC with the help of
micro controller AT89C51. Varying speed of AC motor by means of changing firing
angle of any thyristor is very widely used method. One very nice example is fan
regulator in which a fan motor is an AC motor used and its speed is varied
using TRIAC method.
A zero crossing detector circuit
is used here to interrupt AT89C51 after every 10 ms. After getting an interrupt
89C51 will fire TRIAC after some delay from 1 to 9 ms. This will cut the
current supplied to motor and so the speed of motor will reduce. Thus by
varying the delay after which the TRIAC is triggered one can change the speed
of motor.
Main circuit is a combination of two sub
circuits.
- Zero crossing detector circuit
- Firing angle control circuit
Resources:
To download Code , Circuit : Click Here
Zero crossing detector circuit:
Connections:
As shown in above figure
transformer T1 step downs 230 VAC in to 9 VAC and this is given to bridge rectifier.
This rectified output is directly fed to base of Q1 through resistors R1 &
R2. Same rectified output is filtered through C1 and given to voltage regulator
IC 7805. Output of 7805 is regulated 5 VDC that is given as biasing voltage for
both transistors Q1 & Q2 (same regulated 5 V supply is given to main
control section also). Both transistors are connected in switch configuration.
The final output ‘C’ is given to main control section.
Firing angle control circuit:
Connections:
As shown in above figure
micro controller AT89C51 along with opto coupler MOC3011 (for triggering TRIAC)
and common Anode type bar graph display (for indicating angle) are used for
changing firing angle of TRIAC. Signal 'C' from zero crossing detector circuit
is directly given to pin no 12 (INT0) that is external interrupt 0 (P3.2) pin.
All port P1 pins are connected with cathode of bar graph display and common Anode
of bar graph is connected to 5 volt through 220 ohm resistor. Two led’s of bar
graph display is connected to P3.7 and other one is connected to P3.6. It is used
to show the status of the motor power and zero cross circuit. If the led that
is connected with P3.7 blinks it means zero cross circuit is working ok. The
led that is connected with P3.6 shows the power status. If led is on it means
motor power is enabled if led is off it means power is disabled.
P0.0 is connected with
input of opto-coupler MOC3011. Output of MOC3011 is connected with gate of
TRIAC. TRIAC is connected in loop with AC motor and 230 VAC supply as shown. RC
snubber circuit is connected is connected in parallel with TRIAC. Three push
buttons Sw1, Sw2 and Sw3 are connected with P1.0, P1.1 & P1.2 respectively.
Pin P3.3 (external interrupt 1) is connected with all three push buttons
through diodes D1, D2 & D3 as shown. A 12 MHz crystal along with two 33pf
capacitor is connected with crystal input pins. Capacitor C2 with Resistor R6
performs power on reset.
Operation:
To understand operation let us take a help of waveform's.
- As shown in figure the first wave form is full rectified wave that is fed to the base of Q1. Whenever this voltage falls below 0.7 V Q1 is switched off. So its output goes high.
- This will produce one very short positive pulse at ‘B’ as shown in figure as second waveform
- As this positive pulses are fed to Q2 which is again connected in switch configuration, it will produce one negative pulse at ‘C’ of same width of positive pulse. This is shown as third waveform
- Now as this negative pulse output is given to interrupt pin of micro controller. It will generate interrupt every time.
- After getting an interrupt micro controller will on the timer0. Timer 0 is used to generate a delay after some delay make P0.0 low. This is used to trigger (fire) TRIAC.
- Depending upon the time delay in between interrupts and pulse on P0.0, the TRIAC is fired earlier or later.
- As shown In figure I have given wave forms for two different cases one for 4 ms delay and second for 8 ms delay
- In the first case for 4 ms delay the output positive cycle of AC wave is 60% of input so only 60% current is delivered to load (the dotted line shows part of wave form that has been cut)
- For second case 8 ms delay output cycle is 20% of input cycle so only 20% current is supplied to load
This change in delay is done through push buttons given. So let us
see the functions of push button
Switch
|
Functions
|
Sw1
|
to switch on / off TRIAC
|
Sw2
|
S2 to increase delay by 1 ms
|
Sw3
|
to decrease delay by 1 ms
|
Variation in angle is
displayed on bar graph display. If angle is more, less current supplied to
motor and motor speed is reduced less bars appears on display. If angle is
decreased, current supplied will be more, speed of motor is increased and more bars
appear on display.
The diodes D1, D2 and D3
are connected in such a manner that whenever any of three push buttons, is
pressed it will generate external interrupt 1.
When Sw1 is pressed
first time it will enable the switching of TRIAC. After every 10 ms external
interrupt 0 is generated and that will start the entire operation.
Pressing Sw1 again will disable switching of TRIAC. Now no more pulses are
generated on P0.0 and complete operation is shut off.
On pressing Sw2 will
increase delay by 1 ms (firing angle by 18o deg). So firing
of TRIAC is delayed by 1 ms and amount of current supplied to load is
decreased by 10%. Maximum delay is 9 ms (max angle is 162o
deg). Bar is decreased by 1 step.
In same manner when S3
is pressed delay is decreased by 1ms (firing angle by 18o deg) and
load current increases by 10%. Minimum delay is 0 means full positive cycle is
applied. Bar is increased by 1 step.
The bar graph displays
the variation in phase angle. More bars means angle is small and motor speed is
high and vice versa.
Pc Software:
Hardware can be
interfaced with the pc to control the speed of motor. It has no as such
practical use it is just for learning point of view.
Hardware can be
connected with pc through a serial port. Serial communication is used to
communicate between hardware and software.
Visual basic 6 is used
for making this GUI (Graphic user Interface).
Baud rate is 2400 bps.
Tested:
This hardware is tested with 120 watts Pedestal Fan, 200 watt bulb and with grander motor.
Motor specification is as
BLENDER MOTOR 7020
Voltage: AC 220V
Frequency: 50/60 HZ
Wattage: 250 WATT
Ampere: 1A
RPM: 13000 RPM
Software
logic:
The complete operation
is based on the software embedded in micro controller AT89C51. The software is
written in C language. Compiler is keil 4. Different functions are used for
different operations like incangle (), decangle (), init (), uart () and Interrupts
functions etc.
Resources:
To download Code , Circuit : Click Here