Vous êtes sur la page 1sur 29

AC VOLTAGE CONTROLLER USING

THYRISTOR

1. INTRODUCTION:
In this project we use one Atmel base microcontroller to provide a automation.
We use seven segment display to display the speed level of Ac load. In this
project we provide one output for load variations. Output is connected through
Triac control circuit. We use one Separate seven segments for indicator. We
provide manual input switch for this controller to vary and on/off the load. We
use total three switches. One for on/off and two for increment and decrement.
Zero cross over signal is provided to the controller via Opto-coupler circuit to
pin no 13 of the circuit

A voltage controller, also called an AC voltage controller or AC regulator is an


electronic module based on either thyristor, which converts a fixed voltage,
fixed frequency alternating current (AC) electrical input supply to obtain
variable voltage in output delivered to a resistive load. This varied voltage
output is used for dimming street lights, varying heating temperatures in homes
or industry, speed control of fans and winding machines and many other
applications, in a similar fashion to an autotransformer. Voltage controller
modules come under the purview of power electronics. Because they are low-
maintenance and very efficient, voltage controllers have largely replaced such
modules as magnetic amplifiers and reactors in industrial use

1.1 MODES OF OPERATION:


Voltage controllers work in two different ways

On-Off control
Phase control

1.1.1 On-Off control:

In an on-and-off controller, thyristors are used to switch on the circuits for a few
cycles of voltage and off for certain cycles, thus altering the total RMS voltage
value of the output and acting as a high speed AC switch. The rapid switching
results in high frequency distortion artifacts which can cause a rise in
temperature, and may lead to interference in nearby electronics. Such designs
are not practical except in low power applications.

1.1.2 Phase angle control:

In phase control the Thyristors are used as switches to connect the load circuit to
the input ac supply, for a part of every input cycle. That is the ac supply voltage
is chopped using Thyristors during a part of each input cycle. The thyristor
switch is turned on for a part of every half cycle, so that input supply voltage
appears across the load and then turned off during the remaining part of input
half cycle to disconnect the ac supply from the load. By controlling the phase
angle or the trigger angle (delay angle), the output RMS voltage across the
load can be controlled. The trigger delay angle is defined as the phase angle
(the value of t) at which the thyristor turns on and the load current begins to
flow. Thyristor ac voltage controllers use ac line commutation or ac phase
commutation. Thyristors in ac voltage controllers are line commutated (phase
commutated) since the input supply is ac. When the input ac voltage reverses
and becomes negative during the negative half cycle the current flowing through
the conducting thyristor decreases and falls to zero. Thus the ON thyristor
naturally turns off, when the device current falls to zero. Phase control
Thyristors which are relatively inexpensive, converter grade Thyristors which
are slower than fast switching inverter grade Thyristors are normally used. For
applications up to 400Hz, if Triacs are available to meet the voltage and current
ratings of a particular application, Triacs are more commonly used. Due to ac
line commutation or natural commutation, there is no need of extra commutation
circuitry or components and the circuits for ac voltage controllers are very
simple. Due to the nature of the output waveforms, the analysis, derivations of
expressions for performance parameters are not simple, especially for the phase
controlled ac voltage controllers with RL load. But however most of the
practical loads are of the RL type and hence RL load should be considered in the
analysis and design of ac voltage controller circuits.
1.2 CIRCUIT DIAGRAM:
3. COMPONENTS USED:

MICROCONTROLLER = 89S52.
MOC 3021= OPTO-COUPLER FOR TRIAC DRIVER( 1)
PC 817 OPTOCOUPLER FOR ZERO CROSS OVER INPUT
TSOP 1738 FOR REMOTE SENSOR(1)
SEVEN SEGMENT DISPLAY COMMON ANODE (1)
DIODE= IN 4007(4)
7805 REGULATOR
PUSH TO ON SWITCHES (4)
TRIAC BT 136 (1)
CRYSTAL 12 Mhtz
RESISTOR:
o 10K (1)
o 470 OHM (12)
o 100 OHM (2)

4. WORKING:
4.1 TRIAC:
Triac is a power electronic component that conducts in both directions when
triggered through gate. .As it can be seen that at time t1, angle of sinusoid is 45'
which means that if we triggered Triac at this angle i-e at 45', only shaded blue
area will pass through the Triac and hence through the load. Observe that shaded
blue are has RMS Voltage less than the pure sinusoid. This is the basic principle
by which RMS Voltage control is accomplished. Firing needs a small pulse at
gate that can be giving through microcontroller also. Similarly at firing
angle 90' (firing angle is an angle with reference zero crossing at which the
Triac is triggered using gate pulse), only red part of sinusoid will pass through
the Triac giving us the RMS 110V for 220V.
4.2 Coutesy of
Motrola
MOC3021 is an optotriac (product of Motorola) that is used for isolation
between power and driving circuitry. Note that when C828 on the base is applied
voltage>0.7V, optotriac gets triggered. As the triac gets triggered now, the
positive or negative voltage (whatever maybe) get pass through the gate of
BT136 (triac) and hence triggered it. It should be noted here that by using above
arrangement we can control the RMS voltage in both directions. What needs to
be taken care of is the triggering time or firing angle.

There is a need of a zero-crossing detector that will give us the reference for
providing delay for desired firing angle. In above example, for firing angle to be
90' for 220V 50Hz AC signal, we need to have a delay of 2.5 ms (t1=2.5ms)
right after each zero crossing. Usually MOC3021 is driven
through microcontroller, which gives the firing pulse on the basis of interrupt
generated by the zero-crossing detector.
The above circuit is mainly used as a dimmer and is often used speed controlling
of AC motor.
5. HOW TO PROGRAM BLANK CHIP:

8051 MICRO CONTROLLER:

5.1 The 8051:


The 8051 developed and launched in the early 80`s, is one of the most popular
micro controller in use today. It has a reasonably large amount of built in ROM
and RAM. In addition it has the ability to access external memory.

The generic term `8x51` is used to define the device. The value of x defining the
kind of ROM, i.e. x=0, indicates none, x=3, indicates mask ROM, x=7, indicates
EPROM and x=9 indicates EEPROM or Flash.

5.2 Different micro controllers in market:

PIC: - One of the famous microcontrollers used in the industries. It is

based on RISC Architecture which makes the microcontroller process

faster than other microcontroller.

INTEL: - These are the first to manufacture microcontrollers. These are

not as sophisticated other microcontrollers but still the easiest one to

learn.

ATMEL: - Atmels AVR microcontrollers are one of the most powerful in

the embedded industry. This is the only microcontroller having 1kb of ram

even the entry stage. But it is unfortunate that in India we are unable to

find this kind of microcontroller.


5.3 Intel 8051:

Intel 8051 is CISC architecture which is easy to program in assembly


language and also has a good support for High level languages.

The memory of the microcontroller can be extended up to 64k.

This microcontroller is one of the easiest microcontrollers to learn.

The 8051 microcontroller is in the field for more than 20 years. There are
lots of books and study materials are readily available for 8051.

First of all we select and open the assembler and wrote a program code in the

file. After wrote a software we assemble the software by using internal

assembler of the 8051 editor. If there is no error then assembler assemble the

software abd 0 error is show the output window.

Now assembler generates an ASM file and HEX file. This hex file is useful for
us to program the blank chip.

Now we transfer the hex code into the blank chip with the help of serial
programmer kit. In the programmer we insert a blank chip 0f 89s51 series. These
chips are multi time programmable chip. This programming kit is separately
available in the market and we transfer the hex code into blank chip with the
help of the serial programmer kit.
5.4 BLOCK DIAGRAM
The AT89C52 provides the following standard features: 8K bytes of Flash, 256
bytes of RAM, 32 I/O lines, three 16-bit timer/counters, a six-vector two-level
interrupt architecture, full-duplex serial port, on-chip oscillator, and clock
circuitry. In addition, the AT89C52 is designed with static logic for operation
down to zero frequency and supports two software selectable power saving
modes. The Idle Mode stops the CPU while allowing the RAM, timer/counters,
serial port, and interrupt system to continue functioning. The Power-down mode
saves the RAM contents but freezes the oscillator, disabling all other chip
functions until the next hardware reset.
5.5 PIN DESCRIPTION:

VCC:
Supply voltage.

GND:
Ground.

Port 0:
Port 0 is an 8-bit open drain bi-directional I/O port. As an output port,
each pin can sink eight TTL inputs. When 1s are written to port 0 pins, the
pins can be used as high impedance inputs.
Port 0 can also be configured to be the multiplexed low order address/data
bus during accesses to external program and data memory. In this mode,
P0 has internal pullups.
Port 0 also receives the code bytes during Flash programming and outputs
the code bytes during program verification. External pullups are required
during program verification.

Port 1:
Port 1 is an 8-bit bi-directional I/O port with internal pullups. The Port 1
output buffers can sink/source four TTL inputs. When 1s are written to
Port 1 pins, they are pulled high by the internal pullups and can be used as
inputs. As inputs, Port 1 pins that are externally being pulled low will
source current (IIL) because of the internal pullups.

In addition, P1.0 and P1.1 can be configured to be the timer/counter 2


external count input (P1.0/T2) and the timer/counter 2 trigger input
(P1.1/T2EX), respectively, as shown in the following table.

Port 1 also receives the low-order address bytes during Flash


programming and verification.
Port 2:
Port 2 is an 8-bit bi-directional I/O port with internal pullups. The Port 2
output buffers can sink/source four TTL inputs. When 1s are written to
Port 2 pins, they are pulled high by the internal pullups and can be used as
inputs. As inputs, Port 2 pins that are externally being pulled low will
source current (IIL) because of the internal pullups.

Port 2 emits the high-order address byte during fetches from external
program memory and during accesses to external data memory that uses
16-bit addresses (MOVX @ DPTR). In this application, Port 2 uses strong
internal pullups when emitting 1s. During accesses to external data
memory that uses 8-bit addresses (MOVX @ RI); Port 2 emits the
contents of the P2 Special Function Register.

Port 2 also receives the high-order address bits and some control signals
during Flash programming and verification.

Port 3:

Port 3 is an 8-bit bi-directional I/O port with internal pullups. The Port 3
output buffers can sink/source four TTL inputs. When 1s are written to
Port 3 pins, they are pulled high by the internal pullups and can be used as
inputs. As inputs, Port 3 pins that are externally being pulled low will
source current (IIL) because of the pullups.

Port 3 also serves the functions of various special features of the


AT89C51, as shown in the following table.

Port 3 also receives some control signals for Flash programming and
verification.
RST:
Reset input. A high on this pin for two machine cycles while the oscillator is
running resets the device.

ALE/PROG:
Address Latch Enable is an output pulse for latching the low byte of the
address during accesses to external memory.

This pin is also the program pulse input (PROG) during Flash
programming. In normal operation, ALE is emitted at a constant rate of
1/6 the oscillator frequency and may be used for external timing or
clocking purposes. Note, however, that one ALE pulse is skipped during
each access to external data memory.

If desired, ALE operation can be disabled by setting bit 0 of SFR location


8EH. With the bit set, ALE is active only during a MOVX or MOVC
instruction. Otherwise, the pin is weakly pulled high. Setting the ALE-
disable bit has no effect if the microcontroller is in external execution
mode.

PSEN:
Program Store Enable is the read strobe to external program memory. When the
AT89C52 is executing code from external program memory, PSEN is activated
twice each machine cycle, except that two PSEN activations are skipped during
each access to external data memory.

EA/VPP:
External Access Enable. EA must be strapped to GND in order to enable
the device to fetch code from external program memory locations starting
at 0000H up to FFFFH.

Note, however, that if lock bit 1 is programmed, EA will be internally


latched on reset. EA should be strapped to VCC for internal program
executions.
This pin also receives the 12-volt programming enable voltage (VPP)
during Flash programming when 12-volt programming is selected.

XTAL1:
Input to the inverting oscillator amplifier and input to the internal clock
operating circuit.

XTAL2
Output from the inverting oscillator amplifier.

6. ELECTRICAL CHARACTERISTICS OF LEDS:

Electrically, a LED is similar to the conventional diode in that it has relatively


low forward voltage threshold. Once this is exceeded the junction has a low
slope resistance and conducts current readily. An external resistor must limit this
current. Forward voltage drew across red LED is nominally 1.6 V but spread
with commercial diodes, it may be as high as 2 volts or so, while the Green LED
drops 2.4V. This difference accounts for use of lower limiting resistor used with
the Green LED.
Another important parameter of the LED is its maximum reverse voltage
rating. For typical Red device it is of the order of 3 volts. But for Green LED it
is somewhat higher- 5 to 10 volts.
The LED produces light only when a D.C. current is passed in the forward
direction and the amount of light emitted by a LED is proportional to the
forward current over a broad range. It means that light intensity increases in an
approximately linear manner with increasing current.
7. SEVEN SEGMENT DISPLAY DECIMAL DISPLAY:

A popular type consists of seven small, bar-shaped LED segment arranged so


that depending on which combinations are energized, the numbers 0 to 9 light
up. All the LED cathodes (or sometimes anodes) are joined to form a common
connection. Current limiting resistors are required (e.g. 270 ohms), preferably
one per segment. Common cathode method of connecting an array of display
elements.
Anode Connection

Common Cathode

The main requirements for a suitable LED material are:-

1) It must have on energy gap of appropriate width.

2) Both P and N types must exist, preferably with low resistivitys.

3) Efficient radioactive pathways must be present.

Generally, energy gaps greater than or equal to about 2 are required.


7.1 Commercial LED materials:
Gallium arsenide (Ga As) doped with Si
Gallium Phosphide (GaP) doped with N & Bi
Gallium arsenide Phosphide (Ga As1-x Px)
Gallium aluminium arsenide (Gax Al1-x As)

7.2 led constructions:


To reduce reflection losses in LEDs there are two obvious ways:-

The first is to ensure that most rays strike the surface at less than the
critical angle. This may be achieved by shaping the semiconductor /air
interface into a hemisphere.
The second technique is to encapsulate the junction in a transparent
medium of high refractive index. This is usually a plastic material with
refractive index of about 1.5. Moulding the plastic into an approximately
hemispherical shape can minimize the losses at the plastic lair interface.
8. PROGRAM CODE:

t0_lo equ 048h

t0_hi equ 0fch

t1_lo equ 048h

t1_hi equ 0fch

FND_DATA equ P0

fan_led1 bit P2.4

fan_sw1 bit P2.3

ir_in bit P3.2

zcd_in bit P3.3

key1 bit P2.0

key2 bit P2.1

key3 bit P2.2

cmd0 equ 01h ;1

cmd1 equ 02h ;2

cmd2 equ 03h ;3

delay1 equ 40h

temp1 equ 42h

display1 equ 43h

cnt1 equ 44h

rb0 equ 000H

rb1 equ 008H

rb2 equ 010h


rb3 equ 018h

flags equ 21h

control bit flags.0

new bit flags.1

cmd bit flags.2

fan1 bit flags.3

command equ 22h

cmd_data equ 23h

buffer equ 24h

stack equ 60h

org 00H

ljmp main

org 0003H

ljmp ex0_isr

org 000bh

ljmp tim0_isr

org 0013h

ljmp ex1_isr

org 001bh

ljmp tim1_isr

org 0023h

reti

ex0_isr:
push psw

push a

jb ir_in,skp_ex01

mov tl0,#0c0h

mov th0,#0f3h

mov cnt1,#06h

mov command,#00h

mov cmd_data,#00h

setb tr0

skp_ex01:

pop a

pop psw

reti

tim0_isr:

push psw

push a

clr tr0

jnb cmd,skp_tim06

mov c,ir_in

mov a,command

mov command,a

djnz cnt1,skp_tim01

mov cnt1,#07h

clr cmd
sjmp skp_tim01

skp_tim06:

mov c,ir_in

mov a,cmd_data

mov cmd_data,a

djnz cnt1,skp_tim01

mov a,cmd_data

mov cmd_data,a

mov a,command

jnb acc.5,skp_tim03

jnb control,skp_tim02

setb new

sjmp skp_tim04

skp_tim03:

jnb control,skp_tim02

setb new

sjmp skp_tim04

skp_tim04:

mov c,acc.5

mov control,c

anl a,#0fh

mov command,a

setb ex0

sjmp skp_tim05
skp_tim02:

setb ex0

sjmp skp_tim05

skp_tim01:

mov tl0,#080h

mov th0,#0f9h

setb tr0

skp_tim05:

pop a

pop psw

reti

ex1_isr:

push psw

push a

mov tl1,#t0_lo

mov th1,#t0_hi

setb tr1

jz skp_ex10

jb fan1,skp_ex10

clr fan_sw1

skp_ex10:

pop a

pop psw

reti
tim1_isr:

push psw

push a

clr tr1

mov tl1,#t1_lo

mov th1,#t1_hi

djnz temp1,skp_tim10

jnb fan1,skp_tim10

setb fan_sw1

skp_tim10:

pop a

pop psw

reti

main:

mov delay1,#09d

clr cmd

clr fan1

setb fan_sw1

mov tcon,#00H

mov psw,#rb0

mov sp,#stack

mov tmod,#011h

mov tl1,#t1_lo

mov th1,#t1_hi
mov dptr,#MSG1

mov a,delay1

movc a,@a+dptr

mov FND_DATA,a

setb it0

setb it1

setb et0

setb et1

setb ex0

setb ex1

setb ea

main_loop:

jb new,nxt0

jnb key1,keylp1

jnb key2,keylp2

jnb key3,keylp3

ljmp main_loop

keylp1:

mov r6,#0d

jnb key1,keylp1

mov r6,#0d

jnb key1,keylp1

ljmp act_cmd0

keylp2:
mov r6,#0d

djnz r6,$

djnz r6,$

jnb key2,keylp2

mov r6,#0d

djnz r6,$

djnz r6,$

jnb key2,keylp2

ljmp act_cmd1

keylp3:

mov r6,#0d

jnb key3,keylp3

mov r6,#0d

jnb key3,keylp3

ljmp act_cmd2

nxt0:

clr new

mov a,cmd_data

cjne a,#cmd0,nxtc1

ljmp act_cmd0

nxtc1:

cjne a,#cmd1,nxtc2

ljmp act_cmd1

nxtc2:
cjne a,#cmd2,skipc

ljmp act_cmd2

skipc:

jmp main_loop

act_cmd0:

jnb fan1,skp_cmd01

ljmp main_loop

skp_cmd01:

mov a,delay1

cjne a,#09d,skp_cmd02

ljmp main_loop

skp_cmd02:

inc delay1

mov a,delay1

movc a,@a+dptr

mov FND_DATA,a

ljmp main_loop

act_cmd1:

cpl fan_led1

ljmp main_loop

act_cmd2:

jnb fan1,skp_cmd21

mov a,delay1

jnz skp_cmd21
dec delay1

mov a,delay1

movc a,@a+dptr

mov FND_DATA,a

skp_cmd21:

ljmp main_loop

; .gfedcba

MSG1:

db 10010000b ;9

db 10000000b ;8

db 11111000b ;7

db 10000010b ;6

db 10110010b ;5

db 10011001b ;4

db 10110000b ;3

db 10100100b ;2

db 11011001b ;1

db 11000000b ;0

db 10001000b ;A

db 11111111b ;b

db 11111111b ;C

db 11111111b ;d

db 11011111b ;E
db 11111111b ;F

db 11111111b ;bk

end

9. REFRENCE:
http://en.wikipedia.org
https://www.google.co.in/
http://sciencehobbycentre.com/

Vous aimerez peut-être aussi