Proyecto IoT de salida de CA inteligente basado en fotones

Los dispositivos de carga con enchufe representan una gran parte del consumo total de energía. Los dispositivos de carga con enchufe son equipos normales de construcción (como luces, lámparas, aires acondicionados, ventiladores, calentadores, etc.) que obtienen energía de un enchufe de CA común. En los Estados Unidos, el consumo de energía de los dispositivos de carga con enchufe representa aproximadamente el 20 por ciento del consumo total de energía. En la India, representa hasta el 40 por ciento del consumo total de energía del país. Con la rápida urbanización en países en desarrollo como India, la proporción de dispositivos de carga con enchufe en el consumo nacional de energía está a punto de aumentar aún más. Estos dispositivos disipan mucha energía en forma de calor y provocan una pérdida de energía considerable. Para ahorrar electricidad y minimizar las pérdidas de energía de los dispositivos de carga con enchufes, las tomas de corriente inteligentes pueden ser una solución. Estos puntos de venta pueden interconectarse aún más con dispositivos electrónicos inteligentes que monitorean el consumo de energía y mantienen un registro en línea. De esta forma, también se puede controlar y reducir la factura de la luz para una mejor optimización.
En este proyecto, se diseña un enchufe inteligente que se puede conectar automáticamente mediante un relé. El enchufe interactúa con un dispositivo Particle Photon IoT, que monitorea el consumo de energía utilizando un sensor de corriente ACS 712 y ayuda a desconectar automáticamente la conexión del enchufe a la red eléctrica cuando el consumo de energía de un dispositivo excede un valor umbral. El Photon también permanece conectado a un servidor web a través de un punto de acceso Wi-Fi y sigue actualizando los datos de consumo de energía en el servidor.
Este enchufe inteligente está construido en Particle Photon. Photon es una placa IOT compatible con Arduino desarrollada y suministrada por Particle (anteriormente Spark). El código del programa en Photon debe escribirse en el IDE web proporcionado en el sitio web oficial de Particle. Antes de eso, un ingeniero de diseño debe crear una cuenta en el sitio web de Particle y registrar la placa Photon en su cuenta. El desarrollador puede registrar varios fotones u otros tableros de partículas en su cuenta de usuario. El desarrollador debe escribir el código en Web IDE y seleccionar una placa para transferir el código a la placa seleccionada en AIR, es decir, a través de Internet. Si la tarjeta IOT seleccionada está encendida y conectada al servicio Particle's Cloud, el código se escribe en la tarjeta a través de Internet y la tarjeta comienza a comportarse de acuerdo con el código transferido.
Photon se conecta a una página web desde donde se puede controlar el dispositivo conectado al enchufe inteligente. La página tiene código PHP y HTML que le permite encender o apagar el dispositivo conectado al enchufe inteligente pasando los comandos apropiados (valores de cadena) al Photon. El consumo de energía del dispositivo conectado al tomacorriente inteligente también se actualiza en la misma página. Al controlar los electrodomésticos conectados al enchufe inteligente desde la página web, los usuarios pueden evitar el desperdicio de energía y realizar un seguimiento del consumo de energía a través de dispositivos de carga enchufable desde cualquier lugar y en cualquier momento.
Protótipo de soquete AC IoT inteligente baseado em fótons
Fig. 1: Prototipo de enchufe de CA IoT inteligente basado en fotones
Componentes necesarios –
Lista de componentes necessários para fazer soquete AC IoT inteligente baseado em fótons
Figura 2: Lista de componentes necesarios para fabricar un enchufe de CA Smart IoT basado en Photon
Diagrama de bloques -
Diagrama de blocos de soquete IoT inteligente baseado em fótons e monitor de energia

Fig. 3: Diagrama de bloques de un monitor de energía y un enchufe IoT inteligente basado en fotones

Conexiones de circuito –
El enchufe inteligente diseñado en este proyecto es un dispositivo IoT. Se construye conectando un relé y un sensor de corriente ACS-712 al Particle Photon. El relé está conectado al fotón mediante un circuito de control de relé, mientras que el sensor de corriente está conectado a uno de los pines de entrada analógica de la placa. El enchufe se conecta a la red eléctrica a través del relé. El Photon tiene un módem Wi-Fi incorporado, por lo que no es necesario conectar ningún escudo ni módem externo.
Este dispositivo IoT basado en Photon mide el consumo de energía del dispositivo conectado al tomacorriente inteligente y publica estos datos en una página web. La página web dispone de controles para encender o apagar el dispositivo para optimizar el consumo energético del dispositivo conectado al enchufe inteligente.
Imagem mostrando conexões de circuito de soquete IoT inteligente baseado em fótons e monitor de energia
Fig. 4: Imagen que muestra las conexiones del circuito del monitor de energía y el enchufe IoT inteligente basado en fotones
El dispositivo IoT inteligente diseñado aquí tiene las siguientes conexiones de circuito:
Particle Photon: Photon es una placa IOT popular disponible en la plataforma Particle. La placa alberga el microcontrolador ARM Cortex M3 de 120 MHz STM32F205 y tiene 1 MB de memoria flash, 128 Kb de RAM y 18 pines de entrada y salida de propósito general (GPIO) de señal mixta con periféricos avanzados. El módulo tiene un chip Wi-Fi Cypress BCM43362 integrado para conectividad Wi-Fi y IEEE 802.11b/g/n de banda única de 2,4 GHz para Bluetooth. La placa está equipada con 2 SPI, un I2S, un I2C, un CAN y una interfaz USB. El Particle Photon tiene la siguiente configuración de pines:
Tabela de listagem de configuração de pinos de partículas fótons
Fig. 5: Tabla que enumera la configuración del pin de fotones de partículas
Tabela de Listagem de Configuração de Pinos de Partículas de Fótons
Fig. 6: Tabla que enumera la configuración del pin de fotones de partículas
Cabe señalar que 3V3 es una salida filtrada utilizada para sensores analógicos. El pin 3V3 se usa aquí para suministrar energía CC al sensor de corriente. Este pin es la salida del regulador integrado y está conectado internamente al VDD del módulo Wi-Fi. Al alimentar el Photon a través del puerto VIN o USB, este pin producirá un voltaje de 3,3 V CC. Este pin también se puede utilizar para alimentar el Photon directamente (entrada máxima de 3,3 V CC). Cuando se utiliza como salida, la carga máxima en 3V3 es de 100 mA.
En el circuito, uno de los pines de entrada analógica del Photon se usa para interactuar con el sensor de corriente y uno de los pines GPIO se usa para interactuar con el circuito de control del relé. El 3V3 y el pin de tierra en la placa se utilizan para alimentar el sensor de corriente.
Para controlar el tablero a través de internet se desarrolló una página web que utiliza Ajax y Jquery para enviar datos al tablero mediante el método HTTP POST. La página web identifica la placa mediante un ID de dispositivo y se conecta al servicio en la nube de Particle a través de un token de acceso.
Circuito controlador de relé: los aparatos de CA no pueden controlarse directamente mediante Particle Photon. Es necesario un circuito de relé para controlar los aparatos de CA a través de Photon. Se utiliza un relé de 12 V 2 A para controlar el enchufe inteligente y encender o apagar los aparatos de CA en este circuito. El relé está conectado al pin D0 del Particle Photon a través del circuito del transistor BC547 conectado en una configuración de emisor común. El cable de fase de alimentación de CA se proporciona en el terminal COM del relé. Cuando el fotón emite una lógica HI ​​al pin interconectado, el punto COM cambia de NC al punto NO, de modo que el relé provoca un cortocircuito en la fase con el cable neutro que conecta la fuente de alimentación del dispositivo. Un LED está conectado en paralelo al circuito de relé con resistencias pull-up en serie. Este LED proporciona una señal visual del estado de encendido/apagado del enchufe.
Diagrama de circuito do driver de relé
Fig. 7: Diagrama del circuito del controlador de relé
Sensor de corriente ACS-712: el Allegro ACS-712 proporciona soluciones rentables y precisas para detectar corriente CA o CC en sistemas industriales, comerciales y de comunicaciones. El paquete del dispositivo permite una fácil implementación por parte del cliente. Las aplicaciones típicas incluyen control de motores, detección y gestión de carga, fuentes de alimentación de modo conmutado y protección contra fallas por sobrecorriente. El dispositivo no está diseñado para aplicaciones automotrices. El módulo ACS-712 está diseñado para usarse fácilmente con microcontroladores como Arduino. Este sensor de corriente está disponible en clasificaciones de corriente de escala completa de 5 A, 20 A y 30 A. Para medir la corriente, el pin de salida del sensor se conecta al pin A0 del fotón de partículas. El módulo de sensor de corriente viene con dos terminales para conectarse a la red eléctrica de CA y tres terminales para interactuar con microcontroladores. Uno de los terminales para la conexión al circuito de CA está conectado al cable vivo de la red eléctrica en el enchufe y el otro terminal está conectado al punto NO del relé. El punto NC del relé está conectado al cable neutro de la red eléctrica en el enchufe. Hay tres terminales para la interfaz del controlador: VCC, GND y Out. El terminal VCC se utiliza para suministrar energía CC al ACS-712 IC. Está conectado al pin 3V3 del Photon. El pin GND está conectado al pin de tierra del Photon (tierra común). El pin de salida del módulo sensor está conectado al pin de entrada analógica A0 del Photon.
Fuente de alimentación: en este circuito, los módulos de fotones de partículas y sensores necesitan una CC regulada de 5 V, mientras que el relé necesita una CC regulada de 12 V para su funcionamiento. La red de CA se utiliza como fuente primaria de energía. La alimentación de red se reduce mediante un transformador y se rectifica mediante un puente rectificador completo. La salida rectificada se regula a 5 V y 12 V mediante circuitos integrados 7805 y 7812. El pin 1 de ambos circuitos integrados reguladores de voltaje está conectado al ánodo de la batería y el pin 2 de ambos circuitos integrados está conectado a tierra. Las respectivas salidas de voltaje se toman del pin 3 de los respectivos circuitos integrados reguladores de voltaje. También se conecta un LED junto con una resistencia pull-up de 10 K Ω entre la tierra común y el pin de salida para obtener una señal visual de la continuidad de la energía.
Cómo funciona el circuito –
Cuando se enciende el Particle Photon, el circuito del relé se configura inicialmente para mantener el enchufe abierto en el circuito de alimentación. Photon se conecta a la conexión Wi-Fi disponible. La configuración de Wi-Fi está codificada en el código Photon. Photon se conecta con su plataforma IoT con la ayuda de la identificación del dispositivo registrado y la clave del token de acceso. El usuario ahora puede operar el enchufe inteligente con la ayuda de una página web.
Esta página también se conecta a la plataforma Particle IoT y envía datos a la placa Photon registrada con la ayuda del ID del dispositivo y el token de acceso. Los datos se envían a Photon a través de un formulario utilizando el método POST de la pila TCP-IP. La página web es un código HTML/PHP simple con botones de opción para encender o apagar el dispositivo. De forma predeterminada, el botón de opción APAGADO está seleccionado. El usuario puede seleccionar el botón de opción ENCENDIDO. Los botones de opción le permiten seleccionar cualquiera de los botones de opción a la vez. Cuando el usuario selecciona el botón de opción ENCENDIDO o APAGADO, el estado se envía como una consulta del método HTTP POST a la URL que también contiene la ID del dispositivo Photon. Luego, el mismo estado se pasa de la plataforma IoT a Photon. El Photon lee el estado de acceso a la plataforma conectándose a un punto de acceso Wi-Fi. Si se lee un comando 'ON', el Photon cambia la salida en D0 a ALTA y enciende el enchufe inteligente. De lo contrario, mantiene la salida en D0 para BAJA, apagando así el enchufe inteligente.
El fotón también continúa leyendo la salida de voltaje analógico del sensor ACS-712. El módulo sensor tiene una salida de voltaje que es linealmente proporcional al consumo de corriente.
Gráfico mostrando a tensão de saída e a respectiva corrente detectada
Fig. 8: Gráfico que muestra el voltaje de salida y la corriente detectada correspondiente
Como se puede ver en el gráfico anterior (tomado de la hoja de datos ACS-712), el sensor genera un voltaje de 2,5 V para 0 A. La salida de voltaje del sensor permanece entre 2,5 V y 0,5 V para una corriente de hasta 20 A en el sentido inverso. dirección mientras permanece entre 2,5 V y 4,5 V para corriente de hasta 20 A en dirección positiva. De este modo, la salida analógica del sensor puede detectar la dirección de la corriente y el consumo de corriente.
En la mayoría de los casos, la expresión de corriente CA tendrá un valor conocido como RMS. Para utilizar el sensor de corriente ACS712 para medir la corriente CA, es importante comprender cómo calcular un valor de corriente RMS a partir de las lecturas del dispositivo. El ACS-712 informa mediciones de corriente con salida de voltaje. Es necesario calcular el voltaje RMS y aplicar algún factor de escala para determinar el consumo de corriente real. La conversión a una onda sinusoidal compensada de cero voltios (como la red eléctrica o la línea eléctrica) se puede realizar de la siguiente manera:
1) Encuentre el voltaje pico a pico (Voltios pico a pico).
2) Divida el voltaje pico a pico por dos para obtener el voltaje pico (Voltios Pico).
3) Multiplique el voltaje máximo por 0,707 para obtener voltios RMS.
Una vez calculado el voltaje RMS, simplemente es cuestión de multiplicarlo por el factor de escala específico del ACS-712 para obtener el valor RMS de la corriente que se está midiendo.
El voltaje analógico detectado en el sensor se convierte en un valor digital mediante el canal ADC integrado del Photon. El Photon tiene canales ADC largos de 12 bits, por lo que el valor digital convertido oscila entre 0 y 4096 para voltajes entre 0 y 5 V. A partir del valor digitalizado se puede derivar la tensión de salida real del sensor, a partir de la cual se puede calcular el valor RMS y, por tanto, el consumo de corriente RMS en amperios. El consumo de energía se puede calcular multiplicando el consumo de corriente en amperios por la tensión de red (220 V). El consumo de energía en el enchufe inteligente se detecta y se envía a la página web. En función del consumo de energía del enchufe inteligente, el usuario puede decidir apagar o mantener el enchufe encendido.
De esta forma, se puede monitorizar online el consumo de energía en el enchufe inteligente y encender o apagar el enchufe desde la página web diseñada. La página web se puede almacenar y cargar desde cualquier dispositivo como PC, computadora portátil o teléfono inteligente.
Guía de programación –
El código Photon comienza declarando las variables para almacenar la lectura de datos del sensor y las variables que representan las conexiones de los pines del circuito del sensor de corriente y relé al Photon.
Captura de tela do código C usado para inicialização no código Photon para Smart Socket
Fig. 9: Captura de pantalla del código C utilizado para la inicialización en el código Photon para Smart Socket
Inicialización del código de fotones para Smart Socket
Se llama a la función de configuración en la que los pines del sensor conectados al fotón de partículas se inicializan como pin de entrada y el pin conectado al relé se configura como pin de salida. La función de configuración se ejecuta solo una vez durante el inicio del código.
Captura de tela do código C usado na função de configuração no código Photon para Smart Socket
Fig. 10: Captura de pantalla del código C utilizado en la función de configuración en el código de fotones para Smart Socket
Función de configuración en código de fotones para Smart Socket
La función de bucle se llama y se itera infinitamente. En la función de bucle, se llama a la función getVPP para leer el valor del sensor. El valor leído del sensor se convierte en voltaje que regresa al circuito principal y se convierte en corriente (en amperios) según ecuaciones estándar.
Captura de tela do código C usado na função Loop no código Photon para Smart Socket
Fig. 11: Captura de pantalla del código C utilizado en la función Loop en el código Photon para Smart Socket
Función de bucle en código de fotones para Smart Socket
El código en bucle rastrea el valor recibido de la página web a través de la plataforma IoT para determinar la conmutación del relé. Consulte el código completo en la sección de códigos y pruébelo.
Este proyecto se desarrolla como una aplicación IoT para energía inteligente. Es un dispositivo de bajo costo que se puede ensamblar e instalar fácilmente en una casa inteligente.

Código fuente del proyecto

 ###



 //Programa para


 // -----------------------------------

 // Dispositivo de monitoreo de energía y enchufe inteligente

 // -----------------------------------


 //Pin de entrada para el sensor de corriente

 const int IP_actual = A0;



 // pin de salida para relé

 int Relé = D0;


 //Pin LED de indicación

 LED interno = D7;


 //Inicializar variable para almacenar valores de varios datos
 
doble voltaje = 0;

 doble VRMS = 0;

 doble amperios RMS = 0;

 doble mVperAmp = 185;


 configuración vacía

 {

 // Aquí está la configuración del pin, que define el modo

 pinMode(Relé, SALIDA);

 pinMode(led, SALIDA);

 pinMode(Current_ip, ENTRADA);


 // También vamos a declarar una función Particle.function para que podamos encender y apagar el LED/Relé desde la nube.

 Particle.function("led",RelayToggle);

 // Esto quiere decir que cuando le pedimos a la nube la función "led", empleará la función ledToggle de esta aplicación.


 // Por si acaso, asegurémonos también de que tanto el relé como el LED estén apagados cuando comencemos:

 escritura digital (relé, BAJO);

 escritura digital (led, BAJO);


 }


 bucle vacío

 {

 // llamando a la función para leer el valor del voltaje

 Voltaje = obtenerVPP;

 //Fórmula para leer el VRMS

 VRMS = (Voltaje/2,0) * 0,707;

 //cubriendo el VRMS a Ampere

 AmperiosRMS = (VRMS * 1000)/mVperAmp;

 //

 Particle.publish("Amperios", String(AmpsRMS));



 retraso(2000);

 }

 
// Ahora vamos a tener una función genial que se llama cuando se envía una solicitud API coincidente

 // Esta es la función ledToggle que registramos anteriormente en la función Particle.function "led".

 int RelayToggle (comando de cadena)

 {

 /* Particle.functions siempre toma una cadena como argumento y devuelve un número entero.

 Dado que podemos pasar una cadena, significa que podemos darle al programa comandos sobre cómo se debe usar la función.

 En este caso, al decir "on" la función se encenderá el relé y el LED y al decir "off" se apagarán el relé y el LED.

 Luego, la función nos devuelve un valor para informarnos qué sucedió.

 En este caso, devolverá 1 para que el relé y el LED se enciendan, 0 para que el relé y el LED se apaguen,

 y -1 si recibimos un comando totalmente falso que no le hizo nada al Relé.

 */


 si (comando=="activado")

 {

 escritura digital (relé, ALTO);

 escritura digital (led, ALTO);

 devolver 1;

 }

 de lo contrario si (comando=="desactivado")

 {

 escritura digital (relé, BAJO);
 
escritura digital (led, BAJO);

 devolver 0;

 }

 demás

 {

 devolver -1;

 }

 }


 flotar getVPP

 {

 resultado flotante;



 int leerValor; // valor leído del sensor

 int valor máximo = 0; // almacena el valor máximo aquí

 int valormínimo = 1024; // almacena el valor mínimo aquí



 uint32_t hora_inicio = milis;



 while((millis -start_time) < 1000) //muestra durante 1 segundo

 {

 readValue = analogRead(Current_ip)/4;


 // ver si tienes un nuevo maxValue

 si (valor leído > valor máximo)

 {

 //Registra el valor máximo del sensor.

 maxValue = leerValor;

 }

 si (valor de lectura <valor mínimo)

 {

 //Registra el valor máximo del sensor.

 Valormínimo = valorLeer;

 }

 }

 // Reste el mínimo del máximo y multiplíquelo con el voltaje de referencia del ADC

 resultado = ((Valormáx - Valormín) * 3,3)/1024,0;



 resultado de devolución;

 }

 ###

Diagramas de circuito

Diagrama de circuito basado en fotones Smart-IoT-AC-Socket

Ficha técnica del proyecto

https://www.engineersgarage.com/wp-content/uploads/2019/10/ACS-712-Datasheet-Particle-Photon-Based-Smart-IoT-Socket.pdf



Vídeo del proyecto

contenido relacionado

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.