- Szükséges alkatrészek
- Az AC ventilátor vezérlésének működése Arduino segítségével
- 1. Zero-Crossing Detector
- 2. Fázisszög vezérlő áramkör
- 3. Potenciométer a ventilátor sebességének szabályozásához
- 4. PWM jelgeneráló egység
- Kördiagramm
- Az Arduino programozása a ventilátor sebességének szabályozására
FIGYELEM!! A projektben tárgyalt kapcsolási rajz csak oktatási célokat szolgál. Felhívjuk figyelmét, hogy a 220 V váltóáramú hálózati feszültséggel végzett munka rendkívül elővigyázatosságot igényel, és biztonsági eljárásokat kell betartani. Az áramkör működése közben ne érintse meg az alkatrészeket vagy vezetékeket.
Bármely háztartási készüléket egyszerűen be- vagy kikapcsolhat egy kapcsoló vagy valamilyen vezérlő mechanizmus segítségével, ahogyan azt számos Arduino-alapú otthoni automatizálási projektben tettük. De nagyon sok olyan alkalmazás létezik, ahol az AC tápellátást részben szabályoznunk kell, például a ventilátor sebességének vagy egy lámpa intenzitásának szabályozásához. Ebben az esetben a PWM technikát alkalmazzák, így itt megtanuljuk, hogyan használhatjuk az Arduino által generált PWM-et az AC ventilátor sebességének az Arduino segítségével történő szabályozására.
Ebben a projektben bemutatjuk az Arduino AC ventilátor fordulatszám-szabályozását a TRIAC segítségével. Itt az AC jel fázisszabályozási módszerét használják az AC ventilátor sebességének szabályozására, az Arduino által generált PWM jelek felhasználásával. Az előző bemutatóban a DC ventilátor sebességét PWM segítségével szabályoztuk.
Szükséges alkatrészek
- Arduino UNO
- 4N25 (nulla keresztezési érzékelő)
- 10k potenciométer
- MOC3021 0pto-csatoló
- (0-9) V, 500 mA fokozatú transzformátor
- BT136 TRIAC
- 230 VAC tengelyirányú ventilátor
- Csatlakozó vezetékek
- Ellenállások
Az AC ventilátor vezérlésének működése Arduino segítségével
A megmunkálás négy különböző részre osztható. Ezek a következők
1. Nullkereszteződés-érzékelő
2. Fázisszögvezérlő áramkör
3. Potenciométer a ventilátor sebességének szabályozásához
4. PWM jelgeneráló áramkör
1. Zero-Crossing Detector
A háztartásunkban kapott váltakozó áramú tápfeszültség 220 V AC RMS, 50 HZ. Ez az AC jel váltakozó jellegű, és periodikusan megváltoztatja polaritását. Minden ciklus első felében egy irányban áramlik, elérve a csúcsfeszültséget, majd nullára csökken. Aztán a következő félciklusban váltakozó irányban (negatívan) áramlik egy csúcsfeszültségre, majd ismét nullára jön. Az AC ventilátor sebességének szabályozásához mindkét fél ciklus csúcsfeszültségét fel kell vágni vagy szabályozni kell. Ehhez meg kell határoznunk azt a nulla pontot, ahonnan a jelet vezérelni / aprítani kell. A feszültséggörbe ezen pontját, ahol a feszültség megváltoztatja az irányt, nulla feszültség keresztezésnek nevezzük.
Az alábbiakban bemutatott áramkör a nulla keresztezésű detektor áramkör, amelyet a nulla keresztezési pont megkapására használunk. Először a 220 V váltóáramú feszültséget 9 V váltóáramra csökkentik egy lecsökkentő transzformátor segítségével, majd egy 4N25 optocsatolóhoz táplálják az 1. és 2. érintkezőnél. A 4N25 optocsatoló beépített LED-el rendelkezik, amelynek 1-es érintkezője anód és 2-es csapja katód. Tehát az alábbi áramkör szerint, amikor az AC hullám közelebb megy a nulla keresztezési ponthoz, a 4N25 beépített LED-je kikapcsol, és ennek eredményeként a 4N25 kimeneti tranzisztora is kikapcsol, és a kimeneti impulzuscsap 5V-ig húzza. Hasonlóképpen, amikor a jel fokozatosan növekszik a csúcsigpontot, akkor a LED bekapcsol, és a tranzisztor is bekapcsol a kimeneti csaphoz csatlakoztatott földcsappal, ami ezt a csapot 0V-ra teszi. Ezen impulzus segítségével a nulla keresztezési pont az Arduino segítségével detektálható.
2. Fázisszög vezérlő áramkör
Miután észleltük a nulla keresztezési pontot, most ellenőriznünk kell az időzítés mennyiségét, amelyre az áram be- és kikapcsol. Ez a PWM jel határozza meg az AC motor kimenetének feszültségét, amely viszont szabályozza annak sebességét. Itt egy BT136 TRIAC-ot használnak, amely vezérli az AC feszültséget, mivel ez egy elektromos elektronikus kapcsoló az AC feszültség jelének vezérléséhez.
A TRIAC egy három terminálos váltakozó áramú kapcsoló, amelyet a kapu terminálján található alacsony energia jel vált ki. SCR-kben csak egy irányban vezet, de a TRIAC esetében a teljesítmény mindkét irányba vezérelhető. Ha többet szeretne megtudni a TRIAC-ról és az SCR-ről, kövesse korábbi cikkeinket.
Amint az a fenti ábrán látható, a TRIAC-ot 90 fokos tüzelési szögben kapcsolják ki egy kis kapu impulzusjel alkalmazásával. A „t1” idő a késleltetési idő, amelyet a tompítási követelménynek megfelelően adunk meg. Például ebben az esetben az égési szög 90 százalék, ennélfogva a teljesítmény is feleződik, és így a lámpa is fél intenzitással világít.
Tudjuk, hogy az AC jel frekvenciája itt 50 Hz. Tehát az időtartam 1 / f lesz, ami 20 ms. Egy fél ciklus alatt ez 10 ms vagy 10 000 mikroszekundum lesz. Ennélfogva az AC lámpa teljesítményének szabályozásához a „t1” tartomány 0 és 10000 mikroszekundum között változtatható.
Optocsatoló:
Az optocsatoló Optoisolator néven is ismert. Két elektromos áramkör, például DC és AC jel közötti szigetelés fenntartására szolgál. Alapvetően egy infravörös fényt kibocsátó LED-ből és az azt érzékelő fényérzékelőből áll. Itt egy MOC3021 optocsatolót használnak az AC ventilátor vezérléséhez a mikrovezérlő jeleiből, amely egyenáramú jel.
TRIAC és Optocoupler csatlakozási ábra:
3. Potenciométer a ventilátor sebességének szabályozásához
Itt egy potenciométert használnak az AC ventilátor sebességének változtatására. Tudjuk, hogy a potenciométer egy 3 terminálos eszköz, amely feszültségosztóként működik és változó feszültség kimenetet biztosít. Ezt a változó analóg kimeneti feszültséget az Arduino analóg bemeneti kapcsa adja meg az AC ventilátor sebességének beállításához.
4. PWM jelgeneráló egység
Az utolsó lépésben egy PWM impulzust kap a TRIAC a sebesség követelményeinek megfelelően, ami viszont megváltoztatja az AC jel BE / KI időzítését és változó kimenetet biztosít a ventilátor sebességének szabályozásához. Itt az Arduino-t használják a PWM impulzus létrehozására, amely a potenciométer bemenetét veszi és PWM jelkimenetet ad a TRIAC és az optocsatoló áramkör számára, amely tovább hajtja az AC ventilátort a kívánt sebességgel. Tudjon meg többet az Arduino használatával készült PWM-generációról itt
Kördiagramm
Az Arduino alapú 230 V-os ventilátor fordulatszám-szabályozó áramkörének kapcsolási rajza az alábbiakban látható:
Megjegyzés: A teljes áramkört csak a megértés céljából mutattam be kenyérlapon. Ne használjon 220 V váltóáramú tápfeszültséget közvetlenül a kenyérlapján, pontozott táblával használtam a csatlakozásokat, amint az az alábbi képen látható
Az Arduino programozása a ventilátor sebességének szabályozására
A hardveres kapcsolat után fel kell írnunk az Arduino kódját, amely PWM jelet generál az AC jel BE / KI időzítésének vezérléséhez egy potenciométer bemenet segítségével. Korábban számos projektben alkalmaztunk PWM technikákat.
Az Arduino AC ventilátor fordulatszám-szabályozási projektjének teljes kódja a projekt végén található. A kód lépésenkénti magyarázatát az alábbiakban adjuk meg.
Az első lépésben deklarálja az összes szükséges változót, amelyeket az egész kódban használni fognak. Itt a BT136 TRIAC csatlakozik az Arduino 6. tűjéhez. És a speed_val változó deklarálva tárolja a sebesség lépés értékét.
int TRIAC = 6; int sebesség_érték = 0;
Ezután a beállítási funkción belül deklarálja a TRIAC tűt kimenetként, mivel ezen a csapon keresztül PWM kimenet jön létre. Ezután konfiguráljon egy megszakítást a nulla keresztezés észleléséhez. Itt használtuk az attachInterrupt nevű függvényt, amely külső megszakításként konfigurálja az Arduino digitális 3-as tűjét, és meghívja a zero_crossing nevű függvényt, amikor bármilyen megszakítást észlel a tűjén.
void setup () {pinMode (LAMP, OUTPUT); attachInterrupt (digitalPinToInterrupt (3), nulla_ keresztezés, CHANGE); }
A végtelen hurok belsejében olvassa le az A0-nál bekötött potenciométer analóg értékét, és térképezze fel a (10-49) értéktartományra.
Ennek a tartománynak a megismeréséhez egy kis számítást kell végeznünk. Korábban azt mondták, hogy minden fél ciklus 10 000 mikroszekundumnak felel meg. Tehát itt a tompítást 50 lépésben vezérlik, ami tetszőleges érték és változtatható. Itt a minimális lépéseket 10-ként, nem pedig nulla értékként vesszük, mert a 0–9 lépések körülbelül azonos teljesítményt adnak, a maximális lépések pedig 49-esek, mivel gyakorlatilag nem ajánlott a felső határ (ami ebben az esetben 50).
Ezután az egyes lépések időtartama 10000/50 = 200 mikroszekundum. Ezt a kód következő részében fogjuk használni.
void loop () {int pot = analogRead (A0); int data1 = térkép (pot, 0, 1023,10,49); sebesség_érték = adat1; }
Az utolsó lépésben konfigurálja a megszakítás által vezérelt zero_crossing függvényt. Itt a tompítási idő kiszámítható úgy, hogy megszorozzuk az egyes lépésidőket a nem számmal. lépések. Ezután a késleltetési idő elteltével a TRIAC egy kis, 10 mikroszekundumos nagy impulzus segítségével kiváltható, amely elegendő a TRIAC bekapcsolásához.
void zero_crossing () {int chop_time = (200 * sebesség_val); delayMicroseconds (chop_time); digitalWrite (TRIAC, HIGH); késleltetés mikroszekundum (10); digitalWrite (TRIAC, LOW); }
Az alábbiakban a teljes kódot, valamint az Arduino és a PWM használatával működő váltóáramú ventilátor vezérlésének működő videóját adjuk meg.