- Požadované komponenty
- Fungování ovládání AC ventilátoru pomocí Arduina
- 1. Detektor nulového přechodu
- 2. Obvod řízení fázového úhlu
- 3. Potenciometr pro ovládání rychlosti ventilátoru
- 4. Jednotka generování signálu PWM
- Kruhový diagram
- Programování Arduina pro řízení otáček ventilátoru střídavým proudem
VAROVÁNÍ!! Schéma zapojení diskutované v tomto projektu je pouze pro vzdělávací účely. Mějte na paměti, že práce se síťovým napětím 220 V AC vyžaduje extrémní opatření a je třeba dodržovat bezpečnostní postupy. Nedotýkejte se žádných komponent nebo vodičů, když je obvod v provozu.
Je snadné zapnout nebo vypnout jakýkoli domácí spotřebič pomocí přepínače nebo pomocí nějakého ovládacího mechanismu, jak jsme to udělali v mnoha projektech domácí automatizace založených na Arduinu. Existuje ale spousta aplikací, kde potřebujeme částečně ovládat střídavé napájení, například abychom mohli řídit rychlost ventilátoru nebo intenzitu lampy. V tomto případě se používá technika PWM, takže se zde naučíme, jak používat PWM generované Arduino k ovládání rychlosti AC ventilátoru pomocí Arduina.
V tomto projektu si ukážeme řízení otáček ventilátoru Arduino pomocí TRIAC. Zde se používá metoda fázového řízení střídavého signálu k řízení rychlosti střídavého ventilátoru pomocí signálů PWM generovaných Arduinem. V předchozím tutoriálu jsme regulovali otáčky stejnosměrného ventilátoru pomocí PWM.
Požadované komponenty
- Arduino UNO
- 4N25 (detektor nulového přechodu)
- 10k potenciometr
- MOC3021 0pto-vazební člen
- (0-9) V, 500 mA krokový transformátor
- BT136 TRIAC
- Axiální střídavý ventilátor 230 VAC
- Připojovací vodiče
- Rezistory
Fungování ovládání AC ventilátoru pomocí Arduina
Práce lze rozdělit do čtyř různých částí. Jsou následující
1. Detektor nulového přechodu
2. Řídicí obvod fázového úhlu
3. Potenciometr pro řízení rychlosti otáček ventilátoru
4. Generátor signálu PWM
1. Detektor nulového přechodu
Napájení střídavým proudem, které v domácnosti dostáváme, je 220 V AC RMS, 50 Hz. Tento střídavý signál se střídavě mění a pravidelně mění svoji polaritu. V první polovině každého cyklu proudí jedním směrem a dosahuje špičkového napětí a poté klesá až na nulu. Pak v příštím půl cyklu teče střídavým směrem (záporně) na špičkové napětí a pak se opět dostane na nulu. Pro řízení rychlosti střídavého ventilátoru je třeba seříznout nebo řídit špičkové napětí obou polovičních cyklů. K tomu musíme zjistit nulový bod, ze kterého má být signál řízen / sekán. Tento bod na křivce napětí, kde napětí mění směr, se nazývá přechod nulového napětí.
Níže zobrazený obvod je obvod detektoru průchodu nulou, který se používá k získání bodu průchodu nulou. Nejprve se pomocí redukčního transformátoru sníží napětí 220 V stř. Na 9 V stř. A poté se přivede do optočlenu 4N25 na jeho pin 1 a 2. Optočlen 4N25 má vestavěnou LED s pinem 1 jako anodou a pinem 2 jako katoda. Takže podle níže uvedeného obvodu, když se střídavá vlna dostane blíže k bodu průchodu nulou, zabudovaná LED 4N25 se vypne a v důsledku toho se také vypne výstupní tranzistor 4N25 a pin výstupního pulzu vytáhnout až 5V. Podobně, když se signál postupně zvyšuje na vrcholbod, pak se rozsvítí LED a tranzistor se také zapne s uzemňovacím kolíkem připojeným k výstupnímu kolíku, což činí tento pin 0V. Pomocí tohoto pulzu lze detekovat bod přechodu nuly pomocí Arduina.
2. Obvod řízení fázového úhlu
Po detekci bodu přechodu nuly nyní musíme ovládat množství časování, pro které bude napájení ZAPNUTO a VYPNUTO. Tento signál PWM rozhodne o množství výstupního napětí do střídavého motoru, který následně řídí jeho rychlost. Zde se používá BT136 TRIAC, který řídí střídavé napětí, protože se jedná o výkonový elektronický spínač pro řízení signálu střídavého napětí.
TRIAC je třípólový střídavý spínač, který může být spuštěn signálem nízké energie na jeho hradlové svorce. Ve SCRs vede pouze v jednom směru, ale v případě TRIAC lze sílu řídit v obou směrech. Chcete-li se dozvědět více o TRIAC a SCR, postupujte podle našich předchozích článků.
Jak je znázorněno na obrázku výše, TRIAC se spouští v úhlu střelby 90 stupňů tím, že se na něj aplikuje malý pulzní signál brány. Čas „t1“ je doba zpoždění, která je dána podle požadavku na stmívání. Například v tomto případě je úhel zážehu 90 procent, proto bude také výstupní výkon poloviční a lampa bude tedy také svítit poloviční intenzitou.
Víme, že frekvence střídavého signálu je zde 50 Hz. Časové období bude tedy 1 / f, což je 20 ms. Poloviční cyklus to bude 10 ms nebo 10 000 mikrosekund. Proto se pro řízení výkonu střídavého zdroje může rozsah „t1“ měnit od 0 do 10 000 mikrosekund.
Optočlen:
Optočlen je také známý jako optoizolátor. Používá se k udržení izolace mezi dvěma elektrickými obvody, jako jsou DC a AC signály. V zásadě se skládá z LED diody vyzařující infračervené světlo a fotosenzoru, který jej detekuje. Zde se k řízení střídavého ventilátoru ze signálů mikrokontroléru, který je stejnosměrným signálem, používá optočlen MOC3021.
Schéma připojení TRIAC a optočlenu:
3. Potenciometr pro ovládání rychlosti ventilátoru
Zde se používá potenciometr ke změně rychlosti střídavého ventilátoru. Víme, že potenciometr je 3-koncové zařízení, které funguje jako dělič napětí a poskytuje proměnný napěťový výstup. Toto proměnné analogové výstupní napětí se udává na analogové vstupní svorce Arduino pro nastavení hodnoty rychlosti střídavého ventilátoru.
4. Jednotka generování signálu PWM
V posledním kroku je TRIAC předán pulz PWM podle požadavků na rychlost, který zase mění časování zapnutí / vypnutí AC signálu a poskytuje proměnný výstup pro řízení rychlosti ventilátoru. Zde se Arduino používá ke generování PWM pulzu, který bere vstup z potenciometru a dává výstup signálu PWM do obvodu TRIAC a optočlenu, který dále pohání AC ventilátor požadovanou rychlostí. Další informace o generování PWM pomocí Arduina najdete zde.
Kruhový diagram
Schéma zapojení tohoto řídicího obvodu ventilátoru 230V založeného na Arduinu je uvedeno níže:
Poznámka: Ukázal jsem celý obvod na prkénku pouze za účelem porozumění. Neměli byste používat 220V střídavé napájení přímo na prkénku, pro připojení jsem použil tečkovanou desku, jak vidíte na obrázku níže
Programování Arduina pro řízení otáček ventilátoru střídavým proudem
Po hardwarovém připojení musíme napsat kód pro Arduino, který vygeneruje signál PWM pro řízení časování zapnutí / vypnutí AC signálu pomocí vstupu potenciometru. Dříve jsme v mnoha projektech používali techniky PWM.
Celý kód tohoto projektu řízení otáček ventilátoru Arduino je uveden ve spodní části tohoto projektu. Postupné vysvětlení kódu je uvedeno níže.
V prvním kroku deklarujte všechny požadované proměnné, které budou použity v celém kódu. Zde je BT136 TRIAC připojen k pinu 6 Arduina. A proměnná speed_val je deklarována k uložení hodnoty rychlostního kroku.
int TRIAC = 6; int speed_val = 0;
Dále uvnitř funkce nastavení deklarujte kolík TRIAC jako výstup, protože prostřednictvím tohoto kolíku bude generován výstup PWM. Poté nakonfigurujte přerušení k detekci přechodu nuly. Zde jsme použili funkci nazvanou attachInterrupt, která nakonfiguruje digitální Pin 3 Arduina jako externí přerušení a zavolá funkci s názvem zero_crossing, když detekuje přerušení na svém pinu.
void setup () {pinMode (LAMP, OUTPUT); attachInterrupt (digitalPinToInterrupt (3), zero_crossing, CHANGE); }
V nekonečné smyčce odečtěte analogovou hodnotu z potenciometru, který je připojen na A0, a namapujte ji na rozsah hodnot (10-49).
Abychom zjistili tento rozsah, musíme provést malý výpočet. Dříve se říká, že každá polovina cyklu odpovídá 10 000 mikrosekund. Stmívání tedy bude řízeno v 50 krocích, což je libovolná hodnota, kterou lze změnit. Zde se minimální kroky berou jako 10, nikoli nula, protože 0-9 kroků poskytuje přibližně stejný výkon a maximální kroky se berou jako 49, protože se nedoporučuje prakticky použít horní limit (což je v tomto případě 50).
Potom lze každý krok vypočítat jako 10 000/50 = 200 mikrosekund. Toto bude použito v další části kódu.
void loop () {int pot = analogRead (A0); int data1 = mapa (pot, 0, 1023,10,49); speed_val = data1; }
V posledním kroku nakonfigurujte funkci nulového křížení řízenou přerušením. Zde lze vypočítat dobu stmívání vynásobením doby jednotlivých kroků s č. kroků. Poté po této době zpoždění může být TRIAC spuštěn pomocí malého vysokého impulzu 10 mikrosekund, který je dostatečný k zapnutí TRIAC.
void zero_crossing () {int chop_time = (200 * speed_val); delayMicroseconds (chop_time); digitalWrite (TRIAC, HIGH); delayMicroseconds (10); digitalWrite (TRIAC, LOW); }
Níže je uveden kompletní kód spolu s pracovním videem pro toto ovládání ventilátoru střídavým proudem pomocí Arduina a PWM.