- Komponente potrebne
- Rad AC upravljanja ventilatorom pomoću Arduina
- 1. Detektor nultih križanja
- 2. Krug za upravljanje kutom faze
- 3. Potenciometar za kontrolu brzine ventilatora
- 4. Jedinica za generiranje PWM signala
- Kružni dijagram
- Programiranje Arduina za kontrolu brzine ventilatora
UPOZORENJE!! Shema spojeva koja se raspravlja u ovom projektu samo je u obrazovne svrhe. Imajte na umu da rad s mrežnim naponom od 220 V zahtijeva krajnju oprez i da se moraju poštivati sigurnosni postupci. Ne dodirujte nijednu komponentu ili žicu dok krug radi.
Lako je uključiti ili isključiti bilo koji kućanski aparat pomoću prekidača ili pomoću nekog upravljačkog mehanizma kao što smo to činili u mnogim projektima kućne automatizacije zasnovane na Arduinu. No, postoji mnogo aplikacija u kojima trebamo djelomično kontrolirati izmjeničnu snagu, na primjer za kontrolu brzine ventilatora ili jačine žarulje. U ovom slučaju koristi se PWM tehnika, pa ćemo ovdje naučiti kako koristiti PWM generiran Arduinom za kontrolu brzine ventilatora izmjenične struje s Arduinom.
U ovom ćemo projektu pokazati Arduino AC kontrolu brzine ventilatora pomoću TRIAC-a. Ovdje se metoda faznog upravljanja izmjeničnim signalom koristi za kontrolu brzine ventilatora izmjenične struje, koristeći PWM signale koje generira Arduino. U prethodnom uputstvu kontrolirali smo brzinu istosmjernog ventilatora pomoću PWM-a.
Komponente potrebne
- Arduino UNO
- 4N25 (detektor nultih prijelaza)
- 10k potenciometar
- MOC3021 0pto-spojnica
- (0-9) V, 500 mA Stepdown transformator
- BT136 TRIJAK
- 230 VAC aksijalni AC ventilator
- Spajanje žica
- Otpornici
Rad AC upravljanja ventilatorom pomoću Arduina
Rad se može podijeliti u četiri različita dijela. Oni su sljedeći
1. Detektor nule-križanja
2. Upravljački krug faznog kuta
3. Potenciometar za upravljanje količinom brzine ventilatora
4. Krug stvaranja PWM signala
1. Detektor nultih križanja
Opskrba izmjeničnom strujom u našem kućanstvu je izmjenična vrijednost 220 V izmjenične struje, 50 HZ. Ovaj izmjenični signal izmjenične je naravi i povremeno mijenja svoj polaritet. U prvoj polovici svakog ciklusa teče u jednom smjeru dostižući vršni napon, a zatim se smanjuje na nulu. Zatim u sljedećem poluciklusu teče u izmjeničnom smjeru (negativnom) do vršnog napona, a zatim opet dolazi na nulu. Za kontrolu brzine ventilatora, vršni napon u oba poluciklusa treba usitniti ili kontrolirati. Da bismo to postigli, moramo otkriti nultu točku od koje signal treba kontrolirati / usitniti. Ova točka na krivulji napona gdje napon mijenja smjer naziva se prelazak nultog napona.
Donji krug prikazan je krug detektora prelaska nule koji se koristi za dobivanje točke prelaska nule. Prvo se 220V izmjenični napon spušta na 9V izmjeničnog napona pomoću silaznog transformatora, a zatim se napaja na optički sprežnik 4N25 na svojim pinovima 1 i 2. Optopaler 4N25 ima ugrađenu LED diodu s pin 1 kao anodom i pin 2 kao katoda. Dakle, prema donjem krugu, kada se izmjenični val približi točki prijelaza nule, ugrađena LED od 4N25 će se isključiti i kao rezultat toga, izlazni tranzistor od 4N25 također će se isključiti, a izlazni impulsni pin povucite do 5V. Slično tome, kada se signal postupno povećava do vrhuncatočku, tada se LED uključuje, a tranzistor će se također UKLJUČITI s uzemljenjem priključenim na izlazni pin, što ovaj pin čini 0V. Korištenjem ovog impulsa, točka prijelaza nule može se otkriti pomoću Arduina.

2. Krug za upravljanje kutom faze
Nakon otkrivanja točke prelaska nule, sada moramo kontrolirati količinu vremena za koje će se napajanje uključivati i isključivati. Ovaj PWM signal će odrediti količinu napona koji se izvodi na AC motor, koji zauzvrat kontrolira njegovu brzinu. Ovdje se koristi BT136 TRIAC, koji kontrolira izmjenični napon jer je to moćna elektronička sklopka za upravljanje naponom izmjeničnog napona.
TRIAC je trokraka izmjenična sklopka koju može aktivirati signal niske energije na svom priključku vrata. U SCR-ovima se provodi u samo jednom smjeru, ali u slučaju TRIAC-a, snaga se može kontrolirati u oba smjera. Da biste saznali više o TRIAC-u i SCR-u, slijedite naše prethodne članke.

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 je dato prema zahtjevu za prigušivanjem. Na primjer, u ovom je slučaju kut paljenja 90 posto, stoga će se i snaga prepoloviti, a samim time i svjetiljka će svijetliti s pola intenziteta.
Znamo da je ovdje frekvencija izmjeničnog signala 50 Hz. Tako će vremensko razdoblje biti 1 / f, što je 20 ms. Tijekom pola ciklusa to će biti 10 ms ili 10 000 mikrosekundi. Stoga se za kontrolu snage AC svjetiljke raspon "t1" može mijenjati od 0-10000 mikrosekundi.
Optički sprežnik:
Optocoupler je poznat i kao Optoisolator. 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 optički sprežnik MOC3021 koristi za upravljanje ventilatorom izmjenične struje iz signala mikrokontrolera koji je istosmjerni signal.
Dijagram povezivanja TRIAC i Optocoupler:

3. Potenciometar za kontrolu brzine ventilatora
 
Ovdje se potenciometar koristi za promjenu brzine ventilatora. Znamo da je potenciometar 3 terminalni uređaj koji djeluje kao djelitelj napona i pruža promjenjivi izlazni napon. Ovaj promjenjivi analogni izlazni napon daje se na analognom ulaznom terminalu Arduino radi postavljanja vrijednosti brzine ventilatora izmjenične struje.
4. Jedinica za generiranje PWM signala
U posljednjem koraku, TRIAC-u se daje PWM impuls prema zahtjevima za brzinu, što zauzvrat mijenja vrijeme uključivanja / isključivanja AC signala i daje promjenjivi izlaz za kontrolu brzine ventilatora. Ovdje se Arduino koristi za generiranje PWM impulsa, koji uzima ulaz od potenciometra i daje izlaz PWM signala TRIAC-u i optičkom sklopniku koji dalje pokreće ventilator izmjenične struje željenom brzinom. Ovdje saznajte više o generiranju PWM-a pomoću Arduina.
Kružni dijagram
Dijagram kruga za ovaj upravljački krug brzine ventilatora zasnovan na Arduinu daje se u nastavku:

Napomena: Kompletni sklop prikazao sam na ploči samo radi razumijevanja. Ne biste trebali upotrebljavati napajanje 220 V izmjenične struje izravno na vašoj ploči, za povezivanje sam koristio točkastu ploču, kao što vidite na donjoj slici

Programiranje Arduina za kontrolu brzine ventilatora
Nakon hardverske veze, trebamo zapisati kod za Arduino, koji će generirati PWM signal za kontrolu vremena uključivanja / isključivanja izmjeničnog signala pomoću ulaza potenciometra. Prije smo koristili PWM tehnike u mnogim projektima.
Kompletni kod ovog projekta kontrole brzine ventilatora Arduino AC dat je na dnu ovog projekta. Postepeno objašnjenje koda dano je u nastavku.
U prvom koraku navedite sve potrebne varijable koje će se koristiti u cijelom kodu. Ovdje je BT136 TRIAC spojen na pin 6 Arduina. A varijabla speed_val deklarirana je za pohranu vrijednosti koraka brzine.
int TRIAC = 6; int brzina_val = 0;
Dalje, unutar funkcije postavljanja , proglasite TRIAC pin kao izlaz kao PWM izlaz koji će se generirati kroz ovaj pin. Zatim konfigurirajte prekid za otkrivanje prelaska nule. Ovdje smo koristili funkciju koja se naziva attachInterrupt, koja će konfigurirati digitalni pin 3 Arduina kao vanjski prekid i pozvat će funkciju nazvanu zero_crossing kad otkrije bilo kakve prekide na svom pinu.
void setup () {pinMode (LAMPA, IZLAZ); attachInterrupt (digitalPinToInterrupt (3), zero_crossing, CHANGE); }
Unutar beskonačne petlje očitajte analognu vrijednost s potenciometra koji je spojen na A0 i preslikajte je u raspon vrijednosti (10-49).
Da bismo saznali taj raspon, moramo napraviti mali izračun. Ranije je rečeno da je svaki poluciklus ekvivalentan 10 000 mikrosekundi. Dakle, ovdje će se prigušivanje kontrolirati u 50 koraka, što je proizvoljna vrijednost i može se mijenjati. Ovdje se uzimaju minimalni koraci kao 10, a ne nula, jer koraci od 0 do 9 daju približno jednaku izlaznu snagu, a maksimalni koraci kao 49, jer se ne preporučuje praktično uzimati gornju granicu (što je u ovom slučaju 50).
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 pot = analogRead (A0); int data1 = karta (pot, 0, 1023,10,49); brzina_val = podaci1; }
U posljednjem koraku konfigurirajte prekidnu funkciju zero_crossing. Ovdje se vrijeme zatamnjenja može izračunati množenjem pojedinačnog vremena koraka s br. koraka. Tada se nakon ovog vremena kašnjenja TRIAC može pokrenuti pomoću malog visokog impulsa od 10 mikrosekundi što je dovoljno za uključivanje TRIAC-a.
void zero_crossing () {int chop_time = (200 * brzina_val); delayMicroseconds (chop_time); digitalWrite (TRIAC, HIGH); delayMicroseconds (10); digitalWrite (TRIAC, LOW); }
Kompletni kôd, zajedno s radnim video zapisom za ovu kontrolu ventilatora izmjenične struje pomoću Arduina i PWM-a, dan je u nastavku.

