- Korištene komponente:
- Tehnika otkrivanja nultih križanja
- TRIAC radi
- Optoparnik
- Kružni dijagram:
- Programiranje Arduina za prigušivač AC svjetla:
- Rad kruga zatamnjivača Arduino lampe
U našem se kućanstvu većina uređaja napaja naizmjeničnom strujom, poput svjetla, televizora, ventilatora itd. Po potrebi ih možemo digitalno UKLJUČITI / ISKLJUČITI, koristeći Arduino i releje, izgradnjom postavki kućne automatizacije. Ali što ako trebamo kontrolirati snagu tih uređaja, na primjer za prigušivanje AC žarulje ili za kontrolu brzine ventilatora. U tom slučaju moramo koristiti tehniku fazne regulacije i statičke sklopke poput TRIAC-a za kontrolu faze izmjeničnog napona.
Dakle, u ovom uputstvu naučit ćemo o prigušivaču naizmjenične žarulje pomoću Arduina i TRIAC-a. Ovdje se TRIAC koristi za prebacivanje izmjenične svjetiljke, jer je ovo Power Electronic brzi preklopni uređaj koji je najprikladniji za ove primjene. Slijedimo cjeloviti članak o hardverskim detaljima i programiranju ovog projekta. Također, pogledajte naše prethodne vodiče o zatamnjivanju svjetla:
- IC daljinski upravljani TRIAC krug zatamnjivanja
- LED zatamnjivač zasnovan na Arduinu koji koristi PWM
- 1-vatni LED dimer krug
- Prigušivač LED napajanja pomoću ATmega32 mikrokontrolera
Korištene komponente:
- Arduino UNO-1
- Optički sprežnik MCT2E -1
- MOC3021 optički sprežnik -1
- BT136 TRIAC-1
- (12-0) V, 500mA Smanjite transformator-1
- Otpornici 1K, 10K, 330ohm
- 10K potenciometar
- AC držač s lampom
- AC žice
- Skakači
Prije nego što nastavimo dalje, naučit ćemo o nulti prijelaz, TRIAC i optički sprežnik.
Tehnika otkrivanja nultih križanja
Da bismo kontrolirali izmjenični napon, prvo što moramo učiniti je detektirati prelazak nule naizmjeničnog signala. U Indiji je frekvencija izmjeničnog signala 50 HZ i kako se u prirodi izmjenjuje. Dakle, svaki put kada signal dođe u Nultu točku, moramo je otkriti i nakon toga aktivirati TRIAC prema potrebi za snagom. Nulta točka prijelaza izmjeničnog signala prikazana je u nastavku:

TRIAC radi

TRIAC je trokraka izmjenična sklopka koja se može aktivirati niskoenergetskim signalom na svom priključku. U SCR-ovima se provodi u samo jednom smjeru, ali u slučaju TRIAC-a snaga se može kontrolirati u oba smjera. Ovdje koristimo BT136 TRIAC za namjenu prigušivanja AC svjetiljki.

Kao što je prikazano na gornjoj slici, TRIAC se aktivira pod kutom paljenja od 90 stupnjeva primjenom malog impulsnog signala na vratima. Vrijeme "t1" je vrijeme kašnjenja koje moramo dati prema našim zahtjevima za prigušivanje. Na primjer, u ovom slučaju, budući da je kut paljenja 90 posto, izlazna snaga će se također prepoloviti, a samim time će i svjetiljka svijetliti s pola intenziteta.
Znamo da je ovdje frekvencija izmjeničnog signala 50 Hz. Dakle, vremensko razdoblje će biti 1 / f, što će biti 20 ms., Tako da će za poluciklus to biti 10 ms ili 10 000 mikrosekundi. Dakle, za kontrolu snage naše AC žarulje, raspon "t1" može varirati od 0-10000 mikrosekundi. Ovdje saznajte više o Triacu i njegovom radu.
Optoparnik

Optocoupler je poznat i kao Optoisolato r. Koristi se za održavanje izolacije između dva električna kruga poput istosmjernih i izmjeničnih signala. U osnovi se sastoji od LED-a koji emitira infracrvenu svjetlost i fotosenzora koji ga otkriva. Ovdje se koristi optički sprežnik MOC3021 za upravljanje izmjeničnom lampicom iz signala mikrokontrolera koji je istosmjerni signal. Prethodno smo koristili isti MOC3021 optički sprežnik u krugu zatamnjenja TRIAC. Također, naučite više o optoparnicima i njihovim vrstama slijedeći vezu.
Kružni dijagram:
Dijagram sklopa za prigušivač svjetla izmjenične struje dat je u nastavku:

Dijagram povezivanja TRIAC-a i optocouplera:

Zalemio sam sklop TRIAC-a i Optocoupler-a MOC3021 na perf ploču. Nakon lemljenja izgledat će kao u nastavku:

Također sam zalemio optički sprežnik MCT2E na perf ploču za njegovo spajanje na transformator za napajanje izmjeničnim naponom:

A kompletni sklop za Arduino lampicu za zatamnjenje izgledat će dolje:

Programiranje Arduina za prigušivač AC svjetla:
Nakon uspješnog završetka postavljanja hardvera, sada je vrijeme za programiranje Arduina. Kompletan program s demo video je dano na kraju. Ovdje smo postepeno objasnili kod radi boljeg razumijevanja.
U prvom koraku deklarirajte sve globalne varijable koje ćete koristiti u cijelom kodu. Ovdje je TRIAC spojen na pin 4 Arduina. Tada je dim_val proglašen za pohranu vrijednosti koraka zatamnjenja koji ćemo koristiti u programu.
int LAMP = 4; int dim_val = 0;
Dalje, unutar funkcije postavljanja proglasite LAMP pin kao izlaz i zatim konfigurirajte prekid za otkrivanje prelaska nule. Ovdje smo koristili funkciju koja se naziva attachInterrupt, koja će konfigurirati digitalni pin 2 Arduina kao vanjski prekid i pozvat će funkciju nazvanu zero_cross, kada otkrije bilo kakve prekide na svom pinu.
void setup () {pinMode (LAMPA, IZLAZ); attachInterrupt (digitalPinToInterrupt (2), zero_cross, CHANGE); }
Unutar beskonačne petlje očitajte analognu vrijednost s potenciometra koji je spojen na A0. Zatim ga preslikajte u raspon vrijednosti (10-49). Da bismo to saznali, moramo napraviti mali izračun. Ranije sam rekao da je svaki poluciklus ekvivalentan 10 000 mikrosekundi. Dakle, dopustimo da moramo kontrolirati zatamnjenje u 50 koraka (što je proizvoljna vrijednost. Možete ga i promijeniti). Napravio sam minimalni korak od 10, a ne nulu, jer koraci od 0 do 9 daju približno jednaku izlaznu snagu i ne preporučuje se praktično uzimati maksimalan broj koraka. Dakle, napravio sam maksimalni korak od 49.
Tada se svako vrijeme koraka može izračunati kao 10000/50 = 200 mikrosekundi. To će se koristiti u sljedećem dijelu koda.
void loop () {int podaci = analogRead (A0); int data1 = karta (podaci, 0, 1023,10,49); dim_val = podaci1; }
U posljednjem koraku konfigurirajte prekidnu funkciju zero_cross. Ovdje se vrijeme zatamnjenja može izračunati množenjem pojedinačnog vremena koraka s br. koraka. Tada se nakon tog vremena kašnjenja TRIAC može pokrenuti pomoću malog visokog impulsa od 10 mikrosekundi što je dovoljno za uključivanje TRIAC-a.
praznina zero_cross () {int dimming_time = (200 * dim_val); delayMicroseconds (dimming_time); digitalWrite (LAMPA, VISOKO); delayMicroseconds (10); digitalWrite (LAMP, LOW); }
Rad kruga zatamnjivača Arduino lampe
Ispod su slike koje prikazuju tri faze prigušivanja AC žarulje pomoću Arduina i TRIAC-a.
1. Korak niskog zatamnjenja

2. Korak srednje zatamnjenja

3. Maksimalni korak zatamnjenja:

Tako se krug zatamnjivanja AC svjetla može lako izgraditi pomoću TRIAC-a i optičkog sklopnika. Radna video i Arduino Light Dimmer Kod je naveden u nastavku
/>