- Hva er en vinkelkontroll for vekselstrøm og hvordan fungerer den?
- Utfordringer i fasevinkelkontroll
- Materiell som kreves for vekselkontrollkrets for vekselstrøm
- Vekselstrømsdiagram for vekselstrømsfasevinkel
- AC-fase vinkelkontrollkrets - Arbeider
- PCB-design for vekselkontrollkretsen for vekselstrøm
- Arduino-kode for vekselkontroll i vekselstrøm
- Testing av vekselstrømsfasekontrollkretsen
- Ytterligere forbedringer
Hjemmeautomatiseringssystemer blir stadig mer populære hver dag, og i dag har det blitt enkelt å slå på og av visse apparater ved å bruke noen enkle kontrollmekanismer som et relé eller en bryter, vi har tidligere bygget mange Arduino-baserte hjemmeautomatiseringsprosjekter ved hjelp av releer. Men det er mange husholdningsapparater som krever kontroll av denne vekselstrømmen i stedet for bare å slå på eller av. Nå, gå inn i verden av vekselstrømsfasekontroll, det er en enkel teknikk der du kan kontrollere vekselstrømsfasevinkelen. Dette betyr at du kan kontrollere hastigheten på takviften eller hvilken som helst annen vifte, eller til og med kan du kontrollere intensiteten til en LED eller glødelampe.
Selv om det høres enkelt ut, er prosessen med å implementere den veldig vanskelig, så i denne artikkelen skal vi bygge en enkel vekselstrømsfasevinkelkontrollkrets ved hjelp av en 555 timer, og til slutt vil vi bruke en Arduino å generere et enkelt PWM-signal for å kontrollere intensiteten til en glødelampe. Som du nå klart kan forestille deg, med denne kretsen, kan du bygge et enkelt hjemmeautomatiseringssystem der du kan kontrollere viften og lysdimmere med en enkelt Arduino.
Hva er en vinkelkontroll for vekselstrøm og hvordan fungerer den?
AC-fasevinkelkontroll er en metode der vi kan kontrollere eller hugge en AC-sinusbølge. Den triggevinkelen til bryteranordningen varieres etter en nulldeteksjon, noe som resulterer i en gjennomsnittlig utgangsspenning som forandrer seg proporsjonalt med det modifiserte sinusbølge, blir bildet under beskriver mer.
Som du ser, har vi først vårt AC-inngangssignal. Deretter har vi nullkryssingssignalet, som genererer et avbrudd hver 10. ms. Deretter har vi portutløsersignalet, når vi først får et utløsersignal, venter vi i en viss periode før vi gir utløserpulsen, jo mer vi venter, jo mer kan vi redusere gjennomsnittsspenningen og omvendt. Vi vil diskutere mer av emnet senere i artikkelen.
Utfordringer i fasevinkelkontroll
Før vi tar en titt på skjematisk og alle materialkrav, la oss snakke om noen problemer som er knyttet til denne typen krets, og hvordan kretsen vår løser dem.
Målet vårt her er å kontrollere fasevinkelen til en AC-sinusbølge ved hjelp av en mikrokontroller for alle slags hjemmeautomatiseringsapplikasjoner. Hvis vi ser på bildet nedenfor, kan du se at i gult har vi sinusbølgen, og i grønt har vi vårt nullkryssingssignal.
Du kan se at nullkryssingssignalet kommer i hver 10ms mens vi jobber med en 50Hz sinusbølge. I en mikrokontroller genererer den et avbrudd hver 10. ms. hvis vi setter noen annen kode i tillegg til det, kan det hende at den andre koden ikke fungerer på grunn av avbrudd. Som vi vet er linjefrekvensen i India 50Hz, så vi jobber med en 50Hz sinusbølge, og for å kontrollere strømnettet, må vi slå på og av TRIAC i en bestemt tidsramme. For å gjøre det bruker den mikrokontrollerbaserte fasevinkelkontrollkretsen nullkryssingssignalet som et avbrudd, men problemet med denne metoden er at du ikke kan kjøre noen annen kode i tillegg til tempovinkelkontrollkoden, fordi den på en måte vil bryte loop-syklusen og en av disse kodene vil ikke fungere.
La meg avklare med et eksempel, anta at du må gjøre et prosjekt der du trenger å kontrollere lysstyrken på glødelampen, og du må også måle temperaturen samtidig. For å kontrollere lysstyrken til en glødelampe, trenger du en fasevinkelkontrollkrets, du må også lese temperaturdataene sammen med den. Hvis dette er scenariet, vil ikke kretsen din fungere ordentlig fordi DHT22-sensoren tar litt tid å gi utdataene. I denne tidsperioden vil fasevinkelkontrollkretsen slutte å fungere, det vil si hvis du har konfigurert den i en avstemningsmodus, men hvis du konfigurerte nullkryssingssignalet i avbruddsmodus, vil du aldri kunne lese DHT-dataene fordi CRC-sjekken mislykkes.
For å løse dette problemet kan du bruke en annen mikrokontroller for en annen fasevinkelkontrollkrets, men det vil øke kostnadskostnadskostnadene. En annen løsning er å bruke kretsen vår som består av generiske komponenter som 555 timer og koster også mindre.
Materiell som kreves for vekselkontrollkrets for vekselstrøm
Bildet nedenfor viser materialene som brukes til å bygge kretsen, da dette er laget med veldig generiske komponenter, bør du kunne finne alt det oppførte materialet i din lokale hobbybutikk.
Jeg har også listet komponentene i en tabell nedenfor med type og mengde, siden det er et demonstrasjonsprosjekt, bruker jeg en enkelt kanal for å gjøre det. Men kretsen kan enkelt skaleres opp etter behov.
Sl.nr |
Deler |
Type |
Mengde |
1 |
Skruterminal 5.04mm |
Kontakt |
3 |
2 |
Mannhode 2,54 mm |
Kontakt |
1X2 |
3 |
56K, 1W |
Motstand |
2 |
4 |
1N4007 |
Diode |
4 |
5 |
0.1uF, 25V |
Kondensator |
2 |
6 |
100uF, 25V |
Kondensator |
2 |
7 |
LM7805 |
Spenningsregulator |
1 |
8 |
1K |
Motstand |
1 |
9 |
470R |
Motstand |
2 |
10 |
47R |
Motstand |
2 |
11 |
82K |
Motstand |
1 |
12 |
10K |
Motstand |
1 |
1. 3 |
PC817 |
Optokobler |
1 |
14 |
NE7555 |
IC |
1 |
12 |
MOC3021 |
OptoTriac Drive |
1 |
1. 3 |
IRF9540 |
MOSFET |
1 |
14 |
3.3uF |
Kondensator |
1 |
15 |
Koble ledninger |
Ledninger |
5 |
16 |
0.1uF, 1KV |
Kondensator |
1 |
17 |
Arduino Nano (for test) |
Mikrokontroller |
1 |
Vekselstrømsdiagram for vekselstrømsfasevinkel
Skjematisk for AC-fasevinkelkontrollkretsen er vist nedenfor, denne kretsen er veldig enkel og bruker generiske komponenter for å oppnå fasevinkelkontroll.
AC-fase vinkelkontrollkrets - Arbeider
Denne kretsen består av veldig nøye utformede komponenter, jeg vil gå gjennom hver og forklare hver blokk.
Zero-Crossing Detection Circuit:
For det første, i vår liste er nullkryssingsdeteksjonskretsen laget med to 56K, 1W motstander i forbindelse med fire 1n4007-dioder og en PC817 optokobler. Og denne kretsen er ansvarlig for å gi nullkryssingssignalet til 555 timer IC. Vi har også tapet av fasen og det nøytrale signalet for å bruke den videre i TRIAC-delen.
LM7809 Spenningsregulator:
7809-spenningsregulatoren brukes til å drive kretsen, kretsen er ansvarlig for å gi strøm til hele kretsen. I tillegg har vi brukt to 470uF kondensatorer og en 0.1uF kondensator som en frakoblingskondensator for LM7809 IC.
Kontrollkrets med NE555-tidtaker:
Ovennevnte bilde viser 555 tidtakerkontrollkrets, 555 er konfigurert i en monostabil konfigurasjon, så når et utløsersignal fra nullkryssingsdeteksjonskretsen treffer utløseren, begynner 555 tidtakeren å lade kondensatoren ved hjelp av en motstand (generelt), men kretsen vår har en MOSFET i stedet for en motstand, og ved å kontrollere porten til MOSFET, styrer vi strømmen som går til kondensatoren, det er derfor vi kontrollerer ladetiden, og derfor kontrollerer vi utgangen til 555 timere. I mange prosjekter har vi brukt 555 timer IC for å gjøre prosjektet vårt. Hvis du vil vite mer om dette emnet, kan du sjekke ut alle andre prosjekter.
TRIAC og TRIAC-driverkretsen:
TRIAC fungerer som hovedbryteren som faktisk slår seg av og på, og styrer dermed utgangen fra AC-signalet. Å kjøre TRIAC er MOC3021 optotriac-stasjonen, det driver ikke bare TRIAC, men det gir også optisk isolasjon, 0.01uF 2KV høyspenningskondensator, og 47R-motstanden danner en snubberkrets, som beskytter kretsen vår mot høyspenning som oppstår når den er koblet til en induktiv belastning, er den ikke-sinusformede naturen til det bytte vekselstrømssignalet ansvarlig for piggene. Det er også ansvarlig for kraftfaktorproblemer, men det er et tema for en annen artikkel. I forskjellige artikler har vi også brukt TRIAC som vår foretrukne enhet, du kan sjekke dem ut om det interesserer deg.
Lowpass-filter og P-Channel MOSFET (fungerer som motstand i kretsen):
82K-motstanden og 3.3uF-kondensatoren danner lavpassfilteret som er ansvarlig for å glatte ut høyfrekvent PWM-signal generert av Arduino. Som tidligere nevnt fungerer P-Channel MOSFET som den variable motstanden, som kontrollerer ladetiden til kondensatoren. Styring av det er PWM-signalet som glattes ut av lavpasfilteret. I forrige artikkel har vi ryddet ut konseptet med lavpassfilter, du kan sjekke artikkelen om aktivt lavpassfilter eller passivt lavpassfilter hvis du vil vite mer om temaet.
PCB-design for vekselkontrollkretsen for vekselstrøm
PCB-en for vår fasevinkelkontrollkrets er designet i et ensidig kort. Jeg har brukt Eagle til å designe PCB-en, men du kan bruke hvilken som helst designprogramvare du ønsker. 2D-bildet av taveldesignet mitt er vist nedenfor.
Tilstrekkelig bakkefylling brukes til å lage riktig jordforbindelse mellom alle komponentene. 12V DC-inngangen og 220 Volt AC-inngangen er fylt på venstre side, utgangen er plassert på høyre side av PCB. Den komplette designfilen for Eagle sammen med Gerber kan lastes ned fra lenken nedenfor.
- Last ned PCB Design-, GERBER- og PDF-filer for AC Phase Angle Control Circuit
Håndlaget PCB:
For enkelhets skyld laget jeg min håndlagde versjon av PCB, og den er vist nedenfor.
Arduino-kode for vekselkontroll i vekselstrøm
En enkel PWM-genereringskode brukes til å få kretsen til å fungere, koden og forklaringen er gitt nedenfor. Du finner også den fullstendige koden nederst på denne siden. Først erklærer vi alle nødvendige variabler, const int analogInPin = A0; // Analog inngangspinne som potensiometeret er festet til const int analogOutPin = 9; // Analog utgangsstift som LED er festet til int sensorValue = 0; // verdi lest fra potten int outputValue = 0; // verdi utgang til PWM (analog ut)
Variablene skal erklære Analog pin, analog Out pin, og de andre variablene skal lagre, konvertere og skrive ut den tilordnede verdien. Neste i oppsett () -seksjonen initialiserer vi UART med 9600 baud slik at vi kan overvåke utgangen, og det er slik vi kan finne ut hvilket PWM-utvalg som var i stand til å kontrollere kretsens utgang helt.
ugyldig oppsett () {// initialiser seriell kommunikasjon ved 9600 bps: Serial.begin (9600); }
Neste, i loop () -delen, leser vi den analoge pinnen A0 og lagrer verdien til sensorverdivariabelen, deretter tilordner vi sensorverdien til 0-255 som fordi PWM-timeren til atmega bare er 8-bits, neste vi angi PWM-signalet med en analogWrite () - funksjon av Arduino. og til slutt skriver vi ut verdiene til det serielle skjermvinduet for å finne ut rekkevidden til styresignalet. Hvis du følger denne opplæringen, vil videoen på slutten gi deg en klarere ide om emnet.
sensorValue = analogRead (analogInPin); // les den analoge verdien: outputValue = map (sensorValue, 0, 1023, 0, 255); // kartlegge den til rekkevidden til analog ut: analogWrite (analogOutPin, outputValue); // endre den analoge ut verdien: Serial.print ("sensor ="); // skriv ut resultatene til Serial Monitor: Serial.print (sensorValue); Serial.print ("\ t output ="); Serial.println (outputValue);
Testing av vekselstrømsfasekontrollkretsen
Ovenstående bilde viser testoppsettet til kretsen. 12V-forsyningen er levert av en 12V SMPS-krets, belastningen er en lyspære i vårt tilfelle, den kan enkelt byttes ut \ med en induktiv belastning som en vifte. Også som du kan se at jeg har festet et potensiometer for å kontrollere lysstyrken på lampen, men den kan erstattes med en hvilken som helst annen form for kontroller. Hvis du zoomer inn på bildet, kan du se at potten er koblet til A0-pinnen til Arduino og PWM-signalet kommer fra pin9 på Arduino.
Som du kan se på bildet ovenfor, er utgangsverdien 84 og lysstyrken til glødelampen er veldig lav,
På dette bildet kan du se at verdien er 82, og lysstyrken til glødelampen øker.
Etter mange mislykkede forsøk klarte jeg å komme opp med en krets som faktisk fungerer som den skal. Har du noen gang lurt på hvordan en testbenk ser ut når en krets ikke fungerer? La meg fortelle deg at det ser veldig dårlig ut,
Dette er en tidligere designet krets som jeg jobbet med. Jeg måtte kaste den helt og lage en ny fordi den forrige ikke fungerte litt.
Ytterligere forbedringer
For denne demonstrasjonen er kretsen laget på et håndlaget PCB, men kretsen kan enkelt bygges i en PCB av god kvalitet, i mine eksperimenter er størrelsen på PCB veldig stor på grunn av komponentstørrelsen, men i et produksjonsmiljø er det kan reduseres ved å bruke billige SMD-komponenter. I eksperimentene mine fant jeg at det å bruke en 7555-tidtaker i stedet for en 555-tidtaker øker kontrollanten mye, i tillegg øker stabiliteten i kretsen også.