- Práca s regulátorom stropných ventilátorov založeným na IoT
- Materiály potrebné pre riadiaci obvod otáčok ventilátora
- Ovládací obvod regulátora ventilátora striedavého prúdu
- Dizajn dosiek plošných spojov pre regulátor stropného ventilátora riadený pomocou internetu vecí
- Založenie účtu Firebase
- Arduino kód na reguláciu ventilátora s NodeMCU
- Budovanie aplikácie Regulátor ventilátorov pomocou aplikácie MIT App Inventor
- Testovanie obvodu dotykového snímača založeného na ESP32
- Ďalšie vylepšenia
V tomto článku budujeme obvod regulátora ventilátora striedavého prúdu, ktorý je schopný riadiť rýchlosť ventilátora obmedzením toku prúdu do ventilátora. Termín AC Ceiling Fan Regulator je sústo, preto ho odteraz budeme jednoducho nazývať regulátorom ventilátora. Regulátor ventilátor obvod je základným prvkom, ktorý sa používa na zvýšenie alebo zníženie rýchlosti AC Fan / motora podľa potreby. Pred niekoľkými rokmi ste mali na výber medzi konvenčným odporovým regulátorom ventilátora alebo elektronickým regulátorom, ale v dnešnej dobe to všetko nahradil obvod elektronického regulátora ventilátora.
V predchádzajúcom článku sme si ukázali, ako môžete zostaviť riadiaci obvod fázového uhla striedavého prúdu s Arduinom, ktorý dokáže riadiť jas žiarovky a tiež regulovať rýchlosť ventilátora, aby ste ho posunuli o stupeň vyššie v tomto článku sa chystáme vybudovať obvod AC Ceiling Fan Regulator založený na IoT. Ktorý bude schopný ovládať rýchlosť vášho stropného ventilátora pomocou aplikácie pre Android.
Práca s regulátorom stropných ventilátorov založeným na IoT
Obvod regulátora ventilátora je jednoduchý obvod, ktorý je schopný riadiť rýchlosť stropného ventilátora striedavým prúdom zmenou fázového uhla sínusovej vlny striedavého prúdu alebo jednoduchým spôsobom presným ovládaním TRIAC. Pretože som už spomenul všetky základné činnosti obvodu regulátora ventilátora striedavého prúdu v článku AC Phase Angle Control s 555 Timer a PWM, budeme sa sústrediť na samotné zostavenie obvodu. A pokiaľ sa chcete o tejto téme dozvedieť viac, prečítajte si tiež článok o stmievači svetla pomocou programov Arduino a TRIAC Project.
Vyššie uvedená základná bloková schéma ukazuje, ako obvod v skutočnosti funguje. Ako som už uviedol skôr, budeme generovať signál PWM pomocou Firebase IoT a NodeMCU, potom bude signál PWM prechádzať cez dolnopriepustný filter, ktorý bude riadiť bránu MOSFET, potom bude ovládať časovač 555 skutočný TRIAC pomocou optočlenu.
V tomto prípade aplikácia pre Android zmení hodnotu v firebaseDB a ESP neustále kontroluje akékoľvek zmeny, ktoré sa dejú v tejto databáze, ak dôjde k akejkoľvek zmene, ktorá sa stiahne a hodnota sa prevedie na signál PWM
Materiály potrebné pre riadiaci obvod otáčok ventilátora
Obrázok nižšie zobrazuje materiál použitý na zostavenie tohto obvodu, pretože je vyrobený s veľmi všeobecnými komponentmi, takže by ste mali byť schopní nájsť všetok uvedený materiál v miestnom hobby obchode.
V nasledujúcej tabuľke som tiež uviedol komponenty a typ a množstvo, pretože ide o ukážkový projekt. Používam na to jediný kanál. Ale obvod je možné ľahko zväčšiť podľa požiadavky.
- Skrutková svorka 5,04 mm konektor - 2
- Zástrčka konektora 2,54 mm - 1
- 56K, 1W rezistor - 2
- Dióda 1N4007 - 4
- 0,1uF, 25V kondenzátor - 2
- Regulátor napätia AMS1117 - 1
- 1000uF, 25V kondenzátor - 1
- DC napájací konektor - 1
- 1K rezistor - 1
- Rezistor 470R - 2
- Rezistor 47R - 2
- Rezistory 82 K - 1
- 10 K rezistory - 5
- Optočlen PC817 - 1
- NE7555 IC - 1
- MOC3021 Opto TriacDrive - 1
- MOSFET IRF9540 - 1
- Kondenzátor 3,3uF - 1
- Pripojenie vodičov - 5
- 0,1uF, 1KV kondenzátor - 1
- Mikrokontrolér ESP8266 (ESP-12E) - 1
Ovládací obvod regulátora ventilátora striedavého prúdu
Schéma obvodu regulátora ventilátora IoT je uvedená nižšie, tento obvod je veľmi jednoduchý a na dosiahnutie riadenia fázového uhla používa všeobecné komponenty.
Tento obvod je zložený z veľmi starostlivo navrhnutých komponentov. Prejdem si každého a vysvetlím každý blok.
Čip Wi-Fi ESP8266 (ESP-12E):
Toto je prvá časť nášho okruhu a je to časť, v ktorej sme zmenili veľa vecí, ostatné časti zostávajú úplne rovnaké, tj. Ak ste sledovali predchádzajúci článok.
V tejto časti sme vytiahli piny Enable, Reset a GPIO0, taktiež sme stiahli piny GPIO15 a Ground Pin, ktoré sú odporúčané v údajovom liste čipu. Pokiaľ ide o programovanie, umiestnili sme 3pinové zástrčky vystavujúce TX, RX a uzemňovací kolík, cez ktorý môžeme veľmi ľahko programovať čip. Taktiež sme vložili hmatový prepínač, aby sme uviedli GPIO0 na zem, čo je nevyhnutný krok k uvedeniu ESP do programovacieho režimu. Ako výstup sme vybrali pin GPIO14, cez ktorý sa generuje signál PWM.
Poznámka! V čase programovania musíme stlačiť tlačidlo a napájať zariadenie DC jack konektorom.
Okruh detekcie prechodu nulou:
Po prvé, na našom zozname je obvod na detekciu prechodu nulou vyrobený s dvoma rezistormi 56K, 1W v spojení so štyrmi diódami 1n4007 a optočlenom PC817. A tento obvod je zodpovedný za poskytnutie signálu prechodu nulou do 555 časovača IC. Taktiež sme odlepili fázový a neutrálny signál, aby sme ho mohli ďalej používať v sekcii TRIAC.
Regulátor napätia AMS1117-3.3V:
Na napájanie obvodu sa používa regulátor napätia AMS1117, ktorý je zodpovedný za napájanie celého obvodu. Ďalej sme použili dva kondenzátory 1000uF a kondenzátor 0,1uF ako oddeľovací kondenzátor pre AMS1117-3.3 IC.
Ovládací obvod s časovačom NE555:
Vyššie uvedený obrázok zobrazuje riadiaci obvod časovača 555, 555 je nakonfigurovaný v monostabilnej konfigurácii, takže keď spúšťací signál z detekčného obvodu prechodu nulou zasiahne spúšť, časovač 555 začne nabíjať kondenzátor pomocou odporu (všeobecne), ale náš obvod má namiesto rezistora MOSFET a riadením hradla MOSFET riadime prúd smerujúci do kondenzátora, preto riadime čas nabíjania, preto riadime výstup 555 časovačov.
TRIAC a okruh vodičov TRIAC:
TRIAC funguje ako hlavný vypínač, ktorý v skutočnosti zapína a vypína, čím riadi výstup striedavého signálu. Pohon TRIAC pomocou pohonu MOC3021 Opto-Triac, nielenže poháňa TRIAC, ale poskytuje aj optickú izoláciu, vysokonapäťový kondenzátor 0,01uF 2KV a rezistor 47R vytvára tlmiaci obvod, ktorý chráni náš obvod pred vysokonapäťové hroty, ktoré sa vyskytujú, keď je pripojený k indukčnej záťaži. Za hroty je zodpovedný nesínusový charakter spínaného striedavého signálu. Zodpovedá tiež za problémy s účinníkom, ale to je téma pre ďalší článok.
Lowpass-filter a P-kanál MOSFET (funguje ako odpor v obvode):
Rezistor 82K a kondenzátor 3,3uF tvoria dolnopriepustný filter, ktorý je zodpovedný za vyhladenie vysokofrekvenčného PWM signálu generovaného Arduinom. Ako už bolo spomenuté, P-Channel MOSFET funguje ako variabilný rezistor, ktorý riadi čas nabíjania kondenzátora. Ovláda ho signál PWM, ktorý je vyhladený dolnopriepustným filtrom.
Dizajn dosiek plošných spojov pre regulátor stropného ventilátora riadený pomocou internetu vecí
DPS pre náš obvod regulátora stropného ventilátora IoT je navrhnutý na jednostrannej doske. Na návrh svojej DPS som použil návrhový softvér Eagle PCB, ale môžete použiť akýkoľvek návrhový softvér podľa vášho výberu. 2D obrázok môjho návrhu dosky je zobrazený nižšie.
Na zabezpečenie správneho uzemnenia všetkých komponentov sa používa dostatočné množstvo zeminy. 3,3 V DC vstup a 220 V AC vstup je osadený na ľavej strane, výstup je umiestnený na pravej strane PCB. Kompletný návrhový súbor pre Eagle a Gerber si môžete stiahnuť z odkazu nižšie.
- Dizajn dosiek plošných spojov, súbory GERBER a PDF pre obvod regulátora stropného ventilátora
Ručne vyrobená doska plošných spojov:
Pre pohodlie som vyrobil svoju vlastnoručne vyrobenú verziu DPS a je uvedená nižšie.
Vďaka tomu je náš hardvér pripravený podľa našej schémy zapojenia, teraz musíme pripraviť našu aplikáciu pre Android a platformu Google Firebase.
Založenie účtu Firebase
V ďalšom kroku si musíme založiť účet firebase. Celá komunikácia bude prebiehať cez účet firebase. Ak si chcete založiť účet Firebase, choďte na web Firebase a kliknite na „začať“.
Po kliknutí sa musíte prihlásiť pomocou svojho účtu Google a
akonáhle ste prihlásený, musíte vytvoriť projekt kliknutím na tlačidlo vytvoriť projekt.
Týmto krokom sa presmerujete na stránku, ktorá vyzerá ako obrázok vyššie. Zadajte názov projektu a kliknite na tlačidlo Pokračovať.
Opäť kliknite na pokračovať.
Ak tak urobíte, kliknutím na začiarkavacie políčko musíte vyjadriť súhlas s niektorými zmluvnými podmienkami. Ďalej musíte kliknúť na tlačidlo vytvoriť projekt.
Ak ste urobili všetko správne, po nejakom čase dostanete správu ako je táto. Po dokončení by konzola firebase mala vyzerať ako na obrázku nižšie.
Teraz musíme odtiaľto zhromaždiť dve veci. Ak to chcete urobiť, musíte kliknúť na názov projektu, ktorý ste práve vytvorili. Pre mňa je to CelingFanRegulator, keď na ňu kliknete, dostanete palubnú dosku podobnú obrázku nižšie.
Kliknite na nastavenie, potom na nastavenie projektu, stránka, ktorú získate, bude vyzerať ako na obrázkoch nižšie.
Kliknite na účet služby -> tajomstvo databázy.
Skopírujte databázu v tajnosti a uložte ju na nejaké miesto pre neskoršie použitie.
Ďalej kliknite na databázu v reálnom čase a skopírujte adresu URL. tiež si to nechajte pre neskoršie použitie.
A to je všetko, čo sa týka firebase stránky.
Arduino kód na reguláciu ventilátora s NodeMCU
O komunikáciu medzi firebase a modulom ESP-12E sa stará jednoduchý Arduino kód, vysvetlenie obvodu a kódu je uvedené nižšie. Najskôr definujeme všetky potrebné potrebné knižnice, z uvedených odkazov si môžete stiahnuť nasledujúce knižnice Arduino JSON knižnica a knižnica FirebaseArduino
#include
Na nadviazanie komunikácie s firebase použijeme knižnicu FirebaseArduino .
// Nastavte tieto na spustenie príkladov. #define FIREBASE_HOST "celingfanregulator.firebaseio.com" #define FIREBASE_AUTH "1qAnDEuPmdy4ef3d9QLEGtYcA1cOehKmpmzxUtLr" #define WIFI_SSID "váš SSID" # definovať WIFI
Ďalej sme definovali hostiteľa firebase, firebase auth, ktorý sme predtým uložili pri vytváraní účtu firebase. Potom sme definovali SSID a heslo nášho smerovača.
Reťazec Resivedata; #define PWM_PIN 14;
Ďalej sme definovali premennú typu reťazca Resivedata, kde sa budú ukladať všetky dáta a taktiež sme definovali PWM_PIN, kde dostaneme PWM výstup.
Ďalej v sekcii void setup () urobíme potrebné,
Serial.begin (9600); pinMode (PWM_PIN, VÝSTUP); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.print („pripája sa“); while (WiFi.status ()! = WL_CONNECTED) {Serial.print ("."); oneskorenie (500); } Serial.println (); Serial.print ("pripojený:"); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); Firebase.setString ("Premenná / hodnota", "FirstTestStrig");
Najskôr povolíme sériový program volaním funkcie Serial.begin () . Ďalej sme nastavili pin PWM ako OUTPUT. Pripojenie Wi-Fi začneme pomocou funkcie WiFi.begin () a do funkcie odovzdáme SSID a heslo. Skontrolujeme stav spojenia v slučke while a po pripojení prerušíme slučku a pokračujeme ďalej. Ďalej vytlačíme pripojenú správu s IP adresou.
Nakoniec sme sa začať komunikáciu s Firebase s Firebase.begin () funkcie a my sme prejsť FIREBASE_HOST a FIREBASE_AUTH parametre, ktoré sme definovali skôr. A nastavili sme reťazec s funkciou setString () , ktorá označuje koniec funkcie nastavenia. V void slučky () časti,
Resivedata = Firebase.getString ("premenná / hodnota"); Serial.println (Resivedata); analogWrite (PWM_PIN, mapa (Resivedata.toInt (), 0, 80, 80, 0)); Serial.println (Resivedata); oneskorenie (100);
Nazývame getString () funkcie s premenlivým / Value, kde sú údaje uložené v Firebase, príkladom by bolo ako obrazové below-
Potom hodnotu vytlačíme len pre ladenie. Ďalej používame funkciu mapovania na mapovanie hodnoty, používa sa 80, pretože v rozmedzí 0 - 80 sme schopní presne riadiť bránu MOSFETu a za túto hodnotu je do istej miery zodpovedný RC dolnopriepustný filter. V rámci tohto rozsahu pracuje riadiaci obvod fázového uhla presne, môžete túto hodnotu nazvať ako hardvérové a softvérové sladké miesto. Ak robíte tento projekt a čelíte problémom, musíte sa pohrať s hodnotou a určiť výsledky sami.
A potom použijeme funkciu analogWrite () na napájanie údajov a povolenie PWM. Potom znova použijeme funkciu Serial.println () len na kontrolu výsledku a nakoniec použijeme funkciu oneskorenia na zníženie počet zásahov do rozhrania firebase API, ktoré ukončuje náš program.
Budovanie aplikácie Regulátor ventilátorov pomocou aplikácie MIT App Inventor
S pomocou AppInventor vytvoríme aplikáciu pre Android, ktorá bude komunikovať s firebase a má oprávnenie meniť údaje, ktoré sú uložené v databáze firebase.
Ak to chcete urobiť, prejdite na web appInventors, prihláste sa pomocou svojho účtu Google a prijmite zmluvné podmienky. Keď to urobíte, zobrazí sa vám obrazovka, ktorá vyzerá ako na obrázku nižšie.
Kliknite na ikonu spustenia nového projektu, pomenujte ho a stlačte OK. Keď to urobíte, zobrazí sa vám obrazovka ako na nasledujúcom obrázku.
Hneď ako najskôr musíte umiestniť dva štítky, aby ste posúvali posúvač trochu dole, potom musíte vtiahnuť niektoré moduly, ktorými sú modul FirebaseDB a webový modul.
Modul firebaseDB komunikuje s firebase, webový modul sa používa na vybavenie žiadosti. Čo vyzerá ako na obrázku nižšie.
Akonáhle je to hotové, musíte vtiahnuť posúvač a štítok, ktorý sme nazvali PWM. Ak v tejto chvíli máte zmätok, môžete si pozrieť niektoré ďalšie návody týkajúce sa tvorby aplikácie s vynálezcom aplikácie.
Po dokončení procesu kliknite na ikonu firebase DB a vložte token firebase a adresu firebase URL, ktoré sme uložili pri vytváraní účtu firebase.
Teraz sme skončili s časťou návrhu a musíme nastaviť sekciu bloku. Aby sme to dosiahli, musíme kliknúť na tlačidlo blokovania v pravom hornom rohu vedľa návrhára.
Po kliknutí na posúvač sa zobrazí dlhý zoznam modulov, vytiahnite prvý modul a umiestnite kurzor myši na tlačidlo polohy palca. Budete privítaní ďalšími dvoma modulmi. Oba vytiahnite. Neskôr ich použijeme.
Teraz pripojíme premennúpozícia palca , zaokrúhlime ju a dostaneme hodnotu polohy palca. Ďalej klikneme na firebasedb a vytiahneme hodnotu značky FirebaseDB.storeValue na uloženie, moduláciu a pripevnenie na spodnú časť hodnoty polohy palca.
Po dokončení vytiahneme prázdne textové pole kliknutím na textový blok a pripevníme ho štítkom, čo je značka, ktorú sme nastavili v Arduino IDE na čítanie a zápis údajov na platforme firebase. Teraz pripojte premennú hodnotu palca k hodnote na uloženie značky. Pokiaľ ste urobili všetko správne, posúvaním jazdca budete môcť meniť hodnoty v firebaseDB.
- .Aia (uložený súbor) a.apk (zostavený súbor)
To znamená koniec nášho procesu vytvárania aplikácií. Obrázok aplikácie pre Android, ktorú sme práve vytvorili, je uvedený nižšie.
Testovanie obvodu dotykového snímača založeného na ESP32
Na vyskúšanie obvodu som pripojil žiarovku paralelne k stropnému ventilátoru a obvod som napájal adaptérom 5V DC, ako vidíte na obrázku vyššie, jazdec aplikácie je nastavený na nízku úroveň, preto žiarovka svieti pri nízkom jase. A ventilátor sa tiež pomaly točí.
Ďalšie vylepšenia
Pre túto ukážku je obvod vyrobený na ručne vyrobenej doske plošných spojov, ale obvod sa dá ľahko postaviť na kvalitnej doske plošných spojov. Podľa mojich experimentov je veľkosť dosky plošných spojov skutočne malá kvôli veľkosti komponentu, ale v produkčnom prostredí je môže byť znížená použitím lacných SMD súčiastok, zistil som, že použitie časovača 7555 namiesto časovača 555 výrazne zvyšuje kontrolu, navyše sa zvyšuje aj stabilita obvodu.