- Súčasti sú povinné
- Fungovanie ovládania AC ventilátora pomocou Arduina
- 1. Detektor nulového prechodu
- 2. Obvod riadenia fázového uhla
- 3. Potenciometer na reguláciu otáčok ventilátora
- 4. Jednotka generovania signálu PWM
- Schéma zapojenia
- Programovanie Arduina na reguláciu otáčok ventilátora
VÝSTRAHA!! Schéma zapojenia diskutovaná v tomto projekte slúži iba na informačné účely. Majte na pamäti, že práca so sieťovým napätím 220V AC si vyžaduje mimoriadne opatrnosť a mali by sa dodržiavať bezpečnostné postupy. Keď je obvod v prevádzke, nedotýkajte sa žiadnych komponentov alebo vodičov.
Je ľahké zapnúť alebo vypnúť akýkoľvek domáci spotrebič pomocou prepínača alebo pomocou nejakého ovládacieho mechanizmu, ako sme to urobili v mnohých projektoch domácej automatizácie založených na Arduine. Existuje ale veľa aplikácií, v ktorých musíme čiastočne riadiť striedavý prúd, napríklad na riadenie rýchlosti ventilátora alebo intenzity žiarovky. V tomto prípade sa použije technika PWM, takže sa tu naučíme, ako používať PWM generované Arduinom na riadenie otáčok ventilátora striedavého prúdu pomocou Arduina.
V tomto projekte si ukážeme riadenie otáčok ventilátora Arduino pomocou TRIAC. Tu sa na riadenie otáčok ventilátora striedavého prúdu používa metóda fázového riadenia striedavého signálu pomocou signálov PWM generovaných Arduino. V predchádzajúcom tutoriáli sme regulovali rýchlosť DC ventilátora pomocou PWM.
Súčasti sú povinné
- Arduino UNO
- 4N25 (detektor prechodu nulou)
- 10k potenciometer
- MOC3021 0pto-spojka
- (0-9) V, 500 mA krokový transformátor
- BT136 TRIAC
- Axiálny striedavý ventilátor 230 VAC
- Pripojovacie vodiče
- Rezistory
Fungovanie ovládania AC ventilátora pomocou Arduina
Prácu je možné rozdeliť na štyri rôzne časti. Sú nasledujúce
1. Detektor nulového kríženia
2. Obvod
riadenia fázového uhla 3. Potenciometer na reguláciu množstva rýchlosti ventilátora
4. Obvod generovania signálu PWM
1. Detektor nulového prechodu
Zdroj striedavého prúdu, ktorý v našej domácnosti dostaneme, je 220 V str. RMS, 50 Hz. Tento striedavý signál má striedavý charakter a pravidelne mení svoju polaritu. V prvej polovici každého cyklu preteká jedným smerom a dosahuje špičkové napätie a potom klesá až na nulu. Potom v nasledujúcom pol cykle prúdi striedavým smerom (záporne) na špičkové napätie a potom sa opäť dostane na nulu. Na riadenie rýchlosti striedavého ventilátora je potrebné znížiť alebo regulovať špičkové napätie oboch polovičných cyklov. Z tohto dôvodu musíme zistiť nulový bod, od ktorého sa má signál riadiť / sekať. Tento bod na krivke napätia, kde napätie mení smer, sa nazýva prechod nulovým napätím.
Okruh znázornený nižšie je obvod detektora prechodu nulou, ktorý sa používa na získanie bodu prechodu nulou. Najskôr sa napätie 220 V str. Zníži na 9 V striedavého transformátora a potom sa napája do optočlenu 4N25 na jeho póloch 1 a 2. Optočlen 4N25 má zabudovanú LED s pinom 1 ako anódou a pinom 2 ako katóda. Takže pokiaľ ide o obvod nižšie, keď sa vlna striedavého prúdu priblíži k bodu prechodu nulou, zabudovaná LED dióda 4N25 sa vypne a v dôsledku toho sa vypne aj výstupný tranzistor 4N25 a pin výstupného impulzu sa vypne. vytiahnite až 5V. Podobne, keď sa signál postupne zvyšuje na vrcholbod, potom sa rozsvieti LED a tranzistor sa zapne aj s uzemňovacím kolíkom pripojeným k výstupnému kolíku, čo robí tento pin 0V. Pomocou tohto impulzu možno pomocou Arduina zistiť bod prechodu nuly.
2. Obvod riadenia fázového uhla
Po detekcii bodu prechodu nulou teraz musíme riadiť množstvo časovania, pre ktoré bude napájanie ZAPNUTÉ a VYPNUTÉ. Tento signál PWM rozhodne o rozsahu výstupného napätia na striedavý motor, ktorý následne riadi jeho rýchlosť. Tu sa používa BT136 TRIAC, ktorý riadi striedavé napätie, pretože je to výkonový elektronický spínač na riadenie signálu striedavého napätia.
TRIAC je trojpólový striedavý spínač, ktorý je možné spustiť nízkoenergetickým signálom na jeho hradlovom termináli. V SCR vedie iba jedným smerom, ale v prípade TRIAC sa dá výkon riadiť oboma smermi. Ak sa chcete dozvedieť viac informácií o systémoch TRIAC a SCR, postupujte podľa našich predchádzajúcich článkov.
Ako je znázornené na obrázku vyššie, TRIAC sa spúšťa pri uhle strely 90 stupňov aplikáciou malého hradlového impulzného signálu. Čas „t1“ je čas oneskorenia, ktorý je daný podľa požiadavky na stmievanie. Napríklad v tomto prípade je uhol vypaľovania 90 percent, teda výstupný výkon bude tiež znížený na polovicu, a preto bude žiarovka tiež svietiť polovičnou intenzitou.
Vieme, že frekvencia striedavého signálu je tu 50 Hz. Časové obdobie bude teda 1 / f, čo je 20 ms. Polovičný cyklus to bude 10 ms alebo 10 000 mikrosekúnd. Preto pre riadenie napájania žiarovky so striedavým prúdom sa rozsah „t1“ môže pohybovať od 0 do 10 000 mikrosekúnd.
Optočlen:
Optočlen je tiež známy ako optoizolátor. Používa sa na udržanie izolácie medzi dvoma elektrickými obvodmi, ako sú jednosmerné a striedavé signály. V zásade sa skladá z LED diódy vyžarujúcej infračervené svetlo a fotosenzora, ktorý ho detekuje. Tu sa používa optočlen MOC3021 na riadenie striedavého ventilátora zo signálov mikrokontroléra, ktorým je jednosmerný signál.
Schéma zapojenia TRIAC a optočlenov:
3. Potenciometer na reguláciu otáčok ventilátora
Tu sa používa potenciometer na zmenu rýchlosti striedavého ventilátora. Vieme, že potenciometer je 3-koncové zariadenie, ktoré slúži ako delič napätia a poskytuje premenlivý výstup napätia. Toto premenlivé analógové výstupné napätie je dané na analógovom vstupnom termináli Arduino na nastavenie hodnoty rýchlosti AC ventilátora.
4. Jednotka generovania signálu PWM
V poslednom kroku je TRIAC daný impulz PWM podľa požiadaviek na rýchlosť, ktorý zase mení časovanie ZAPNUTIA / VYPNUTIA striedavého signálu a poskytuje premenlivý výstup na riadenie otáčok ventilátora. Tu sa Arduino používa na generovanie impulzu PWM, ktorý odoberá vstup z potenciometra a dáva výstup signálu PWM do obvodu TRIAC a optočlenu, ktorý ďalej poháňa AC ventilátor požadovanou rýchlosťou. Viac informácií o generovaní PWM pomocou Arduina sa dozviete tu.
Schéma zapojenia
Schéma zapojenia tohto riadiaceho obvodu ventilátora 230V na báze Arduino je uvedená nižšie:
Poznámka: Ukázal som celý obvod na nepájivej doske iba kvôli pochopeniu. Nemali by ste používať napájanie 220V striedavým prúdom priamo na vašej kontaktnej doske. Na pripojenie som použil bodkovanú dosku, ako vidíte na obrázku nižšie.
Programovanie Arduina na reguláciu otáčok ventilátora
Po hardvérovom pripojení musíme napísať kód pre Arduino, ktorý pomocou vstupu potenciometra vygeneruje signál PWM na riadenie časovania zapínania a vypínania striedavého signálu. Predtým sme v mnohých projektoch používali techniky PWM.
Celý kód tohto projektu regulácie otáčok ventilátora Arduino je uvedený v spodnej časti tohto projektu. Postupné vysvetlenie kódu je uvedené nižšie.
V prvom kroku deklarujte všetky požadované premenné, ktoré sa majú v celom kóde použiť. Tu je BT136 TRIAC pripojený k pinu 6 Arduina. A premenná speed_val je deklarovaná na uloženie hodnoty kroku rýchlosti.
int TRIAC = 6; int speed_val = 0;
Ďalej vo vnútri funkcie nastavenia vyhláste pin TRIAC za výstup, pretože cez tento pin bude generovaný výstup PWM. Potom nakonfigurujte prerušenie na detekciu prechodu nulou. Tu sme použili funkciu nazvanú attachInterrupt, ktorá nakonfiguruje digitálny Pin 3 Arduina ako externé prerušenie a zavolá funkciu s názvom zero_crossing, keď zistí akékoľvek prerušenie na jeho pinu.
void setup () {pinMode (LAMP, OUTPUT); attachInterrupt (digitalPinToInterrupt (3), zero_crossing, CHANGE); }
Vo vnútri nekonečnej slučky odčítajte analógovú hodnotu z potenciometra pripojeného na A0 a namapujte ju na rozsah hodnôt (10–49).
Aby sme zistili tento rozsah, musíme urobiť malý výpočet. Skôr sa hovorí, že každá polovica cyklu je ekvivalentná 10 000 mikrosekundám. Takže tu bude stmievanie riadené v 50 krokoch, čo je ľubovoľná hodnota a dá sa zmeniť. Tu sa minimálne kroky berú ako 10, nie nula, pretože 0-9 krokov poskytuje približne rovnaký výstupný výkon a maximálne kroky sa berú ako 49, pretože sa neodporúča prakticky použiť hornú hranicu (ktorá je v tomto prípade 50).
Potom možno každý krok vypočítať ako 10 000/50 = 200 mikrosekúnd. Toto bude použité v ďalšej časti kódu.
void loop () {int pot = analogRead (A0); int data1 = mapa (pot, 0, 1023,10,49); speed_val = data1; }
V poslednom kroku nakonfigurujte funkciu riadenú prerušením zero_crossing. Tu je možné vypočítať čas stmievania vynásobením času jednotlivých krokov číslom. krokov. Potom po tomto čase oneskorenia môže byť TRIAC spustený pomocou malého vysokého impulzu 10 mikrosekúnd, ktorý je dostatočný na zapnutie TRIAC.
void zero_crossing () {int chop_time = (200 * speed_val); delayMicroseconds (chop_time); digitalWrite (TRIAC, HIGH); delayMicroseconds (10); digitalWrite (TRIAC, LOW); }
Kompletný kód spolu s pracovným videom pre toto ovládanie ventilátora striedavým prúdom pomocou Arduina a PWM je uvedený nižšie.