- Componente utilizate:
- Tehnica de detectare a traversării zero
- TRIAC De lucru
- Optocuplator
- Diagrama circuitului:
- Programare Arduino pentru AC Light Dimmer:
- Funcționarea circuitului de reglare a lămpii Arduino
În gospodăria noastră, majoritatea aparatelor sunt alimentate de la sursa de curent alternativ, cum ar fi lumini, televizoare și ventilatoare etc. Le putem porni / opri digital dacă este necesar, folosind Arduino și Relee prin construirea unei configurări de automatizare a casei. Dar ce se întâmplă dacă trebuie să controlăm puterea acelor dispozitive, de exemplu pentru a reduce lumina AC sau pentru a controla viteza ventilatorului. În acest caz, trebuie să folosim tehnica de control a fazelor și comutatoarele statice precum TRIAC pentru a controla faza de tensiune de alimentare AC.
Deci, în acest tutorial, vom afla despre un dimmer de lampă de curent alternativ folosind Arduino și TRIAC. Aici se utilizează un TRIAC pentru comutarea lămpii de curent alternativ, deoarece acesta este un dispozitiv electronic de comutare rapidă de putere, care este cel mai potrivit pentru aceste aplicații. Să urmărim articolul complet pentru detaliile hardware și programarea acestui proiect. De asemenea, verificați tutorialele noastre anterioare despre reglarea ușoară:
- Circuit de reglare TRIAC controlat de la distanță IR
- Dimmer cu LED bazat pe Arduino folosind PWM
- 1 Watt LED Dimmer Circuit
- Power LED Dimmer folosind microcontrolerul ATmega32
Componente utilizate:
- Arduino UNO-1
- Optocuplor MCT2E -1
- MOC3021 optocuplor -1
- BT136 TRIAC-1
- (12-0) V, 500mA Transformator descendent-1
- Rezistoare 1K, 10K, 330ohm
- Potențiometru 10K
- Suport AC cu lampă
- Fire de curent alternativ
- Jumpers
Înainte de a merge mai departe, vom afla despre trecerea zero, TRIAC și optocuplor.
Tehnica de detectare a traversării zero
Pentru a controla tensiunea de curent alternativ, primul lucru pe care trebuie să-l facem este să detectăm trecerea zero a semnalului de curent alternativ. În India, frecvența semnalului de curent alternativ este de 50 Hz și, deoarece este alternativă în natură. Prin urmare, de fiecare dată când semnalul ajunge la punctul zero, trebuie să detectăm acel punct și după aceea să declanșăm TRIAC conform cerinței de putere. Punctul de trecere zero al unui semnal AC este prezentat mai jos:
TRIAC De lucru
TRIAC este un comutator de curent alternativ cu trei terminale care poate fi declanșat de un semnal de energie redusă la terminalul de poartă. În SCR-uri, acesta conduce într-o singură direcție, dar în cazul TRIAC puterea poate fi controlată în ambele direcții. Aici folosim un BT136 TRIAC în scop de diminuare a lămpii de curent alternativ.
Așa cum se arată în figura de mai sus, TRIAC este declanșat la un unghi de tragere de 90 de grade prin aplicarea unui semnal mic de impuls de poartă. Timpul „t1” este timpul de întârziere pe care trebuie să îl acordăm conform cerințelor noastre de estompare. De exemplu, în acest caz, întrucât unghiul de ardere este de 90%, prin urmare, puterea de ieșire va fi, de asemenea, înjumătățită și, prin urmare, lampa va străluci și cu intensitate pe jumătate.
Știm că frecvența semnalului de curent alternativ este de 50 Hz aici. Deci, perioada de timp va fi 1 / f, care va fi de 20 ms. Deci, pentru un semiciclu, aceasta va fi de 10 ms sau 10.000 de microsecunde. Prin urmare, pentru controlul puterii lămpii noastre de curent alternativ, gama „t1” poate varia de la 0-10000 microsecunde. Aflați mai multe despre Triac și funcționarea sa aici.
Optocuplator
Optocuplorul este, de asemenea, cunoscut sub numele de Optoisolato r. Este folosit pentru a menține izolarea între două circuite electrice, cum ar fi semnalele de curent continuu și de curent alternativ. Practic, este format dintr-un LED care emite lumină infraroșie și senzorul fotosensibil care o detectează. Aici suntem folosiți un optocuplator MOC3021 pentru a controla lampa de curent alternativ de la semnalele microcontrolerului, care este un semnal de curent continuu. Am folosit anterior același optocuplator MOC3021 în circuitul de variație TRIAC. Aflați mai multe despre optocuploare și tipurile acestuia urmând linkul.
Diagrama circuitului:
Diagrama circuitului pentru regulatorul de lumină AC este prezentată mai jos:
(…)Diagrama de conectare TRIAC și optocuploare:
Am lipit un circuit de TRIAC și Optocoupler MOC3021 pe o placă de perf. După lipire, va arăta ca mai jos:
De asemenea, am lipit optocuplatorul MCT2E pe placa de perfecționare pentru conectarea la transformator pentru alimentare cu curent alternativ:
Iar circuitul complet pentru Arduino Lamp Dimmer va arăta ca mai jos:
Programare Arduino pentru AC Light Dimmer:
După finalizarea cu succes a configurării hardware, acum este timpul să programați Arduino. Programul complet cu un videoclip demo este dat la sfârșit. Aici am explicat codul în trepte pentru o mai bună subestimare.
În primul pas, declarați toate variabilele globale, pe care le veți folosi în cod. Aici TRIAC este conectat la pinul 4 al Arduino. Apoi dim_val este declarat pentru a stoca valoarea pasului de estompare pe care îl vom folosi în program.
int LAMPĂ = 4; int dim_val = 0;
Apoi, funcția de configurare din interior declară pinul LAMP ca ieșire și apoi configurați o întrerupere pentru a detecta trecerea zero. Aici am folosit o funcție numită attachInterrupt, care va configura pinul digital 2 al Arduino ca întrerupere externă și va apela funcția numită zero_cross, atunci când detectează orice întreruperi la pinul său.
void setup () {pinMode (LAMP, OUTPUT); attachInterrupt (digitalPinToInterrupt (2), zero_cross, CHANGE); }
În bucla infinită, citiți valoarea analogică din potențiometru care este conectat la A0. Apoi mapați-l la un interval de valori de (10-49). Pentru a afla acest lucru, trebuie să facem un mic calcul. Mai devreme am spus că, fiecare jumătate de ciclu este echivalent cu 10.000 de microsecunde. Deci, să avem nevoie să controlăm diminuarea în 50 de pași (care este o valoare arbitrară. Puteți, de asemenea, să o modificați). Am făcut pasul minim ca 10, nu zero, deoarece 0-9 pași oferă aproximativ aceeași putere de ieșire și nu este recomandat practic să faceți numărul maxim de pas. Deci, am făcut cel mai mare pas ca 49.
Apoi, fiecare pas poate fi calculat ca 10000/50 = 200 microsecunde. Aceasta va fi utilizată în următoarea parte a codului.
bucla void () {int date = analogRead (A0); int data1 = hartă (date, 0, 1023,10,49); dim_val = data1; }
În pasul final, configurați funcția zero_cross bazată pe întreruperi. Aici timpul de estompare poate fi calculat prin înmulțirea timpului de pas individual cu nr. de trepte. Apoi, după acest timp de întârziere, TRIAC poate fi declanșat folosind un mic impuls mare de 10 microsecunde, care este suficient pentru pornirea unui TRIAC.
void zero_cross () {int dimming_time = (200 * dim_val); delayMicroseconds (dimming_time); digitalWrite (LAMP, HIGH); delayMicroseconds (10); digitalWrite (LAMP, LOW); }
Funcționarea circuitului de reglare a lămpii Arduino
Mai jos sunt imaginile care prezintă trei etape de estompare a becului AC folosind Arduino și TRIAC.
1. Pas scăzut de estompare
2. Pas mediu de estompare
3. Etapa maximă de estompare:
Așa se poate construi cu ușurință un circuit AC Light Dimmer folosind TRIAC și optocuplor. Mai jos este prezentat un cod video de lucru și un cod de lumină Arduino
/>