- Funcionamiento de un regulador de ventilador de techo basado en IoT
- Materiales necesarios para el circuito de control de velocidad del ventilador de CA
- Circuito de control del regulador del ventilador de CA
- Diseño de PCB para el regulador de ventilador de techo controlado por IoT
- Configurar una cuenta de Firebase
- Código Arduino para controlar el regulador del ventilador con NodeMCU
- Creación de la aplicación Fan Regulator con MIT App Inventor
- Prueba del circuito del sensor táctil basado en ESP32
- Más mejoras
En este artículo, estamos construyendo un circuito regulador de ventilador de CA, que puede controlar la velocidad del ventilador al restringir el flujo de corriente al ventilador. El término regulador de ventilador de techo de CA es un bocado, por lo tanto, simplemente lo llamaremos regulador de ventilador de ahora en adelante. Un circuito regulador de ventilador es un componente crucial que se utiliza para aumentar o disminuir la velocidad de un ventilador / motor de CA según las necesidades. Hace unos años, podía elegir entre un regulador de ventilador de tipo resistivo convencional o un regulador electrónico, pero hoy en día todo ha sido reemplazado por el circuito regulador de ventilador electrónico.
En un artículo anterior, le mostramos cómo podría construir un circuito de control de ángulo de fase de CA con un Arduino que fuera capaz de controlar el brillo de una bombilla incandescente y también controlar la velocidad de un ventilador, por lo que puede aumentarlo un poco. En este artículo, vamos a construir un circuito regulador de ventilador de techo de CA basado en IoT. Que podrá controlar la velocidad de su ventilador de techo con la ayuda de una aplicación de Android.
Funcionamiento de un regulador de ventilador de techo basado en IoT
El circuito del regulador del ventilador es un circuito simple que puede controlar la velocidad de un ventilador de techo de CA alterando el ángulo de fase de la onda sinusoidal de CA o, en términos simples, el control preciso del TRIAC. Como mencioné todo el funcionamiento básico del circuito regulador del ventilador de CA en el artículo Control de ángulo de fase de CA con temporizador 555 y PWM, nos concentraremos en la construcción real del circuito. Y nuevamente, si desea saber más sobre el tema, consulte también el artículo sobre AC Light Dimmer usando Arduino y TRIAC Project.
El diagrama de bloques básico anterior muestra cómo funciona realmente el circuito. Como dije anteriormente, generaremos una señal PWM con la ayuda de Firebase IoT y NodeMCU, luego la señal PWM pasará a través del filtro de paso bajo que controlará la puerta de un MOSFET luego de eso un temporizador 555 controlará TRIAC real con la ayuda de un optoacoplador.
En este caso, la aplicación de Android altera el valor en firebaseDB y el ESP verifica constantemente cualquier cambio que esté sucediendo en esa base de datos si se produce algún cambio que se reduzca y el valor se convierte en una señal PWM.
Materiales necesarios para el circuito de control de velocidad del ventilador de CA
La imagen a continuación muestra el material utilizado para construir este circuito, ya que está hecho con componentes muy genéricos, debería poder encontrar todo el material listado en su tienda de pasatiempos local.
También he enumerado los componentes en una tabla a continuación con el tipo y la cantidad, ya que es un proyecto de demostración, estoy usando un solo canal para hacerlo. Pero el circuito se puede ampliar fácilmente según los requisitos.
- Terminal de tornillo Conector de 5.04 mm - 2
- Conector macho de 2,54 mm - 1
- Resistencia de 56K, 1W - 2
- Diodo 1N4007 - 4
- Condensador de 0.1uF, 25V - 2
- Regulador de voltaje AMS1117 - 1
- Condensador 1000uF, 25V - 1
- Toma de corriente CC - 1
- Resistencia 1K - 1
- Resistencia 470R - 2
- Resistencia 47R - 2
- Resistencias 82 K - 1
- Resistencias 10 K - 5
- Optoacoplador PC817 - 1
- NE7555 IC - 1
- MOC3021 Opto TriacDrive - 1
- MOSFET IRF9540 - 1
- Condensador 3.3uF - 1
- Cables de conexión - 5
- Condensador de 0.1uF, 1KV - 1
- Microcontrolador ESP8266 (ESP-12E) - 1
Circuito de control del regulador del ventilador de CA
A continuación se muestra el esquema del circuito regulador del ventilador de IoT, este circuito es muy simple y utiliza componentes genéricos para lograr el control del ángulo de fase.
Este circuito se compone de componentes cuidadosamente diseñados. Revisaré cada uno y explicaré cada bloque.
Chip Wi-Fi ESP8266 (ESP-12E):
Esta es la primera parte de nuestro circuito y es la parte donde hemos cambiado muchas cosas, otras partes siguen siendo exactamente iguales, es decir, si has seguido el artículo anterior.
En esta sección, hemos levantado los pines Enable, Reset y GPIO0, también hemos bajado GPIO15 y Ground Pin, que son recomendados por la hoja de datos del chip. En cuanto a la programación, hemos colocado un encabezado de 3 pines exponiendo el TX, RX y el pin de tierra a través del cual podemos programar el chip de manera muy sencilla. Además, hemos puesto un interruptor táctil para poner a tierra el GPIO0, este es un paso necesario para poner el ESP en modo programación. Hemos seleccionado el pin GPIO14 como salida a través de la cual se genera la señal PWM.
¡Nota! En el momento de programar, tenemos que presionar el botón y encender el dispositivo con el jack de barril de CC.
Circuito de detección de cruce por cero:
Primero, en nuestra lista está el circuito de detección de cruce por cero hecho con dos resistencias de 56K y 1W junto con cuatro diodos 1n4007 y un optoacoplador PC817. Y este circuito es responsable de proporcionar la señal de cruce por cero al temporizador 555 IC. Además, hemos grabado la fase y la señal neutra para usarla más en la sección TRIAC.
Regulador de voltaje AMS1117-3.3V:
El regulador de voltaje AMS1117 se utiliza para alimentar el circuito, el circuito es responsable de proporcionar energía a todo el circuito. Además, hemos utilizado dos capacitores de 1000uF y un capacitor de 0.1uF como capacitor de desacoplamiento para el AMS1117-3.3 IC.
Circuito de control con temporizador NE555:
La imagen de arriba muestra el circuito de control del temporizador 555, el 555 está configurado en una configuración monoestable, por lo que cuando una señal de disparo del circuito de detección de cruce por cero golpea el disparador, el temporizador 555 comienza a cargar el condensador con la ayuda de una resistencia (en general), pero nuestro circuito tiene un MOSFET en lugar de una resistencia, y al controlar la puerta del MOSFET, controlamos la corriente que va al condensador, por eso controlamos el tiempo de carga, por lo tanto, controlamos la salida de los 555 temporizadores..
TRIAC y el circuito del controlador TRIAC:
El TRIAC actúa como el interruptor principal que realmente se enciende y apaga, por lo que controla la salida de la señal de CA. Conduciendo el TRIAC usando el MOC3021 Opto-Triac-drive, no solo impulsa el TRIAC, sino que también proporciona aislamiento óptico, el condensador de alto voltaje de 0.01uF 2KV y la resistencia 47R forma un circuito amortiguador, que protege nuestro circuito de picos de alto voltaje que ocurren cuando se conecta a una carga inductiva. La naturaleza no sinusoidal de la señal de CA conmutada es responsable de los picos. Además, es responsable de los problemas del factor de potencia, pero ese es un tema para otro artículo.
Filtro de paso bajo y MOSFET de canal P (actuando como resistencia en el circuito):
La resistencia de 82K y el capacitor de 3.3uF forman el filtro de paso bajo que es responsable de suavizar la señal PWM de alta frecuencia generada por el Arduino. Como se mencionó anteriormente, el MOSFET de canal P actúa como la resistencia variable, que controla el tiempo de carga del capacitor. Controlarlo es la señal PWM que es suavizada por el filtro de paso bajo.
Diseño de PCB para el regulador de ventilador de techo controlado por IoT
La PCB de nuestro circuito regulador de ventilador de techo IoT está diseñada en una placa de un solo lado. He usado el software de diseño de PCB Eagle para diseñar mi PCB, pero puede usar cualquier software de diseño de su elección. La imagen 2D del diseño de mi placa se muestra a continuación.
Se utiliza un relleno de tierra suficiente para realizar las conexiones a tierra adecuadas entre todos los componentes. La entrada de 3,3 V CC y la entrada de 220 V CA se encuentran en el lado izquierdo, la salida se encuentra en el lado derecho de la PCB. El archivo de diseño completo para Eagle junto con el Gerber se puede descargar desde el enlace a continuación.
- Diseño de PCB, archivos GERBER y PDF para circuito regulador de ventilador de techo
PCB hecho a mano:
Para mayor comodidad, hice mi versión hecha a mano del PCB y se muestra a continuación.
Con esto, nuestro hardware está listo según nuestro diagrama de circuito, ahora tenemos que preparar nuestra aplicación de Android y Google Firebase.
Configurar una cuenta de Firebase
Para el siguiente paso, necesitamos configurar una cuenta de base de fuego. Toda la comunicación pasará por la cuenta de firebase. Para configurar una cuenta de Firebase, vaya al sitio web de Firebase y haga clic en 'comenzar'.
Una vez que haga clic, debe iniciar sesión con su cuenta de Google y
una vez que haya iniciado sesión, debe crear un proyecto haciendo clic en el botón crear un proyecto.
Si lo hace, lo redireccionará a una página que se parece a la imagen de arriba. Escriba el nombre de su proyecto y haga clic en continuar.
Nuevamente, haga clic en continuar.
Una vez que lo haga, debe aceptar algunos términos y condiciones haciendo clic en la casilla de verificación, a continuación, debe hacer clic en el botón Crear proyecto.
Si ha hecho todo correctamente, después de un tiempo, recibirá un mensaje como este. Una vez que haya terminado, su consola de base de fuego debería verse como la imagen a continuación.
Ahora necesitamos recopilar dos cosas de aquí. Para hacer eso, debe hacer clic en el nombre del proyecto que acaba de crear. Para mí, es CelingFanRegulator, una vez que haga clic en él, obtendrá un tablero similar a la imagen de abajo.
Haga clic en configuración, luego configuración del proyecto, la página que obtendrá se verá como las imágenes a continuación.
Haga clic en cuenta de servicio -> secreto de la base de datos.
Copie el secreto de la base de datos y guárdelo en algún lugar para su uso posterior.
A continuación, haga clic en la base de datos en tiempo real y copie la URL. también guárdelo para uso posterior.
Y eso es todo, está el lado de la base de fuego de las cosas.
Código Arduino para controlar el regulador del ventilador con NodeMCU
Un simple código Arduino se encarga de la comunicación entre firebase y el módulo ESP-12E, la explicación del circuito y el código se da a continuación, Primero, definimos todas las bibliotecas necesarias requeridas, puede descargar las siguientes bibliotecas de los enlaces dados Biblioteca Arduino JSON y biblioteca FirebaseArduino
#incluir
Usaremos la biblioteca FirebaseArduino para establecer comunicación con firebase.
// Configúrelos para ejecutar ejemplos. #define FIREBASE_HOST "celingfanregulator.firebaseio.com" #define FIREBASE_AUTH "1qAnDEuPmdy4ef3d9QLEGtYcA1cOehKmpmzxUtLr" #define WIFI_SSID "your SSID" #define WIFI "your pass"
A continuación, definimos el host firebase, firebase auth, que habíamos guardado anteriormente cuando estábamos creando la cuenta firebase. Luego hemos definido el SSID y la contraseña de nuestro enrutador.
String Resivedata; #define PWM_PIN 14;
A continuación, hemos definido una variable de tipo string, Resivedata donde se almacenarán todos los datos y también definimos el PWM_PIN donde obtendremos la salida PWM.
A continuación, en la sección void setup () , hacemos lo necesario,
Serial.begin (9600); pinMode (PWM_PIN, SALIDA); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.print ("conectando"); while (WiFi.status ()! = WL_CONNECTED) {Serial.print ("."); retraso (500); } Serial.println (); Serial.print ("conectado:"); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); Firebase.setString ("Variable / Valor", "FirstTestStrig");
Primero, habilitamos el serial llamando a la función Serial.begin () . A continuación, hemos configurado el pin PWM como SALIDA. Comenzamos la conexión wifi con la ayuda de la función WiFi.begin () y pasamos el SSID y la contraseña en la función. Comprobamos el estado de la conexión en un bucle while y una vez conectados, rompemos el bucle y continuamos. A continuación, imprimimos el mensaje conectado con la dirección IP.
Finalmente, comenzamos la comunicación con la base de fuego con la función Firebase.begin () y pasamos los parámetros FIREBASE_HOST y FIREBASE_AUTH que hemos definido anteriormente. Y configuramos la cadena con la función setString () , que marca el final de la función de configuración. En la sección void loop () ,
Resivedata = Firebase.getString ("Variable / Valor"); Serial.println (Resivedata); analogWrite (PWM_PIN, map (Resivedata.toInt (), 0, 80, 80, 0)); Serial.println (Resivedata); retraso (100);
Llamamos a la función getString () con Variable / Valor donde los datos se almacenan en la base de fuego, un ejemplo sería como la imagen de abajo-
Luego imprimimos el valor solo para depurar. A continuación, usamos la función de mapa para asignar el valor, se usa 80 porque dentro del rango de 0 a 80, podemos controlar la puerta del MOSFET con precisión, y el filtro de paso bajo RC es algo responsable de este valor. Dentro de este rango, el circuito de control del ángulo de fase funciona con precisión, puede llamar al valor como un punto óptimo de hardware-software. Si está realizando este proyecto y enfrenta problemas, debe jugar con el valor y determinar los resultados usted mismo.
Y después de eso, usamos la función analogWrite () para alimentar los datos y habilitar el PWM, después de eso, usamos la función Serial.println () nuevamente solo para revisar el resultado, y finalmente, usamos una función de retardo para reducir el hit-count a la API de firebase que finaliza nuestro programa.
Creación de la aplicación Fan Regulator con MIT App Inventor
Con la ayuda de AppInventor, crearemos una aplicación para Android que se comunicará con la base de fuego y tiene la autoridad para cambiar los datos almacenados en la base de datos de la base de fuego.
Para hacerlo, vaya al sitio web de appInventors, inicie sesión con su cuenta de Google y acepte los términos y condiciones. Una vez que lo haga, se le presentará una pantalla que se parece a la imagen de abajo.
Haga clic en el icono de iniciar un nuevo proyecto, asígnele un nombre y presione Aceptar, una vez que lo haga, se le presentará una pantalla como la siguiente imagen.
Una vez allí, primero debe colocar dos etiquetas, donde esto es para colocar el control deslizante un poco hacia abajo, luego debe extraer algunos módulos y son el módulo FirebaseDB y el módulo web.
El módulo firebaseDB se comunica con la base de fuego, el módulo web se usa para gestionar la solicitud. Que se parece a la imagen de abajo.
Una vez hecho esto, debe tirar del control deslizante y una etiqueta que llamamos PWM, si se está confundiendo en este momento, puede consultar algunos otros tutoriales sobre cómo crear una aplicación con un inventor de aplicaciones.
Una vez que hayamos terminado con el proceso, haga clic en el icono de Firebase DB y coloque el token de Firebase y la URL de Firebase que hemos guardado al crear la cuenta de Firebase.
Ahora, hemos terminado con la sección de diseño y necesitamos configurar la sección de bloques. Para hacer eso, necesitamos hacer clic en el botón de bloquear en la esquina superior derecha al lado del diseñador.
Una vez que haga clic en el control deslizante y se le presentará una larga lista de módulos, extraiga el primer módulo y coloque el mouse sobre el botón de posición del pulgar, será recibido con dos módulos más, extraiga ambos. Los usaremos más tarde.
Ahora adjuntamos la variable de posición del pulgar , la redondeamos y obtenemos el valor de la posición del pulgar. A continuación, hacemos clic en firebasedb y sacamos el valor de la etiqueta call FirebaseDB.storeValue para almacenar, módulo y adjuntarlo a la parte inferior del valor de la posición del pulgar.
Una vez hecho esto, sacamos un cuadro de texto vacío haciendo clic en el bloque de texto y lo adjuntamos con la etiqueta, esta es la etiqueta que hemos configurado en el IDE de Arduino para leer y escribir los datos en firebase. Ahora adjunte la variable de valor del pulgar al valor para almacenar la etiqueta. Si ha hecho todo correctamente, moviendo el control deslizante, podrá alterar los valores en firebaseDB.
- El.aia (archivo guardado) y.apk (archivo compilado)
Lo que marca el final de nuestro proceso de creación de aplicaciones. Una instantánea de la aplicación de Android que acabamos de crear se muestra a continuación.
Prueba del circuito del sensor táctil basado en ESP32
Para probar el circuito, he conectado una bombilla incandescente en paralelo al ventilador de techo y he alimentado el circuito con un adaptador de 5 V CC, como puede ver en la imagen de arriba, el control deslizante de la aplicación está en bajo, por eso la bombilla está encendida con un brillo bajo. Y el ventilador también gira lentamente.
Más mejoras
Para esta demostración, el circuito está hecho en una PCB hecha a mano, pero el circuito se puede construir fácilmente en una PCB de buena calidad, en mis experimentos, el tamaño de la PCB es realmente un poco debido al tamaño del componente, pero en un entorno de producción, se puede reducir usando componentes SMD baratos, encontré que usar un temporizador 7555 en lugar de un temporizador 555 aumenta el control ampliamente, además, la estabilidad del circuito también aumenta.