- Funcionament d’un regulador de ventiladors de sostre basat en IoT
- Materials necessaris per al circuit de control de velocitat del ventilador de corrent altern
- Circuit de control del regulador del ventilador de CA.
- Disseny de PCB per al regulador de ventilador de sostre controlat per IoT
- Configuració d'un compte de Firebase
- Codi Arduino per controlar el regulador del ventilador amb NodeMCU
- Creació de l'aplicació Fan Regulator amb l'inventor d'aplicacions MIT
- Prova del circuit de sensor tàctil basat en ESP32
- Millores addicionals
En aquest article, estem construint un circuit regulador de ventilador de CA, que és capaç de controlar la velocitat del ventilador restringint el flux de corrent al ventilador. El terme regulador de ventilador de sostre de CA és un bocí, per tant, d’ara endavant l’anomenarem regulador de ventilador. Un circuit regulador del ventilador és un component crucial que s’utilitza per augmentar o disminuir la velocitat d’un ventilador / motor de CA segons les necessitats. Fa uns anys, teníeu la possibilitat de triar entre un regulador de ventilador tipus resistiu convencional o un regulador electrònic, però actualment tot ha estat substituït pel circuit regulador de ventilador electrònic.
En un article anterior, us hem mostrat com podríeu construir un circuit de control d’angle de fase de CA amb un Arduino que era capaç de controlar la brillantor d’una bombeta incandescent i també controlar la velocitat d’un ventilador, de manera que pujéssiu una osca en aquest article, crearem un circuit regulador de ventilador de sostre de CA basat en IoT. Amb el qual podreu controlar la velocitat del ventilador de sostre amb l’ajuda d’una aplicació per a Android.
Funcionament d’un regulador de ventiladors de sostre basat en IoT
El circuit del regulador del ventilador és un circuit senzill que és capaç de controlar la velocitat d’un ventilador de sostre de CA alterant l’angle de fase de l’ona sinusoïdal de CA o, en termes senzills, un control precís del TRIAC. Com he esmentat totes les funcions bàsiques del circuit de regulador de ventilador de corrent altern a l’ article de control d’angle de fase de corrent altern amb 555 temporitzador i article PWM, ens centrarem en la construcció real del circuit. I, de nou, si voleu saber més sobre el tema, consulteu també l'article sobre AC Light Dimmer amb Arduino i TRIAC Project.

El diagrama bàsic de blocs anterior mostra com funciona realment el circuit. Com he dit anteriorment, generarem un senyal PWM amb l'ajut de Firebase IoT i NodeMCU, llavors el senyal PWM es passarà pel filtre de pas baix que controlarà la porta d'un MOSFET després d'un 555 temporitzador controlarà el TRIAC real amb l’ajut d’un optoacoblador.
En aquest cas, l’aplicació per a Android modifica el valor del firebaseDB i l’ESP comprova constantment si hi ha canvis que s’estan produint a la base de dades si es produeix algun canvi que es retiri i el valor es converteixi en un senyal PWM
Materials necessaris per al circuit de control de velocitat del ventilador de corrent altern
La imatge següent mostra el material utilitzat per construir aquest circuit, ja que està fet amb components molt genèrics, hauríeu de poder trobar tot el material que apareix a la vostra botiga d’aficionats local.
També he enumerat els components en una taula següent amb tipus i quantitat, ja que és un projecte de demostració, estic fent servir un canal únic per fer-ho. Però el circuit es pot ampliar fàcilment segons els requisits.
- Connector de terminal de cargol de 5,04 mm - 2
- Connector de capçalera masculí de 2,54 mm: 1
- 56K, 1W resistència - 2
- 1N4007 díode - 4
- Condensador de 0,1 uF, 25 V - 2
- Regulador de tensió AMS1117 - 1
- Condensador 1000uF, 25V - 1
- Presa de corrent continu - 1
- Resistència 1K: 1
- 470R resistència - 2
- Resistència 47R - 2
- 82 K resistències - 1
- Resistències de 10 K: 5
- PC817 optoacoplador - 1
- NE7555 IC - 1
- MOC3021 Opto TriacDrive - 1
- MOSFET IRF9540 - 1
- Condensador 3.3uF: 1
- Connexió de cables - 5
- Condensador de 0,1 uF, 1 KV - 1
- Microcontrolador ESP8266 (ESP-12E): 1
Circuit de control del regulador del ventilador de CA.
A continuació es mostra l’ esquema del circuit regulador del ventilador de l’ IoT, aquest circuit és molt senzill i utilitza components genèrics per aconseguir el control de l’angle de fase.

Aquest circuit està format per components dissenyats amb molta cura. Passaré per cadascun d’ells i explicaré cada bloc.
Xip Wi-Fi ESP8266 (ESP-12E):
Aquesta és la primera part del nostre circuit i és la part en què hem canviat moltes coses, altres parts es mantenen exactament iguals, és a dir, si heu seguit l'article anterior.

En aquesta secció, hem extret els pins Enable, Reset i GPIO0, a més, hem retirat GPIO15 i el Ground Pin, que són recomanats per la fitxa tècnica del xip. Pel que fa a la programació, hem col·locat una capçalera de 3 pines exposant el TX, RX i el pin de terra a través del qual podem programar el xip molt fàcilment. A més, hem posat un commutador tàctil per posar el GPIO0 a terra, aquest és un pas necessari per posar l’ESP en mode de programació. Hem seleccionat el pin GPIO14 com a sortida a través de la qual es genera el senyal PWM.
Nota! En el moment de la programació, hem de prémer el botó i encendre el dispositiu amb la presa de barril de CC.
Circuit de detecció de creuament zero:
En primer lloc, a la nostra llista hi ha el circuit de detecció de creuament zero realitzat amb dues resistències de 56K, 1W juntament amb quatre díodes 1n4007 i un optoacoplador PC817. I aquest circuit s’encarrega de proporcionar el senyal de pas zero a l’IC 555 temporitzador. A més, hem gravat la fase i el senyal neutre per continuar utilitzant-lo a la secció TRIAC.
Regulador de voltatge AMS1117-3.3V:
El regulador de tensió AMS1117 s’utilitza per alimentar el circuit, el circuit s’encarrega de subministrar energia a tot el circuit. A més, hem utilitzat dos condensadors de 1000uF i un condensador de 0,1uF com a condensador de desacoblament per al CI AMS1117-3.3.
Circuit de control amb temporitzador NE555:
La imatge anterior mostra el circuit de control del temporitzador 555, el 555 es configura en una configuració monoestable, de manera que quan un senyal d’activació del circuit de detecció de creuament de zero toca el disparador, el temporitzador 555 comença a carregar el condensador amb l’ajut d’una resistència (en general), però el nostre circuit té un MOSFET en lloc d’una resistència i, controlant la porta del MOSFET, controlem el corrent que va al condensador, per això controlem el temps de càrrega, per tant, controlem la sortida dels 555 temporitzadors..
TRIAC i el circuit de controladors TRIAC:
El TRIAC actua com l’interruptor principal que realment s’encén i apaga i controla la sortida del senyal de corrent altern. Conduint el TRIAC mitjançant la unitat Opto-Triac MOC3021, no només condueix el TRIAC, sinó que també proporciona un aïllament òptic, el condensador d’alta tensió 0,01uF 2KV i la resistència 47R forma un circuit de protecció contra el circuit pics d'alta tensió que es produeixen quan es connecta a una càrrega inductiva. La naturalesa no sinusoidal del senyal de CA commutat és responsable dels pics. A més, és responsable dels problemes de factors de potència, però aquest és un tema per a un altre article.
Filtre de pas baix i MOSFET de canal P (que actua com a resistència del circuit):
La resistència de 82 K i el condensador de 3,3 uF formen el filtre de pas baix que s’encarrega de suavitzar el senyal PWM d’alta freqüència generat per l’Arduino. Com es va esmentar anteriorment, el MOSFET de canal P actua com a resistència variable, que controla el temps de càrrega del condensador. El control és el senyal PWM que es suavitza amb el filtre de pas baix.
Disseny de PCB per al regulador de ventilador de sostre controlat per IoT
El PCB del nostre circuit de regulador de ventilador de sostre IoT està dissenyat en una placa d’una sola cara. He utilitzat el programari de disseny Eagle PCB per dissenyar el meu PCB, però podeu utilitzar qualsevol programari de disseny que trieu. A continuació es mostra la imatge 2D del disseny del meu tauler.

S'utilitza un ompliment de terra suficient per fer connexions de terra adequades entre tots els components. L’entrada de 3,3 V CC i l’entrada de CA de 220 volts s’emplenen al costat esquerre, la sortida es troba al costat dret del PCB. El fitxer de disseny complet de Eagle juntament amb el Gerber es pot descarregar des de l'enllaç següent.
- Disseny de PCB, fitxers GERBER i PDF per al circuit del regulador del ventilador de sostre
PCB fet a mà:
Per comoditat, he fet la meva versió feta a mà del PCB i es mostra a continuació.

Amb això, el nostre maquinari està preparat segons el nostre diagrama de circuits, ara hem de preparar la nostra aplicació per a Android i Google Firebase.

Configuració d'un compte de Firebase
Per al següent pas, hem de configurar un compte de Firebase. Tota la comunicació passarà pel compte de firebase. Per configurar un compte de firebase, aneu al lloc web de Firebase i feu clic a "començar".

Un cop feu clic, haureu d'iniciar la sessió amb el vostre compte de Google i

un cop hàgiu iniciat la sessió, heu de crear un projecte fent clic al botó crea un projecte.

En fer-ho, se us redirigirà a una pàgina que s'assembla a la imatge anterior. Escriviu el nom del vostre projecte i feu clic a continua.

De nou, feu clic a continua.

Un cop ho feu, heu d’acceptar alguns termes i condicions fent clic a la casella de selecció; a continuació, haureu de fer clic al botó Crea un projecte.

Si ho heu fet tot correctament, al cap d’un temps rebreu un missatge com aquest. Un cop acabada, la consola de Firebase hauria de semblar a la imatge següent.

Ara hem de recollir dues coses d’aquí. Per fer-ho, heu de fer clic al nom del projecte que acabeu de crear. Per a mi, és CelingFanRegulator; un cop hi feu clic, obtindreu un tauler similar a la imatge següent.

Feu clic a Configuració i, a continuació, a Configuració del projecte, la pàgina que obtindreu tindrà l'aspecte de les imatges següents.

Feu clic al compte de servei -> secret de la base de dades.

Copieu la base de dades secreta i guardeu-la en algun lloc per utilitzar-la posteriorment.

A continuació, feu clic a la base de dades en temps real i copieu l'URL. també guardeu-lo per a un ús posterior.
I això és tot, hi ha la part de la base de foc de les coses.
Codi Arduino per controlar el regulador del ventilador amb NodeMCU
Un senzill codi Arduino s'encarrega de la comunicació entre firebase i el mòdul ESP-12E; a continuació es dóna l'explicació del circuit i del codi. i la biblioteca FirebaseArduino
#incloure
Utilitzarem la biblioteca FirebaseArduino per establir la comunicació amb firebase.
// Establiu-los per executar exemples. #define FIREBASE_HOST "celingfanregulator.firebaseio.com" #define FIREBASE_AUTH "1qAnDEuPmdy4ef3d9QLEGtYcA1cOehKmpmzxUtLr" #define WIFI_SSID "your SSID" #define WIFI_PASSWORD
A continuació, hem definit l’ amfitrió de firebase, firebase auth, que havíem desat anteriorment quan creavem el compte de firebase. A continuació, hem definit el SSID i la contrasenya del nostre enrutador.
Cadena Resivedata; #define PWM_PIN 14;
A continuació, hem definit una variable de tipus cadena, Resivedata on s’emmagatzemaran totes les dades i també hem definit el PWM_PIN on obtindrem la sortida PWM.
A continuació, a la secció void setup () , fem el necessari,
Serial.begin (9600); pinMode (PWM_PIN, OUTPUT); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.print ("connectant"); while (WiFi.status ()! = WL_CONNECTED) {Serial.print ("."); retard (500); } Serial.println (); Serial.print ("connectat:"); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); Firebase.setString ("Variable / Valor", "FirstTestStrig");
En primer lloc, activem el serial trucant a la funció Serial.begin () . A continuació, hem definit el pin PWM com a SORTIDA. Comencem la connexió Wi-Fi amb l'ajut de la funció WiFi.begin () i passem el SSID i la contrasenya a la funció. Comprovem l’estat de la connexió en un bucle while i un cop connectat, el trencem i continuem endavant. A continuació, imprimim el missatge connectat amb l'adreça IP.
Finalment, comencem la comunicació amb el firebase amb la funció Firebase.begin () i passem els paràmetres FIREBASE_HOST i FIREBASE_AUTH que hem definit anteriorment. I establim la cadena amb la funció setString () , que marca el final de la funció de configuració. A la secció bucle buit () ,
Resivedata = Firebase.getString ("Variable / Valor"); Serial.println (Resivedata); analogWrite (PWM_PIN, map (Resivedata.toInt (), 0, 80, 80, 0)); Serial.println (Resivedata); retard (100);
Anomenem la funció getString () amb Variable / Value on s’emmagatzemen les dades a Firebase, un exemple seria com la imatge següent-

A continuació, imprimim el valor només per a la depuració. A continuació, fem servir la funció de mapa per assignar el valor, s’utilitza 80 perquè dins de l’interval de 0 a 80 som capaços de controlar amb precisió la porta del MOSFET i el filtre de pas baix RC és una mica responsable d’aquest valor. Dins d’aquest rang, el circuit de control de l’angle de fase funciona amb precisió; podeu anomenar el valor com a punt dolç del programari de maquinari. Si esteu fent aquest projecte i teniu problemes, heu de jugar amb el valor i determinar els resultats vosaltres mateixos.
I després d’això, fem servir la funció analogWrite () per alimentar les dades i activar el PWM, després, tornem a utilitzar la funció Serial.println () només per revisar el resultat i, finalment, fem servir una funció de retard per reduir la hit-count a l'API de firebase que finalitza el nostre programa.
Creació de l'aplicació Fan Regulator amb l'inventor d'aplicacions MIT
Amb l’ajuda d’ AppInventor, crearem una aplicació per a Android que es comunicarà amb el firebase i tindrà l’autoritat per canviar les dades que s’emmagatzemen a la base de dades de firebase.
Per fer-ho, aneu al lloc web appInventors, inicieu la sessió amb el vostre compte de Google i accepteu els termes i condicions. Un cop ho feu, se us presentarà una pantalla que s'assembla a la imatge següent.

Feu clic a la icona d'inici d'un projecte nou i doneu-li un nom i premeu D'acord; un cop ho feu, se us mostrarà una pantalla com la següent imatge.

Un cop allà, primer heu de posar dues etiquetes, que permeten posar el control lliscant una mica cap avall, a continuació, heu d'introduir alguns mòduls i són el mòdul FirebaseDB i el mòdul web.
El mòdul firebaseDB es comunica amb el firebase, el mòdul web s’utilitza per atendre la sol·licitud. Que sembla la imatge següent.

Un cop fet això, heu d'introduir el control lliscant i l'etiqueta que anomenem PWM; si us esteu confonent en aquest moment, podeu consultar alguns altres tutorials sobre la creació d'una aplicació amb un inventor d'aplicacions.
Un cop hàgim acabat el procés, feu clic a la icona de Firebase DB i introduïu el testimoni de Firebase i l'URL de Firebase que hem desat durant la creació del compte de Firebase.

Ara hem acabat amb la secció de disseny i hem de configurar la secció de blocs. Per fer-ho, hem de fer clic al botó de bloc a l'extrem superior dret al costat del dissenyador.

Un cop feu clic al control lliscant, se us mostrarà una llarga llista de mòduls, traieu el primer mòdul i passeu el ratolí per sobre del botó de posició del polze, us rebran dos mòduls més, traieu-los tots dos. Les utilitzarem més endavant.

Ara li donem la thumbposition variables, que la tornada d'apagada i obtenim el valor de la posició de l'polze. A continuació, fem clic a firebasedb i traiem el valor de l’etiqueta FirebaseDB.storeValue per emmagatzemar-lo, modular-lo i adjuntar-lo a la part inferior del valor de posició del polze.

Un cop fet, traiem un quadre de text buit fent clic al bloc de text i l’adjuntem amb l’etiqueta, aquesta és l’etiqueta que hem definit a l’IDE Arduino per llegir i escriure les dades a firebase. Ara adjunteu la variable de valor del polze al valor per emmagatzemar l'etiqueta. Si ho heu fet tot correctament, movent el control lliscant, podreu modificar els valors del firebaseDB.
- El fitxer.aia (fitxer desat) i.apk (fitxer compilat)
El que marca el final del procés de creació d'aplicacions. A continuació es mostra una instantània de l'aplicació per a Android que acabem de crear.

Prova del circuit de sensor tàctil basat en ESP32
Per provar el circuit, he connectat una bombeta incandescent paral·lela al ventilador de sostre i he alimentat el circuit amb un adaptador de 5 V CC, com podeu veure a la imatge anterior, el control lliscant de l'aplicació està ajustat a baix, per això la bombeta brilla a poca brillantor. I el ventilador també gira lentament.
Millores addicionals
Per a aquesta demostració, el circuit es realitza en un PCB fet a mà, però el circuit es pot construir fàcilment en un PCB de bona qualitat; en els meus experiments, la mida del PCB és realment petita a causa de la mida del component, però en un entorn de producció, es pot reduir mitjançant l'ús de components SMD econòmics, he trobat que utilitzar un temporitzador 7555 en lloc d'un temporitzador 555 augmenta el control extensament, a més, també augmenta l'estabilitat del circuit.
