31
TUTORIAL Arduino Energy Shield MCI-TU-0003 | REV. 1.0 Ingeniería MCI Ltda. Luis Thayer Ojeda 0115 of. 1105, Providencia, Santiago, Chile. +56 2 23339579 | www.olimex.cl | [email protected]

TUTORIAL - mcielectronics.cl · Arduino, el monitoreo en tiempo real de variables por medio de una red inalámbrica, el monitoreo constante de los valores medidos a través de la

Embed Size (px)

Citation preview

TUTORIAL Arduino Energy Shield

MCI-TU-0003 | REV. 1.0

Ingeniería MCI Ltda.

Luis Thayer Ojeda 0115 of. 1105, Providencia, Santiago, Chile.

+56 2 23339579 | www.olimex.cl | [email protected]

TUTORIAL ARDUINO ENERGY SHIELD Página 2 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

Ingeniería MCI Ltda.

Luis Thayer Ojeda 0115 Oficina 1105

Providencia, Santiago, Chile

www.olimex.cl

[email protected]

Tel: +56 2 23339579

Fax: +56 2 23350589

® MCI Ltda. 2016

Atención: cambios y modificaciones hechas en el dispositivo, no autorizados expresamente por

MCI, anularán su garantía.

Código Manual: MCI–TU-0003

TUTORIAL ARDUINO ENERGY SHIELD Página 3 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

CONTENIDO

CONTENIDO ......................................................................................................................................... 3

DESCRIPCIÓN ....................................................................................................................................... 5

CARACTERÍSTICAS ................................................................................................................................ 5

CONEXIONADO .................................................................................................................................... 6

PROCEDIMIENTO DE ARMADO ........................................................................................................... 7

PROCEDIMIENTO DE EJECUCIÓN DEL EXPERIMENTO ..................................................................... 7

XBEE ................................................................................................................................................. 7

RTC (REAL TIME CLOCK) .................................................................................................................. 8

CONECTAR EL LCD ........................................................................................................................... 8

INSTALAR XCTU ............................................................................................................................... 9

INSTALAR XBEE EXPLORER USB ..................................................................................................... 10

CONFIGURAR LOS MÓDULOS XBEE ............................................................................................... 10

COMO CONFIGURAR LA RED XBEE SERIE 1 ....................................................................................... 11

COMO CONFIGURAR LA RED XBEE SERIE 2 ....................................................................................... 13

PUNTO A MULTIPUNTO: ............................................................................................................... 14

RED BROADCAST ........................................................................................................................... 14

COMO PROGRAMAR LA TARJETA ARDUINO ENERGY SHIELD ............................................................... 15

INSTALAR PLATAFORMA ARDUINO ............................................................................................... 15

BAJAR EL CÓDIGO FUENTE ............................................................................................................ 16

COMPILAR Y CARGAR .................................................................................................................... 16

EXTRA 1: INTRODUCCIÓN A SISTEMAS ELECTROMECÁNICOS .......................................................... 19

DIFERENCIA ENTRE ENERGÍA Y POTENCIA .................................................................................... 19

UNIDADES DE MEDIDA DE LA POTENCIA ...................................................................................... 20

EL TRIÁNGULO DE POTENCIA ........................................................................................................ 21

EL FACTOR DE POTENCIA .............................................................................................................. 22

CÓMO MEDIR EL CONSUMO DE UN EQUIPO USANDO LA TARJETA ARDUINO ENERGY SHIELD ...... 23

CONSOLA SERIAL ........................................................................................................................... 24

TUTORIAL ARDUINO ENERGY SHIELD Página 4 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

GLCD .............................................................................................................................................. 24

CONSOLA XBEE .............................................................................................................................. 25

ANEXO 1 ............................................................................................................................................ 26

COMO MODIFICAR EL CÓDIGO Y ALGUNOS TIPS SOBRE SU IMPLEMENTACIÓN ......................... 26

RELACIÓN DE VUELTAS DEL TRANSFORMADOR DE VOLTAJE (REFERENCIA DE CRUCE POR CERO)

....................................................................................................................................................... 28

NUMERO DE VUELTAS DEL CABLE DE MEDICIÓN DE CORRIENTE................................................. 28

COMO MODIFICAR EL CRUCE POR CERO Y DEJAR EL CHIP EN LAZO ABIERTO ............................. 29

HISTORIA DEL DOCUMENTO ............................................................................................................. 31

TUTORIAL ARDUINO ENERGY SHIELD Página 5 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

DESCRIPCIÓN

La tarjeta Arduino Energy Shield nos permite medir el nivel de consumo eléctrico de cualquier

dispositivo conectado a la red domiciliaria, a través de un sencillo conexionado.

Por medio de esta plataforma se puede monitorear un dispositivo eléctrico y enviar los datos

medidos a través de una interfaz serial y/o comunicar todo por la red Zigbee usando los módulos

XBee Serie 1 (para comunicación punto a punto), o mediante una red distribuida (mesh) usando los

módulos XBee Serie 2.

Además se puede incorporar una pantalla LCD para desplegar las mediciones en forma local y crear

un sistema de medición de características profesionales.

Entre las ventajas que presenta esta tarjeta podemos mencionar: la capacidad de usar las librerías

Arduino, el monitoreo en tiempo real de variables por medio de una red inalámbrica, el monitoreo

constante de los valores medidos a través de la pantalla LCD.

Las limitaciones de esta tarjeta son que no permite el uso de los pines de la tarjeta Arduino de

manera directa, sin embargo es bastante fácil acceder a ellos por medio de un conector

intermedio o a través de cables. Además debemos tener en cuenta que las mediciones realizadas

son referenciales y representan una aproximación de los valores reales que se están midiendo. De

todas formas, los resultados nos entregarán información suficientemente certera para tomar

decisiones y a un costo muy reducido de las alternativas de mercado.

CARACTERÍSTICAS

A continuación se presentarán las características de la tarjeta.

Entrada para sensor de Voltaje

Entrada para sensor de Corriente

Reloj de Tiempo Real

Comunicación inalámbrica

Socket para XBee

TUTORIAL ARDUINO ENERGY SHIELD Página 6 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

CONEXIONADO

El siguiente diagrama describe la tarjeta Arduino Energy Shield de manera esquemática, en ella

indicaremos donde debemos conectar los sensores para realizar las mediciones de consumo.

En cada uno de los sectores marcados, encontramos:

Nº Descripción

1 Arduino Energy Shield

2 Arduino UNO (montada con la anterior)

3 Transformador (220/12 VAC)

4 Sensor de Corriente

5 Enchufe macho (a red eléctrica)

6 Enchufe hembra (dispositivo a medir)

TUTORIAL ARDUINO ENERGY SHIELD Página 7 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

La razón por la cual debemos conectar el circuito a la red eléctrica se debe a que el chip que realiza

las mediciones de energía y cálculos de potencia necesita tener una referencia contra que medir,

para nuestro caso esto se realiza cada vez que la onda eléctrica cruza el cero, con lo cual se miden

los ciclos. Así, para realizar una medición de 50 ciclos (o 1 segundo para una red eléctrica de 50 [Hz]),

se necesitan medir 100 cruces por cero*.

*Recordar que un periodo completo tiene dos cruces por cero, uno que define la parte donde la

onda se encuentra por sobre el cero y el otro que define la parte donde la onda está por debajo del

cero.

PROCEDIMIENTO DE ARMADO

PROCEDIMIENTO DE EJECUCIÓN DEL EXPERIMENTO

Nuestro experimento completo incluye el uso de un GLCD con interfaz serializada y de un módulo

de transmisión inalámbrico XBee, con lo cual podemos realizar un monitoreo local y/o remoto: por

ejemplo podemos centralizar el monitoreo de diversas unidades de congelamiento en una oficina

central, o colocar el visor GLCD de un camión frigorífico en la cabina.

Si se desea pasar directo a la sección de las mediciones, solo debemos ir a la sección “Mediciones”.

XBEE

Si hemos optado por hacer uso de XBee, debemos realizar la configuración de nuestros

dispositivos de comunicación Módulos XBee Serie 1 o XBee Serie 2. Según sea la elección que se

haya hecho se debemos proseguir en la sección que corresponda (las que siguen a continuación).

TUTORIAL ARDUINO ENERGY SHIELD Página 8 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

RTC (REAL TIME CLOCK)

Una parte importante de la operación de la tarjeta, es configurar el RTC. Para esto, debemos ir a la

página de la tarjeta Arduino Energy Shield y descargar el código llamado ‘DemoConfigureRTC’. El

procedimiento de carga es el mismo que usaremos para subir el código del presente tutorial a la

tarjeta Arduino Energy Shield y que se describe a continuación; una vez que tengamos cargado el

código para configurar el RTC se desplegará un menú en la consola serial que nos permitirá ingresar

la fecha y hora.

CONECTAR EL LCD

Para conectar el LCD haremos uso de la interfaz SoftwareSerial de la plataforma Arduino, con lo cual

deberemos conectar nuestra tarjeta Arduino (UNO R3 o Leonardo) hacia el GLCD Backpack, solo

necesitaremos un pin (TX de la tarjeta Arduino conectado al RX del GLCD Backpack). Para el caso de

nuestro ejemplo se ha seleccionado el PIN 8 para este trabajo. Debido a las restricciones propias del

diseño, esta conexión deberemos realizarla por medio de algún cable o algún otro tipo de

intervención (para una instalación permanente es una buena opción soldar un cable al pin, y

recubrirlo con termoretráctil, para mayor resistencia mecánica).

*Como no usaremos el PIN RX en la tarjeta Arduino (el GLCD Backpack no tiene TX), podemos

asignar el valor 0 a ese pin cuando definamos nuestra interfaz SoftwareSerial, con lo cual dejamos

un pin más disponible para otros propósitos.

TUTORIAL ARDUINO ENERGY SHIELD Página 9 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

La relación del transformador es importante al momento de realizar las mediciones, en este caso se

ha usado una conversión de 220/12 [VAC], aunque esto es modificable en el código si se opta por

algún otro tipo de transformador. (Ver sección Anexo 1, al final del presente manual).

Una vez realizados los procedimientos anteriores, continuaremos con la programación de la

tarjeta Arduino Energy Shield, por medio de la plataforma Arduino.

INSTALAR XCTU

La instalación de la plataforma XCTU es bastante simple, si bien puede tomar una cantidad de

tiempo considerable dado que el programa bajará los firmwares actualizados para los diferentes

módems que puede manejar. Una vez realizado el proceso de instalación nos encontraremos con

la siguiente interfaz.

TUTORIAL ARDUINO ENERGY SHIELD Página 10 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

El manejo del programa es muy simple, si bien nos presenta muchas opciones solo debemos usar

una cantidad muy limitada de ellas.

INSTALAR XBEE EXPLORER USB

Antes de continuar, debemos tener instalado el XBee Explorer USB, el cual nos permitirá configurar

y operar el módem XBee desde nuestro PC. Simplemente debemos poner el modem ‘XBee’ en el

‘XBee Explorer USB’ y enchufar el puerto USB a nuestro computador, para las versiones de Windows

Vista y anteriores, los drivers serán instalados de manera automática. Para Windows 7 debemos

realizar el proceso de instalación de los drivers de manera manual desde el administrador de

dispositivo.

CONFIGURAR LOS MÓDULOS XBEE

Una vez realizado el proceso de instalación del ‘XBee Explorer USB’ deberemos abrir nuevamente

el XCTU y veremos como el puerto que acabamos de instalar aparece en la lista de puertos COM.

Para asegurarnos que todo está operativo, podemos presionar el botón “Test/Query” y se

desplegará una pequeña ventana con la información de nuestro módulo XBee.

TUTORIAL ARDUINO ENERGY SHIELD Página 11 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

Para configurar el módulo XBee debemos acceder a la pestaña “Modem Configuration” y presionar

el botón “Read” con lo cual se leerán los parámetros del modem que tenemos conectado. Ahora,

debemos seguir en la sección correspondiente al tipo de módulo que hayamos adquirido (Serie 1 o

Serie 2).

COMO CONFIGURAR LA RED XBEE SERIE 1

En la imagen podemos encontrar la configuración básica de un módulo XBee Serie 1.

En las siguientes tablas, podemos encontrar la descripción de los campos y los valores que

debemos asignar a cada uno de ellos para configurar los XBee Serie 1 en “modo transparente” o

en una conexión punto a punto.

Indicador Nombre

DH Destination Address High

DL Destination Address Low

MY 16-bit Source Address

ID PAN ID

SH Serial Number High

SL Serial Number Low

CE Coordinator Enable

TUTORIAL ARDUINO ENERGY SHIELD Página 12 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

A continuación se muestra un ejemplo de cómo se deben de configurar los dos módulos:

XBee A Valores XBee B Valores

DH 13A200 DH 13A200

DL 4076E267 DL 4076E26E

MY AAAA MY AAAA

SH 13A200 (viene por defecto) SH 13A200 (viene por defecto)

SL 4076E26E (viene por defecto) SL 4076E267 (viene por defecto)

CE 1 -Coordinator CE 0 -End Device Serie 1 Pro

Existen otras formas de configurar una red XBee, la anterior es una forma fácil que solo involucra

dos módems; aunque en todas ellas debemos asegurarnos que se comparta el mismo identificador

de la red (PAN ID), pues este valor nos permite diferenciar redes que se encuentren cercanas y

descarta cualquier recepción que no corresponda con el valor PAN ID de nuestro modem.

Si deseamos conectar 3 nodos, podemos optar por una forma fácil donde todos se escuchen entre

ellos, algo que es similar a una red tipo bus. Para ello, optaremos por hacer un broadcast desde

cada uno de los XBee Serie 1 configurándolos de la siguiente forma:

XBee A XBee B Xbee C (o cualquier otro)

DH 0 DH 0 DH 0

DL FFFF DL FFFF DL FFFF

MY 0 MY 0 MY 0

PAN ID 8888 PAN ID 8888 PAN ID 8888

SH (viene por defecto) SH (viene por defecto) SH (viene por defecto)

SL (viene por defecto) SL (viene por defecto) SL (viene por defecto)

CE 1 -Coordinator CE 0 -End Device CE 0 -End Device

TUTORIAL ARDUINO ENERGY SHIELD Página 13 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

Para usar esta red, debemos hacer un pequeño protocolo por software, que envié un identificador

desde cada módem y que se tomen acciones por cada uno de estos identificadores (y aquellos que

no sean dirigidos al módem involucrado deben ser descartados).

COMO CONFIGURAR LA RED XBEE SERIE 2

En la imagen podemos encontrar la configuración básica de un módulo XBee Serie 2, no hay muchas

diferencias en su forma básica de configuración con la Serie 1, si bien en esta versión encontraremos

más campos y una distribución un poco diferente de los mismos.

En las siguientes tablas, podemos encontrar la descripción de los campos y los valores que

debemos asignar a cada uno para configurar los XBee Serie 2 en “modo transparente” o en una

conexión punto a punto:

TUTORIAL ARDUINO ENERGY SHIELD Página 14 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

Indicador Nombre

DH Destination Address High

DL Destination Address Low

MY 16-bit Network Address

SH Serial Number High

SL Serial Number Low

PAN ID Operating PAN ID

A continuación se muestra un ejemplo de cómo se deben de configurar los dos módulos:

XBee A Valores XBee B Valores

DH 13A200 DH 13A200

DL 4076E267 DL 4076E26E

MY AAAA MY AAAA

PAN ID 234 PAN ID 234

SH 13A200 (viene por defecto) SH 13A200 (viene por defecto)

SL 4076E26E (viene por defecto) SL 4076E267 (viene por defecto)

La ventaja de los módems XBee Serie 2, es que se pueden configurar redes más completas (tipo

mesh). Esto nos brinda la ventaja de poder tener redes que abarquen zonas geográficas mucho

más amplias que con la serie 1, si bien estas redes son mucho más complejas.

Acá se entrega una pequeña descripción de cómo configurar una red XBee Serie 2 con más de dos

dispositivos:

PUNTO A MULTIPUNTO:

Una conexión punto a multipunto es óptima cuando se requiere enviar información de manera

controlada a uno o varios nodos a la misma vez, lo cual lo diferencia de una broadcast. Solo basta

con utilizar el método de una red punto a punto para la transmisión a un nodo, para realizar la

transmisión a varios nodos a la vez solo basta con utilizar como dirección destino 0xFFFF.

Es importante tener en cuenta que se debe configurar el módulo XBee en la misma dirección PAN y

el mismo canal de comunicación: recuerde que la XBee tiene 16 canales de comunicación.

RED BROADCAST

Esta red se diferencia de las demás en que todos los nodos tienen la dirección broadcast configurada

lo que implica que los datos son recibidos hacia y por todos los nodos de la red. La dirección

broadcast es DH=0x00000000 DL=0x0000FFFF.

TUTORIAL ARDUINO ENERGY SHIELD Página 15 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

COMO PROGRAMAR LA TARJETA ARDUINO ENERGY SHIELD

Para programar la nuestra plataforma debemos montar la tarjeta Arduino Energy Shield junto con

la tarjeta Arduino seleccionada. Las plataformas Arduino UNO R3 y Arduino Leonardo tienen los

módulos de programación incorporados en la placa, por lo cual solo debemos conectarla a través

de un Cable USB para su programación.

Es apropiado conectar la tarjeta Energy Shield a una fuente de energía externa, pues el consumo se

energía puede afectar el proceso de programación.

INSTALAR PLATAFORMA ARDUINO

La instalación de la plataforma Arduino es muy sencilla, simplemente debemos bajarlo desde el sitio

de Arduino (acá) y descomprimirlo en una carpeta. Luego ejecuta “Arduino.exe” y ya está operativo!

TUTORIAL ARDUINO ENERGY SHIELD Página 16 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

BAJAR EL CÓDIGO FUENTE

El código fuente de nuestro ejemplo lo podemos obtener desde el sitio de la tarjeta Arduino Energy

Shield. Debemos descomprimirlo en un lugar de nuestra elección para acceder a él en la siguiente

sección.

COMPILAR Y CARGAR

Lo primero, es identificar el modelo de la tarjeta o su compatibilidad, que para nuestro caso es

compatible con “Arduino Uno” o “Arduino Leonardo”. En el caso de Arduino el código fuente está

escrito en lenguaje C, pero de manera simplificada pues solo se deben escribir dos funciones

principales - Setup() y loop() - y si lo deseamos, podemos definir algunas funciones auxiliares, estos

códigos se llaman “Sketch”.

En la página de Arduino podemos encontrar mucha información de cómo utilizar la plataforma,

además de una extensa documentación sobre el uso de las librerías que incorpora la plataforma y

que la convierten en una de las más populares para desarrollo.

Para cargar el código en la tarjeta Arduino Energy Shield debemos seguir el siguiente procedimiento

(mismo proceso a seguir para cargar cualquier código).

Seleccionar el Microcontrolador compatible (Arduino Uno o Arduino Leonardo).

TUTORIAL ARDUINO ENERGY SHIELD Página 17 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

Seleccionar el puerto asignado al Módulo FTDI (esto varía según la propia instalación, el puerto

indicado es solo referencial).

Se puede observar en la parte inferior de la ventana el modelo de tarjeta elegida y el puerto en el

cual se encuentra conectado el módulo FTDI (esto es muy útil cuando estamos trabajando con

diversos modelos de tarjetas).

Una vez hecho esto, abrimos el código que bajamos en la sección previa y deberá verse algo así:

TUTORIAL ARDUINO ENERGY SHIELD Página 18 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

Una vez realizado lo anterior, debemos compilar nuestro proyecto: para ello presionamos el botón

de la parte superior izquierda, marcado en rojo en la siguiente imagen.

TUTORIAL ARDUINO ENERGY SHIELD Página 19 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

Una vez que hayamos completado el proceso de compilación, debemos cargar nuestro proyecto a

la tarjeta Arduino Energy Shield. Junto al botón compilador (al lado derecho) encontraremos el

botón Cargar.

Una vez terminado el proceso, el programa empezará a correr automáticamente.

EXTRA 1: INTRODUCCIÓN A SISTEMAS ELECTROMECÁNICOS

DIFERENCIA ENTRE ENERGÍA Y POTENCIA

Todos los seres vivos y la mayoría de las cosas que usamos en nuestra vida cotidiana requieren

energía. Los aviones, trenes y coches con los que nos desplazamos, la calefacción que hace

habitables nuestras casas en invierno, nuestros cuerpos, incluso sin realizar ninguna actividad, todo

consume energía ya sea en su uso o en su fabricación.

En física, ‘energía' se define como la capacidad para realizar un trabajo. Sin embargo, en la vida de

todos los días, ‘energía' se refiere a un recurso natural -que suele requerir una tecnología asociada

- para extraerla, transformarla, y luego darle un uso. La energía se obtiene a partir de diversas

fuentes. El criterio más habitual para diferenciar los tipos de energía es el carácter limitado o no

renovable – como petróleo, carbón o gas natural-, o si su procedencia es de fuentes renovables -

por ejemplo, solar, eólica, o biomasa.

Pero ¿cuál es la diferencia entre potencia y energía?

Si nos fijamos en aparatos que usamos en nuestra vida diaria como, por ejemplo, una bombilla, un

equipo de aire acondicionado o un secador, todos ellos consumen energía eléctrica y la

TUTORIAL ARDUINO ENERGY SHIELD Página 20 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

transforman en un trabajo útil: iluminar, enfriar o secar. En las etiquetas de estos dispositivos

podemos leer su potencia, normalmente indicada en watt (W), y esto nos indica la velocidad a la

que consumen la energía.

La energía consumida por un equipo se calcula multiplicando la potencia del aparato por el tiempo

de funcionamiento y se mide en watt-hora (Wh).

Por ejemplo, veamos un cálculo del consumo de energía a partir de la potencia: supongamos que

tenemos una lámpara de bajo consumo de 18W de potencia, su consumo a lo largo de un día sería

18W multiplicado por 24 horas, es decir, 432Wh de energía.

La unidad Wh es una unidad artificial, que es equivalente a la unidad de energía Joule.

Manejar este concepto tiene utilidad práctica. A diario nos encontramos con esta diferenciación

entre potencia y energía:

Suele figurar en nuestra cuenta de electricidad cuando se nos indica "potencia

contratada", es aquella cantidad de energía que se nos reserva, es decir, a la que tenemos

derecho por contrato.

Mientras que el "consumo de energía" es aquella que realmente hemos consumido en el

periodo de tiempo al que se refiere el recibo y está controlada por un contador.

UNIDADES DE MEDIDA DE LA POTENCIA

En un circuito AC, la potencia es más eficiente cuando la corriente está en fase con el voltaje.

Sin embargo, la mayoría de los equipos tienden a extraer la corriente con un retardo, desfasándose

con la onda de voltaje. Esto se traduce en que más corriente está siendo consumida para suministrar

la cantidad necesaria de energía para hacer funcionar el equipo. Y cuanta más corriente consume

un equipo con algún retardo, menos eficiente es el equipo.

TUTORIAL ARDUINO ENERGY SHIELD Página 21 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

El factor de potencia es una forma de medir la eficiencia con que la energía eléctrica se utiliza en el

sistema eléctrico de una instalación, a través del análisis de los componentes de energía eléctrica

en un circuito AC. Estos componentes se conocen como potencia real, potencia aparente y potencia

reactiva:

La potencia real (W): la potencia que realiza trabajo y que se utiliza para mover el equipo.

Su unidad de medida es Watts (W).

La potencia aparente (VA): la combinación de la potencia real y potencia reactiva. Su unidad

de medida es “Volt-Ampere” (VA).

Potencia reactiva (var): la potencia producida/consumida que no realiza trabajo, se

requiere para magnetizar y poner en marcha el equipo. Su unidad de medida es “Volt-

Ampere Reactivo” (var).

*Debemos tener en cuenta que lo anterior es una definición simplificada de los conceptos expuestos.

EL TRIÁNGULO DE POTENCIA

Los conceptos de Potencial Real o Activa (P), Potencia Aparente (S) y Potencia Reactiva (Q) se

pueden representar gráficamente como vemos en la figura superior. En general, encontraremos

estos términos referidos con sus letras PSQ en la mayoría de los sistemas de medición que hay en

el mercado.

TUTORIAL ARDUINO ENERGY SHIELD Página 22 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

EL FACTOR DE POTENCIA

Como se mencionó antes, el ángulo de este "triángulo de potencia" indica gráficamente la relación

entre la cantidad de potencia disipada y la cantidad de potencia absorbida / devuelta. También pasa

a ser el mismo ángulo que el de la impedancia del circuito en su representación en coordenadas

polares. Cuando se expresa como una fracción, esta relación entre la potencia real y la potencia

aparente se llama “factor de potencia” para este circuito. Debido a que la verdadera potencia y la

potencia aparente forman los lados adyacentes y la hipotenusa de un triángulo rectángulo,

respectivamente, la relación del factor de potencia es también igual al coseno de ese ángulo de fase.

Utilizando algunos valores de ejemplo:

Debe tenerse en cuenta que el factor de potencia, como todas las mediciones de relación, es una cantidad adimensional. Para un circuito puramente resistivo, el factor de potencia es 1 (perfecto), porque la potencia reactiva es igual a cero. Aquí, el triángulo de poder se vería como una línea horizontal, porque el lado contrario (potencia reactiva) tendría una longitud cero. Para un circuito puramente inductivo, el factor de potencia es cero, porque la potencia activa es igual a cero. Aquí, el triángulo de potencia se vería como una línea vertical, porque el lado adyacente (la potencia activa) tendría longitud cero. Lo mismo podría decirse de un circuito puramente capacitivo. Si no hay componentes disipativos (resistivos) en el circuito, entonces la potencia real debe ser igual a cero, por lo que cualquier potencia en el circuito es puramente reactiva. El triángulo de potencia para un circuito puramente capacitivo de nuevo sería una línea vertical (apuntando hacia abajo en lugar de hacia arriba como lo fue para el circuito puramente inductivo).

TUTORIAL ARDUINO ENERGY SHIELD Página 23 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

El factor de potencia debe ser un aspecto importante a considerar en un circuito de AC, ya que

cualquier factor de potencia menor que 1 significa que el cableado del circuito tiene que transportar

más corriente de lo que sería necesario con cero reactancias en el circuito para suministrar la misma

cantidad de potencia real a la carga resistiva.

Un factor de potencia pobre genera un sistema ineficiente.

Un factor de potencia ineficiente se puede corregir, paradójicamente, mediante la adición de una

nueva carga para el circuito de una cantidad igual y opuesta a la potencia reactiva, para anular los

efectos de la reactancia de la carga. La reactancia inductiva sólo se puede cancelar con una

reactancia capacitiva, por lo que hay que añadir un condensador en paralelo a nuestro circuito como

carga adicional (y viceversa).

El efecto de estas dos reactancias opuestas en paralelo es lograr que la impedancia total del circuito

sea igual a su resistencia total (para hacer que el ángulo de fase sea igual, o al menos cercana a

cero).

CÓMO MEDIR EL CONSUMO DE UN EQUIPO USANDO LA TARJETA ARDUINO ENERGY SHIELD

Una vez que hayamos realizado los pasos previos, y teniendo en cuenta las definiciones del capítulo

anterior, podemos realizar las mediciones usando nuestro circuito.

En este punto, ya deberíamos tener el circuito armado y conectado a la red eléctrica (sin haber

conectado el equipo a medir aun). Esto es de vital importancia pues el chip necesita tener una

referencia para realizar las mediciones (paso por cero de la onda de voltaje).

Si todo marcha en orden, deberíamos tener las mediciones iniciales en cualquiera de nuestras

salidas:

TUTORIAL ARDUINO ENERGY SHIELD Página 24 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

CONSOLA SERIAL

* Se ha detectado un problema intermitente en los controladores de Windows 7, que bloquea la consola serial de Arduino cuando se realiza un cambio en la carga o dispositivo a medir. Si se presenta este comportamiento, se recomienda reiniciar el controlador USB (reconectando) o usar otra consola Serial (como Putty o Hércules).

GLCD

TUTORIAL ARDUINO ENERGY SHIELD Página 25 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

CONSOLA XBEE

Como vemos, en todas nuestras salidas podemos observar los mismos valores iniciales (similares),

en este punto el más importante es el valor del voltaje medido desde la red eléctrica el cual para

Chile debe ser cercano a los 220 [V] con una frecuencia de 50[Hz] o un periodo de 20 [ms].

No debemos olvidar dos factores importantes:

Los valores presentados son referenciales.

Siempre debemos tener conectada la referencia de la red eléctrica.

Ahora, debemos conectar un equipo que consuma energía eléctrica al enchufe hembra disponible

en nuestro circuito (marcado como LOAD).

TUTORIAL ARDUINO ENERGY SHIELD Página 26 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

Hecho lo anterior, ya solo nos queda realizar las mediciones o hacer nuestra instalación del sistema

de monitoreo.

ANEXO 1

COMO MODIFICAR EL CÓDIGO Y ALGUNOS TIPS SOBRE SU IMPLEMENTACIÓN

La siguiente sección describe algunos números mágicos o constantes de proporcionalidad que se

encuentran en la implementación del código. Las constantes de proporcionalidad usadas, son

derivadas de las características propias del chip medidor de energía ADE7753 y de los criterios de

diseño del hardware. En este último se han usado atenuadores para adaptar las entradas esperadas

por el chip, lo cual influye en las mediciones finales realizadas.

*El chip espera que sus entradas análogas no superen los 2.5 [V], por lo cual es imprescindible el

adaptar las entradas desde la red eléctrica.

TUTORIAL ARDUINO ENERGY SHIELD Página 27 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

Para acelerar el procesamiento, se pueden reemplazar estos valores por su equivalente numérico,

sin embargo se puede volver más difícil incorporar modificaciones al circuito (en sus componentes

externas o internas), y dada la ubicación de las mismas en el código su cálculo no afecta la toma de

mediciones.

También, debemos tener presente que en algunos casos será necesario reemplazar o cambiar

algunos valores, derivados de modificaciones hechas al hardware por mejoras o nuevas revisiones.

Los valores derivados del diseño del hardware, los podemos encontrar en:

TUTORIAL ARDUINO ENERGY SHIELD Página 28 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

RELACIÓN DE VUELTAS DEL TRANSFORMADOR DE VOLTAJE (REFERENCIA DE CRUCE

POR CERO)

El transformador que se indica en la configuración de conexión, se utiliza para atenuar la entrada a

la tarjeta Arduino Energy Shield, la cual está diseñada para recibir 12 [V] desde la referencia de

voltaje de la red eléctrica. Internamente se tiene además un atenuador o divisor de tensión de

relación cercana a 1:50 (en la sección anterior se indica donde se encuentra y como modificarlo).

Si se usa un transformador con una relación de transformación diferente a 220:12, se debe modificar

este valor en:

Se debe tener presente que el circuito está diseñado para operar con una entrada en el rango de 12 [V], si se desea usar un transformador de una relación de transformación muy diferente se deberá modificar el hardware (divisor de tensión del canal de voltaje) y reemplazar el nuevo valor en el código fuente (VOLTDIV), esto debido a que el chip no soporta una entrada superior a los 2.5 [V].

NUMERO DE VUELTAS DEL CABLE DE MEDICIÓN DE CORRIENTE

En la configuración de conexionado se indica que se debe hacer pasar un único cable del circuito a

través del sensor de corriente. Por temas de diseño se ha optado por esta solución que es bastante

simple, sin embargo por temas de resistencia mecánica o mejorar la precisión en la medición de la

corriente podemos optar por enrollar el cable con más de una vuelta a través del sensor de

corriente: esto tendrá un impacto directo en la medición realizada pues el sensor de corriente

medirá N veces la corriente que pasa por el cable, siendo N el número de vueltas que se enrolle el

cable en el sensor.

Si se opta por realizar esta conexión, se debe modificar el código para incluir el número de vueltas

o atenuar las mediciones extras realizadas por el sensor de corriente.

TUTORIAL ARDUINO ENERGY SHIELD Página 29 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

Donde N representa el número de vueltas que se utilizó.

Sobre esta situación, también podemos encontrarnos con sensores de corriente que ya incluyen una

relación de atenuación, y que generalmente viene indicada en el mismo sensor. Para incorporar está

atenuación en la medición debemos modificar la misma constante de medición ki, solo que esta vez

tendremos que amplificar por el radio de atenuación señalado.

COMO MODIFICAR EL CRUCE POR CERO Y DEJAR EL CHIP EN LAZO ABIERTO

Una característica que puede ser útil, pero que no está recomendado usar, es quitar el cruce por

cero para realizar mediciones en situaciones muy particulares (por ejemplo, medir una onda

continua):

Sin embargo, debemos tener presente que realizar esto altera el funcionamiento del chip el cual

está diseñado para opera usando la referencia de cruce por cero.

En el datasheet del chip podemos encontrar información sobre este tópico en la sección ‘Zero

Crossing’.

El flag que debemos buscar se llama ZX y define que las funciones de medición esperen el evento

de cruce por cero de la onda de voltaje para realizar la medida.

Las funciones más comunes donde podemos realizar esta modificación se llaman getIRMS() y

getVRMS(). En ambas funciones podemos modificar la línea del ciclo while para que luzca así:

TUTORIAL ARDUINO ENERGY SHIELD Página 30 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

Con esto lograremos que la medición se realice de manera directa (en lazo abierto), y ya no será

obligatorio tener la referencia de la red eléctrica para realizar las mediciones.

TUTORIAL ARDUINO ENERGY SHIELD Página 31 de 31

Luis Thayer Ojeda 0115 Of. 1105, Providencia, Santiago, Chile +56 2 23339579 | www.olimex.cl | [email protected]

HISTORIA DEL DOCUMENTO

Revisión Fecha Editado por Descripción/Cambios

1.0 Año 2013 Cesar Castro Versión inicial del documento