AC Line Voltage Phase Angle Control (dimmer ) Based on Arduino Using Triac BTA12

by rupjit81 in Circuits > Arduino

732 Views, 0 Favorites, 0 Comments

AC Line Voltage Phase Angle Control (dimmer ) Based on Arduino Using Triac BTA12

20230823_023839.jpg

In this project I am implementing an AC dimmer to control the phase angle of a resistive or inductive load. The circuit uses triac BTA12 as the phase angle controlling device. The triac BTA12 is fired by Arduino Uno. The firing reference is taken from a zero crossing detector circuit.

Supplies

circuit part 2.jpg
circuit part 1.jpg
circuit part 1 and 2 combined.jpg
  1. Arduino Uno board 1 pc
  2. Triac BTA12 1 pc
  3. MOC 3011 1 pc
  4. LM324 1 pc
  5. Diode 1n4007 or equivalent 1 pc
  6. 10k Pot Linear 1 pc
  7. 10k 1/4 w resistor 1 pc
  8. 220V 6-0-6 transformer 1 pc
  9. 220V 60W lamp 1 pc
  10. wires As required

Brief Description

20230823_023839.jpg
20230823_023914.jpg
20230823_023849.jpg
Triac based dimmer using Arduino Uno

The circuit discussed here is a dimmer used to control mains AC voltage. The phase angle of the mains waveform is sampled and the zero crossing point is traced. The zero crossing point is fed to the Arduino Uno. Arduino Uno after getting the zero crossing point fires the triac with a delay of some microseconds. The firing pulse also lasts for some microseconds. The whole firing sequence is controlled by the program loaded in Arduino Uno.

The circuit discussed here consists of three parts:

a. Zero crossing detector : The zero crossing detector is implemented using OP AMP LM324. LM324 is a quad op amp. We are using only one OP AMP. Pin 2 and 3 are comparator pin in the OP AMP LM324. Pin3 is grounded. So, any voltage coming to pin 2 is converted to half wave square wave. We are getting half wave because we are using only one diode to sample AC waveform.

b. BTA 12 triac firing circuit : This circuit uses BTA 12 triac. The gate of the triac is fired by an optocoupler MOC3011. The firing command from Arduino Uno is fed to optocoupler.

c. Arduino Uno : The total circuit is controlled by Arduino. The software tracks the zero crossing point and fires the triac. The zero crossing point is fed from zero crossing detector circuit. The Arduino interrupt pin 3 is fed with zero crossing detector output. This will interrupt the Arduino Uno and trigger the BTA 12 triac. Otherwise the circuit will check serial port for any pulse change command.