- Használt alkatrészek:
- Zero Crossing Detection Technique
- TRIAC Working
- Optocsatoló
- Kördiagramm:
- Az Arduino programozása az AC Light Dimmer programhoz:
- Az Arduino Lamp Dimmer áramkör működése
Háztartásunkban a legtöbb készülék tápfeszültségről táplálkozik, például világításról, tévékről és ventilátorokról stb. Szükség esetén digitálisan be- és kikapcsolhatjuk őket, az Arduino és a Relays használatával, otthoni automatizálás beállításával. De mi van akkor, ha szabályoznunk kell ezeknek az eszközöknek az áramellátását, például az AC lámpa tompításához vagy a ventilátor sebességének szabályozásához. Ebben az esetben fázisszabályozási technikát és olyan statikus kapcsolókat kell használnunk, mint a TRIAC az AC tápfeszültség fázisának vezérléséhez.
Tehát ebben az oktatóanyagban megtudhatunk egy váltakozó áramú lámpa dimmerről az Arduino és a TRIAC segítségével. Itt egy TRIAC-t használnak az AC lámpa kapcsolására, mivel ez egy Power Elektronikus gyorskapcsoló eszköz, amely a legjobban megfelel ezeknek az alkalmazásoknak. Kövessük a teljes cikket a hardver részleteiről és a projekt programozásáról. Ezenkívül ellenőrizze a fényerő-szabályozással kapcsolatos korábbi oktatóinkat:
- IR távirányítós TRIAC dimmer áramkör
- Arduino alapú LED dimmer PWM használatával
- 1 Wattos LED-es dimmer áramkör
- A LED-es dimmer bekapcsolása az ATmega32 mikrokontroller használatával
Használt alkatrészek:
- Arduino UNO-1
- MCT2E optocsatoló -1
- MOC3021 optocsatoló -1
- BT136 TRIAC-1
- (12-0) V, 500mA Léptető transzformátor-1
- 1K, 10K, 330ohmos ellenállások
- 10K potenciométer
- AC tartó lámpával
- AC vezetékek
- Ugrók
Mielőtt továbbmennénk, megismerjük a nulla átkelést, a TRIAC-ot és az optocsatolót.
Zero Crossing Detection Technique
Az AC feszültség vezérléséhez először meg kell tennünk az AC jel nulla keresztezésének észlelését. Indiában az AC jel frekvenciája 50 HZ, és váltakozó jellegű. Ezért minden alkalommal, amikor a jel nullapontra jut, fel kell derítenünk ezt a pontot, és ezután be kell váltanunk a TRIAC-ot az energiaigény szerint. Az AC jel nullpontja az alábbiakban látható:
TRIAC Working
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 az áramellátás mindkét irányban szabályozható. Itt egy BT136 TRIAC-t használunk az AC lámpa tompításához.
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ő az a késleltetési idő, amelyet meg kell adnunk a fényerő-csökkentési követelményünknek megfelelően. Például ebben az esetben, mivel az égési szög 90 százalék, ezért a teljesítmény is a felére csökken, é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 lesz, tehát egy fél ciklusra ez 10 ms vagy 10 000 mikroszekundum lesz. Ezért a váltakozó áramú lámpánk teljesítményének szabályozásához a „t1” tartománya 0 és 10000 mikroszekundum között változtatható. Tudjon meg többet a Triacról és annak működéséről itt.
Optocsatoló
Az optocsatoló Optoisolato r 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álunk arra, hogy az AC lámpát mikrovezérlő jelekből vezéreljük, ami egyenáramú jel. Korábban ugyanazt a MOC3021 optocsatolót használtuk a TRIAC dimmer áramkörében. A linket követve tudjon meg többet az optocsatolókról és típusairól.
Kördiagramm:
Az AC Light Dimmer kapcsolási rajza az alábbiakban látható:
ATRIAC és optocsatoló csatlakozási diagram:
Forrasztottam egy TRIAC és Optocoupler MOC3021 áramkört egy tökéletes táblára. Forrasztás után az alábbiak szerint fog kinézni:
Forrasztottam egy MCT2E optocsatolót a tökéletes táblára, hogy csatlakoztassam a váltóáramú tápegységhez:
Az Arduino Lamp Dimmer teljes áramköre az alábbiak szerint fog kinézni:
Az Arduino programozása az AC Light Dimmer programhoz:
A hardver telepítésének sikeres befejezése után itt az ideje az Arduino programozásának. A végén bemutatjuk a teljes programot egy bemutató videóval. Itt fokozatosan elmagyaráztuk a kódot a jobb alulértékelés érdekében.
Az első lépésben deklarálja az összes globális változót, amelyet a kódban használni fognak. Itt a TRIAC csatlakozik az Arduino 4. tűjéhez. Ezután a dim_val deklarálva van, hogy tárolja a tompítási lépés értékét, amelyet a programban használni fogunk.
int LAMP = 4; int dim_val = 0;
Ezután a belső beállítási funkció deklarálja a LAMP tűt kimenetként, majd konfigurál 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 2-es PIN- kódját, és meghívja a zero_cross nevű függvényt, amikor bármilyen megszakítást észlel a tűjén.
void setup () {pinMode (LAMP, OUTPUT); attachInterrupt (digitalPinToInterrupt (2), nulla_kereszt, CHANGE); }
A végtelen hurkon belül olvassa el az analóg értéket az A0-nál bekötött potenciométerről. Ezután hozzárendelje a (10-49) értéktartományhoz. Ennek kiderítéséhez egy kis számítást kell végeznünk. Korábban elmondtam, hogy minden fél ciklus 10 000 mikroszekundumnak felel meg. Tehát hadd kell szabályoznunk a tompítást 50 lépésben (ez tetszőleges érték. Meg is változtathatja). A minimális lépést 10-ként tettem meg, nem a Zero értéket, mert a 0–9 lépés körülbelül azonos teljesítményt ad, és gyakorlatilag nem ajánlott a maximális lépésszámot megtenni. Tehát a maximális lépést 49-esként tettem meg.
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 adatok = analogRead (A0); int data1 = térkép (adatok, 0, 1023,10,49); dim_val = adatok1; }
Az utolsó lépésben konfigurálja a megszakítás által vezérelt zero_cross 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_cross () {int tompítási idő = (200 * dim_val); delayMicroseconds (tompító_idő); digitalWrite (LAMP, HIGH); késleltetés mikroszekundum (10); digitalWrite (LAMP, LOW); }
Az Arduino Lamp Dimmer áramkör működése
Az alábbiakban az AC izzó tompításának három szakaszát mutatjuk be az Arduino és a TRIAC segítségével.
1. Alacsony tompítási lépés
2. Közepes elsötétítés lépés
3. Maximális tompítási lépés:
Így lehet egy AC Light Dimmer áramkört könnyen felépíteni a TRIAC és az optocsatoló segítségével. Az alábbiakban egy működő videót és egy Arduino Light Dimmer kódot adunk meg
/>