- IoT-pohjaisen kattotuulettimen säätimen toiminta
- Tarvittavat materiaalit vaihtovirtapuhaltimen nopeuden säätöpiirille
- AC-tuulettimen säätimen ohjauspiiri
- Piirilevyn suunnittelu IoT-ohjatulle kattotuulettimen säätimelle
- Firebase-tilin perustaminen
- Arduino-koodi tuulettimen säätimen ohjaamiseen NodeMCU: lla
- Tuulettimen säätösovelluksen rakentaminen MIT App Inventor -sovelluksella
- ESP32-pohjaisen kosketusanturipiirin testaus
- Lisäparannuksia
Tässä artikkelissa rakennamme vaihtovirtapuhaltimen säätöpiiriä, joka pystyy hallitsemaan tuulettimen nopeutta rajoittamalla virtausta tuulettimeen. Termi AC kattotuulettimen säädin on suupala, joten me kutsumme sitä tästä lähtien yksinkertaisesti puhaltimen säätimeksi. Tuuletin säätöpiiri on keskeinen komponentti, jota käytetään lisäämään tai vähentämään nopeutta AC tuuletin / moottori tarpeiden mukaan. Muutama vuosi sitten sinulla oli valinta tavallisen resistiivisen tuulettimen säätimen tai elektronisen säätimen välillä, mutta nykyään se kaikki on korvattu elektronisella puhaltimen säätimen piirillä.
Aikaisemmassa artikkelissa olemme osoittaneet, kuinka voit rakentaa AC-vaihekulman ohjauspiirin Arduinolla, joka pystyi hallitsemaan hehkulampun kirkkautta ja myös tuulettimen nopeutta, joten voit lisätä sitä lovella tässä artikkelissa aiomme rakentaa IoT-pohjaisen AC-kattotuulettimen säätimen piirin. Joka pystyy ohjaamaan nopeuden kattotuuletin kanssa Avulla Android Application.
IoT-pohjaisen kattotuulettimen säätimen toiminta
Puhallinsäätimen piiri on yksinkertainen piiri, joka pystyy säätämään vaihtovirta-kattotuulettimen nopeutta muuttamalla AC-siniaallon vaihekulmaa tai yksinkertaisesti sanottuna TRIAC: n tarkkaa ohjausta. Kuten olen maininnut kaikki AC-tuulettimen säätöpiirin perustoiminnot AC-vaihekulman ohjauksessa 555-ajastimella ja PWM- artikkelilla, keskitymme piirin todelliseen rakentamiseen. Ja jos haluat lisätietoja aiheesta, tarkista myös artikkeli AC-valon himmentimestä Arduinon ja TRIAC-projektin avulla.
Yllä oleva lohkokaavio osoittaa, kuinka piiri todella toimii. Kuten sanoin aiemmin, muodostamme PWM-signaalin Firebase IoT: n ja NodeMCU: n avulla, sitten PWM-signaali viedään alipäästösuodattimen läpi, joka ohjaa MOSFETin porttia sen jälkeen 555-ajastin ohjaa varsinainen TRIAC optoerottimen avulla.
Tällöin Android-sovelluksella muuttuu arvo on firebaseDB ja ESP jatkuvasti tarkistaa mahdolliset muutokset, joita tapahtuu, että DB jos jokin muutos, joka saa purettiin ja arvo muunnetaan PWM-signaalin
Tarvittavat materiaalit vaihtovirtapuhaltimen nopeuden säätöpiirille
Alla olevassa kuvassa näkyy tämän piirin rakentamiseen käytetty materiaali, koska se on valmistettu hyvin yleisistä komponenteista, joten sinun pitäisi pystyä löytämään kaikki luetellut materiaalit paikallisesta harrastekaupastasi.
Olen myös luetellut komponentit alla olevassa taulukossa tyypin ja määrän kanssa sen esittelyprojektin jälkeen, käytän siihen yhtä kanavaa. Mutta piiri voidaan helposti suurentaa vaatimuksen mukaan.
- Ruuviliitin 5,04 mm: n liitin - 2
- Urosliitin 2,54 mm: n liitin - 1
- 56K, 1 W vastus - 2
- 1N4007 Diodi - 4
- 0.1uF, 25V kondensaattori - 2
- AMS1117-jännitesäädin - 1
- 1000uF, 25V kondensaattori - 1
- DC-virtaliitin - 1
- 1K-vastus - 1
- 470R-vastus - 2
- 47R-vastus - 2
- 82 K vastukset - 1
- 10 K vastukset - 5
- PC817-optoeristin - 1
- NE7555 IC - 1
- MOC3021 Opto TriacDrive - 1
- IRF9540 MOSFET - 1
- 3.3uF kondensaattori - 1
- Johtojen liittäminen - 5
- 0.1uF, 1KV kondensaattori - 1
- ESP8266 (ESP-12E) mikrokontrolleri - 1
AC-tuulettimen säätimen ohjauspiiri
IoT-tuulettimen säätöpiirin kaavio on esitetty alla, tämä piiri on hyvin yksinkertainen ja käyttää yleisiä komponentteja vaihekulman ohjaamiseksi.
Tämä piiri koostuu erittäin huolellisesti suunnitelluista komponenteista. Käyn läpi jokaisen ja selitän jokaisen lohkon.
ESP8266 (ESP-12E) Wi-Fi-siru:
Tämä on piirimme ensimmäinen osa ja se on osa, jossa olemme muuttaneet paljon asioita, muut osat pysyvät täysin samoina, ts. Jos olet seurannut edellistä artikkelia.
Tässä osassa olemme nostaneet nastat Enable, Reset ja GPIO0, samoin, olemme vedelleet GPIO15: n ja Ground Pinin, joita sirun datalehti suosittelee. Ohjelmoinnin osalta olemme sijoittaneet 3-nastaisen otsikon, joka paljastaa TX: n, RX: n ja maadoitustapin, jonka kautta voimme ohjelmoida sirun erittäin helposti. Olemme myös asettaneet kosketuskytkimen GPIO0: n asettamiseksi maahan, tämä on välttämätön askel ESP: n asettamiseksi ohjelmointitilaan. Olemme valinneet lähdöksi GPIO14-nastan, jonka kautta PWM-signaali syntyy.
Merkintä! Ohjelmoinnin aikana meidän on painettava painiketta ja käynnistettävä laite DC-tynnyriliittimellä.
Nollaristeilyn tunnistuspiiri:
Ensinnäkin luettelossamme on nollan ylityksen tunnistuspiiri, joka on tehty kahdella 56K, 1W vastuksella yhdessä neljän 1n4007 diodin ja PC817-optoerottimen kanssa. Ja tämä piiri on vastuussa nollan ylittävän signaalin toimittamisesta 555-ajastin-IC: lle. Lisäksi olemme nauhoittaneet vaiheen ja neutraalin signaalin käyttämään sitä edelleen TRIAC-osassa.
AMS1117-3,3 V: n jännitesäädin:
AMS1117-jännitesäädintä käytetään virtapiiriin, piiri on vastuussa virran toimittamisesta koko piirille. Lisäksi olemme käyttäneet kahta 1000uF-kondensaattoria ja 0,1uF-kondensaattoria erotuskondensaattorina AMS1117-3,3 IC: lle.
Ohjauspiiri NE555-ajastimella:
Yllä olevassa kuvassa on 555-ajastimen ohjauspiiri, 555 on konfiguroitu monostabiiliin kokoonpanoon, joten kun nollan ylityksen ilmaisupiirin laukaisusignaali osuu liipaisimeen, 555-ajastin alkaa ladata kondensaattoria vastuksen avulla (yleensä), mutta piirissämme on MOSFET vastuksen sijasta, ja ohjaamalla MOSFETin porttia ohjaamme kondensaattoriin menevää virtaa, siksi ohjaamme latausaikaa, joten ohjaamme 555 ajastimen lähtöä.
TRIAC ja TRIAC-ohjainpiiri:
TRIAC toimii pääkytkimenä, joka todella kytkeytyy päälle ja pois päältä ja ohjaa siten AC-signaalin lähtöä. TRIAC: n ajaminen MOC3021 Opto-Triac -taajuusmuuttajalla, se ei ainoastaan aja TRIAC: ää, vaan tarjoaa myös optisen eristyksen, 0,01uF 2KV -jännitekondensaattorin ja 47R-vastus muodostaa virtapiirin, joka suojaa virtapiiriämme suurjännitepiikit, jotka syntyvät, kun se on kytketty induktiiviseen kuormitukseen. Kytketyn AC-signaalin ei-sinimuotoinen luonne on vastuussa piikeistä. Lisäksi se on vastuussa tehokerroinongelmista, mutta se on toisen artikkelin aihe.
Alipäästösuodatin ja P-kanava MOSFET (toimii piirin vastuksena):
82K-vastus ja 3.3uF-kondensaattori muodostavat alipäästösuodattimen, joka on vastuussa Arduinon tuottaman korkeataajuisen PWM-signaalin tasoittamisesta. Kuten aiemmin mainittiin, P-kanavainen MOSFET toimii muuttuvana vastuksena, joka ohjaa kondensaattorin latausaikaa. Sen ohjaaminen on PWM-signaali, joka tasoitetaan alipäästösuodattimella.
Piirilevyn suunnittelu IoT-ohjatulle kattotuulettimen säätimelle
IoT-kattotuulettimen säätöpiirin piirilevy on suunniteltu yksipuoliseksi levyksi. Olen käyttänyt Eagle PCB-suunnitteluohjelmistoa piirilevyn suunnitteluun, mutta voit käyttää mitä tahansa valitsemaasi suunnitteluohjelmistoa. Taulutietokoneeni 2D-kuva on esitetty alla.
Riittävä maadoitus täytetään kunnollisten maadoituskytkentöjen aikaansaamiseksi kaikkien komponenttien välillä. 3,3 V: n DC-tulo ja 220 voltin AC-tulo on täytetty vasemmalla puolella, lähtö on piirilevyn oikealla puolella. Koko Eaglen suunnittelutiedosto ja Gerber voidaan ladata alla olevasta linkistä.
- PCB-suunnittelu-, GERBER- ja PDF-tiedostot kattotuulettimen säätimen piirille
Käsintehty piirilevy:
Mukavuuden vuoksi tein käsintehdyn version piirilevystä ja se näkyy alla.
Tämän avulla laitteistomme on valmis piirikaavion mukaisesti, nyt meidän on saatava Android-sovelluksemme ja Google Firebase valmiiksi.
Firebase-tilin perustaminen
Seuraavaa vaihetta varten meidän on perustettava firebase-tili. Kaikki viestintä käydään firebase-tilin kautta. Voit määrittää Firebase-tilin siirtymällä Firebase-verkkosivustoon ja napsauttamalla Aloita.
Kun napsautat, sinun on kirjauduttava sisään Google-tililläsi ja
Kun olet kirjautunut sisään, sinun on luotava projekti napsauttamalla Luo projekti -painiketta.
Se ohjaa sinut sivulle, joka näyttää yllä olevalta kuvalta. Kirjoita projektisi nimi ja napsauta Jatka.
Napsauta uudelleen Jatka.
Kun olet tehnyt, sinun on hyväksyttävä jotkut ehdot napsauttamalla valintaruutua, seuraavaksi sinun on napsautettava Luo projekti -painiketta.
Jos olet tehnyt kaiken oikein, saat jonkin ajan kuluttua tällaisen viestin. Kun olet valmis, Firebase-konsolisi pitäisi näyttää alla olevalta kuvalta.
Nyt meidän on kerättävä täältä kaksi asiaa. Voit tehdä sen napsauttamalla juuri luomasi projektin nimeä. Minulle se on CelingFanRegulator, kun napsautat sitä, saat kojelaudan, joka on samanlainen kuin alla oleva kuva.
Napsauta asetuksia ja sitten projektiasetuksia, saat sivu näyttää alla olevilta kuvilta.
Napsauta palvelutili -> tietokannan salaisuus.
Kopioi tietokannan salaisuus ja säilytä se myöhempää käyttöä varten.
Napsauta seuraavaksi reaaliaikaista tietokantaa ja kopioi URL-osoite. säilytä se myös myöhempää käyttöä varten.
Ja siinä kaikki, asioiden tulipesä on.
Arduino-koodi tuulettimen säätimen ohjaamiseen NodeMCU: lla
Yksinkertainen Arduino-koodi huolehtii Firebasen ja ESP-12E-moduulin välisestä viestinnästä, piirin ja koodin selitys on annettu alla. Ensinnäkin määritämme kaikki tarvittavat kirjastot, voit ladata seuraavat kirjastot annetuista linkeistä Arduino JSON-kirjasto ja FirebaseArduino-kirjasto
#sisältää
Käytämme FirebaseArduino- kirjastoa yhteyden muodostamiseen Firebaseen .
// Aseta nämä suorittamaan esimerkkejä. #define FIREBASE_HOST "celingfanregulator.firebaseio.com" #define FIREBASE_AUTH "1qAnDEuPmdy4ef3d9QLEGtYcA1cOehKmpmzxUtLr" #define WIFI_SSID "SSID" salasana "määritä WASS
Seuraavaksi olemme määrittäneet firebase-isännän, firebase-todennuksen, jonka olimme aiemmin tallentaneet, kun teimme firebase-tiliä. Sitten olemme määrittäneet reitittimemme SSID: n ja salasanan.
Merkkijono Resivedata; #define PWM_PIN 14;
Seuraavaksi olemme määrittäneet merkkijonotyyppisen muuttujan Resivedata, johon kaikki tiedot tallennetaan, ja määritimme myös PWM_PIN, josta saamme PWM-lähdön.
Seuraavaksi void setup () -osiossa teemme tarvittavat,
Sarjan alku (9600); pinMode (PWM_PIN, OUTPUT); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Sarja.tulos ("yhdistävä"); kun taas (WiFi.status ()! = WL_CONNECTED) {Sarja.tulos ("."); viive (500); } Sarja.println (); Sarja.tulos ("kytketty:"); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); Firebase.setString ("Muuttuja / arvo", "FirstTestStrig");
Ensin otamme sarjan käyttöön kutsumalla Serial.begin () -toiminnon. Seuraavaksi olemme asettaneet PWM-nastan ulostuloksi. Aloitamme Wi-Fi-yhteyden WiFi.begin () -toiminnon avulla ja välitämme toiminnossa SSID: n ja salasanan. Tarkistamme yhteyden tilan hetkessä ja kun yhteys on muodostettu, katkaiset silmukan ja jatkamme. Seuraavaksi tulostamme yhdistetyn viestin IP-osoitteella.
Lopuksi aloitamme yhteyden Firebase- toiminnon kanssa Firebase.begin () -toiminnon avulla ja välitämme aiemmin määritetyt parametrit FIREBASE_HOST ja FIREBASE_AUTH . Ja asetimme merkkijonon setString () -toiminnolla, joka merkitsee asennustoiminnon loppua. Vuonna void silmukka () osa,
Resivedata = Firebase.getString ("Muuttuja / arvo"); Serial.println (Resivedata); analogWrite (PWM_PIN, kartta (Resivedata.toInt (), 0, 80, 80, 0)); Serial.println (Resivedata); viive (100);
Kutsumme getString () -funktiota Variable / Value -toiminnolla, jossa tiedot on tallennettu tulipesään, esimerkki olisi kuin alla oleva kuva-
Tulostamme sitten arvon vain virheenkorjausta varten. Seuraavaksi käytämme arvon kartoittamiseen karttatoimintoa, 80 käytetään, koska alueella 0-80 pystymme hallitsemaan MOSFET-porttia tarkasti, ja RC-alipäästösuodatin on jossain määrin vastuussa tästä arvosta. Tällä alueella vaihekulman ohjauspiiri toimii tarkasti, voit kutsua arvoa laitteisto-ohjelmisto-makealle paikalle. Jos teet tätä projektia ja kohtaat ongelmia, sinun on pelattava arvolla ja määritettävä tulokset itse.
Ja sen jälkeen käytämme analogWrite () -toimintoa tietojen syöttämiseen ja PWM: n käyttöönottoon, sen jälkeen käytämme Serial.println () -toimintoa uudelleen vain tuloksen tarkistamiseksi ja lopuksi viivetoiminnolla osumien määrä Firebase-sovellusliittymään, joka tekee ohjelmamme loppuun.
Tuulettimen säätösovelluksen rakentaminen MIT App Inventor -sovelluksella
Avulla AppInventor, aiomme tehdä Android-sovelluksen, joka kommunikoida Firebase ja on valtuudet muuttaa tietoja, jotka on tallennettu Firebase tietokantaan.
Voit tehdä sen siirtymällä appInventors-verkkosivustolle, kirjautumalla sisään Google-tililläsi ja hyväksymällä käyttöehdot. Kun olet tehnyt, sinulle tulee näyttö, joka näyttää alla olevalta kuvalta.
Napsauta Käynnistä uusi projekti -kuvaketta ja anna sille nimi ja paina OK. Kun olet tehnyt, sinulle näytetään alla olevan kuvan kaltainen näyttö.
Kun olet siellä, sinun on ensin asetettava kaksi tarraa, joissa tämä on liukusäätimen asettaminen hieman alaspäin, seuraavaksi sinun on vedettävä joitain moduuleja ja ne ovat FirebaseDB- moduuli ja verkkomoduuli.
FirebaseDB moduuli kommunikoi kanssa Firebase The Web moduulia käytetään h andle. Mikä näyttää alla olevalta kuvalta.
Kun se on tehty, sinun on vedettävä sisään liukusäädin ja nimilappu, jonka nimeimme PWM: ksi, jos olet hämmentynyt tällä hetkellä, voit tarkistaa joitain muita oppaita sovelluksen tekemisestä sovelluksen keksijän kanssa.
Kun olet suorittanut prosessin, napsauta firebase DB -kuvaketta ja laita firebase-tunnus ja firebase-URL, jonka olemme tallentaneet tehdessämme firebase-tiliä.
Nyt olemme valmis suunnitteluosioon ja meidän on määritettävä lohko-osa. Tätä varten meidän on napsautettava suunnittelupalkin oikeassa yläkulmassa olevaa lohkopainiketta.
Kun napsautat liukusäädintä, saat esiin pitkän luettelon moduuleista, vedä ensimmäinen moduuli ulos ja viet hiiren peukalopainikkeen päälle, sinua tervehditään vielä kahdella moduulilla, vedä molemmat ulos. Aiomme käyttää niitä myöhemmin.
Kiinnitämme nyt peukalomuuttujan , pyöristämme sen pois ja saamme peukalon asennon arvon. Seuraavaksi napsautamme firebasedb ja vedämme puhelun FirebaseDB.storeValue -tagiarvon tallennettavaksi, moduuliksi ja kiinnitämme sen peukalon asennon arvon alaosaan.
Kun olet valmis, vedämme tyhjän tekstiruudun napsauttamalla tekstilohkoa ja kiinnitämme sen tagiin, tämä on tunniste, jonka olemme asettaneet Arduino IDE: ssä lukemaan ja kirjoittamaan tietoja firebaseen. Liitä nyt peukalon arvon muuttuja arvoon, joka tallennetaan -tagiin. Jos olet tehnyt kaiken oikein, liukusäädintä siirtämällä voit muuttaa arvoja firebaseDB: ssä.
- .Aia (tallennettu tiedosto) ja.apk (käännetty tiedosto)
Mikä merkitsee sovelluksenvalmistusprosessimme loppua. Tilannekuva juuri luomastamme Android-sovelluksesta.
ESP32-pohjaisen kosketusanturipiirin testaus
Piirin testaamiseksi olen kytkenyt hehkulampun, joka on yhdensuuntainen kattotuulettimen kanssa, ja olen kytkenyt virran piiriin 5 V DC-sovittimella, kuten yllä olevasta kuvasta näet, sovelluksen liukusäädin on alhaalla, siksi polttimo hehkuu heikossa kirkkaudessa. Ja tuuletin pyörii myös hitaasti.
Lisäparannuksia
Tätä esittelyä varten piiri tehdään käsintehdyllä piirilevyllä, mutta piiri voidaan helposti rakentaa laadukkaalle piirilevylle, kokeissani PCB: n koko on todella pieni komponenttikoon vuoksi, mutta tuotantoympäristössä se voidaan vähentää käyttämällä halpoja SMD-komponentteja, huomasin, että 7555-ajastimen käyttö 555-ajastimen sijaan lisää ohjausta laajasti, lisäksi myös piirin vakaus kasvaa.