scieee AI-readable full text Open interactive document viewer

Repositorio Institucional de Documentos

Abstract

Proyecto que desarrolla un sistema inalámbrico para la medición inteligente (smartmeter) de la energía consumida en una vivienda, proporcionando en tiempo real las variables que permiten monitorizar los valores de consumo eléctrico, para poder gestionarlo. Además permitirá la desconexión a distancia de los aparatos conectados al sistema. Carruesco Bretos, Néstor; Blasco Marín, Rubén

Full text

DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA Y COMUNICACIONES, ÁREA DE TECNOLOGÍA ELECTRÓNICA PROYECTO FIN DE CARRERA SISTEMA SMARTMETERING CONTROLABLE INALÁMBRICAMENTE (Zpeta Power Energy Monitor 1.0.) AUTOR: NÉSTOR CARRUESCO BRETOS DIRECTOR: RUBÉN BLASCO MARÍN PONENTE : ANTONIO BONO NUEZ INGENIERÍA TÉCNICA INDUSTRIAL, ESPECIALIDAD ELECTRÓNICA INDUSTRIAL CURSO 2011 - 2012 2 3 SISTEMA SMARTMETERING CONTROLABLE INALÁMBRICAMENTE (Zpeta Power Energy Monitor 1.0.) RESUMEN El objetivo de este proyecto fin de carrera (PFC) es desarrollar un sistema inalámbrico para la medición inteligente (smartmeter) de la energía consumida en una vivienda, proporcionando en tiempo real las variables que permiten monitorizar los valores de consumo eléctrico, para poder gestionarlo. Además permitirá la desconexión a distancia de los aparatos conectados al sistema. 4 Tabla de contenido 1. CAPITULO 1 INTRODUCCIÓN .................................................................................... 8 1.1 Marco de desarrollo del proyecto ..................................................................... 8 1.2 Objetivos y alcance del proyecto. ...................................................................... 8 1.3 Estructura de la memoria .................................................................................. 9 2 CAPITULO 2: MEDIDA DEL CONSUMO ELÉCTRICO ................................................ 11 2.1 Necesidad de gestionar activamente la energía .............................................. 11 2.1.1 Tipos de medidores inteligentes domésticos .......................................... 13 2.2 Telegestión para los distribuidores españoles ................................................ 14 2.2.1 Legislación relativa a los contadores electrónicos ................................... 15 2.3 Unidades a medir ............................................................................................. 16 2.3.1 Ondas sinusoidales ................................................................................... 16 2.3.2 Potencia .................................................................................................... 19 2.3.3 Potencia activa .......................................................................................... 19 2.3.4 Potencia reactiva ...................................................................................... 20 2.3.5 Potencia aparente .................................................................................... 20 2.3.6 Factor de potencia FP y cos (ϕ) ................................................................ 20 2.3.7 Métodos numéricos de cálculo ................................................................ 22 3 CAPITULO 3: DISEÑO DEL HARDWARE .................................................................. 24 3.1 Diagrama de Bloques ....................................................................................... 24 3.2 Etapa de medida .............................................................................................. 25 3.2.1 Dispositivos disponibles en el mercado ................................................... 25 3.2.2 Características del Cirrus CS5463 ............................................................. 26 3.3 Acondicionamiento de V (Sensor de tensión) ................................................. 28 3.3.1 Alternativas y motivación de la solución adoptada ................................. 28 3.3.2 Diseño de la etapa de medida de tensión ................................................ 29 3.4 Acondicionamiento de I (Sensor de corriente) ................................................ 30 3.4.1 Alternativas y motivación de la solución .................................................. 30 3.4.2 Diseño del circuito .................................................................................... 31 3.5 Control de la carga ........................................................................................... 33 3.5.1 Alternativas y características .................................................................... 33 3.5.2 Características del EMR seleccionado ...................................................... 34 5 3.5.3 Diseño del circuito .................................................................................... 35 3.6 Módulo de comunicación ................................................................................ 35 3.6.1 Comparativa de las tecnologías inalámbricas .......................................... 36 3.6.2 Módulo ZigBee, Telegesis ETRX3 .............................................................. 36 3.7 Memoria externa ............................................................................................. 37 3.7.1 Características de la memoria 24LC512 ................................................... 38 3.8 Microcontrolador ............................................................................................. 38 3.8.1 Criterios de selección del microcontrolador ............................................ 38 3.8.2 Selección de componentes ....................................................................... 40 3.9 Fuente de alimentación ................................................................................... 41 3.9.1 Prestaciones de la FA ................................................................................ 42 3.9.2 Alternativas posibles ................................................................................ 42 4 CAPITULO 4: DISEÑO DEL FIRMWARE ................................................................... 45 4.1 Planteamiento del diseño ................................................................................ 45 4.1.1 Grafo de estados ....................................................................................... 45 4.1.2 Definición de capas de la estructura firmware ........................................ 51 4.1.3 Librerías y firmware desarrollado ............................................................ 52 4.2 Protocolo de comunicaciones .......................................................................... 60 4.2.1 Comandos implementados ....................................................................... 61 5 CAPITULO 5: DISEÑO DE LA PCB ............................................................................ 64 5.1 Criterios del diseño .......................................................................................... 64 5.2 Costes de fabricación ....................................................................................... 65 5.3 Planos SMARMETER ......................................................................................... 66 6 CAPITULO 6: CONCLUSIONES Y PERSPECTIVAS ..................................................... 69 7 BIBLIOGRAFÍA ......................................................................................................... 71 8 ÍNDICE DE FIGURAS ................................................................................................. 73 9 ÍNDICE DE TABLAS ................................................................................................... 74 ANEXO A Legislación relativa a los contadores electrónicos ................................... 76 Principales características de los contadores según RD 1110/2007 .......................... 78 ANEXO B FUENTE DE ALIMENTACIÓN CAPACITIVA ..................................................... 79 Diseño de la Fuente de Alimentación ......................................................................... 81 ANEXO C Cirrus CS5463 ............................................................................................... 84 6 Métodos numéricos de cálculo .................................................................................. 84 Lista de registros del Cirrus ........................................................................................ 85 ANEXO D Librería ZigBee .......................................................................................... 87 ANEXO E Comandos PC >> Nodo implementados ...................................................... 88 ANEXO F CÓDIGO FIRMWARE ..................................................................................... 95 Código librería Cirrus CS5463 ..................................................................................... 95 Código Funciones Inteligentes .................................................................................. 103 Código protocolo de comunicaciones (CCP) ............................................................ 106 Función principal ...................................................................................................... 108 7 8 1. CAPITULO 1 INTRODUCCIÓN El objetivo de este proyecto fin de carrera (PFC) es desarrollar un sistema inalámbrico para la medición inteligente (smartmeter) de la energía consumida en una vivienda, proporcionando en tiempo real las variables que permiten monitorizar los valores de consumo eléctrico, para poder gestionarlo. Además permitirá la desconexión a distancia de los aparatos conectados al sistema. 1.1 Marco de desarrollo del proyecto El PFC se ha desarrollado bajo la tutorización del grupo de investigación HOWLab (Human Openware Research Lab) (1) de la universidad de Zaragoza, cuyo objetivo principal es la investigación y el desarrollo de tecnologías centradas en las personas y sus entornos. Está encuadrado dentro de las tecnologías de la información y la comunicación para la eficiencia energética y la sostenibilidad, ITCs. El objetivo de ésta línea de investigación, es el desarrollo de nuevos sistemas para la monitorización automática (mediante sensores pequeños y de bajo consumo) del consumo de energía (electricidad, agua,…) y la medida de variables ambientales (temperatura, humedad,…) En el presente PFC se centrará concretamente en la medición del consumo de energía eléctrica, para desarrollar nuevos servicios y dispositivos para la gestión inteligente de la demanda de energía en aplicaciones domésticas. Además, el resultado del mismo se liberará bajo el nombre Zpeta Power Energy Monitor 1.0, junto con el resto de proyectos del “Zeta Project”, como hardware libre por medio de OPENLAB (2) (web para la promoción del hardware y software libre del grupo HOWLab), con la finalidad de que todo el conocimiento desarrollado quede a disposición de la comunidad. 1.2 Objetivos y alcance del proyecto. El objetivo que se plantea en este proyecto, dentro de la línea explicada anteriormente, es el diseño e implementación de un sistema de medición del consumo eléctrico de forma inalámbrica para poder instalarlo en el cuadro general de distribución de la vivienda. Este dispositivo estará integrado dentro del protocolo de comunicación entre nodos ZigBee utilizado por HOWLab. 9 Dado que no se parte de trabajo previo, se definen los siguientes objetivos parciales que deberá cumplir el diseño junto a las especificaciones establecidas: 1) Estudio de las magnitudes a medir y del funcionamiento de un dispositivo smartmeter, tras lo cual, se han fijado los principales requerimientos: • Diseño del sistema para red monofásica AC, de 2 cables (fase y neutro). • Como mínimo debe poder medir la potencia activa, reactiva y el factor de potencia del aparato conectado al sistema. • Las magnitudes medidas deben visualizarse en las unidades que permitan una fácil y rápida interpretación por parte del usuario. • Posibilidad de actuar electrónicamente, sobre el sistema conectado (control ON/OFF) 2) Establecimiento de un diagrama básico de bloques del sistema. 3) Diseño de la fuente de alimentación. • Alimentación directamente de la red eléctrica. 4) Desarrollo del firmware del sistema, principalmente las librerías de control del dispositivo de medida. • La toma de medidas debe realizarse automáticamente, con la periodicidad que fije el usuario. • Debe poder ser controlado inalámbricamente. • Disponibilidad del resto de magnitudes medidas (Vrms, Irms, S,…) bajo demanda. • Deberá incluir la posibilidad de desconexión inalámbrica de la carga conectada al sistema. 5) Montaje y prueba del sistema en placa de inserción. 6) (Opcional) Diseño de la PCB con los requerimientos: • El equipo deberá estar situado en el cuadro de control. • El sistema se encontrará encapsulado en una caja con “carril DIN” • El diseño deberá ser de las menores dimensiones posibles, con el fin de que la caja utilizada sea de un único módulo. 7) (Opcional) Fabricación, montaje y verificación de la PCB. 1.3 Estructura de la memoria En este apartado se va a explicar cómo se ha estructurado la memoria dando una pequeña introducción de lo que se puede encontrar en cada uno de los capítulos y anexos. 16 2.3 Unidades a medir En línea con lo establecido, en éste apartado va se va a explicar de forma básica los parámetros característicos de corriente alterna, necesarios para la medida del consumo eléctrico. Se denomina corriente alterna, CA (AC en inglés, de alternating current) a la corriente eléctrica en la que la magnitud y dirección varían cíclicamente cada periodo T, al contrario que en DC, donde la corriente solo tiene una dirección. La forma de onda de alterna más comúnmente utilizada es la senoidal, puesto que se consigue una transmisión más eficiente de la energía. Fig. 2-3 Circuitos DC (izquierda) y AC (derecha) 2.3.1 Ondas sinusoidales Una señal sinusoidal, f(t), se puede expresar matemáticamente según sus parámetros característicos, como una función del tiempo por medio de la siguiente ecuación: Fig. 2-4 Onda Sinusoidal 0 ( ) sin( )ft A t ωβ =×+ (0.1) 2 2fT π ωπ = = (0.2) Parámetros: Ao es la amplitud (también llamada valor de pico), ω la velocidad angular en radianes/segundo, t el tiempo en segundos, β el ángulo de fase inicial en radianes, f es la frecuencia de la onda, típicamente 50Hz de red y T el periodo (red de 50Hz, 20 ms.) Sin embargo, en AC nos encontramos con el problema de cuantificar lo “grande” o “pequeña” que es una magnitud, al contrario que en DC, donde las magnitudes de V e I son normalmente fijas en todo el circuito. Por ello, para expresar numéricamente en 17 una única magnitud el valor de una onda AC, disponemos de diversos valores significativos, pudiéndose definir para las ondas de tensión y corriente: • Valor de PICO (Ao): Se define como la altura máxima de la onda desde el punto cero, dando lugar al valor de pico o amplitud (Ao). Si la onda que medimos es de tensión tendremos el voltaje de pico (Vp) y si es de intensidad la corriente de pico (Ip) y lo mismo tendremos para el resto de valores significativos. Tabla 2.3 Valor de pico • Valor de Pico a Pico (App): Diferencia entre el pico o máximo y el mínimo. Dado que el valor máximo de una función seno es +1 y el valor mínimo es -1, una señal sinusoidal que oscila entre +Ao y –Ao, el valor de App, será por lo tanto (+Ao)-(-Ao) = 2×Ao. Fig. 2-5 Valor pico a pico • Valor medio (AVG): Valor del área que forma la onda con el eje de abscisas partido por su período, considerada positiva si está por encima del eje de abscisas y negativa si está por debajo. Se suele interpretar como la componente continua DC de la onda sinusoidal. Como en una señal sinusoidal el semiciclo positivo es idéntico al negativo, su valor medio es nulo, como vemos en la figura: Fig. 2-6 Valor medio NULO Por otro lado, refiriendo el valor medio de una onda sinusoidal a un semiciclo (la mitad del periodo) y realizando la integral nos queda la siguiente expresión: 18 0 0 2 1() T AVG A Valor f t dt T π = = ∫ (0.3) • Valor eficaz (RMS): Matemáticamente, el valor eficaz de una magnitud variable con el tiempo, se define como la raíz cuadrada de la media de los cuadrados de los valores instantáneos alcanzados durante un período (en inglés rms, root mean square) y se corresponde con el valor de una corriente continua DC, que al circular por una determinada resistencia produce la misma potencia disipada que dicha corriente alterna AC. El valor eficaz se utiliza habitualmente ya que es la mejor manera de relacionar los valores AC y DC u otros valores AC de diferentes formas de ondas. Fig. 2-7 Misma potencia disipada Matemáticamente se demuestra que para una corriente alterna senoidal el valor eficaz viene dado por la expresión: 2 0 1() 2 T RMS Ap Valor f t dt T = = ∫ (0.4) Y resolviendo la integral (1.4) para una onda de tensión o corriente, nos quedarían las siguientes expresiones: 0,707 22 RMS RMS ip Vp I V Vp= = = × (0.5) Como parámetro interesante, comentar el denominado factor de forma, el cual, no es unívoco a la forma de onda (existen infinitas formas de onda con el mismo factor de forma) y no depende de la frecuencia. Para una onda sinusoidal como la de la Fig. 7: 1 Factor de forma 2 = (0.6) 19 Como resumen, para una onda sinusoidal como la de la figura tendremos: Fig. 2-8 Valores RMS, AVG(1 semiciclo) y Vpp de una senoide 2.3.2 Potencia La potencia eléctrica es la energía proporcionada por una fuente a una carga por unidad de tiempo y se mide en vatios [W] [ ] () () () dW dW dq pt vt it W dt dq dt   = = = ×     (0.7) Como operaremos en régimen permanente sinusoidal, consideraremos una tensión periódica v(t) de amplitud Vp aplicada a una carga y su correspondiente corriente i(t) de amplitud ip y desfase ϕ =− IV : () ( ) () ( ) v t Vp sen t i t ip sen t ω ωφ = × =×+ (0.8) Entonces, la potencia instantánea vendrá dada por la siguiente ecuación: () () () ( ) ( )p t v t i t ip vp sen t sen t ω ωφ = × =×× + (0.9) La frecuencia de p(t) será por tanto el doble de la tensión (ó corriente) y su signo algebraico se interpreta así: • Si p(t)>0 se está entregando potencia al circuito. • Si p(t)<0 se está extrayendo potencia del circuito. 2.3.3 Potencia activa También llamada potencia media es la energía que necesita la carga para realizar un trabajo en una unidad de tiempo y la calculamos como la media aritmética de todos los valores instantáneos de dicha magnitud, medidos en un cierto intervalo de tiempo. Es la potencia que realmente consume el circuito. Unidad de medida, vatios [W]. 20 00 11 () ()() TT P p t dt v t i t dt TT = = ∫∫ (0.10) 1cos cos [ ] 2 ef ef P Vp ip V I W φφ =× ×× = × × (0.11) 2.3.4 Potencia reactiva Se utiliza en la producción de los campos eléctricos y magnéticos en bobinas y condensadores. Esta potencia nunca se convierte a potencia no eléctrica, su unidad es el voltio amperio reactivo [VAR] y se expresa de la siguiente forma: [ ] 1 2 ef ef Q Vp ip sen V I sen VAR φφ =× ×× = × × (0.12) 2.3.5 Potencia aparente Es una magnitud compleja, matemáticamente hablando, resultante de la suma de otras dos componentes vectoriales y se expresa en voltio amperios [VA]. Matemáticamente, la potencia aparente se define mediante la raíz cuadrada de la suma de la potencia activa, P y la reactiva, Q. [ ] 1 2 ef ef S Vp Ip V I VA= ×= × (0.13) 22 S PQ= + (0.14) Todas ellas forman el triángulo de potencias: Fig. 2-9 Triángulo de potencias 2.3.6 Factor de potencia FP y cos (ϕ) El factor de de potencia se define como el cociente (ratio) entre la potencia activa P y la aparente S, por lo que se trata de una magnitud adimensional que varía entre 0 y 1. 0 1() () T RMS RMS v t i t dt PT FP S VI ×× = = × ∫ (0.15) 1) Con carga LINEAL, tenemos operación senoidal por lo que las ondas no se deforman: 21 • Tensión = senoide, () ( )v t Vp sen t ω = × (0.16) • Corriente = senoide, () ( ) Vp i t sen t Z ωφ ω =×+ (0.17) Fig. 2-10 Desfase entre v(t)=A e i(t)=B En estas condiciones, el FP = Cos φ no es más que el desfase entre las ondas de tensión y corriente que circulan por la carga y nos indica como es ésta. Gráficamente lo calculamos mediante coseno del ángulo φ que forman la potencia activa P y la aparente S en el triángulo de potencias Fig. 8. cos cos (V lida en r g. perm. sinusoidal) P Vp ip FP á é S Vp ip φφ ×× = = = × (0.18) Por ejemplo, el caso especial de FP= Cos φ=1 para el cual las formas de V e I son iguales por lo que tenemos carga puramente resistiva. 2) Con cargas NO LINEALES, ondas deformadas y aparecen componentes armónicas, por lo que tendríamos que tener en cuenta todos los armónicos para calcular las potencias y por tanto, el FP. 1 () ( ) nn n vt V V ω ∞ = = ×∑ (0.19) 1 () ( ) nn n it I I ω ∞ = = × ∑ (0.20) cos P FP S φ = ≠ (0.21) El factor de potencia es un aspecto muy importante a considerar ya que cualquier FP<1 implica que el circuito consume mayor corriente, disipando la misma potencia activa en la carga, que otro con FP=1. 22 2.3.7 Métodos numéricos de cálculo A lo largo de este apartado, se ha ido explicando la forma matemática de calcular las magnitudes comentadas. Sin embargo, en este punto se va a explicar, como realizar dichos cálculos mediante un sistema digital. Para ello nos basaremos en el datasheet de un circuito integrado específico de medida, el Cirrus CS5463 (2), donde se encuentra explicado con bastante claridad, aunque obviamente es extrapolable a cualquier otro sistema. 1) 1 0 N n n RMS I IN − = =∑ Cálculo de los valores eficaces (RMS): Los cálculos a realizar por el integrado elegido serán: • Tomar N muestras de los valores instantáneos de tensión y corriente. • Realizar el sumatorio de dichos valores y dividirlos para el número de muestras tomadas N. • Ahora se calcula la raíz cuadra del los valores obtenidos anteriormente y tendremos el valor eficaz Vrms e Irms. Como se ha visto, los cálculos son similares a los que realizaríamos a mano, con la salvedad de que no necesita integrar, al poder dividir entre N muestras, el sumatorio de valores instantáneos de i(t) y v(t). 2) Para hallar las potencias activa y reactiva, los pasos a seguir serán los dos primeros del apartado anterior, ya que al ser el valor medio no hay que realizar la raíz cuadrada. Cálculo de POTENCIAS: Pactive Qavg 1 N n n AVG Q QN = =∑ 23 En el resto de magnitudes, la forma de cálculo será la misma que la utilizada en el cálculo manual y por tanto ya está explicado en puntos anteriores, así que lo resumiremos en la siguiente tabla: S RMS RMS SV I= × PF ACTIVA P PF S = Qtrig 22 Trig Activa Q SP= − 3) Los valores de corriente de pico (Ipeak) y voltaje de pico (Vpeak) serán los valores máximos de corriente y tensión instantáneos respectivamente, detectados durante cada ciclo de cálculo. Cálculo de valores de PICO (Peak): Como se ha comentado al principio de éste apartado, en el datasheet del CS5463 el esquema de cálculo se encuentra explicado muy visualmente o también puede verse un resumen en el anexo C. 24 3 CAPITULO 3: DISEÑO DEL HARDWARE En el presente capítulo, se van a exponer los elementos del hardware del sistema. Partiendo de las especificaciones técnicas del diseño, se detallará el proceso de selección de cada componente, comentando diferentes soluciones analizadas, las motivaciones de cada selección y el cálculo del valor de los componentes necesarios. Para plantear la solución adoptada, se van a considerar las acciones a realizar para cumplir las especificaciones vistas en el apartado 1.2 (Objetivos y alcance del proyecto), teniendo en cuenta que el propósito principal es proporcionar al sistema, la medida en tiempo real de los valores de tensión y corriente del circuito al que lo conectemos. 1) Sensado y acondicionamiento de v(t) e i(t). 2) Cuantificado y procesado de ambas. 3) Control del sistema y transmisión de datos. 3.1 Diagrama de Bloques Fig. 3-1 Diagrama de bloques Se ha dividido el diseño en los bloques mostrados, con el fin de simplificarlo. De forma básica, cuenta con dos bloques que adaptan las magnitudes a medir a valores admisibles para el sistema. También contará con un elemento para el control del estado de la carga y un módulo de comunicaciones para el envío de datos. Por último para la gestión de los diferentes bloques de se dispondrá de un sistema de control y obviamente una fuente de alimentación para el conjunto. 25 3.2 Etapa de medida La primera etapa a considerar será como abordar la medida de la tensión y corriente instantáneas, variables a partir de las cuales se calculan las demás. Para ello se tendrán que realizar las operaciones de acondicionamiento, sensado y la cuantificación (conversión analógico-digital y procesamiento de la señal). Se plantean dos alternativas de diseño base: 1.) Basados en microcontrolador o DSP: Requiere de la conversión A/D de ambas señales y del cálculo matemático de todas las variables que necesitemos conocer. 2.) Basados en circuitos integrados (CI) específicos de medida: Estos equipos incorporan la conversión, muestreo y cálculo de las variables necesarias. Las dos alternativas son válidas, pero los circuitos integrados de medida ofrecen una exactitud mayor que la que se conseguiría al realizar la conversión A/D y el cálculo matemático mediante un microcontrolador/DSP. Además su coste es relativamente bajo (ver tabla 3.1.) y así se consigue simplificar en gran medida, el diseño completo del sistema, por lo que se elige esta solución. 3.2.1 Dispositivos disponibles en el mercado Analizado los CI específicos de medida comerciales, se ha restringido la búsqueda a los que permitan medir una red monofásica convencional de 2 hilos (fase y neutro) y analizado las especificaciones de éstos en base a las requeridas en el proyecto. Dispositivo Fabricante Parámetros medidos Otras Características Coste unitario 1000 unidades ADE7753 Analog Devices P,Q,S,Irms,Vrms Puerto serie Conversión E-F 4.3€ 2,43€ CS5463 Cirrus Logic P,Q,S,FP,Irms,Vr ms Puerto serie Conversión E-F 3,09€ 1,54€ STPM01 ST P,Q,S,Irms,Vrms Conversión E-F Puerto serie Medición trifásica 4.9€ 2,81€ MCP3909 Microchip P,Q Conversión E-F 2,37€ 1,50€ 71M6511 Teridian P,Q,FP,Irms,Vrms Puerto serie Salida LCD Memoria Flash 4.34€ 1,92€ Tabla 3.1. Comparativa CI Nota 1: El precio indicado en la tabla, es el menor comparando entre los distribuidores Farnell (4) y Mouser (5), para una unidad y para cantidades mayores de cara a una fabricación en serie. Nota 2: conversión E-F es una operación que realiza el CI en la que convierte la energía medida en una frecuencia proporcional a dicha energía, y cuyo valor saca por una patilla del mismo. 32 Como se puede ver en la tabla, el ruido respecto a la entrada, será menor con una ganancia mayor, por lo que conviene una ganancia de 50x. Otra ventaja asociada, es un valor menor de Rshunt, consiguiendo así disipación de potencia también menor. El valor de resistencia de Rshunt ahora vendrá determinado por la corriente máxima de pico (Ipeak) que vaya a circular por la carga y el valor máximo de tensión aplicable a las entradas IIN ≅50mVp. Como valor máximo de corriente, seleccionaremos (Irms=16A) ≅ (Ipeak=23A), que es la máxima intensidad admisible para instalaciones interiores según la norma UNE 20.460 -5 -523 y la guía de aplicación ITC-BT-19. Por lo tanto se tendrá que satisfacer la ecuación siguiente, con dichos condicionantes: Vout Ipeak Rshunt≥× >> 50 2,17 23 mVp Rshunt m≤=Ω Hay que tener muy en cuenta que al ser un elemento resistivo el calor generado por efecto Joule podrá ser muy elevado si la I carga es elevada. La potencia nominal de la Rshunt, se seleccionara de por lo menos de doble de la potencia disipada por esta con la máxima corriente continua por la carga. 22 16 2 0,512 Rshunt RMS P I Rshunt A m W= × = × Ω= Por comparar, se va a calcular la Rshunt para ganancia 10x y compararla con la seleccionada. 250 10,87 23 mVp Rshunt m≤=Ω 22 16 10 2,56 Rshunt RMS P I Rshunt A m W= × = × Ω= Nos quedaría una Rshunt = 10m Ω, muy pequeña también y de precio similar. Por el contrario, la potencia disipada es bastante mayor en este caso lo que implica una resistencia más grande y cara, lo cual no nos conviene. Resumiendo, para medir un máximo de 16A RMS se utilizará una Rshunt = 2mΩ, 2W, en concreto la que vemos en la tabla 7, comparada en Farnell (3). Rshunt Potencia disipada Precio unitario Descripción 2 mΩ 0,512 W 0,51 € Resistencia, R002 2W 1% 10 mΩ 2,56 W 1,38 € Resistencia, R01, 1%, 3W Tabla 3.6 Comparativa valores Rshunt Los valores calculados, se han comprobado mediante simulación, utilizando el programa LTspice IV (2), obteniendo valores esperados a la entrada del Cirrus ≅46mV≤ 50mV. 33 Fig. 3-7 Sensor corriente + Relé En la imagen anterior se puede observar la etapa completa, con la carga, Rshunt (R10) y relé en serie, el cual se selecciona en el punto siguiente 3.5, control de carga. Al igual que en el acondicionamiento de tensión, se han seleccionado los valores del filtro de entrada proporcionados por el fabricante, por ser utilizado en las mismas condiciones. 3.5 Control de la carga Otra característica importante es la posibilidad de controlar el estado (conectada o desconectada) de la carga. La ventaja que se busca en este sistema es actuar sobre la misma inalámbricamente, a través del ordenador, pudiendo desconectarla en caso de fallo, sobrecorriente o simplemente cambiar su estado cuando se desee. 3.5.1 Alternativas y características 1) Relé (electro-mechanical relay, EMR) 2) Optoacoplador (solid-state relay, SSR) En principio, podremos utilizar cualquiera de las dos soluciones, aunque se van a analizar esquemáticamente las ventajas y desventajas de ambos tipos de actuador. Básicamente todas ellas provienen de la construcción del EMR, que como su propio nombre indica, dispone de partes mecánicas y el SSR no. Ventajas y Desventajas Ventajas de utilizar EMR Resistencia en conducción considerablemente menor (mΩ) Menor capacidad equivalente en conducción Tipo de fallo (preferible al abrir que al cerrar) PRECIO menor para aplicaciones que requieran tensiones y potencias elevadas. 34 Ventajas de utilizar SSR Mayor velocidad de funcionamiento Mayor vida útil y fiabilidad Mayor tensión de aislamiento E/S Dimensiones considerablemente menores La conmutación no es audible Tabla 3.7 Comparativa EMR - SSR La motivación de la solución adoptada, está basada en la resistencia en conducción y el precio. El EMR tiene una resistencia en conducción en el rango de 100mΩ, mientras que los SSR de 10 Ω. Con lo que gana con diferencia el EMR, lo que garantiza la posibilidad de mayores corrientes por la carga con una menor atenuación de la señal. Respecto al precio, para tensiones y potencias elevadas también es más barato el EMR. • Conclusión: En este caso, como la salida conmutará en pocas ocasiones, estará la mayor parte del tiempo en conducción y tendrá capacidad de manejar corrientes importantes, un EMR será mejor opción. Además para los niveles de potencia exigidos su precio también lo será, por lo cual se elegirá un EMR para controlar la carga. 3.5.2 Características del EMR seleccionado Se ha elegido este modelo en concreto por sus buenas características y disponibilidad, ya que en HOWLab disponían de varios relés de este modelo, aunque no cumple la totalidad de requisitos del proyecto, es válido para un primer prototipo. Esto se debe a que la corriente nominal que puede cortar es de 10A y la Rshunt se ha diseñado para aguantar 16A. Por ello, para futuros desarrollos esta característica debería mejorarse. Otra característica es que tiene que alimentarse a 5VDC, al contrario que la mayor parte de componentes del circuito, pero como se vio en el punto 3.2.2 de características del CS5463, éste también necesita una tensión de 5V, por lo que se encontrará disponible en el circuito. Por otra parte, la resistencia del contacto es baja (100mΩ como máximo) por lo que es adecuado. Para las características completas, ver datasheet (7). El consumo máximo del relé, dada una resistencia de la bobina 69,4Ω y una tensión de alimentación de 5V, será de 72mA o expresado en vatios de 360mW. 35 3.5.3 Diseño del circuito Fig. 3-8 Esquema conexiones Relé Condición de saturación de T1: Ahora se calcula la resistencia necesaria (R12), para asegurar la saturación del transistor T1. Para ello necesitaremos las características del relé y el transistor. 5 () 572 69, 4 CE SAT C VV V I mA Rcoil − = ≅≅ Ω _ Re 3,3 0,6 2,7 uC lay BE B B BB VV VV IR RR −− = = = BC II β ×> >> 250 2,7 9375 72 B V RmA ≅× <=Ω 3.6 Módulo de comunicación Este bloque está compuesto por el módulo ETRX3 de Telegesis. Tiene como misión establecer las comunicaciones entre los diferentes elementos de la red. Una funcionalidad muy importante del sistema es la capacidad de integrarse en el sistema domótico de una vivienda, en concreto en el cuadro general de protección. Por ello se hace necesario que los datos recogidos se envíen a un PC o similar para que puedan ser analizados y esto se realizará de forma inalámbrica. Parámetro Definición 802.15.4 La IEEE 802.15.4-2003 define las especificaciones MAC y físicas PHY usadas en todas las comunicaciones ZigBee dBm Indica el nivel de potencia absoluta en decibelios en relación a un nivel de referencia de 1 mW. 36 3.6.1 Comparativa de las tecnologías inalámbricas Así pues, se van a comparar las principales características de las diferentes tecnologías inalámbricas, basándonos en el estudio “A Comparative Study of Wireless Protocols: Bluetooth, UWB, ZigBee, and Wi-Fi” (8), aunque últimamente están apareciendo nuevas versiones, aportando mejores especificaciones. Estándar Bluetooth ZigBee Wi-Fi Especificación IEEE 802.15.1 802.15.4 802.11 a/b/g Banda de frecuencia 2,4 GHz 868/915MHz 2.4 GHz 2,4 GHz 5 GHz Ratio de datos 1 Mb/s 250 Kb/s 54 Mb/s Rango nominal 1-100 m 10-100 m 100 m Potencia de transmisión 0 - 10 dBm (-25) - 0 dBm 15 - 20 dBm Número máx. de nodos 8 >65000 2007 Tabla 3.8 Comparativa de tecnologías inalámbricas Estándar Bluetooth ZigBee Wi-Fi Dispositivo BlueCore2 Telegesis ETRX3 CX53111 Vcc (alimentación) 1,8V 3V 3,3V Transmisión TX 57 mA 31 mA 219 mA Recepción RX 47 mA 25 mA 215 mA Tabla 3.9 Comparativa de dispositivos En resumen, Bluetooth y ZigBee son adecuados para aplicaciones con un consumo de corriente bajo, por lo que su ratio de datos es menor que en redes Wi-Fi. Por otra parte, los tres estándares tienen protocolos de encriptación de datos y mecanismos de autentificación. Finalmente se ha seleccionado ZigBee por su bajo consumo y porque admite hasta 65000 nodos. Además, dado que el sistema smartmetering tiene que integrarse en la red de HOWLab y utilizan el estándar ZigBee se seleccionará dicho protocolo. Concretamente se utilizará el módulo hardware de Telegesis ETRX3. 3.6.2 Módulo ZigBee, Telegesis ETRX3 Fig. 3-9 Módulo ETRX3 El módulo seleccionado cumple las características deseadas y además ofrece un funcionamiento robusto coexistiendo con redes Wi-Fi y Bluetooth, algo importante dado que el sistema está pensado para ser instalado en viviendas y soporta encriptación (AES-128). 37 Respecto a la alimentación, permite un amplio rango de tensiones (2,1-3,6V), con un consumo, según datos del fabricante, de 25mA en recepción y 31mA en transmisión pero pueden configurarse múltiples modos de bajo consumo < 1uA. Por último comentar que este dispositivo es muy versátil, ya que puede configurarse como dispositivo final, Router o Coordinador. Fig. 3-10 Módulo ZigBee ETRX3 3.7 Memoria externa La mayor parte de microcontroladores únicamente tienen memoria de programa (no volátil) y RAM (volátil). En la primera se almacena el programa a ejecutar y las variables (datos) en RAM, pero no de una forma permanente. Tal y como se verá en el apartado 3.8.1 de selección del microcontrolador y concretamente en la figura 3-15 (Resultados de la aplicación MPS), se ha seleccionado un dispositivo que carece de EEPROM, dado que se ha preferido un microcontrolador con pines remapeables para dar mayor versatilidad futura. De todas formas, habría sido recomendable utilizar una memoria externa, ya que por cuestiones de tamaño, la cantidad de memoria EEPROM que tienen los microcontroladores que disponen de ella es baja ≤1KB. Por tanto, para almacenar los datos recogidos por el Cirrus de forma permanente, en caso de que no hubiera ningún PC almacenando las medidas y que éstas puedan ser descargadas periódicamente, será necesario un módulo externo de memoria. Esta especificación tampoco está implementada en el prototipo pero se incorpora en el diseño de la PCB, para facilitar en gran medida el futuro desarrollo del smartmeter. 38 La única característica necesaria es que la memoria disponga de comunicación y preferiblemente I2C, por lo que se ha seleccionado una memoria del mismo fabricante que el microcontrolador (Microchip), con I2C, que además, tiene desarrolladas sus propias librerías en el software de programación utilizado, CCS, por lo que su implementación será muy sencilla. 3.7.1 Características de la memoria 24LC512 Memoria 24LC512 de tipo E2PROM de 64K x 8 (512 Kbit), con encapsulador SOIC8, compatible con I2C™ y más de un millón de ciclos de escritura/borrado. Otra característica interesante es que se pueden conectar hasta 8 memorias en cascada si fuera necesario, mediante los pines A0-A2. Respecto al consumo, dispone de tecnología CMOS de bajo consumo, 400uA en modo activo y 100nA en standby. Fig. 3-11 Esquema memoria E2PROM 3.8 Microcontrolador Hoy en día existen numerosas compañías que fabrican microcontroladores y todos ellos con similares características. Para este proyecto, el factor determinante a la hora de seleccionar el fabricante del microcontrolador, es la disponibilidad, ya que el grupo de investigación HOWLab, utiliza Microchip y estos han proporcionado los kits de desarrollo y el hardware de programación. Por ejemplo, para el desarrollo del prototipo se ha utilizado el PICKit Demo Board, junto con el programador ICD3. 3.8.1 Criterios de selección del microcontrolador 1) Tipo de aplicación: Dado que el muestreo y cálculo de variables lo realiza el Cirrus, no serán necesarias elevadas potencias de cálculo, por lo que se seleccionará un microcontrolador frente a un DSP o microprocesador. 2) Familia (Número de bits): De acuerdo con lo anterior y teniendo en cuenta que el uC solo se encarga de la gestión del sistema, dado que las operaciones de cálculo las realiza en CS5463, seleccionaremos un uC de 8bits. 39 3) Elementos integrados: • UART para comunicación ZigBee • Módulo SPI para comunicación CS5463 • Módulo I2C para posible (futura) memoria E2PROM • Real Time Clock (RTC) • Módulo Timer • Memoria FLASH • Pines remapeables • Siete pines para control del relé, ZigBee, Cirrus y dos LEDs de indicación. 4) Velocidad y consumo: Respecto a estas características, no se hacen necesarios requerimientos especiales. En cuanto al consumo, aunque el sistema se encuentra conectado a la red, dado que la finalidad es medir el gasto eléctrico con vistas a reducirlo, elegiremos un uC de bajo consumo. 5) Precio: Se pretende diseñar un sistema de bajo coste, por lo que el precio por cada 1000 unidades será un factor muy importante. 6) Disponibilidad y familiaridad: Este ha sido el factor determinante a la hora de seleccionar el fabricante del microcontrolador, ya que como ya se ha comentado, en el grupo de investigación HOWLab, utilizan Microchip. 7) Herramientas de desarrollo Como resumen de las características necesarias, podemos ver la siguiente tabla: Fabricante Microchip Familia 8bits Comunicaciones UART, SPI e I2C Timers 8bits y RTC Pines I/O Remapeables. Siete Tabla 3.10 Resumen de características A partir de lo anterior y utilizando la aplicación web, Microcontroller Product Selector (9), se obtienen los siguientes resultados: 40 Fig. 3-12 Resultados de la aplicación MPS La aplicación proporciona 8 posibles micros y se ha elegido de entre los de mayor memoria de programa (64KB), el más barato, con el fin de permitir la evolución del firmware en futuros desarrollos. Concretamente, el PIC18F26J11, con el encapsulado SOIC28, ya que es más fácil de soldar de cara al diseño de la PCB. 3.8.2 Selección de componentes Fig. 3-13 Esquema PIC18F26J11 Se utilizarán dos condensadores, uno de ellos de desacoplo de la alimentación, el cual seleccionaremos de 100nF y el segundo, C4 (External Filter Capacitor Value) tiene como función fijar la tensión del regulador de voltaje interno cuyo valor típico recomendado en el datasheet es CEFC = 10uF. 41 Fig. 3-14 Real Time Clock Con el fin de permitir la evolución del proyecto, también se ha dotado al sistema de un reloj en tiempo real, con el fin de que sea posible enviar los datos recogidos, junto con la fecha y hora permitiendo una visualización más completa del consumo energético de la vivienda. El reloj utilizado es un cristal SMD de 32.768KHZ, concretamente el CM130 de Citizen America (10). Como valor de los condensadores a colocar, se ha utilizado un valor similar al recomendado por el fabricante. 3.9 Fuente de alimentación Dado que se ha elegido desde el principio, por cuestiones de tamaño y coste, el diseño sin transformadores y por tanto sin aislamiento, no tendría sentido seleccionarlo para la fuente de alimentación (FA), por lo que en principio se buscará un tipo de fuente sin transformador. Ahora se comentarán las prestaciones de la fuente y las diferentes alternativas. Características de corriente de salida: Primero se ha calculado el consumo estimado de todos los componentes del sistema, para a partir de ahí, diseñar la fuente de alimentación. CONSUMOS Componente Modo ACTIVO BAJO consumo Microcontrolador 23 mA 2 mA y menor Cirrus CS5463 2,8 mA 1,93 mA Módulo ZigBee 35,5 mA 1,5 uA Relé 72 mA (ON) 0 mA (OFF) Memoria 400 uA 100 nA LEDs indicadores 20 mA 20 mA TOTAL ≅ 158 mA ≅ 24 mA Tabla 3.11 Consumos del sistema 48 registros correspondientes y para ello se utiliza el protocolo SPI. Entonces el primer paso será sincronizar la comunicación uC >> Cirrus, para después escribir los parámetros de configuración (ganancias, HPF,…) tal y como se muestra en el diagrama siguiente: Fig. 4-4 Diagrama bloques inicialización Cirrus • Inicializar MEMORIA (24LC512): Como se comentó en el apartado 3.7. de selección de la memoria externa, ésta ya dispone de librerías (drivers) desarrollados por CCS, por lo que para iniciarla, únicamente habrá que llamar a la función init_ext_eeprom() antes de llamar a cualquier otra función de la misma. 2) Estado ACTIVO: En este estado, se procede a la lectura y envío de datos periódicamente vía ZigBee, o a la lectura del registro pedido vía mensaje. Para ello serán necesarias las funciones explicadas en el punto 4.1.3.1 Librerías Cirrus CS5463. 49 Fig. 4-5 Estado ACTIVO 3) Estado INACTIVO: En este estado se comprueba que ha pasado un tiempo fijado y que el Cirrus está operando correctamente, para proceder a la lectura de la potencia consumida. Para comprobar el correcto funcionamiento del Cirrus, se testea un bit específico del registro CS_STATUS del mismo y si no está activo, se resetea. Fig. 4-6 Estado INACTIVO 4) TRATAMIENTO MENSAJES: Al recibir un mensaje, estando en el estado inactivo, se salta al de tratamiento de mensajes, en el cual se descodifica el mismo según el protocolo de comunicación utilizado (ver apartado 4.2) 50 Mediante un mensaje enviado desde el PC, se podrán modificar todos los registros, además de llamar a todas las funciones programadas, gracias a la función siguiente del CCP: void SelectFunction (void) This function checks if the incoming message is correct You have to use the command at+ucastb:XX,000D6F0000354A07 XX=Number in hex of data bytes to be sent Then you send the data in HEX. Example: 10F10001. Tabla 4.1 Tratamiento de mensajes, CCP. Fig. 4-7 Diagrama flujo interrupción ZigBee En el bloque “EXECUTE COMMAND” se ejecutará el comando indicado en la variable “COMMAND” tal y como se verá en el apartado 4.2.1, de comandos implementados. 51 4.1.2 Definición de capas de la estructura firmware Observando, el diagrama de bloques del sistema, se ve que se tienen cinco elementos hardware a controlar (Cirrus, microcontrolador, ZigBee, relé y memoria), aunque estos dos últimos no requieren de una librería concreta. En el caso del relé, porque únicamente es necesario controlar un pin del micro y para la memoria porque el software utilizado (CCS), ya dispone de librerías específicas para el mismo. Por tanto, se realizará una primera división principal del software del sistema, en los cuatro elementos comentados y en base a esto, se establece una estructura de capas del firmware. Fig. 4-8 Bloques hardware a controlar La finalidad de estructurar el código en capas es posibilitar la reutilización del firmware desarrollado y que además, tenga mayor legibilidad. Para este proyecto, se ha optado por definir tres capas, según la posibilidad futura de reutilización del software. Por otra parte, comentar que cada bloque constituye un módulo formado por los archivos (.c y .h), los cuales incluirán el siguiente código: En los ficheros .h En los ficheros .c - Definición de variables globales - Definición de constantes - Prototipado de funciones - Enlaces a otros ficheros (#includes) - Definición de funciones - Código del programa Tabla 4.2 Contenido ficheros programación Fig. 4-9 Capas firmware 52 • Capa 0: Es capa inicial y por tanto más próxima al hardware y reutilizable. En ella se ha implementado un .c y .h por cada dispositivo a controlar, el ZigBee y el CS_5463. • Capa 1: Esta capa se apoyará en las funciones de la capa anterior y proporcionará datos a las de la capa superior. Incluye el módulo CCP (Cluster- Based Communication Protocol de HOWLab), con las funciones que implementan el protocolo de comunicaciones en sus dos versiones, nodo >> PC y viceversa y funciones inteligentes que convierten el valor medido por el Cirrus (capa 0), a decimal, como se verá en el apartado 4.1.3.3. • Capa 2: La última capa es la que gestiona la funcionalidad del dispositivo apoyándose en las anteriores. Incluye la configuración del microcontrolador y el diagrama de flujo del sistema. Main (Programa principal) 4.1.3 Librerías y firmware desarrollado En este apartado se comentan de forma general, todas las librerías y firmware utilizado en el proyecto y se explican en detalle las desarrolladas por el autor. 4.1.3.1 Librerías Cirrus CS5463 Para el presente proyecto se han desarrollado al completo las librerías del Cirrus CS5463, la cual incluye todas las funciones básicas que permiten configurar y medir con el dispositivo. Por ello el código es completamente reutilizable para otros proyectos que utilicen dicho dispositivo. En la imagen siguiente, podemos ver una lista con todas las funciones implementadas, con su correspondiente descripción (en inglés), generada mediante el programa Doxygen (16) aunque adaptada a mano para este apartado. Este programa lee las descripciones escritas por el programador y genera un archivo HTML muy completo con ellas. void cs_readRegister (unsigned int8 reg, unsigned int8 page) Reads the register indicated in reg. Parameters: reg Indicates the register to read from (It´s the address) page Indicates the page of the register Returns: Data read from register See page 24 and 25 of CS5463 datasheet with the whole list of registers 53 void cs_writeRegister (unsigned int8 reg, int8 page, unsigned int32 cs_Data_to_write) Writes data to the indicated register. Parameters: reg Indicates the register to write page Indicates the page of the register cs_Data_to_write Four bytes array with the data to write in the register See pag 24 and 25 of datasheet for the whole list of registers and the next pages for the complete explanation of them. void cs_SoftwareReset (void) This function makes a reset of the device. After a Software Reset, the internal registers will be reset to their default values. It is a command. See page 23 of CS5463 datasheet. void cs_PowerState (unsigned int8 cs_PowerMode) For manage Cirrus power-down states. In stand-by state only the A/D clock generators and the command decoder, is turned on and in the sleep state all circuitry only the command decoder is turned on, so initialization is slower. Parameters: cs_PowerMode Indicates the power state mode of CS5463 01 = Halt and enter stand-by power saving state. 10 = Halt and enter sleep power saving state. It is a command. See pag 23 of CS5463 datasheet. void cs_Initialization (void) Writes Cirrus configuration registers: CS_CONFIGURATION, CS_CYCLE_COUNT, CS_OPERATION_MODE and CS_CONTROL. See CS5463 datasheet for more information. void cs_WriteCalibrationData (void) Writes Cirrus register that include calibration data: CS_CURRENT_DC_OFFSET (Don´t use if IHPF is enabled) CS_VOLTAGE_DC_OFFSET (Don´t use if VHPF is enabled) CS_CURRENT_GAIN, CS_VOLTAGE_GAIN CS_CURRENT_AC_OFFSET, CS_VOLTAGE_AC_OFFSET and CS_POWER_OFFSET See CS5463 datasheet for more information. void cs_StartConversions (void) It is a command that initiates acquiring measurements and calculating results for Cirrus continuous computation cycles. See pag 23 of CS5463 datasheet. 54 void cs_ReadInstantaneousMeasures (void) Reads instantaneous measures registers I(t), V(t), P(t), Q(t). Returns: Data read from next registers CS_INSTANTANEOUS_CURRENT, CS_INSTANTANEOUS_VOLTAGE, CS_INSTANTANEOUS_POWER, CS_INST_REACTIVE_POWER void cs_ReadRMSmeasures (void) Reads RMS measures register (Irms, Vrms) Returns: Data read from next registers CS_RMS_CURRENT, CS_RMS_VOLTAGE See pag 28 of CS5463 datasheet. void cs_ReadPeakMeasures (void) Reads PEAK measures registers (I_peak, V_peak) Returns: Data read from next registers CS_PEAK_CURRENT, CS_PEAK_VOLTAGE. See pag 31 of CS5463 datasheet. void cs_ReadAverageMeasures (void) Reads average (AVG) measures registers (P_avg, Q_avg,S) Returns: Data read from next registers CS_ACTIVE_POWER, CS_AVERAGE_REACTIVE_POWER, CS_APPARENT_POWER, CS_POWER_FACTOR See pages 28, 31 and 32 of CS5463 datasheet. void cs_ReadCalibrations (void) Reads all the registers with calibrations information (calibration registers ) and configuration registers, too. So this function shows all the registers included in cs_Initialization and cs_WriteCalibrationData in order to check if they are correct. See the function above or Cirrus datasheet. void cs_SystemCalibration (unsigned int8 cs_channel) Performs the designated calibration. See page 25 of datasheet and it is necessary to read pages 37-39, too. Current and Voltage channel: DC offset, DC gain, AC offset and AC gain. void cs_OffsetCalibration (void) Performs the necessary actions for an offset calibration. See page 37 of CS5463 datasheet. void cs_GainCalibration (void) Performs the necessary actions for a gain calibration. 55 See page 38 of CS5463 datasheet void cs_5463Status (void) Checks the following STATUS BITS and send a message if anyone is activated. DRDY, CRDY, IOR, VOR See STATUS_REGISTER in page 29 of CS5463 datasheet. Tabla 4.3 Líbrerias CS5463 Ahora se muestra el diagrama de flujo de las principales funciones implementadas, para ilustrar como se han realizado: 1) cs_readRegister: Esta función permite leer cualquier registro del Cirrus, pasándole como argumento el número de registro y la página en que se encuentra. La lista de registros con el número que tienen asociado, puede consultarse en el anexo C. Fig. 4-10 Diagrama flujo cs_readRegister 56 2) Comandos de lectura de medidas: COMANDOS CS5463 Lectura medidas (Print live info) cs_ReadInstantaneousMeasures I, V, P, Q, S, FP Lee los valores instantáneos cs_ReadRMSmeasures Irms, Vrms Lee los valores RMS cs_ReadPeakMeasures Ipeak, Vpeak Lee los valores de PICO cs_ReadAverageMeasures Pavg, Qavg Lee los valores de MEDIOS Tabla 4.4 Comandos Lectura medidas Como último ejemplo de las funciones implementadas en el Cirrus, se va a mostrar el diagrama de flujo general para la lectura de cualquiera de las variables medidas por el dispositivo. Al llamar a alguna de las funciones de la tabla 4, el bucle a realizar para cada registro leído será el mostrado en la figura siguiente: Fig. 4-11 Diagrama de flujo para leer una variable Como se puede observar, las funciones para leer variables, se apoyan en las tres funciones básicas más importantes, cs_readRegister que ya ha sido explicada, DataConversion y ZB_SendToSinkD que serán comentadas posteriormente. 4.1.3.2 Librerías ZigBee Estas son las funciones desarrolladas por el grupo de investigación HOWLab, las cuales fueron suministradas para facilitar el manejo del dispositivo ZigBee de Telegesis, ya que implementa los comandos que proporciona el fabricante para manejarlo. Para profundizar en los comandos AT, ver la guía de Telegesis incluida en la documentación (15). En este apartado solo se muestran tres de las funciones de la librería, que son las utilizadas en este proyecto, para manejar el módulo ZigBee. Para ver la lista completa, ver la tabla completa en el anexos E o la documentación generada por Doxygen. 57 void ZB_SendToSinkD (int8 nDatos, int8 *Datos) Send data in binary to the Sink. Parameters: nDatos number of data to send *Datos pointer to a byte array with the data to send void ZB_StartUpNet (void) Connect the Zigbee device to the preconfigured network. void ZB_TGBootloader (void) Function to configure the Zigbee device the first time. Today the content of the register must be change by hand in order to fix the correct parameters Tabla 4.5 Librerías ZigBee 4.1.3.3 Firmware Funciones Inteligentes Estas funciones facilitan la lectura de los registros que contienen variables medidas o calculadas del Cirrus. Mediante las tres primeras, se visualizan en pantalla los valores, en hexadecimal, de todos los registros de la capa indicada. Sin embargo mediante las otras dos, DataConversion y SignedDataConversion, se posibilita la conversión de hexadecimal a decimal, permitiendo una rápida comprensión de las variables leídas. void cs_ReadPage0 (void) Reads all Page 0 registers See page 24 of CS5463 datasheet for the complete list. void cs_ReadPage1 (void) Reads all Page 1 registers. See pag 25 of CS5463 datasheet for the complete list. void cs_ReadPage3 (void) Reads Page 3 registers It is a register. See pag 25 of CS5463 datasheet for the complete list. void DataConversion (unsigned int8 DatosVAR[3], unsigned int8 Gain) Converts the UNSIGNED registers value in a decimal number Parameters: DatosVAR[3] This variable contains the data read with cs_readRegister Gain Number for select if the measure is V, I,… void SignedDataConversion (int8 DatosVAR[3], unsigned int8 Gain) Converts the SIGNED registers value in a decimal number The same parameters that the function just above. Tabla 4.6 Librerías funciones inteligentes 64 5 CAPITULO 5: DISEÑO DE LA PCB En este capítulo se va a detallar el proceso de diseño de la PCB (Printed Circuit Board) o circuito impreso. Primero se fijarán los criterios del diseño, en base a la normativa, para luego ir explicando todo el proceso necesario. También se incluirán los esquemáticos e imágenes de la placa, junto con el coste de fabricación para una unidad y la estimación del precio para 100 y 1000 unidades en base a precios de proveedor. 5.1 Criterios del diseño Para establecer los criterios de diseño de la PCB se ha consultado la norma UNE 20- 621-84/3, dando como resultado las siguientes consideraciones: PISTA ANCHURA PISTAS (mm) SEPARACIÓN PISTAS (mm) RED (Fase y Neutro) ≥2 ≥2 Pistas de medición corriente ≥4,5 ≥4,5 Alimentaciones (5V y 3V3) ≥0,5 ≥0,5 Resto pistas (Regla general) ≥0,3 ≥0,3 Tabla 5.1 Normas del diseño Como se puede observar, por lo general, la separación entre conductores es la misma que su anchura y estas reglas deben respetarse siempre en la medida de lo posible. Para las pistas que transportan la corriente a medir, se ha consultado una tabla de la norma UNE que relaciona la anchura de la pista en función de la corriente, mediante unas curvas que dependen del incremento de Tª. Así, para una corriente de 10A será necesaria una pista de aproximadamente 4mm de anchura. Por otro lado, también se han seguido los siguientes principios de diseño: • Identificar pistas críticas o sensibles • Rutear primero Vcc, GND y pistas críticas. • Intentar reducir bucles de circulación de corriente. • Utilizar planos de masa. • Realizar giros en las pista a 45º. • Separar tierras digitales y analógicas. • No trazar pistas cerca de los bordes de la placa. • Poner los condensadores lo más cerca posible del integrado que alimentan. 65 5.2 Costes de fabricación En este apartado se detallará el coste de fabricación para 1 unidad y una estimación de precio de escala para 10, 100 y 1000 unidades en base a precios de proveedor (Farnell). Por otra parte estaría el coste de la PCB, el cual se desconoce aunque se estima para menos de 10 unidades de 150€, para 100 unidades de 50€ y por último para más de 1000 de 20€. Esquema Qty 1 TOTAL1 10 TOTAL10 100 TOTAL100 1000 TOTAL1000 Fuse 1 0,188 0,188 0,180 1,80 0,171 17,1 0,168 168,0 Fuseholder 2 0,097 0,194 0,097 1,94 0,097 19,4 0,097 194,0 VR1 1 0,31 0,310 0,31 3,10 0,186 18,6 0,146 146,0 FA Traco 1 15,6 15,600 14,08 140,80 13,380 1338,0 13,38 13380,0 Relay 1 0,77 0,770 0,770 7,70 0,770 77,0 0,770 770,0 Cirrus 1 5,57 5,570 3,95 39,50 3,220 322,0 3,220 3220,0 XTAL1 1 0,54 0,540 0,46 4,60 0,34 34,00 0,3 300,0 C5 3 0,035 0,105 0,035 1,05 0,033 9,90 0,031 93,0 R7 1 0,097 0,097 0,077 0,77 0,038 3,80 0,019 19,0 Rshunt 1 0,51 0,510 0,42 4,20 0,35 35,0 0,31 310,0 R4,R9,R11,R12 4 0,019 0,076 0,018 0,72 0,016 6,4 0,015 60,0 C1,C3,C8,C10 4 0,047 0,188 0,047 1,88 0,025 10,0 0,012 48,0 C2,C9 2 0,017 0,034 0,017 0,34 0,015 3,0 0,011 22,0 R3 1 0,024 0,024 0,024 0,24 0,024 2,4 0,024 24,0 R2,R13,14,R15 4 0,023 0,092 0,023 0,92 0,023 9,2 0,023 92,0 Diodo 1 0,046 0,046 0,041 0,41 0,038 3,8 0,03 30,0 Transistor 1 0,04 0,040 0,031 0,31 0,021 2,1 0,017 17,0 Memoria 1 2,63 2,630 1,61 16,10 1,500 150,0 1,500 1500,0 R5,R6 2 0,097 0,194 0,097 1,94 0,038 7,6 0,019 38,0 Micro 1 3,63 3,630 3,14 31,40 2,740 274,0 2,740 2740,0 R1,R8 2 0,022 0,044 0,018 0,36 0,016 3,2 0,009 18,0 C4 1 0,21 0,210 0,21 2,10 0,130 13,0 0,130 130,0 ZigBee 1 20,66 20,660 20,230 202,30 20,230 2023,0 20,230 20230,0 CM130 1 1,72 1,720 1,27 12,70 1,080 108,0 1,080 1080,0 C11,C12 2 0,036 0,072 0,036 0,72 0,018 3,6 0,009 18,0 Conectores 2 0,27 0,540 0,198 3,96 0,157 31,4 0,116 232,0 Caja 1 6,5 6,500 6,07 60,70 5,130 513,0 5,130 5130,0 TOTAL 60,584 542,56 5.038,5 50.009,0 1 Unidad 60,584 54,256 50,385 50,009 Fig. 5-1 Lista componentes PCB Nota: Todos los valores indicados en la tabla, están proporcionados en Euros (€). Como se puede observar, el precio no varía demasiado al elevar el número de unidades a fabricar y es prácticamente el mismo de 100 a 1000 unidades. Esto se debe a que el precio de los componentes más caros no varía o muy poco. Por ello de cara a una fabricación en seria debería reemplazarse la fuente de alimentación, por la capacitiva (la cual ya está diseñada y puede consultarse en el anexo B) y buscar mejores precios para el ZigBee. 66 5.3 Planos SMARMETER Fig. 5-2 Esquemático 67 • Planos PCB Se incluyen los planos de pistas y serigrafía de las caras TOP y BOTTOM, si se desea consultar el resto de planos, ver la documentación del anexo F. Fig. 5-3 PCB cara TOP (Escala 1:1) Como se puede observar, la morfología de la caja (raíl DIN, ver figura 5-7) ha condicionado totalmente el diseño de la PCB. Para empezar, la mayor parte de componentes se ha situado en la cara TOP, si tenían cierta altura debían de situarse en ella. Además por la disposición de las ranuras, los conectores se han situado en un extremo y los LEDs de verificación en el otro. Por otro lado se ha intentado separar las partes de alta tensión (izquierda) del resto y utilizar anchuras y separaciones acorde a lo expuesto en la tabla 31 Normas del diseño. Fig. 5-4 Plano de serigrafía cara TOP (Escala 1:1) 68 Fig. 5-5 PCB cara BOTTOM (Escala 1:1) Fig. 5-6 Plano de serigrafía cara BOTTOM (Escala 1:1) Esta es la caja escogida, fabricada por Candem-Boss enclosures (17) y cuyo datasheet está incluido, igual que el resto en la documentación proporcionada. Fig. 5-7 Caja DIN seleccionada 69 6 CAPITULO 6: CONCLUSIONES Y PERSPECTIVAS El objetivo principal de este proyecto es el desarrollo de un sistema smartmeter, controlable inalámbricamente con medición de consumo, para su implementación en el sistema domótico de una vivienda. Dicho dispositivo se ha desarrollado tratando de minimizar su tamaño, mediante la sustitución de transformadores por otras alternativas y de integrarlo en el sistema ZigBee desarrollado por HOWLab. Con ello se consigue manejar el dispositivo desde el ordenador inalámbricamente, lo que abre un gran abanico de posibilidades futuras, además de poder controlar el estado de la carga. Estas son las principales diferencias respecto a los medidores de consumo comerciales, ya que la mayor parte de ellos, únicamente muestran la información en un display o permiten un accesorio (modem) que registra los datos en internet, aunque con un aumento del coste considerable. Actualmente sí que están apareciendo medidores (gestores de consumo) de similares o mayores características, pero con un coste más elevado que el smartmeter desarrollado. Finalmente se han cumplido todos los objetivos marcados y además se ha fabricado la PCB, que en principio no entraba en ellos. Así se ha mejorado en gran medida el funcionamiento del sistema, al añadirse periféricos y acortarse conexiones ya que en el montaje que tuvo que realizarse en la placa de inserción, eran demasiado largas. Como ya se ha comentado, las posibilidades de ampliar las funcionalidades del dispositivo son muy grandes, ya que no se ha desarrollado ningún software específico para PC que permita la lectura de magnitudes y el manejo mismo de forma simple. Otra mejora que se podría plantear, sería ofrecer otra versión más simple del mismo, para su posicionamiento como medidor/actuador en un único enchufe y así poder gestionar mejor el consumo de diferentes aparatos. Además, el resultado de este proyecto se liberará como hardware libre por medio del OPENLAB (web para la promoción del hardware y software libre del grupo HOWLab), con la finalidad de que todo el conocimiento desarrollado quede a disposición de la comunidad y se pueda evolucionar y mejorar por ésta, abriendo muchas posibilidades. Para la liberación del hardware se utilizará la licencia CERN OHL version 1.1. (16) y el firmware bajo los términos de la licencia GNU GLPv3 (General Public License) publicada por la Free Software Foundation (17), cuyos términos pueden consultarse en las referencias indicadas. Respecto al desarrollo del proyecto, éste se ha realizado en un año desde la fecha del comienzo aunque con dedicación parcial, ya que cuando se empezó aun no había terminado todas las asignaturas la carrera y actualmente lo compatibilizo con la escuela oficial de idiomas. Durante el desarrollo del mismo me he ido encontrando con 70 los problemas típicos de un proyecto de estas características, desde el aprendizaje de lenguaje c y su implementación en microcontroladores de Microchip, hasta la selección y compra de componentes dada la grandísima cantidad de opciones válidas y mi inexperiencia en ello. Por otro lado, lo que más dificultades me ha creado, ha sido el hecho de trabajar con tensiones de red sin aislamiento, dado que una conexión incorrecta podía suponer la destrucción de algún componente y aunque me sucedió, únicamente fueron unas pocas resistencias, por lo que no afectó al desarrollo del proyecto. Personalmente estoy contento con el conocimiento aprendido y el trabajo realizado ya que el desarrollar un proyecto desde cero, hasta el primer prototipo, me ha capacitado para poder afrontar un proyecto de similares características. Considerando la temática escogida, la medida y gestión del consumo es un tema cada vez más importante debido al aumento del precio y consumo de electricidad y espero que este tipo de sistemas ayuden a una mayor eficiencia del sistema eléctrico y concienciación de los usuarios. 71 7 BIBLIOGRAFÍA 1. HOWLab. [En línea] http://howlab.unizar.es/. 2. HOWLab. OPENLab ZETA Project. [En línea] http://openlab.unizar.es/?page_id=21. 3. BOE. Real Decreto 809/2006 de 30 Junio. 4. Logic, Cirrus. Datasheet CS5463. Datasheet. 2005. 5. Farnell. [En línea] http://es.farnell.com/. 6. Electrónicos, Mouser Electronics - Distribuidor de Componentes. [En línea] http://es.mouser.com/. 7. Technology, Linear. LT Spice IV. [En línea] http://www.linear.com/designtools/software/. 8. Koon, William. Current sensing for energy metering, Analog Devices, Inc. [En línea] http://www.analog.com/energymeter. 9. Omrom. Datasheet PCB Relay – G5LA. 10. A Comparative Study of Wireless Protocols:Bluetooth, UWB, ZigBee, and Wi-Fi. Jin- Shyan Lee, Yu-Wei Su, and Chung-Chou Shen. Hsinchu, Taiwan : s.n., 2007. 11. Microchip. Microcontroller Product Selector (MPS). [En línea] http://www.microchip.com/productselector/MCUProductSelector.html. 12. AMERICA, CITIZEN. CM130 32.768KDZF-UT - CRYSTAL, SMD. [En línea] http://www.txccrystal.com/. 13. Transformerless Power Supplies: Resistive and Capacitive. Condit, Reston. AN954, s.l. : Microchip Technology Inc. 14. SMPS. SWITCH MODE POWER SUPPLY TUTORIAL. [En línea] http://www.smps.us/power-supply.html. 15. Services), CCS (Custom Computer. CCS Downloads - CCS Compiler Demo. [En línea] http://www.ccsinfo.com/. 16. Microchip. MPLAB. [En línea] http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406& dDocName=en019469&part=SW007002. 72 17. Telegesis. ETRX2 and ETRX3 Series ZigBee® Modules. AT-Command Dictionary. [En línea] http://www.telegesis.com/. 18. Heesch, Dimitri van. Doxygen. [En línea] http://www.stack.nl/~dimitri/doxygen/. 19. Ltd, Boss Enclosures. Candem-Boss. [En línea] http://www.camdenboss.com/. 20. Repository, Open Hardware. Cern Open Hardware License. [En línea] http://www.ohwr.org/documents/88. 21. License, GNU General Public. GPLv3. [En línea] http://www.gnu.org/licenses/gpl- 3.0.html. 22. Condit, Reston. Microchip Technology Inc. Transformerless Power Supplies: Resistive and Capacitive. [En línea] AN95. 23. THE EFFECTIVENESS OF FEEDBACK ON ENERGY CONSUMPTION. Darby, Sarah. April 2006. 73 8 ÍNDICE DE FIGURAS Fig. 2-1 Consumo final bruto de energía en 2010 .......................................................... 12 Fig. 2-2 Consumo en espera (standby) ........................................................................... 13 Fig. 2-3 Circuitos DC (izquierda) y AC (derecha) ............................................................. 16 Fig. 2-4 Onda Sinusoidal ................................................................................................. 16 Fig. 2-5 Valor pico a pico ................................................................................................. 17 Fig. 2-6 Valor medio NULO ............................................................................................. 17 Fig. 2-7 Misma potencia disipada ................................................................................... 18 Fig. 2-8 Valores RMS, AVG(1 semiciclo) y Vpp de una senoide ...................................... 19 Fig. 2-9 Triángulo de potencias ...................................................................................... 20 Fig. 2-10 Desfase entre v(t)=A e i(t)=B............................................................................ 21 Fig. 3-1 Diagrama de bloques ......................................................................................... 24 Fig. 3-2 Diagrama de funcionamiento (Imagen extraída del datasheet) ....................... 26 Fig. 3-3 Esquema Cirrus CS5463 ..................................................................................... 27 Fig. 3-4 Acondicionamiento Tensión .............................................................................. 29 Fig. 3-5 Sensor de voltaje ............................................................................................... 30 Fig. 3-6 Vout con Rshunt................................................................................................. 31 Fig. 3-7 Sensor corriente + Relé ...................................................................................... 33 Fig. 3-8 Esquema conexiones Relé ................................................................................. 35 Fig. 3-9 Módulo ETRX3 .................................................................................................... 36 Fig. 3-10 Módulo ZigBee ETRX3 ...................................................................................... 37 Fig. 3-11 Esquema memoria E2PROM ............................................................................ 38 Fig. 3-12 Resultados de la aplicación MPS ..................................................................... 40 Fig. 3-13 Esquema PIC18F26J11 ..................................................................................... 40 Fig. 3-14 Real Time Clock ................................................................................................ 41 Fig. 3-15 FA capacitiva (11) ............................................................................................. 42 Fig. 3-16 FA resistiva en media onda (11) ...................................................................... 43 Fig. 3-17 Diagrama de bloques de una SMPS (Fuente: smps) (12) ................................ 43 Fig. 3-18 Diseño FA capacitiva ........................................................................................ 44 Fig. 3-19 Esquema FA Traco ............................................................................................ 44 Fig. 4-1 Diagrama de bloques principal .......................................................................... 46 Fig. 4-2 Diagrama bloques inicialización......................................................................... 46 Fig. 4-3 Diagrama bloques inicialización ZigBee ............................................................. 47 Fig. 4-4 Diagrama bloques inicialización Cirrus .............................................................. 48 Fig. 4-5 Estado ACTIVO ................................................................................................... 49 Fig. 4-6 Estado INACTIVO ................................................................................................ 49 Fig. 4-7 Diagrama flujo interrupción ZigBee ................................................................... 50 Fig. 4-8 Bloques hardware a controlar ........................................................................... 51 Fig. 4-9 Capas firmware .................................................................................................. 51