- Kaj je krmiljenje kota faze izmeničnega toka in kako deluje?
- Izzivi pri nadzoru faznega kota
- Material, potreben za krmilno vezje faznega izmeničnega toka
- Shema krmiljenja kota faze izmeničnega toka
- Krmilno vezje faznega izmeničnega toka - deluje
- Zasnova PCB za krmilno vezje faznega izmeničnega toka
- Koda Arduino za nadzor faznega kota izmeničnega toka
- Testiranje krmilnega kroga faznega izmeničnega toka
- Nadaljnje izboljšave
Sistemi za avtomatizacijo stanovanj iz dneva v dan vedno bolj pridobivajo na popularnosti, danes pa je z uporabo preprostega nadzornega mehanizma, kot je rele ali stikalo, enostavno vklopiti in izklopiti nekatere naprave, z releji smo že zgradili številne projekte avtomatizacije na osnovi Arduino. Obstaja pa veliko gospodinjskih aparatov, ki zahtevajo nadzor nad tem izmeničnim tokom, ne pa samo vklop ali izklop. Zdaj vstopite v svet nadzora faznega kota AC, to je preprosta tehnika, s katero lahko nadzorujete fazni kot AC. To pomeni, da lahko nadzorujete hitrost vašega stropnega ventilatorja ali katerega koli drugega ventilatorja za izmenični tok ali celo nadzor jakosti LED ali žarnice z žarilno nitko.
Čeprav se sliši preprosto, je postopek dejanske izvedbe zelo težaven, zato bomo v tem članku s pomočjo časovnika 555 zgradili preprosto vezje za krmiljenje faznega izmeničnega toka, na koncu pa bomo uporabili Arduino ustvariti preprost signal PWM za nadzor jakosti žarnice z žarilno nitko. Kot si zdaj lahko jasno predstavljate, lahko s tem vezjem zgradite preprost sistem za avtomatizacijo doma, kjer lahko z enim Arduinom nadzorujete ventilatorje in zatemnilnike svetlobe Ac.
Kaj je krmiljenje kota faze izmeničnega toka in kako deluje?
Krmiljenje faznega kota izmeničnega toka je metoda, s katero lahko nadzorujemo ali sekamo sinusni val AC. Kot streljanja preklopne naprave se spreminja po zaznavanju prehoda nič, kar povzroči povprečno izhodno napetost, ki se spreminja sorazmerno s spremenjenim sinusnim valom, spodnja slika opisuje več.
Kot lahko vidite, najprej imamo vhodni signal AC. Nato imamo signal prehoda nič, ki generira prekinitev vsakih 10 ms. Nato imamo signal sprožilca vrat, ko dobimo sprožilni signal, počakamo določeno obdobje, preden sprožimo impulz sprožilca, bolj ko čakamo, bolj lahko zmanjšamo povprečno napetost in obratno. Več teme bomo obravnavali kasneje v članku.
Izzivi pri nadzoru faznega kota
Preden si ogledamo shemo in vse materialne zahteve, se pogovorimo o nekaterih težavah, povezanih s to vrsto vezja, in o tem, kako jih naše vezje rešuje.
Naš cilj tukaj je nadzorovati fazni kot sinusnega vala izmeničnega toka s pomočjo mikrokrmilnika za katero koli aplikacijo avtomatizacije doma. Če pogledamo spodnjo sliko, lahko vidite, da imamo rumeno sinusni val in zeleno signal, ki prečka nič.
Vidite lahko, da signal ničelnega prehoda prihaja vsakih 10 ms, ko delamo s 50Hz sinusnim valom. V mikrokrmilniku generira prekinitev vsakih 10 ms. če bi poleg te postavili še katero drugo kodo, druga koda morda ne bo delovala zaradi prekinitve. Ker vemo, da je slišanje frekvence v Indiji 50 Hz, torej delamo s 50 Hz sinusnim valom, in če želimo nadzorovati omrežno napetost, moramo v določenem časovnem okviru vklopiti in izklopiti TRIAC. Da bi to naredil, krmilno vezje faznega kota na osnovi mikrokrmilnika uporablja signal prečkanja nič kot prekinitev, vendar je težava te metode v tem, da poleg krmilne kode za kot tempa ne morete zagnati nobene druge kode, ker se bo na nek način zlomila cikel zanke in ena od teh kod ne bo delovala.
Naj pojasnim s primerom, predpostavimo, da morate izvesti projekt, pri katerem morate nadzorovati svetlost žarnice z žarilno nitko, hkrati pa morate izmeriti temperaturo. Za nadzor svetlosti žarnice z žarilno nitko potrebujete vezje za nadzor faznega kota, prav tako morate skupaj z njim prebrati podatke o temperaturi, če je to scenarij, vaše vezje ne bo delovalo pravilno, ker senzor DHT22 potrebuje nekaj časa, da poda svoje izhodne podatke. V tem obdobju bo vezje za krmiljenje faznega kota prenehalo delovati, to je, če ste ga konfigurirali v načinu anketiranja, če pa ste signal prečkanja ničle nastavili v načinu prekinitve, ne boste mogli prebrati podatkov DHT ker preverjanje CRC ne bo uspelo.
Da bi rešili to težavo, lahko uporabite drug mikrokrmilnik za različno krmiljenje faznega kota, vendar bo to povečalo stroške BOM, druga rešitev je uporaba našega vezja, ki je sestavljeno iz generičnih komponent, kot je časovnik 555, in tudi stane manj.
Material, potreben za krmilno vezje faznega izmeničnega toka
Spodnja slika prikazuje materiale, uporabljene za izdelavo vezja, saj je ta narejen z zelo splošnimi komponentami, zato bi lahko vse našteto gradivo našli v vaši lokalni hobi trgovini.
V spodnji tabeli sem navedel tudi komponente z vrsto in količino, ker gre za predstavitveni projekt, za to uporabljam en sam kanal. Toda vezje je mogoče enostavno povečati glede na zahtevo.
Sl.Št. |
Deli |
Tip |
Količina |
1. |
Vijačni priključek 5,04 mm |
Konektor |
3. |
2. |
Moška glava 2,54 mm |
Konektor |
1X2 |
3. |
56K, 1W |
Upor |
2. |
4. |
1N4007 |
Dioda |
4. |
5. |
0,1uF, 25V |
Kondenzator |
2. |
6. |
100uF, 25V |
Kondenzator |
2. |
7. |
LM7805 |
Regulator napetosti |
1. |
8. |
1K |
Upor |
1. |
9. |
470R |
Upor |
2. |
10. |
47R |
Upor |
2. |
11. |
82K |
Upor |
1. |
12. |
10K |
Upor |
1. |
13. |
PC817 |
Optični sklopnik |
1. |
14. |
NE7555 |
IC |
1. |
12. |
MOC3021 |
OptoTriac Drive |
1. |
13. |
IRF9540 |
MOSFET |
1. |
14. |
3.3uF |
Kondenzator |
1. |
15. |
Povezovanje žic |
Žice |
5. |
16. |
0,1uF, 1KV |
Kondenzator |
1. |
17. |
Arduino Nano (za preizkus) |
Mikrokrmilnik |
1. |
Shema krmiljenja kota faze izmeničnega toka
Shema za krmiljenje faznega kota izmeničnega toka je prikazana spodaj, to vezje je zelo preprosto in uporablja generične komponente za doseganje nadzora faznega kota.
Krmilno vezje faznega izmeničnega toka - deluje
To vezje je sestavljeno iz zelo skrbno oblikovanih komponent, pregledal bom vsak in razložil vsak blok.
Vezje za zaznavanje ničelnega križanja:
Najprej je na našem seznamu vezje za zaznavanje prehoda nič, narejeno z dvema 56K, 1W uporoma v povezavi s štirimi diodami 1n4007 in optičnim sklopnikom PC817. In to vezje je odgovorno za zagotavljanje signala za prehod ničle na 555 IC časovnika. Prav tako smo fazo in nevtralni signal posneli za nadaljnjo uporabo v odseku TRIAC.
LM7809 Regulator napetosti:
Napetostni regulator 7809 se uporablja za napajanje vezja, vezje je odgovorno za oskrbo celotnega vezja. Poleg tega smo kot ločevalni kondenzator za IC LM7809 uporabili dva kondenzatorja 470uF in kondenzator 0,1uF.
Krmilno vezje s časovnikom NE555:
Na zgornji sliki je prikazano krmilno vezje 555 časovnika, 555 je konfiguriran v monostabilni konfiguraciji, tako da ko sproži signal iz vezja za zaznavanje prehoda nič, sprožilec 555 začne polniti kondenzator s pomočjo upora (na splošno), vendar ima naše vezje namesto upora MOSFET in z nadzorom vrat MOSFET-a nadzorujemo tok, ki teče v kondenzator, zato nadzorujemo čas polnjenja, zato nadzorujemo izhod 555 časovnikov. V mnogih projektih smo uporabili 555 timer IC za izdelavo našega projekta. Če želite izvedeti več o tej temi, si lahko ogledate vse druge projekte.
TRIAC in vezje gonilnika TRIAC:
TRIAC deluje kot glavno stikalo, ki se dejansko vklopi in izklopi in tako nadzoruje izhod AC signala. Pogon TRIAC-a je optotrični pogon MOC3021, ki ne poganja samo TRIAC-a, ampak zagotavlja tudi optično izolacijo, visokonapetostni kondenzator 0,01uF 2KV, upor 47R pa tvori snubber vezje, ki naše vezje ščiti pred visokonapetostnimi konicami ki se pojavijo, ko je povezan z induktivno obremenitvijo, je nesinusoidna narava vklopljenega AC signala odgovorna za konice. Prav tako je odgovoren za vprašanja faktorja moči, vendar je to tema za drug članek. Tudi v različnih člankih smo TRIAC uporabili kot svojo najprimernejšo napravo, ki jih lahko preverite, če vas to zanima.
Nizkofrekvenčni filter in P-kanalni MOSFET (deluje kot upor v vezju):
Upor 82K in kondenzator 3.3uF tvorijo nizkofrekvenčni filter, ki je odgovoren za glajenje visokofrekvenčnega signala PWM, ki ga ustvarja Arduino. Kot smo že omenili, P-Channel MOSFET deluje kot spremenljivi upor, ki nadzoruje čas polnjenja kondenzatorja. Nadzor nad njim je signal PWM, ki ga zniža nizkopasovni filter. V prejšnjem članku smo razjasnili koncept nizkopasovnih filtrov. Če želite izvedeti več o temi, si lahko ogledate članek o aktivnem nizkoprepustnem filtru ali pasivnem nizkoprepustnem filtru.
Zasnova PCB za krmilno vezje faznega izmeničnega toka
PCB za naše vezje za nadzor faznega kota je zasnovan v enostranski plošči. Eagle sem uporabil za oblikovanje PCB-ja, vendar lahko uporabite katero koli programsko opremo za oblikovanje po vaši izbiri. 2D-slika moje zasnove plošče je prikazana spodaj.
Za pravilno povezavo tal med vsemi komponentami se uporablja zadostno polnjenje tal. 12V DC vhod in 220 V AC vhod sta naseljena na levi strani, izhod pa je na desni strani PCB. Celotno oblikovalsko datoteko za Eagle skupaj z Gerberjem lahko prenesete s spodnje povezave.
- Prenesite datoteke PCB Design, GERBER in PDF za krmilno vezje faznega izmeničnega toka
Ročno izdelani PCB:
Za udobje sem izdelal svojo ročno izdelano različico tiskanega vezja, ki je prikazana spodaj.
Koda Arduino za nadzor faznega kota izmeničnega toka
Za delovanje vezja se uporablja preprosta generirna koda PWM, koda in njena obrazložitev je podana spodaj. Celotno kodo najdete tudi na dnu te strani. Najprej prijavimo vso potrebno spremenljivko, const int analogInPin = A0; // Analogni vhodni zatič, s katerim je potenciometer pritrjen na const int analogOutPin = 9; // Analogni izhodni zatič, na katerega je LED pritrjena na int sensorValue = 0; // vrednost, prebrana iz lonca int outputValue = 0; // vrednost izhoda v PWM (analogni izhod)
Spremenljivke morajo prijaviti analogni pin, analogOut pin, druge spremenljivke pa shraniti, pretvoriti in natisniti preslikano vrednost. Nato v razdelku setup () zaženemo UART s 9600 baudov, da lahko nadziramo izhod in tako lahko ugotovimo, kateri obseg PWM je lahko v celoti nadziral izhod vezja.
void setup () {// inicializiramo serijske komunikacije s hitrostjo 9600 bps: Serial.begin (9600); }
Nato v odseku zanke () preberemo analogni zatič A0 in vrednost shranimo v spremenljivko vrednosti senzorja, nato pa vrednost senzorja preslikamo na 0 -255, ker je PWM-časovnik atmege le 8-biten, nato pa nastavite signal PWM s funkcijo analogWrite () Arduina . in na koncu vrednosti izpišemo v okno serijskega monitorja, da ugotovimo obseg krmilnega signala. Če sledite tej vadnici, vam bo video na koncu dal jasnejšo predstavo o temi.
sensorValue = analogRead (analogInPin); // preberemo analog v vrednosti: outputValue = map (sensorValue, 0, 1023, 0, 255); // preslikava ga v obseg analognega izhoda: analogWrite (analogOutPin, outputValue); // spremenimo vrednost analognega izhoda: Serial.print ("sensor ="); // natisnemo rezultate na serijski monitor: Serial.print (sensorValue); Serial.print ("\ t output ="); Serial.println (outputValue);
Testiranje krmilnega kroga faznega izmeničnega toka
Zgornja slika prikazuje testno nastavitev vezja. Napajanje 12V zagotavlja 12V SMPS vezje, v našem primeru je to žarnica, ki jo je mogoče enostavno zamenjati \ z induktivno obremenitvijo, kot je ventilator. Kot lahko vidite, sem priklopil potenciometer za nadzor svetlosti žarnice, vendar ga je mogoče nadomestiti s katero koli drugo obliko krmilnika. Če povečate sliko, lahko vidite, da je posoda priključena na Zatič A0 Arduina in signal PWM prihaja iz zatiča 9 Arduina.
Kot lahko vidite na zgornji sliki, je izhodna vrednost 84 in svetlost žarnice z žarilno nitko je zelo nizka,
Na tej sliki lahko vidite, da je vrednost 82, in svetlost žarnice z žarilno nitko se poveča.
Po številnih neuspelih poskusih sem lahko našel vezje, ki dejansko deluje pravilno. Ste se kdaj vprašali, kako izgleda testna miza, ko vezje ne deluje? Naj vam povem, da izgleda zelo slabo,
To je predhodno zasnovano vezje, na katerem sem delal. Moral sem ga popolnoma zavreči in narediti novega, ker prejšnji ni deloval nekoliko.
Nadaljnje izboljšave
Za to predstavitev je vezje narejeno na ročno izdelanem PCB-ju, vendar ga je mogoče zlahka zgraditi v kakovostnem PCB-ju, v mojih eksperimentih je velikost PCB-ja res velika zaradi velikosti komponente, toda v proizvodnem okolju je mogoče zmanjšati z uporabo poceni SMD komponent. V svojih poskusih sem ugotovil, da uporaba časovnika 7555 namesto 555 časovnika močno poveča krmilnik, poleg tega pa se poveča tudi stabilnost vezja.