- Gebruikte componenten:
- Zero Crossing-detectietechniek
- TRIAC Werken
- Optocoupler
- Schakelschema:
- Programmering Arduino voor AC Light Dimmer:
- Werking van Arduino Lamp Dimmer Circuit
In ons huishouden worden de meeste apparaten gevoed door de AC-voeding, zoals lampen, tv's en ventilatoren, enz. We kunnen ze indien nodig digitaal AAN / UIT zetten met behulp van Arduino en relais door een domotica-installatie te bouwen. Maar wat als we de kracht van die apparaten moeten regelen, bijvoorbeeld om de AC-lamp te dimmen of om de snelheid van de ventilator te regelen. In dat geval moeten we fasecontrole-techniek en statische schakelaars zoals TRIAC gebruiken om de fase van de AC-voedingsspanning te regelen.
In deze tutorial leren we dus over een AC-lampdimmer met Arduino en TRIAC. Hier wordt een TRIAC gebruikt om de AC-lamp te schakelen, aangezien dit een Power electronic snelschakelaar is die het meest geschikt is voor deze toepassingen. Laten we het volledige artikel volgen voor de hardwaregegevens en programmering van dit project. Bekijk ook onze vorige tutorials over Light Dimming:
- IR-afstandsbediend TRIAC-dimmercircuit
- Arduino-gebaseerde LED-dimmer met PWM
- 1 Watt LED Dimmer Circuit
- Power LED Dimmer met ATmega32 Microcontroller
Gebruikte componenten:
- Arduino UNO-1
- MCT2E optocoupler -1
- MOC3021 optocoupler -1
- BT136 TRIAC-1
- (12-0) V, 500mA Step-down transformator-1
- 1K, 10K, 330ohm weerstanden
- 10K Potentiometer
- AC houder met lamp
- AC-draden
- Truien
Voordat we verder gaan, zullen we meer leren over Zero Crossing, TRIAC en optocoupler.
Zero Crossing-detectietechniek
Om de AC-spanning te regelen, moeten we eerst de nuldoorgang van het AC-signaal detecteren. In India is de frequentie van het AC-signaal 50 Hz en omdat het van nature afwisselend is. Daarom moeten we elke keer dat het signaal naar het nulpunt komt, dat punt detecteren en daarna de TRIAC activeren volgens de vermogensvereiste. Het nuldoorgangspunt van een AC-signaal wordt hieronder weergegeven:
TRIAC Werken
TRIAC is een AC-schakelaar met drie aansluitingen die kan worden geactiveerd door een laag-energiesignaal op de gate-aansluiting. Bij SCR's geleidt het slechts in één richting, maar in het geval van TRIAC kan het vermogen in beide richtingen worden geregeld. Hier gebruiken we een BT136 TRIAC voor het dimmen van AC-lampen.
Zoals te zien is in de bovenstaande afbeelding, wordt de TRIAC geactiveerd onder een afvuurhoek van 90 graden door er een klein poortpulssignaal op toe te passen. De tijd "t1" is de vertragingstijd die we moeten geven volgens onze dimvereisten. In dit geval bijvoorbeeld, omdat de ontstekingshoek 90 procent is, wordt het vermogen ook gehalveerd en zal de lamp dus ook met halve intensiteit gloeien.
We weten dat de frequentie van het AC-signaal hier 50 Hz is. De tijdsperiode is dus 1 / f, wat 20 ms zal zijn, dus voor een halve cyclus is dit 10 ms of 10.000 microseconden. Voor het regelen van het vermogen van onze AC-lamp kan het bereik van "t1" dus worden gevarieerd van 0-10000 microseconden. Lees hier meer over Triac en zijn werking.
Optocoupler
Optocoupler is ook bekend als Optoisolato r. Het wordt gebruikt om isolatie te behouden tussen twee elektrische circuits zoals DC- en AC-signalen. In wezen bestaat het uit een LED die infrarood licht uitzendt en de fotosensor die het detecteert. Hier gebruiken we een MOC3021 optocoupler om de AC-lamp te besturen van microcontrollersignalen, wat een DC-signaal is. We gebruikten eerder dezelfde MOC3021-optocoupler in het TRIAC-dimcircuit. Lees ook meer over Optocouplers en de typen door de link te volgen.
Schakelschema:
Het schakelschema voor AC Light Dimmer wordt hieronder gegeven:
Het is een feit dat u zich geen zorgen hoeft te maken.TRIAC en Optocoupler-aansluitschema:
Ik heb een circuit van TRIAC en Optocoupler MOC3021 op een perfboard gesoldeerd. Na het solderen ziet het er als volgt uit:
Ik heb ook optocoupler MCT2E gesoldeerd op perf board om het aan te sluiten op Transformer voor AC-voeding:
En het complete circuit voor Arduino Lamp Dimmer ziet er als volgt uit:
Programmering Arduino voor AC Light Dimmer:
Na een succesvolle afronding van de hardware-installatie, is het nu tijd om de Arduino te programmeren. Het volledige programma met een demo video wordt gegeven aan het eind. Hier hebben we de code stapsgewijs uitgelegd voor een betere onderschatting.
Declareer in de eerste stap alle globale variabelen die in de hele code zullen worden gebruikt. Hier is de TRIAC aangesloten op pin 4 van Arduino. Vervolgens wordt de dim_val gedeclareerd om de waarde van de dimstap op te slaan die we in het programma zullen gebruiken.
int LAMP = 4; int dim_val = 0;
Vervolgens, binnen setup functie verklaren de LAMP pin als output en naast configure een interrupt aan de nuldoorgang te detecteren. Hier hebben we een functie gebruikt genaamd attachInterrupt, die digitale Pin 2 van Arduino zal configureren als externe interrupt en het zal de functie genaamd zero_cross aanroepen wanneer het enige interrupts op zijn pin detecteert.
leegte setup () {pinMode (LAMP, OUTPUT); attachInterrupt (digitalPinToInterrupt (2), zero_cross, CHANGE); }
Binnen de oneindige lus , lees de analoge waarde van de potentiometer die is aangesloten op A0. Wijs het vervolgens toe aan een waardebereik van (10-49). Om dit te achterhalen moeten we een kleine berekening maken. Eerder heb ik verteld dat elke halve cyclus equivalent is aan 10.000 microseconden. Dus laten we het dimmen in 50 stappen regelen (wat een willekeurige waarde is. Je kunt het ook veranderen). Ik heb de minimale stap genomen als 10, niet nul, omdat 0-9 stappen ongeveer hetzelfde vermogen geven en het praktisch niet wordt aanbevolen om het maximale stapnummer te nemen. Dus ik heb de maximale stap genomen als 49.
Vervolgens kan elke staptijd worden berekend als 10000/50 = 200 microseconden. Dit wordt in het volgende deel van de code gebruikt.
ongeldige lus () {int data = analogRead (A0); int data1 = kaart (data, 0, 1023,10,49); dim_val = data1; }
Configureer in de laatste stap de interruptgestuurde functie zero_cross. Hier kan de dimtijd worden berekend door de individuele staptijd te vermenigvuldigen met nr. van stappen. Na deze vertragingstijd kan de TRIAC worden geactiveerd met een kleine hoge puls van 10 microseconden, wat voldoende is om een TRIAC in te schakelen.
void zero_cross () {int dimming_time = (200 * dim_val); delayMicroseconds (dimming_time); digitalWrite (LAMP, HIGH); delayMicroseconds (10); digitalWrite (LAMP, LOW); }
Werking van Arduino Lamp Dimmer Circuit
Hieronder staan de afbeeldingen van drie fasen van het dimmen van de AC-lamp met Arduino en TRIAC.
1. Lage dimstap
2. Medium dimmen stap
3. Maximale dimstap:
Dit is hoe een AC Light Dimmer-circuit eenvoudig kan worden gebouwd met behulp van TRIAC en optocoupler. Een werkende video en Arduino Light Dimmer Code wordt hieronder gegeven
/>