- Brugte komponenter:
- Zero Crossing Detection Technique
- TRIAC arbejder
- Optokobler
- Kredsløbsdiagram:
- Programmering af Arduino til AC Light Dimmer:
- Arbejde af Arduino lampe dæmper kredsløb
I vores husstand får de fleste apparater strøm fra vekselstrømsforsyningen såsom lys, tv og blæsere osv. Vi kan tænde / slukke dem digitalt, hvis det er nødvendigt, ved hjælp af Arduino og Relays ved at oprette en hjemmeautomatiseringsopsætning. Men hvad hvis vi har brug for at kontrollere styrken på disse enheder, for eksempel for at dæmpe AC-lampen eller for at kontrollere blæserens hastighed. I så fald er vi nødt til at bruge fasestyringsteknik og statiske afbrydere som TRIAC til at styre fasen med vekselstrømsforsyningsspænding.
Så i denne vejledning lærer vi om en AC-lampedæmper ved hjælp af Arduino og TRIAC. Her bruges en TRIAC til at skifte AC-lampe, da dette er en kraftelektronisk hurtigskifteapparat, der er bedst egnet til disse applikationer. Lad os følge den komplette artikel for hardwareoplysninger og programmering af dette projekt. Tjek også vores tidligere tutorials om lysdæmpning:
- IR fjernstyret TRIAC lysdæmper kredsløb
- Arduino-baseret LED-dæmper ved hjælp af PWM
- 1 watt LED-dæmpningskredsløb
- Power LED-dæmper ved hjælp af ATmega32 Microcontroller
Brugte komponenter:
- Arduino UNO-1
- MCT2E optokobler -1
- MOC3021 optokobler -1
- BT136 TRIAC-1
- (12-0) V, 500mA Trin ned transformer-1
- 1K, 10K, 330ohm modstande
- 10K Potentiometer
- AC holder med lampe
- AC-ledninger
- Jumpere
Før vi går videre, lærer vi om Zero crossing, TRIAC og optocoupler.
Zero Crossing Detection Technique
For at kontrollere vekselstrømsspændingen er den første ting, vi skal gøre, at opdage nulkrydsningen af vekselstrømssignalet. I Indien er frekvensen af vekselstrømssignalet 50 Hz, og da det skifter i naturen. Derfor skal vi, hver gang signalet kommer til nulpunktet, registrere det punkt og derefter udløse TRIAC i henhold til effektbehovet. Nul-krydsningspunktet for et AC-signal er vist nedenfor:
TRIAC arbejder
TRIAC er en tre-terminal vekselstrømsafbryder, der kan udløses af et lavenergisignal ved portterminalen. I SCR'er fungerer den kun i en retning, men i tilfælde af TRIAC kan strømmen styres i begge retninger. Her bruger vi en BT136 TRIAC til lysdæmpningsformål.
Som vist i figuren ovenfor udløses TRIAC i en skydevinkel på 90 grader ved at anvende et lille portpulssignal til det. Tiden "t1" er den forsinkelsestid, som vi skal give i henhold til vores dæmpningskrav. For eksempel, i dette tilfælde da affyringsvinklen er 90 procent, vil derfor effektudgangen også halveres, og lampen vil derfor også lyse med halv intensitet.
Vi ved, at frekvensen af AC-signal er 50 Hz her. Så tidsperioden vil være 1 / f, som vil være 20 ms., Så i en halv cyklus vil dette være 10 ms eller 10.000 mikrosekunder. Derfor kan rækkevidden "t1" varieres fra 0-10000 mikrosekunder til styring af vores AC-lampe. Lær mere om Triac og dens arbejde her.
Optokobler
Optokobler er også kendt som Optoisolato r. Det bruges til at opretholde isolation mellem to elektriske kredsløb som DC- og AC-signaler. Dybest set består den af en LED, der udsender infrarødt lys og fotosensoren, der registrerer det. Her bruges vi en MOC3021-optokobler til at styre AC-lampen fra mikrokontrolsignaler, som er et DC-signal. Vi har tidligere brugt den samme MOC3021-optokobler i TRIAC-dæmpningskredsløb. Lær også mere om optokoblere og dens typer ved at følge linket.
Kredsløbsdiagram:
Kredsløbsdiagram for AC Light Dimmer er angivet nedenfor:
TRIAC og tilslutningsdiagram for optokobler:
Jeg har loddet et kredsløb af TRIAC og Optocoupler MOC3021 på et perf-kort. Efter lodning ser det ud som nedenfor:
Jeg har også loddet optokobler MCT2E på perf-kort til at forbinde den til Transformer til vekselstrømforsyning:
Og det komplette kredsløb til Arduino Lamp Dimmer vil se ud som nedenfor:
Programmering af Arduino til AC Light Dimmer:
Efter vellykket afslutning af hardwareopsætningen er det nu tid til at programmere Arduino. Det komplette program med en demo- video gives i slutningen. Her har vi forklaret koden trinvis for bedre undervisning.
I det første trin skal du erklære alle de globale variabler, som skal bruges i hele koden. Her er TRIAC forbundet til pin 4 i Arduino. Derefter erklæres dim_val at gemme værdien af dæmpningstrinnet, som vi vil bruge i programmet.
int LAMP = 4; int dim_val = 0;
Dernæst erklærer indvendig opsætningsfunktion LAMP-stiften som output, og konfigurer derefter en afbrydelse for at detektere nulkrydsningen. Her har vi brugt en funktion kaldet attachInterrupt, som konfigurerer den digitale pin 2 i Arduino som ekstern afbrydelse, og den kalder funktionen kaldet zero_cross, når den registrerer afbrydelser ved dens pin.
ugyldig opsætning () {pinMode (LAMP, OUTPUT); attachInterrupt (digitalPinToInterrupt (2), zero_cross, CHANGE); }
Inde i uendelig sløjfe , læs den analoge værdi fra potentiometer, der er forbundet med A0. Kortlæg det derefter til et værdiområde på (10-49). For at finde ud af dette skal vi lave en lille beregning. Tidligere har jeg fortalt, at hver halve cyklus svarer til 10.000 mikrosekunder. Så lad os styre dæmpningen i 50 trin (hvilket er en vilkårlig værdi. Du kan også ændre det). Jeg har taget minimumstrinnet som 10, ikke nul, fordi 0-9 trin giver omtrent det samme effektudgang, og det anbefales ikke praktisk taget at tage det maksimale trinnummer. Så jeg har taget det maksimale trin som 49.
Derefter kan hvert trin beregnes som 10000/50 = 200 mikrosekunder. Dette vil blive brugt i den næste del af koden.
ugyldig sløjfe () {int data = analogRead (A0); int data1 = kort (data, 0, 1023,10,49); dim_val = data1; }
I det sidste trin skal du konfigurere den afbrydelsesdrevne funktion zero_cross. Her kan dæmpningstiden beregnes ved at gange det enkelte trin med nr. trin. Efter denne forsinkelsestid kan TRIAC udløses ved hjælp af en lille høj puls på 10 mikrosekunder, hvilket er tilstrækkeligt til at tænde en TRIAC.
ugyldigt zero_cross () {int dimming_time = (200 * dim_val); delayMicroseconds (dæmpningstid); digitalWrite (LAMP, HIGH); forsinkelseMikrosekunder (10); digitalWrite (LAMP, LAV); }
Arbejde af Arduino lampe dæmper kredsløb
Nedenfor er billederne, der viser tre faser af dæmpning af AC-pæren ved hjælp af Arduino og TRIAC.
1. Lav dæmpningstrin
2. Medium dæmpningstrin
3. Maksimalt dæmpningstrin:
Sådan kan et AC Light Dimmer-kredsløb let bygges ved hjælp af TRIAC og optocoupler. En arbejdsvideo og Arduino Light Dimmer-kode er angivet nedenfor
/>