miércoles, 6 de abril de 2016

MEDIDA DEL CONSUMO ELÉCTRICO CON ARDUINO Y BLYNK(Parte 1)


El Internet de las Cosas.

Arduino y las plataformas de software libre están permitiendo realizar proyectos electrónicos cada vez más complejos y sofisticados a un coste realmente asequible a nivel de hardware, y gracias a la colaboración y difusión de contenidos, con un menor tiempo de desarrollo. Como parte de un proyecto más complejo de motorización a través de página web, tecnología conocida como ‘Internet de las cosas‘, hemos desarrollado, basándonos en Arduino y la plataforma libre Open Energy Monitor, un monitor de energía eléctrica no invasivo, empleando sensores tipo pinza que se abrazan a la fase a medir.

Descripción.

Vamos a desarrollar un monitor de energía eléctrica o medidor de consumo eléctrico (intensidad y potencia aparente) a tiempo real y a través de Internet. Para ello emplearemos una tarjeta Arduino Uno,tres sensores para medir intensidad eléctrica, que conectaremos a nuestro Arduino mediante una  Ethernet shield para conectarnos a internet y poder enviar las medidas.
Para almacenar datos en la nube necesitamos una plataforma especializada en ‘Internet of Things’ (iot), capaz de recibir y procesar los datos de nuestro nodo en nuestro dispositivo androi de motorización,nosotros utilizaremos BLYNK, que proporciona almacenamiento limitado gratuito en sus servidores, y que permite descargar la plataforma y ejecutarla en su propio servidor.

Medida del consumo eléctrico

Para la motorización de consumo eléctrico uno de los métodos más empleados consiste en emplear sensores no invasivos de tipo pinza, que son básicamente transformadores de corriente (TC), especialmente indicados para medir corriente alterna.


Como cualquier transformador, están constituidos por un bobinado de primario, un bobinado de secundario, y un núcleo magnético.

La relación de transformación es el cociente entre entre el número de vueltas de bobinado entre primario y secundario, y la intensidad que fluye por el secundario es directamente proporcional a la relación de transformación:
Habitualmente en este tipo de sensores, el número de vueltas de bobinado en el secundario es 2000, y el primario está constituido únicamente por la fase a medir, así que la relación de transformación es 1:2000, y la intensidad en el secundario es 1/2000 de la intensidad que fluye por el primario. Para un sensor de 100A como el que hemos adquirido, la intensidad del secundario será 100A/2000 = 0.05A, lo que suele escribirse en la forma 100:0.05.
Tal como hemos visto, el cable de fase a monitorizar constituye el primario del transformador, y al circular por él una corriente alterna, se induce una corriente proporcional en el secundario. Esta señal en forma de intensidad de corriente alterna debe ser acondicionada para poder medirse en una entrada analógica de nuestro Arduino, que es una entrada de tensión variable 0-5 V .

https://es.wikipedia.org/wiki/Transformador

En el mercado nos encontramos una familia de pinzas amperímetras muy económicas y fáciles de utilizar con nuestro Arduino.
Como la   SCT-013-000 con capacidad de 100A y marcado con dos pequeñas flechas rojas el núcleo y el bobinado secundario. Como veis, el núcleo se puede abrir y permite fácilmente introducir el cable sobre el que queremos realizar la medición.
Para nuestro medidor emplearemos tanto el SCT-013-000 como el SCT-013-030. A parte de la diferencia de la corriente que pueden medir, el 000 llega a 100A y el 030 a 30A, tendremos que tener en cuenta que el primero nos va a medir corriente y el segundo voltaje, con lo que a la hora de construir la interfaz con Arduino tendremos que tenerlo en cuenta.
Cuanto menor intensidad tenga la pinza, mayor precisión en las medidas tendremos, así que nos fijaremos en la potencia que tenemos contratada en nuestro domicilio. Por ejemplo, si tenemos un contrato de 3300W, con una piza de 15A (3300W / 220V = 15A) podríamos medir bastante bien el consumo.
Para poder conectar la pinza amperimetrica , a la entrada analógica de nuestro ARDUINO ,encontré en Internet un tutorial que me ayudo de mucho .
Utilizaremos un divisor de voltaje con 2 resistencias para obtener esos 2.5V. En el siguResistive_divideriente diagrama vemos como será la configuración del divisor.
  • Resistencias: R1 = R2 = 10KΩ
  • Vin: 5V del Arduino
  • Gnd: Tierra del Arduino
  • Vout: 2.5V que será la entrada del sensor SCT.

Como ya hemos comentando antes, si tenemos un sensor SCT-013-000 tenemos que añadir una resistencia entre la entrada y salida del sensor para convertir la intensidad a voltaje y poderlo medir con la entrada analógica del Arduino. Esta resistencia, que se suele denominar “burden”, deberá tener un valor de 33Ω. También vamos a necesitar un condensador de 10uF para filtrar el posible ruido y conseguir que la medida obtenida sea “suave”.

Diagrama final de nuestra interfaz con Arduino:




MEDIDA DEL CONSUMO ELÉCTRICO CON ARDUINO Y BLYNK(Parte 2)



MATERIAL NECESARIO.


  1. ARDUINO UNO.
  2. Ethernet shield arduino
  3. Display lcd 16 x 4 caracteres.
  4. Interface i2c, para el display.
  5. Pinzas Amperimetricas SCT-013-000.
  6. Conectores varios.
  7. Fuente de alimentacion 220AC  a un rango de 5 a 12V DC-1Amp

    Pinzas Amperimetricas
    ARDUINO UNO.
    1. Ethernet shield arduino

Display






Interfaz i2c


En mi caso utilice 3 pinzas amperímetricas, para medir , el consumo de diferente circuitos de la casa aparte del consumo total de la misma .

Instalación del display LCD.

El display lo instale en el cuadro de protección general de la casa , ya que tenia sitio para colocarlo.Yo particular mente lo colocaría, en una caja exterior, si no tenemos mucha practica en electricidad, ya que estamos trabajando con tensiones peligrosas para nuestra salud, ante un posible contacto eléctrico, por lo que repito mucho cuidado .
Peligro

Cuadro




En la parte posterior del display ,se coloca la interfaz i2c y se suelda a los pines de la placa.



Aquí dejo un tutorial de YOTUBE, la realización del vídeo , no es mía si no escogido al azar , pero me pareció uno de los mejores, también se explica un poco del código, para programar el LCD.




La conexión al ARDUINO sera como el siguiente diagrama:




Muy importante,sera tener cerca del cuadro eléctrico ,una toma de conexión al ruter de nuestra casa, 

Ruter
Cable Rj45


No es muy importante tenerla , pero si nos serviría de mucho para poder calibrar los sensores, es una pinzas amperimetricas `para poder medir, y contrastar con los que mide nuestros sensores , mas adelante explicaría como calibrar los mismo, en el software ,con el IDE , de ARDUINO.

Y un adaptador de corriente en un rango de 5 a 12 v , yo utilizaría el de 5 voltios que nos sirve para el acondicionador de señal analógica, y alimentar nuestro ARDUINO.


cdp697@hotmail.com

martes, 5 de abril de 2016

MEDIDA DEL CONSUMO ELÉCTRICO CON ARDUINO Y BLYNK(Parte 3)

     

        

Programación.  
                         
Entorno de desarrollo.

Para programar la placa es necesario descargarse de la página web de Arduino el entorno de desarrollo (IDE). Se dispone de versiones para Windows y para MAC, así como las fuentes para compilarlas en LINUX. En la Figura  se muestra el aspecto del entorno de programación. En el caso de disponer de una placa USB es necesario instalar los drivers FTDI. Estos drivers vienen incluidos en el paquete de Arduino mencionado anteriormente. Existen en la web versiones para distintos sistemas operativos.


Durante la carga del programa, en la placa USB, se encenderán los LED que indican que se están enviando y recibiendo información por el puerto serie: TX/RX. Si todo se ha realizado correctamente debe aparecer el mensaje "Done uploading". Ahora tan sólo queda esperar unos 8 segundos aproximadamente para comprobar que todo ha salido bien. Si el led colocado en el pin 13 de la placa se enciende y se apaga cada segundo entonces todo ha ido bien. Por fin tenemos todo listo para empezar a trabajar con la placa Arduino.

Lo primero que tenemos que hacer ,es instalar las librerías en IDE de arduino y algunos enlaces que  nos pueden ayudar :






Analizar el programa.

En esta parte del programa colocaremos nuestra IP, también podemos modificar nuestra MAC, pero si solo trabajas con un arduino conectado a la red se configura sola por defecto.


// Configuracion de IP y de MAc

byte arduino_mac[] = { 0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED };

IPAddress arduino_ip ( 192, 168,   1,  20);
IPAddress dns_ip     ( 8,8,8,8);
IPAddress gateway_ip (192,168,1,1);
IPAddress subnet_mask(255,255,255,0);


Aquí colocaremos el código que nos da Blynk cuando configuremos nuestra App.

char auth[] = "YourAuthToken ";                          //codigo de Blynk al crea nuestro App

En esta parte del código calibramos nuestros sensores, si tenemos unas pinzas amperimetricas, comparándolos valores que nos da con los valores del programa, conectando algún dispositivo que tengas el consumo , como un bombillo , el programa esta desarrollado para tres entradas.

  emon1.current(1, 40.00);              //Calibramos nuestros sensores 
  emon2.current(2, 40.60)
  emon3.current(3, 45.60); 


Esta parte, tiene que ir compaginada con la configuración que desarrollaremos en nuestro proyecto en Blynk.


Blynk
Los pines virtuales  en Blynk ,tiene que coincidir con los pines programados en ARDUINO.


  Blynk.virtualWrite(2,T1);   //+String("W")
  Blynk.virtualWrite(3,T2);
  Blynk.virtualWrite(4,T3);
  
  Blynk.virtualWrite(6,(kwh*1000)+27);
  
  Blynk.virtualWrite(7,Irms1+String("Ap"));
  Blynk.virtualWrite(8,Irms2+String("Ap"));
  Blynk.virtualWrite(1,Irms3+String("Ap"));
  Blynk.virtualWrite(10,sumaA);
  Blynk.virtualWrite(11,totalw);








Los sensores van conectado a la entrada analógica 1,2,3, de nuestro arduino, con el acondicionador de señal que describimos en capítulos anterior.

El programa esta modificado y ampliado , para el calculo de la potencia total , que seria en la entrada analógica 1 , aquí tendremos que colocar el sensor en la linea de alimentación , y concreta mente en el conductor de fase ,de la entrada general de nuestro cuadro eléctrico,
Las otras dos entradas 2, 3 , son para medir el consumo especifico de algún circuito, 

Nos da también el consumo en Kwh.

Aquí dejo el enlace para descargar el programa de Arduino.  



LCD

Cuadro


Cuadro 2








lunes, 4 de abril de 2016

ESTACIÓN METEOROLÓGICA ARDUINO Y BLYNK (PARTE 1)


            
ESTACIÓN METEOROLÓGICA ARDUINO BLYNK (PARTE 2)
ESTACIÓN METEOROLÓGICA ARDUINO BLYNK (PARTE 3)


Estación meteorológica ,creada con Arduino UNO, y Blynk, unos de los mejores servicios de interfaz que hay, para conectar ARDUINO a un dispositivo android.

El Internet de las cosas , se  esta introduciendo mas en el campo de Internet ,un apasionante mundo que me fascina, por lo que me he decidido crear mi propio blog, para dar a conocer mis proyecto, pequeños y altruistas pero de gran funcionalidad.


  

  • Lleva 14 entradas/salidas digitales y 6 de estas pueden utilizarse para salidas PWM.
QUE ES BLYNK:
Blynk es una plataforma con iOS y Android para controlar Arduino, Raspberry Pi y los gustos a través de Internet.
Es un tablero de instrumentos digital donde se puede construir una interfaz gráfica para su proyecto, simplemente arrastrando y soltando los widgets.
Es muy fácil de configurar todo y se le start retoques en menos de 5 minutos.
Blynk no está ligado a alguna junta o blindaje específico. En cambio, es soporte de hardware de su elección. Ya sea que su Arduino o Raspberry Pi está vinculada a la Internet a través de Wi-Fi, Ethernet o este nuevo chip ESP8266, Blynk le conseguirá en línea y listo para el Internet de sus cosas . 


SENSORES:
DTH11
















domingo, 3 de abril de 2016

ESTACIÓN METEOROLÓGICA ARDUINO Y BLYNK (PARTE 2)

                 
   
                   


En esta segunda parte ,pondré  los link de las características de los sensores, utilizados en la estación meteorológica, como también el del código de ARDUINO ,para su descarga desde el Dropbox, con algunas fotos del montaje.






Sensor de húmedad y temperatura, utilizaré para la temperatura 
el sensor de presión atmosférica.


ESTACIÓN METEOROLÓGICA ARDUINO Y BLYNK (PARTE 3)





Espero que las anteriores publicaciones les puedan servir de algo, para poder realizar el proyecto, de todas forma les dejo mi dirección de correo  cdp697@hotmail.com, por si puedo aclarar algo vía email.

En esta tercera parte, hablare de algo que se paso por alto y es una de las cosas mas importante para poder conectar el proyecto a Internet , como el escudo ethernet shield de comunicación para el ARDUINO , 



Aquí dejo un vídeo para que  puedan ver exactamente lo que es un escudo ethernet shield para el arduino, no es un ejemplo de lo que estoy realizando , pero se puede apreciar como es su funcionamiento, el vídeo no es de mi realización, si no escogido al azar en YOTUBE .  




También los dejo un enlace de un vídeo tutorial  YOTUBE de Blynk.







QUE ES ARDUINO.

Arduino es una plataforma de creación de prototipos de código abierto basado en fácil de usar hardware y software.Placas Arduino son capaces de leer las entradas - la luz en un sensor, un dedo sobre un botón o un mensaje de Twitter - y lo convierten en una salida - la activación de un motor, encender un LED, publicar algo en línea. Se puede decir que su tablero qué hacer mediante el envío de un conjunto de instrucciones al microcontrolador en el tablero. Para ello se utiliza el lenguaje de programación de Arduino (basado en el cableado ), y el software de Arduino (IDE) , sobre la base deprocesamiento .
A través de los años Arduino ha sido el cerebro de miles de proyectos, a partir de objetos cotidianos a los instrumentos científicos complejos. Una comunidad mundial de los fabricantes - estudiantes, aficionados, artistas, programadores y profesionales - ha reunido en torno a esta plataforma de código abierto, sus contribuciones han añadido hasta una increíble cantidad de conocimiento accesible que puede ser de gran ayuda para los principiantes como para expertos.
Arduino nació en el Instituto de Diseño de Interacción Ivrea como una herramienta fácil para el prototipado rápido, dirigido a estudiantes sin experiencia en electrónica y programación. Tan pronto como llegó a una comunidad más amplia, la placa Arduino comenzó a cambiar para adaptarse a las nuevas necesidades y retos, la diferenciación de su oferta desde simples tablas de 8 bits a los productos de la IO aplicaciones, la impresión 3D portátil y sistemas empotrados. Todas las placas Arduino son completamente de código abierto, permitiendo a los usuarios crear de forma independiente y, finalmente, adaptarlos a sus necesidades particulares. El software también es de código abierto, y está creciendo a través de las contribuciones de los usuarios en todo el mundo.

¿Por Arduino?

Gracias a su sencilla y accesible experiencia de usuario, Arduino se ha utilizado en miles de diferentes proyectos y aplicaciones. El software de Arduino es fácil de usar para los principiantes, pero lo suficientemente flexible para los usuarios avanzados. Se ejecuta en Mac, Windows y Linux. Los maestros y los estudiantes lo utilizan para construir instrumentos científicos de bajo coste, para demostrar los principios de química y física, o para empezar con la programación y la robótica. Los diseñadores y arquitectos construir prototipos interactivos, músicos y artistas lo utilizan para instalaciones y experimentar con nuevos instrumentos musicales. Los responsables, por supuesto, lo utilizan para construir muchos de los proyectos expuestos en la Maker Faire, por ejemplo. Arduino es una herramienta clave para aprender cosas nuevas. Cualquier persona - niños, aficionados, artistas, programadores - puede comenzar a juguetear simplemente siguiendo la instrucciones paso a paso de un kit, o compartir ideas en línea con otros miembros de la comunidad Arduino.
Hay muchos otros microcontroladores y plataformas de microcontroladores disponibles para computación física.Parallax Basic Stamp, de Netmedia BX-24, Phidgets, Handyboard del MIT, y muchos otros ofrecen una funcionalidad similar. Todas estas herramientas toman los detalles sucios de la programación de microcontroladores y se envuelve en un paquete fácil de usar. Arduino también simplifica el proceso de trabajar con microcontroladores, pero ofrece algunas ventajas para los profesores, estudiantes y aficionados interesados ​​sobre otros sistemas:
  • Asequible - placas Arduino son relativamente baratos en comparación con otras plataformas de microcontroladores.La versión menos cara del módulo Arduino puede ser ensamblado a mano, e incluso los módulos premontados Arduino cuestan menos de $ 50
  • Multiplataforma - El software de Arduino (IDE) se ejecuta en Windows, Macintosh OS X, y Linux. La mayoría de los sistemas de microcontrolador se limitan a Windows.
  • Simple, entorno de programación clara - El software de Arduino (IDE) es fácil de usar para los principiantes, pero lo suficientemente flexible para los usuarios avanzados que aprovechan también. Para los profesores, se basa convenientemente en el entorno de programación Processing, para que los estudiantes aprenden a programar en ese entorno estarán familiarizados con cómo funciona el IDE de Arduino.
  • El código abierto y el software extensible - El software de Arduino se publica como herramientas de código abierto, disponible para la extensión por los programadores experimentados. El idioma se puede ampliar a través de bibliotecas de C ++, y la gente que quiere entender los detalles técnicos pueden dar el salto de Arduino para el lenguaje de programación C AVR en la que se basa. Del mismo modo, puede agregar código AVR-C directamente en sus programas de Arduino, si así lo desea.
  • El código abierto y hardware ampliable - Los planes de las placas Arduino se publican bajo una licencia de Creative Commons, por lo que los diseñadores de circuitos experimentados pueden hacer su propia versión del módulo, ampliándolo y mejorándolo. Incluso los usuarios con poca experiencia pueden construir la versión de tablero del módulo con el fin de entender cómo funciona y ahorrar dinero.


     QUE ES BLYNK (MUY IMPORTANTE )
        http://docs.blynk.cc/ 


DEJO ALGUNA FOTO DEL MONTAJE 










ESQUEMA DE CONEXIONES :


Para conectar el sensor de Co2 ,es preferible utilizar una fuente externa de 5v ,por que el ARDUINO no puede suministras toda la corriente para este dispositivo,