You are on page 1of 38

Tutorial

[Arduino Energy Shield]

Rev. [1.0]

MCI-TU-0003

INGENIERA MCI LTDA.


Luis Thayer Ojeda 0115. Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 2 of 38

TUTORIAL

MCI Ltda.
Luis Thayer Ojeda 0115. Oficina 1105
Santiago, Chile
www.olimex.cl
Tel: +56 2 23339579
Fax: +56 2 23350589

MCI Ltda. 2013


Desarrollado por Cesar Muoz para MCI
Atencin: Cambios y modificaciones hechas en el dispositivo, no autorizados expresamente por
MCI, anularn su garanta.
Cdigo Manual: MCI TU 0003

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 3 of 38

TUTORIAL

Tabla de Contenidos
Descripcin .......................................................................................................................................... 4
Recursos Necesarios............................................................................................................................ 5
Configuraciones y Esquema Elctrico ................................................................................................. 6
Conexionado ................................................................................................................................... 6
Procedimiento de Armado .................................................................................................................. 8
Procedimiento de Ejecucin del experimento ................................................................................ 8
Instalar XCTU ................................................................................................................................. 10
Instalar Xbee Explorer USB............................................................................................................ 10
Configurar los mdulos Xbee ........................................................................................................ 11
Como configurar la red Xbee Serie 1............................................................................................. 13
Como configurar la red Xbee Serie 2............................................................................................. 16
Como programar la tarjeta Arduino Energy Shield ........................................................................... 19
Instalar plataforma Arduino .......................................................................................................... 20
Bajar el Cdigo fuente ................................................................................................................... 21
Compilar y Cargar .......................................................................................................................... 21
Extra 1: Introduccin a Sistemas Electromecnicos...................................................................... 26
Cmo medir el consumo de un equipo usando la tarjeta Arduino Energy Shield ............................ 32
ANEXO 1: ........................................................................................................................................... 35
Como modificar el cdigo y algunos tips sobre su implementacin............................................. 35
Relacin de vueltas del transformador de voltaje (referencia de cruce por cero) ....................... 36
Numero de vueltas del cable de medicin de corriente ............................................................... 37
Como modificar el cruce por cero y dejar el chip en lazo abierto ................................................ 38
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 4 of 38

TUTORIAL

Descripcin
La tarjeta Arduino Energy Shield nos permite medir el nivel de consumo elctrico de cualquier
dispositivo conectado a la red domiciliaria, a travs de un sencillo conexionado.
Por medio de esta plataforma se puede monitorear un dispositivo elctrico y enviar los datos
medidos a travs de una interfaz serial y/o comunicar todo por la red Zigbee usando los mdulos
Xbee Serie 1 (para comunicacin punto a punto), o mediante una red distribuida (mesh) usando
los mdulos Xbee Serie 2.
Adems se puede incorporar una pantalla LCD para desplegar las mediciones en forma local y
crear un sistema de medicin de caractersticas profesionales.
Entre las ventajas que presenta esta tarjeta podemos mencionar: la capacidad de usar las libreras
Arduino, el monitoreo en tiempo real de variables por medio de una red inalmbrica, el monitoreo
constante de los valores medidos a travs 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 fcil acceder a ellos por medio de un conector
intermedio o a travs de cables. Adems debemos tener en cuenta que las mediciones realizadas
son referenciales y representan una aproximacin de los valores reales que se estn midiendo. De
todas formas, los resultados nos entregarn informacin suficientemente certera para tomar
decisiones y a un costo muy reducido de las alternativas de mercado.
La tarjeta Arduino Energy Shield cuenta con las siguientes caractersticas:

Entrada para sensor de Voltaje


Entrada para sensor de Corriente
Reloj de Tiempo Real
Comunicacin inalmbrica
Socket para XBee

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 5 of 38

TUTORIAL

Recursos Necesarios
Arduino Energy Shield
Arduino UNO o Arduino Leonardo
Xbee Explorer USB
2 Xbee Serie 1 o Serie 2
GLCD con interfaz serializada
Programas
Arduino
XCTU1 (www.digi.com ->Support -> XCTU)
Driver FTDI2
Putty o Hrcules (para manejar el puerto serie)
PC O Notebook

Es conveniente asegurarse que la versin que vayamos a instalar sea una reciente o actualizada.

Solo para Windows 7, las versiones anteriores de Windows pueden encontrar el driver de manera
automtica en Windows Update.

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 6 of 38

TUTORIAL

Configuraciones y Esquema Elctrico


En esta seccin describiremos como realizar el conexionado completo.

Conexionado
El siguiente diagrama describe la tarjeta Arduino Energy Shield de manera esquemtica, en ella
indicaremos donde debemos conectar los sensores para realizar las mediciones de consumo.
En cada uno de los sectores marcados, encontramos:

N
1
2
3
4
5
6

Descripcin
Arduino Energy Shield
Arduino UNO (montada con la anterior)
Transformador (220/12 VAC)
Sensor de Corriente
Enchufe macho (a red elctrica)
Enchufe hembra (dispositivo a medir)

1
2

A LA RED ELECTRICA
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 7 of 38

TUTORIAL

La razn por la cual debemos conectar el circuito a la red elctrica se debe a que el chip que
realiza las mediciones de energa y clculos de potencia necesita tener una referencia contra que
medir, para nuestro caso esto se realiza cada vez que la onda elctrica cruza el cero, con lo cual se
miden los ciclos. As, para realizar una medicin de 50 ciclos (o 1 segundo para una red elctrica 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.

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 8 of 38

TUTORIAL

Procedimiento de Armado
Procedimiento de Ejecucin del experimento
Nuestro experimento completo incluye el uso de un GLCD con interfaz serializada y de un mdulo
de transmisin inalmbrico 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 camin frigorfico en la cabina.
Si se desea pasar directo a la seccin de las mediciones, solo debemos ir a la seccin Mediciones.

XBEE
Si hemos optado por hacer uso de Xbee, debemos realizar la configuracin de nuestros
dispositivos de comunicacin Mdulos Xbee Serie 1 o Xbee Serie 2. Segn sea la eleccin que se
haya hecho se debemos proseguir en la seccin que corresponda (las que siguen a continuacin).

RTC (Real Time Clock)


Una parte importante de la operacin de la tarjeta, es configurar el RTC. Para esto, debemos ir a la
pgina de la tarjeta Arduino Energy Shield y descargar el cdigo llamado DemoConfigureRTC. El
procedimiento de carga es el mismo que usaremos para subir el cdigo del presente tutorial a la
tarjeta Arduino Energy Shield y que se describe a continuacin; una vez que tengamos cargado el
cdigo 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 diseo, esta conexin deberemos realizarla por medio de algn cable o algn otro tipo
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 9 of 38

TUTORIAL

de intervencin (para una instalacin permanente es una buena opcin soldar un cable al pin, y
recubrirlo con termoretrctil, para mayor resistencia mecnica).
*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 ms disponible
para otros propsitos.

La relacin del transformador es importante al momento de realizar las mediciones, en este caso
se ha usado una conversin de 220/12 [VAC], aunque esto es modificable en el cdigo si se opta
por algn otro tipo de transformador. (Ver seccin Anexo 1, al final del presente manual).
Una vez realizados los procedimientos anteriores, continuaremos con la programacin de la
tarjeta Arduino Energy Shield, por medio de la plataforma Arduino.

ES IMPORTANTE RECORDAR QUE LAS MEDICIONES REALIZADAS POR LA


TARJETA ARDUINO ENERGY SHIELD SON MEDIDAS REFERENCIALES Y NOS
ENTREGAN UNA BUENA APROXIMACIN A LOS VALORES REALES

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 10 of 38

TUTORIAL

Instalar XCTU
La instalacin 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
mdems que puede manejar. Una vez realizado el proceso de instalacin nos encontraremos con
la siguiente interfaz.

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 mdem 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 sern instalados de manera automtica. Para
Windows 7 debemos realizar el proceso de instalacin de los drivers de manera manual desde el
administrador de dispositivos.

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 11 of 38

TUTORIAL

Configurar los mdulos Xbee


Una vez realizado el proceso de instalacin 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 botn Test/Query y se
desplegar una pequea ventana con la informacin de nuestro mdulo Xbee.

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 12 of 38

TUTORIAL

Para configurar el mdulo Xbee debemos acceder a la pestaa Modem Configuration y presionar
el botn Read con lo cual se leern los parmetros del modem que tenemos conectado.
Ahora, debemos seguir en la seccin correspondiente al tipo de mdulo que hayamos adquirido
(Serie 1 o Serie 2).

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 13 of 38

TUTORIAL

Como configurar la red Xbee Serie 1


En la imagen podemos encontrar la configuracin bsica de un mdulo Xbee Serie 1.

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 14 of 38

TUTORIAL

En las siguientes tablas, podemos encontrar la descripcin 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 conexin punto a punto.
Indicador
DH
DL
MY
ID
SH
SL
CE

Nombre
Destination Address High
Destination Address Low
16-bit Source Address
PAN ID
Serial Number High
Serial Number Low
Coordinator Enable

A continuacin se muestra un ejemplo de cmo se deben de configurar los dos mdulos:


XBee A Valores
DH 13A200
DL 4076E267
MY AAAA
SH 13A200 (viene por defecto)
SL 4076E26E (viene por defecto)
CE 1 -Coordinator

XBee B Valores
DH 13A200
DL 4076E26E
MY AAAA
SH 13A200 (viene por defecto)
SL 4076E267 (viene por defecto)
CE 0 -End Device Serie 1 Pro

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 15 of 38

TUTORIAL

Existen otras formas de configurar una red Xbee, la anterior es una forma fcil que solo involucra
dos mdems; 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 recepcin que no corresponda con el valor PAN ID de nuestro modem.
Si deseamos conectar 3 nodos, podemos optar por una forma fcil 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 configurndolos de la siguiente forma:
XBee A
DH 0
DL FFFF
MY 0
PAN ID 8888
SH (viene por defecto)
SL (viene por defecto)
CE 1 -Coordinator

XBee B
DH 0
DL FFFF
MY 0
PAN ID 8888
SH (viene por defecto)
SL (viene por defecto)
CE 0 -End Device

Xbee C (o cualquier otro)


DH 0
DL FFFF
MY 0
PAN ID 8888
SH (viene por defecto)
SL (viene por defecto)
CE 0 -End Device

Para usar esta red, debemos hacer un pequeo protocolo por software, que envi un identificador
desde cada mdem y que se tomen acciones por cada uno de estos identificadores (y aquellos que
no sean dirigidos al mdem involucrado deben ser descartados).

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 16 of 38

TUTORIAL

Como configurar la red Xbee Serie 2


En la imagen podemos encontrar la configuracin bsica de un mdulo Xbee Serie 2, no hay
muchas diferencias en su forma bsica de configuracin con la Serie 1, si bien en esta versin
encontraremos ms campos y una distribucin un poco diferente de los mismos.

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 17 of 38

TUTORIAL

En las siguientes tablas, podemos encontrar la descripcin de los campos y los valores que
debemos asignar a cada uno para configurar los Xbee Serie 2 en modo transparente o en una
conexin punto a punto
Indicador
DH
DL
MY
SH
SL
PAN ID

Nombre
Destination Address High
Destination Address Low
16-bit Network Address
Serial Number High
Serial Number Low
Operating PAN ID

A continuacin se muestra un ejemplo de cmo se deben de configurar las dos mdulos


XBee A Valores
DH 13A200
DL 4076E267
MY AAAA
PAN ID 234
SH 13A200 (viene por defecto)
SL 4076E26E (viene por defecto)

XBee B Valores
DH 13A200
DL 4076E26E
MY AAAA
PAN ID 234
SH 13A200 (viene por defecto)
SL 4076E267 (viene por defecto)

La ventaja de los mdems Xbee Serie 2, es que se pueden configurar redes ms completas (tipo
mesh). Esto nos brinda la ventaja de poder tener redes que abarquen zonas geogrficas mucho
ms amplias que con la serie 1, si bien estas redes son mucho ms complejas.
Ac se entrega una pequea descripcin de cmo configurar una red Xbee Serie 2 con ms de dos
dispositivos:
Punto a multipunto:
Una conexin punto a multipunto es ptima cuando se requiere enviar informacin de manera
controlada a uno o varios nodos a la misma vez, lo cual lo diferencia de una broadcast.
Solo basta con utilizar el mtodo de una red punto a punto para la transmisin a un nodo, para
realizar la transmisin a varios nodos a la vez solo basta con utilizar como direccin destino
0xFFFF.

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 18 of 38

TUTORIAL

Es importante tener en cuenta que se debe configurar el mdulo Xbee en la misma direccin PAN
y el mismo canal de comunicacin: recuerde que la Xbee tiene 16 canales de comunicacin.
Red Broadcast
Esta red se diferencia de las dems en que todos los nodos tienen la direccin broadcast
configurada lo que implica que los datos son recibidos hacia y por todos los nodos de la red. La
direccin broadcast es DH=0x00000000 DL=0x0000FFFF.

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 19 of 38

TUTORIAL

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
mdulos de programacin incorporados en la placa, por lo cual solo debemos conectarla a travs
de un Cable USB para su programacin.

Es apropiado conectar la tarjeta a una fuente de energa externa, pues el consumo


de la Arduino Energy Shield puede afectar el proceso de programacin.

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 20 of 38

TUTORIAL

Instalar plataforma Arduino


La instalacin 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!

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 21 of 38

TUTORIAL

Bajar el Cdigo fuente


El cdigo fuente de nuestro ejemplo lo podemos obtener desde el sitio de la tarjeta Arduino
Energy Shield. Debemos descomprimirlo en un lugar de nuestra eleccin para acceder a l en la
siguiente seccin.

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 cdigo 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 cdigos se llaman Sketch.
En la pgina de Arduino podemos encontrar mucha informacin de cmo utilizar la plataforma,
adems de una extensa documentacin sobre el uso de las libreras que incorpora la plataforma y
que la convierten en una de las ms populares para desarrollo.

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 22 of 38

TUTORIAL

Para cargar el cdigo en la tarjeta Arduino Energy Shield debemos seguir el siguiente
procedimiento (mismo proceso a seguir para cargar cualquier cdigo).
Seleccionar el Microcontrolador compatible (Arduino Uno o Arduino Leonardo)

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 23 of 38

TUTORIAL

Seleccionar el puerto asignado al Mdulo FTDI (esto vara segn la propia instalacin, 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 mdulo FTDI (esto es muy til cuando estamos trabajando con
diversos modelos de tarjetas).

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 24 of 38

TUTORIAL

Una vez hecho esto, abrimos el cdigo que bajamos en la seccin previa y deber verse algo as:

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 25 of 38

TUTORIAL

Una vez realizado lo anterior, debemos compilar nuestro proyecto: para ello presionamos el botn
de la parte superior izquierda, marcado en rojo en la siguiente imagen.

Una vez que hayamos completado el proceso de compilacin, debemos cargar nuestro proyecto a
la tarjeta Arduino Energy Shield. Junto al botn compilador (al lado derecho) encontraremos el
botn Cargar.
Una vez terminado el proceso, el programa empezar a correr automticamente.

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 26 of 38

TUTORIAL

Extra 1: Introduccin a Sistemas Electromecnicos


Diferencia entre energa y potencia
Todos los seres vivos y la mayora de las cosas que usamos en nuestra vida cotidiana requieren
energa. Los aviones, trenes y coches con los que nos desplazamos, la calefaccin que hace
habitables nuestras casas en invierno, nuestros cuerpos, incluso sin realizar ninguna actividad,
todo consume energa ya sea en su uso o en su fabricacin.

En fsica, energa' se define como la capacidad para realizar un trabajo. Sin embargo, en la vida de
todos los das, energa' se refiere a un recurso natural -que suele requerir una tecnologa
asociada - para extraerla, transformarla, y luego darle un uso.
La energa se obtiene a partir de diversas fuentes. El criterio ms habitual para diferenciar los tipos
de energa es el carcter limitado o no renovable como petrleo, carbn o gas natural-, o si su
procedencia es de fuentes renovables - por ejemplo, solar, elica, o biomasa.
Pero cul es la diferencia entre potencia y energa?
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 energa elctrica y la
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 energa.

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 27 of 38

TUTORIAL

La energa 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 clculo del consumo de energa a partir de la potencia: supongamos que
tenemos una lmpara de bajo consumo de 18 W de potencia, su consumo a lo largo de un da sera
18 W multiplicado por 24 horas, es decir, 432 Wh de energa.
La unidad Wh es una unidad artificial, que es equivalente a la unidad de energa Joule.
Manejar este concepto tiene utilidad prctica
A diario nos encontramos con esta diferenciacin entre potencia y energa:
- Suele figurar en nuestra cuenta de electricidad cuando se nos indica "potencia contratada", es
aquella cantidad de energa que se nos reserva, es decir, a la que tenemos derecho por contrato.
- Mientras que el "consumo de energa" es aquella que realmente hemos consumido en el periodo
de tiempo al que se refiere el recibo y est controlada por un contador.

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 28 of 38

TUTORIAL

Unidades de medida de la Potencia


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

Sin embargo, la mayora de los equipos tienden a extraer la corriente con un retardo,
desfasndose con la onda de voltaje. Esto se traduce en que ms corriente est siendo consumida
para suministrar la cantidad necesaria de energa para hacer funcionar el equipo. Y cuanta ms
corriente consume un equipo con algn retardo, menos eficiente es el equipo.

El factor de potencia es una forma de medir la eficiencia con que la energa elctrica se utiliza en el
sistema elctrico de una instalacin, a travs del anlisis de los componentes de energa elctrica
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 combinacin 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 definicin simplificada de los conceptos expuestos.

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 29 of 38

TUTORIAL

El tringulo de Potencia

Los conceptos de Potencial Real o Activa (P), Potencia Aparente (S) y Potencia Reactiva (Q) se
pueden representar grficamente como vemos en la figura superior.
En general, encontraremos estos trminos referidos con sus letras PSQ en la mayora de los
sistemas de medicin que hay en el mercado.

El Factor de Potencia
Como se mencion antes, el ngulo de este "tringulo de potencia" indica grficamente la relacin
entre la cantidad de potencia disipada y la cantidad de potencia absorbida / devuelta. Tambin
pasa a ser el mismo ngulo que el de la impedancia del circuito en su representacin en
coordenadas polares. Cuando se expresa como una fraccin, esta relacin 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 tringulo
rectngulo, respectivamente, la relacin del factor de potencia es tambin igual al coseno de ese
ngulo de fase.

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 30 of 38

TUTORIAL

Utilizando algunos valores de ejemplo:

Debe tenerse en cuenta que el factor de potencia, como todas las mediciones de relacin, 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 tringulo de poder se vera como una lnea horizontal, porque el
lado contrario (potencia reactiva) tendra una longitud cero.
Para un circuito puramente inductivo, el factor de potencia es cero, porque la potencia activa es
igual a cero. Aqu, el tringulo de potencia se vera como una lnea vertical, porque el lado
adyacente (la potencia activa) tendra longitud cero.
Lo mismo podra 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 tringulo de potencia para un circuito puramente
capacitivo de nuevo sera una lnea vertical (apuntando hacia abajo en lugar de hacia arriba como
lo fue para el circuito puramente inductivo).

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 31 of 38

TUTORIAL

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 ms corriente de lo que sera 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, paradjicamente, mediante la adicin 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 slo se puede cancelar con una
reactancia capacitiva, por lo que hay que aadir 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).

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 32 of 38

TUTORIAL

Cmo 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
captulo anterior, podemos realizar las mediciones usando nuestro circuito.
En este punto, ya deberamos tener el circuito armado y conectado a la red elctrica (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, deberamos tener las mediciones iniciales en cualquiera de nuestras
salidas:

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 Hrcules).

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 33 of 38

TUTORIAL

GLCD

Consola XBEE

++
Como vemos, en todas nuestras salidas podemos observar los mismos valores iniciales (similares),
en este punto el ms importante es el valor del voltaje medido desde la red elctrica el cual para
Chile debe ser cercano a los 220 [V] con una frecuencia de 50[Hz] o un periodo de 20 [ms].
Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 34 of 38

TUTORIAL

No debemos olvidar dos factores importantes:

LOS VALORES PRESENTADOS SON REFERENCIALES


SIEMPRE DEBEMOS TENER CONECTADA LA REFERENCIA DE LA RED ELECTRICA

Ahora, debemos conectar un equipo que consuma energa elctrica al enchufe hembra disponible
en nuestro circuito (marcado como LOAD).

A LA RED ELECTRICA

Hecho lo anterior, ya solo nos queda realizar las mediciones o hacer nuestra instalacin del
sistema de monitoreo !

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 35 of 38

TUTORIAL

ANEXO 1
Como modificar el cdigo y algunos tips sobre su implementacin
La siguiente seccin describe algunos nmeros mgicos o constantes de proporcionalidad que se
encuentran en la implementacin del cdigo. Las constantes de proporcionalidad usadas, son
derivadas de las caractersticas propias del chip medidor de energa ADE7753 y de los criterios de
diseo 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 anlogas no superen los 2.5 [V], por lo cual es imprescindible el adaptar las
entradas desde la red elctrica.

Archivo: DemoTutorial.ino
Lnea 88 -91
kv = (ratioTraf)*VOLTDIV*(0.5/0x2851EC); //(0.5/0x2851EC) From Datasheet
ki = CURRDIV*(0.5/0x17D338); //(0.5/0x17D338) From Datasheet
ke = (10/16.0)*VOLTDIV*CURRDIV/4096.0; // 1/(2^12)
basetime = (1.0*NUMCYC)/100.0; // tiempo por el cual se acumula energia
kt=CLKIN/8; //period register, resolution x.y[us]/LSB -per bit-

Para acelerar el procesamiento, se pueden reemplazar estos valores por su equivalente numrico,
sin embargo se puede volver ms difcil incorporar modificaciones al circuito (en sus componentes
externas o internas), y dada la ubicacin de las mismas en el cdigo su clculo no afecta la toma de
mediciones.
Tambin, 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.

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 36 of 38

TUTORIAL

Los valores derivados del diseo del hardware, los podemos encontrar en
Archivo: ADE7753.h
Lnea: 128-130
#define VOLTDIV 48

//By desing, rel 1/48

#define CURRDIV 50

//By desing, rel 1/48

#define NUMCYC 20

Relacin de vueltas del transformador de voltaje (referencia de cruce


por cero)
El transformador que se indica en la configuracin de conexin, se utiliza para atenuar la entrada a
la tarjeta Arduino Energy Shield, la cual est diseada para recibir 12 [V] desde la referencia de
voltaje de la red elctrica. Internamente se tiene adems un atenuador o divisor de tensin de
relacin cercana a 1:50 (en la seccin anterior se indica donde se encuentra y como modificarlo).
Si se usa un transformador con una relacin de transformacin diferente a 220:12, se debe
modificar este valor en:

Archivo: DemoTutorial.ino
Lnea: 37
#define ratioTraf (220/12)

//18.3

Se debe tener presente que el circuito est diseado para operar con una entrada en el rango de
12 [V], si se desea usar un transformador de una relacin de transformacin muy diferente se
deber modificar el hardware (divisor de tensin del canal de voltaje) y reemplazar el nuevo valor
en el cdigo fuente (VOLTDIV), esto debido a que el chip no soporta una entrada superior a los
2.5[V].

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 37 of 38

TUTORIAL

Numero de vueltas del cable de medicin de corriente


En la configuracin de conexionado se indica que se debe hacer pasar un nico cable del circuito a
travs del sensor de corriente. Por temas de diseo se ha optado por esta solucin que es
bastante simple, sin embargo por temas de resistencia mecnica o mejorar la precisin en la
medicin de la corriente podemos optar por enrollar el cable con ms de una vuelta a travs del
sensor de corriente: esto tendr un impacto directo en la medicin realizada pues el sensor de
corriente medir N veces la corriente que pasa por el cable, siendo N el nmero de vueltas que se
enrolle el cable en el sensor.
Si se opta por realizar esta conexin, se debe modificar el cdigo para incluir el nmero de vueltas
o atenuar las mediciones extras realizadas por el sensor de corriente.

Archivo: DemoTutorial.ino
Lnea: 63

ki

= CURRDIV*(0.5/0x17D338) / N;

Donde N representa el nmero de vueltas que se utiliz.


Sobre esta situacin, tambin podemos encontrarnos con sensores de corriente que ya incluyen
una relacin de atenuacin, y que generalmente viene indicada en el mismo sensor. Para
incorporar est atenuacin en la medicin debemos modificar la misma constante de medicin ki,
solo que esta vez tendremos que amplificar por el radio de atenuacin sealado.

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl

ARDUINO ENERGY SHIELD

Page 38 of 38

TUTORIAL

Como modificar el cruce por cero y dejar el chip en lazo abierto


Una caracterstica 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 diseado para opera usando la referencia de cruce por cero.
En el datasheet del chip podemos encontrar informacin sobre este tpico en la seccin Zero
Crossing.
Archivo: ADE7753.cpp
Lnea: mltiples

El flag que debemos buscar se llama ZX y define que las funciones de medicin esperen el evento
de cruce por cero de la onda de voltaje para realizar la medida.
Las funciones ms comunes donde podemos realizar esta modificacin se llaman getIRMS() y
getVRMS(). En ambas funciones podemos modificar la lnea del ciclo while para que luzca as:
while( ! ( ADE7753::getInterruptStatus() ) )

Con esto lograremos que la medicin se realice de manera directa (en lazo abierto), y ya no ser
obligatorio tener la referencia de la red elctrica para realizar las mediciones.

Luis Thayer Ojeda 0115 Of. 1105 Santiago, Chile Tel. +56 2 23339579 info@olimex.cl

www.olimex.cl