ir + pi - eva.fing.edu.uy

21
Proyecto Final de Sistemas Embebidos IR + PI Junio 2015 Integrantes: Florencia Ferrer, Lucía Korenko y Paola Romero Tutor: Leonardo Steinfeld

Upload: others

Post on 07-Jul-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos

IR + PI

Junio 2015

Integrantes: Florencia Ferrer, Lucía Korenko y Paola Romero

Tutor: Leonardo Steinfeld

Page 2: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos: IR + PI Florencia Ferrer, Lucía Korenko y Paola Romero

2

Índice de Contenido

1. Resumen ............................................................................................................3

2. Introducción .......................................................................................................3

3. Objetivos............................................................................................................4

4. Alcance ..............................................................................................................4

5. Diseño................................................................................................................4

Plataforma de hardware ....................................................................................................... 6

6. Implementación .................................................................................................6

Nodo Controlador ................................................................................................................. 6

Arquitectura del nodo controlador ................................................................................... 7

Modos de funcionamiento del nodo controlador .............................................................. 7

Módulo SPI ....................................................................................................................... 9

Módulo IR........................................................................................................................10

Módulo PI ........................................................................................................................11

Nodo Gateway y Nodo de Medición de Temperatura ..........................................................12

7. Pruebas ............................................................................................................ 13

8. Conclusiones .................................................................................................... 13

9. Anexo .............................................................................................................. 13

Conceptos del curso aplicados al proyecto ...........................................................................13

Especificación del proyecto ..................................................................................................14

Reflexiones sobre la planificación .........................................................................................20

Archivos fuente ....................................................................................................................20

SPI: Serial Peripheral Interface..............................................................................................20

Page 3: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos: IR + PI Florencia Ferrer, Lucía Korenko y Paola Romero

3

1. Resumen

El presente trabajo parte del problema de aclimatar un ambiente con un aire acondicionado

(AC), que se encuentre alejado del mismo. Para esto se propone una solución en tres bloques que

llamaremos nodos: uno que estará ubicado en el ambiente a aclimatar (Nodo Medición de

Temperatura) y dos próximos al AC (Nodo Gateway y Nodo Controlador). Se construye el sistema

con la finalidad de lograr la temperatura deseada en el ambiente a partir de la medición de la

temperatura en el mismo y el cálculo de la temperatura a setear en el AC.

Para implementar el sistema se manejaron conceptos impartidos en el curso, se adaptaron

conocimientos a nuevos hardwares y se aprendieron nuevos. En particular se investigó sobre la

comunicación infrarroja (IR) de los AC, la comunicación por radiofrecuencia, comunicación SPI y

controladores PI discretos. En esta documentación se encontrarán los conceptos indagados, los

detalles de la implementación, las pruebas realizadas y las reflexiones sobre el resultado.

2. Introducción

El aire acondicionado es uno de los métodos de acondicionamiento térmico más utilizados.

En nuestro país cerca de un 20% de los hogares cuentan con un aire acondicionado1. En muchos

hogares estos equipos son instalados para aclimatar más de un ambiente. Esto dificulta la elección

de la temperatura objetivo ( de ahora en más) en la que se debe configurar el aire, para

que la temperatura del resto de los ambientes sea la deseada. Este trabajo está motivado por este

problema, buscando una solución que permita que una vez que el usuario decida la temperatura

objetivo pueda despreocuparse del manejo directo del aire acondicionado. En la Figura 1 se

puede observar un esquema del problema a resolver. El AC se encuentra en la habitación

señalada por la flecha azul, mientras que la habitación a aclimatar es la indicada por la flecha roja.

Figura 1 Esquema del problema.

El control de equipos de aire acondicionado es un tema ampliamente estudiado, de hecho,

existen proyectos realizados por otros estudiantes del Instituto de Ingeniería Eléctrica (IIE)

vinculados al tema. En particular, en “RSI @ Home”, realizado por Sofía Pérez, Agustín Rodríguez y

1 “Uruguay en cifras 2012”, Instituto Nacional de Estadística

Page 4: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos: IR + PI Florencia Ferrer, Lucía Korenko y Paola Romero

4

Bruno Serra en el marco del proyecto del curso Redes de Sensores Inalámbricos del año 2014, se

buscó resolver un problema similar. En este proyecto se utilizó un LED infrarrojo y una plaqueta

Arduino para resolver la comunicación con el aire acondicionado. Se encontraron con que la

potencia provista por el diodo estaba por debajo de la producida por un control remoto. En este

sentido, utilizaremos un módulo IR diseñado y probado para esta aplicación corriendo una ventaja

sobre la implementación ya realizada.

Por otro lado, el presente proyecto busca además de solventar los problemas presentados

por el hardware, presentarle la posibilidad al usuario de contar con un sistema de control

inteligente de aire acondicionado para diferentes habitaciones.

3. Objetivos

El objetivo del proyecto es diseñar e implementar un sistema de control de temperatura

ambiente cuando el aire acondicionado no se encuentra en la misma habitación o está lejos del

lugar del punto de interés. El mismo debe asegurar que la temperatura en régimen del punto de

interés se mantiene dentro de un rango razonable de la temperatura deseada ( de ahora en

más), la cual será configurable por el usuario a través de un teclado incluido en uno de los

módulos.

4. Alcance

Lograr una comunicación apropiada entre el nodo controlador y el aire acondicionado

haciendo uso del módulo BOOST-IR de Texas Instruments; se explicara en detalle en qué consiste

este módulo en la sección de Plataforma de hardware pero como el lector se estará imaginando

es el encargado con las comunicaciones infrarrojas. Esto implica poder hacer uso de la mayor

cantidad de funciones provistas por el aire acondicionado destacando las de encendido/apagado y

seteo de temperatura. No se trabajará con ninguna marca de aire acondicionado en particular, se

implementará un modo de aprendizaje en el que el sistema aprenda las instrucciones del aire en

cuestión.

Otro alcance de proyecto es lograr una comunicación adecuada entre el nodo de medición de

temperatura y el nodo gateway. Cada cierto tiempo ts igual a un segundo, el nodo medidor de

temperatura enviará al nodo gateway la temperatura registrada. El nodo gateway promediará los

valores recibidos y frente a la solicitud del nodo controlador de la última medida actualizada,

enviará el valor promediado.

Una vez conseguidos los puntos anteriores: se busca definir del aire acondicionado

mediante la implementación de un controlador PI que toma como entrada el promedio de las

temperaturas medidas en el nodo de medición de temperatura y .

5. Diseño

El sistema a diseñar cuenta con tres nodo: un nodo controlador, un nodo de medición de

temperatura y un nodo gateway (entre el medidor de temperatura y controlador). Ver Figura 2.

Page 5: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos: IR + PI Florencia Ferrer, Lucía Korenko y Paola Romero

5

Nodo controlador. El nodo controlador es el encargado de realizar el control de la

temperatura. El mismo cuenta con una lógica de control, un módulo IR y un módulo de

comunicación SPI.

o La lógica de control se encarga de decidir cuál debe ser la temperatura a

configurar en el aire acondicionado (Tconfig). Esta temperatura se define en base a la

temperatura objetivo (TSP) y al valor promedio de la temperatura registrada en el

punto de interés. Para esto se diseñó un controlador proporcional integral (PI).

o El módulo IR es el encargado de permitir la comunicación infrarroja con el

aire acondicionado. La función principal de este módulo es enviar las órdenes al aire

acondicionado de acuerdo a las decisiones tomadas por la lógica de control. Además,

para poder cumplir con esta función debe ser capaz de recibir señales infrarrojas y

guardarlas en memoria, para poder utilizar las mismas cuando se lo necesite.

o El módulo SPI permite la comunicación del nodo controlador con el nodo

Gateway.

Además el nodo controlador cuenta con módulos adicionales que permiten que el

usuario que el usuario pueda configurar el sistema adicionalmente cuenta con módulos

adicionales

Nodo medición de temperatura. Este nodo es el encargado de medir la

temperatura ambiente y de realimentar la medición al nodo Gateway. El mismo debe ser

instalado en el punto de interés y contará con un módulo de medición de temperatura y un

módulo de comunicación. Enviará cada ts = 1s el valor de temperatura registrado.

Nodo Gateway. El nodo Gateway permite la comunicación entre el nodo

controlador y el nodo de medición de temperatura. Frente a una solicitud por parte del nodo

controlador promediará los valores recibidos y enviará el resultado.

El lector se preguntará por qué es necesaria la existencia del Nodo Gateway ya que sus

funciones podrían realizarse perfectamente dentro del Nodo Controlador. Esto quedará más claro

en la siguiente sección pero la razón básica es que se partió de un hardware específico para cada

función (comunicación IR y RF) con sus módulos y microcontroladores. Esto complica el uso del

CC2500 presente en el EZ430-RF2500 junto con el microcontrolador del MSP430G4133

Launchpad. En el otro sentido no podría ni considerarse ya que hay ciertos periféricos del

MSP430G4133 Launchpad necesarios para la comunicación IR que no tiene el EZ430-RF2500.

Figura 2 Diagrama del sistema a implementar

Page 6: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos: IR + PI Florencia Ferrer, Lucía Korenko y Paola Romero

6

Plataforma de hardware

A continuación se indica el hardware a utilizar en el proyecto. En la Figura 3 se puede

apreciar el esquema del sistema en hardware.

Para el Nodo Controlador se utilizará:

o 1 BOOST-IR BoosterPack™ Plug-in Module.2

o 1 MSP430FR4133 Launchpad.3

Para el Nodo Gateway:

o 1 EZ430-RF2500 wireless development tool.4

Para el Nodo Medición de Temperatura:

o 1 EZ430-RF2500 wireless development tool.

o 1 Sensor de temperatura (incluido en el módulo EZ430-RF2500).

Figura 3 Diagrama del sistema en hardware

El Nodo Controlador y el aire acondicionado se comunican en el infrarrojo. El Nodo

Controlador y el Nodo Gateway mediante SPI (Serial Peripheral Interface) y este último con el

Nodo de Medición de Temperatura mediante RF a 2.4 GHz.

6. Implementación

A continuación se procederá a explicar la implementación realizada para solucionar el

problema planteado en la introducción. Se divide esta sección en tres grandes secciones siguiendo

con la topología del sistema en hardware implementado: Nodo Controlador, Nodo Gateway y

Nodo de Medición de Temperatura.

Nodo Controlador

El nodo controlador está compuesto de varios módulos auxiliares necesarios para poder

cumplir con todas sus funciones: módulo IR encargado de la comunicación con el aire

acondicionado, módulo PI calcula la temperatura a configurar en el aire acondicionado, módulo

2 Se recomiendan los docuemtnos en la siguiente página para un estudio detallado del módulo: http://www.ti.com/tool/boost-ir (Junio 2015) 3 Análogo al punto anterior: http://www.ti.com/tool/msp-exp430fr4133?keyMatch=msp430fr4133%20launchpad&tisearch=Search-EN-Everything (Junio 2015) 4 http://www.ti.com/tool/ez430-rf2500 (Junio 2015)

Page 7: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos: IR + PI Florencia Ferrer, Lucía Korenko y Paola Romero

7

SPI para la comunicación con el Nodo Gateway, módulo KPAD responsable de las comunicaciones

con el teclado y módulo LCD resuelve las comunicaciones con la pantalla LCD.

Arquitectura del nodo controlador

En la Figura 4 se puede observar la arquitectura del nodo controlador. Tiene básicamente

tres niveles de implementación: programa principal, módulo configuración de modos y módulos.

En el programa principal del nodo controlador se realiza un round robin en el cual se consulta en

qué modo se encuentra el sistema (se explicará en la sección los distintos modos de

funcionamiento). Dependiendo del modo, se ejecutan distintas funciones, las cuales se

encuentran en el módulo configuración de modos. El mismo es el "cerebro" del nodo controlador

contando con una función para cada modo de funcionamiento, la cual es llamada desde el

programa principal. En cada una de estas funciones el programa queda en un bucle siempre y

cuando el modo de funcionamiento no cambie.

Figura 4. Arquitectura del nodo controlador.

El módulo de configuración de modos utiliza varios módulos auxiliares para poder llevar a

cabo todas sus funcionalidades. Por un lado están los módulos IR, PI y SPI que fueron

desarrollados específicamente para esta aplicación y se describirán más adelante. Por otro lado

los módulos LCD y KPAD, los cuales permiten el uso de la pantalla LCD y el teclado

respectivamente, están basados en el código de ejemplo “IR_Learning_Mode”5 proporcionado

por Texas Instruments y tiene algunas modificaciones menores.

Modos de funcionamiento del nodo controlador

Para poder cumplir con los objetivos propuestos y poder brindarle mayor flexibilidad al

usuario, el nodo controlador implementado cuenta con diversos modos de funcionamiento. En la

Figura 5 se puede observar cómo es el diagrama de flujo del sistema.

5 http://www.ti.com/lit/zip/slac682 (Junio 2015)

Page 8: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos: IR + PI Florencia Ferrer, Lucía Korenko y Paola Romero

8

Figura 5. Diagrama de flujo del funcionamiento del sistema

Modo Inicio:

Al iniciar el programa es necesario inicializar todos los módulos utilizados.

Modo Aprendizaje:

En este modo el sistema aprende todas las instrucciones necesarias para poder operar el aire

acondicionado. Se le solicita al usuario que ingrese con el control remoto secuencialmente las

señales: ON, T=17 °C, T=18 °C, … , T=29 °C y OFF. Estos mensajes son guardados en memoria

FRAM para poder utilizarlos posteriormente. En la Figura 6 se puede ver cómo es el mapa en

memoria FRAM de los mensajes aprendidos. Para cada mensaje se reservan 512 Bytes, por lo que

en total se utilizan 7.6 kB aproximadamente.

Figura 6. Mapa memoria FRAM luego de completado el aprendizaje.

Page 9: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos: IR + PI Florencia Ferrer, Lucía Korenko y Paola Romero

9

Modo configuración AC:

Una vez finalizado el aprendizaje, el sistema pasa a modo configuración AC. En este modo el

usuario debe configurar cuál es la temperatura deseada ( ) en el punto de interés utilizando el

teclado.

Modo PI:

Luego de realizada la configuración del aire acondicionado, el sistema pasa a modo PI. En

este modo el sistema está gobernado por la lógica de control, que decide cuál es la temperatura a

la que se debe configurar el aire acondicionado en función de las temperaturas medidas.

A modo de ejemplo se muestra a continuación el pseudo-código de la función

correspondiente al modo de funcionamiento MODO PI:

IR_set_Tconfig(T_sp); //inicialmente se configura el aire en T_sp

configurar y habilitar Timer A1 //en la ISR del TimerA1 se disparan las

//consultas de Tavg por SPI. Cuando hay una

//medida Tavg lista se enciendeflag_medida_lista

while(modo == MODO_PI){

if(se presionó un botón){

logica_botones(); //funcion que procesa el botón presionado

}else if(flag_medida_lista==1){

reset_flag_medida_lista();

deshabilitar TimerA1;

consultar T_avg;

ejecutar controlador PI con la nueva medida;

IR_set_Tconfig(T_config);

habilitar TimerA1;

}

deshabilitar TimerA1;}

Cabe destacar que el TimerA1 fue configurado para que se consulte por SPI el nuevo valor de

temperatura cada 30 segundos. Este tiempo fue elegido para acotar el tiempo necesario para

realizar las pruebas no resultara excesivo. Entendemos que este tiempo debería ser mayor a la

hora de utilizar el dispositivo en la práctica.

Modo Manual:

En este modo el aire acondicionado es controlado por el usuario, el nodo controlador opera

igual que un control remoto. El usuario puede configurar la temperatura deseada utilizando los

botones ‘Temp+’ y ‘Temp-‘.

Modo Selección de modos:

Si el sistema se encuentra en modo PI o modo manual y el usuario presiona el botón ‘Cool’ el

nodo controlador para a estar en el modo de selección de modos. En el mismo, el usuario puede

cambiar de un modo de funcionamiento a otro, presionando repetidamente botón ‘Cool’.

Módulo SPI

El módulo SPI es el encargado de las comunicaciones con el Nodo Gateway. Para ello las

constantes del registro de configuración se setean de igual manera que en el nodo Gateway.

Como se explicó en el modo PI, cada 30 segundos se consulta un nuevo valor de temperatura. En

este sentido, el Nodo Controlador auspicia de maestro en la comunicación. El reloj fue seteado a

50 MHz.

Page 10: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos: IR + PI Florencia Ferrer, Lucía Korenko y Paola Romero

10

Módulo IR

El módulo IR es el encargado de permitir la comunicación del nodo controlador con el aire

acondicionado. Para esto debe ser capaz de recibir señales infrarrojas desde el control remoto,

guardarlas en memoria y enviar estas señales al aire acondicionado cuando se lo soliciten.

Para poder implementar este módulo se utilizó el ‘BOOST-IR BoosterPack™ Plug-in Module’

el cual cuenta con un receptor y un transmisor infrarrojo.

Protocolo de comunicación infrarroja:

Se estudió cómo es el protocolo de comunicación de un control remoto con un aire

acondicionado. Se encontró que no hay ningún estándar de comunicación y que cada fabricante

utiliza su propio protocolo. Sin embargo, los fabricantes en general coinciden en utilizar

modulación ASK.

Modulación ASK:

En la modulación ASK la señal a transmitir es la combinación de dos señales: una portadora

de alta frecuencia, típicamente de 38kHz, y una envolvente en la cual está la información útil. Ver

Figura 7.

Figura 7. Modulación ASK

Respecto a cómo enviar la información dentro de la envolvente no hay acuerdo. Algunos

fabricantes utilizan modulación por ancho de pulso, modulación por distancia entre pulsos o

codificación Manchester.

En un principio podría pensarse que esta discrepancia entre fabricantes podría ser un

problema para implementar un dispositivo genérico que pueda operar cualquier marca de aire

acondicionado. Sin embargo esto no es así por cómo es el proceso de aprendizaje del módulo IR.

Recepción infrarroja:

En la Figura 8 se muestra un diagrama de bloques de cómo es el circuito de recepción

infrarroja del BOOST-IR. El mismo está compuesto por un filtro pasa-banda y un demodulador el

cual es el encargado de eliminar la portadora de alta frecuencia. Por lo que la señal que ingresa al

micro-controlador es la envolvente de la señal.

Figura 8. Diagrama de bloques del receptor infrarrojo.

Page 11: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos: IR + PI Florencia Ferrer, Lucía Korenko y Paola Romero

11

Para poder aprender cómo es la señal recibida se configura el Timer A en modo captura para

ambos flancos. Utilizando el timer se mide la distancia entre cada flanco y se guarda en memoria.

De esta manera se obtiene una sucesión de tiempos {t1, t2, t3, … , tn} la cual representa a la señal

recibida. Esto se puede observar en la Figura 9.

Figura 9. Diagrama de tiempos de cómo funciona el aprendizaje de la señal recibida.

Este método sólo busca obtener una representación fiel de la señal y no busca interpretar ni

decodificar el mensaje. Esto permite que el método de aprendizaje funcione correctamente

independientemente de qué tipo de decodificación se use para enviar información en la

envolvente.

Módulo PI

El módulo PI se encarga de decidir la temperatura a configurar en el aire acondicionado a

partir de la temperatura objetivo ( ) y la temperatura entregada por el nodo Gateway ( ).

Para esta aplicación en particular, se consideró que con un proporcional y un integrador es

suficiente para poder controlar el sistema correctamente. En la Figura 10 se muestra un esquema

del sistema con el controlador PI.

Figura 10. Esquema del sistema con controlador proporcional-integral.

Para resolver este problema en software, se partió de la descripción en Laplace del

controlador y se pasó a tiempo discreto, obteniendo la siguiente ecuación en diferencias:

[ ] [ ] ( ) [ ] [ ]

Donde [ ] corresponde a la salida del controlador en el instante k y [ ] al error (en el

instante k), que se calcula como la diferencia entre y . A partir de la igualdad anterior, se

puede determinar la salida del controlador conociendo el valor anterior de la salida y del error. Se

Page 12: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos: IR + PI Florencia Ferrer, Lucía Korenko y Paola Romero

12

definió como punto de partida, [ ] y [ ] , para evitar posibles problemas al

ejecutar el controlador por primera vez.

Por otro lado, se tuvieron en cuenta los valores máximo y mínimo a ser configurados en el

aire acondicionado, definiendo un criterio de saturación de la salida del controlador. Esto es, si

[ ] entonces se setea en el AC, en cambio si [ ] se setea .

Es importante aclarar que el módulo PI “conoce” los valores de las temperaturas y ya

que son guardadas en variables internas al mismo. Dichas variables pueden ser actualizadas

mediante las funciones set_Tsp(int temp) y set_Treg(tipo_t temp). Se observó que para realizar el

cálculo de la salida del controlador se necesita trabajar con variables en punto flotante, por este

motivo, se definió un tipo: typedef float tipo_t, por lo que se tuvo que utilizar la librería float.h.

Asimismo, debido a que la función Ejecutar_ContPI() debe devolver un valor entero que

corresponde a la temperatura a setear en el aire acondicionado, es necesario transformar el

resultado de la salida del controlador. Para esto, se utilizó la función round de la librería math.h.

Si bien en un principio, uno de los objetivos era sintonizar correctamente los parámetros del

controlador y mediante el método de Ziegler-Nichols, fue descartado por un tema de

tiempo. Las constantes utilizadas en la demo fueron establecidas de forma más o menos intuitiva

( ), verificando que la salida del controlador fuera razonable. Esto es: si la

temperatura medida es menor que , la salida del controlador deberá ser mayor a la anterior y

viceversa.

Nodo Gateway y Nodo de Medición de Temperatura

A continuación se procederá a la descripción de la implementación de estos dos nodos. Se los

describe conjuntamente debido a que para la misma se parte del ejemplo de Texas Instruments

Wireless Sensor Monitor Using the ez430-RF25006.

En el mismo, un kit ez430-RF2500 actuando como Access Point (AP) recibe cada 1 segundo la

temperatura registrada por el End Device (ED) (otro kit de ez430-RF2500). De esta forma, las

comunicaciones inalámbricas estaban resueltas: el intercambio de datos es realizado mediante el

protocolo SimpliciTI de Texas Instruments desarrollado especialmente para aplicaciones de bajo

consumo. Entre sus características generales destacamos la flexibilidad ya que permite distintas

topologías y la sencillez de su API: 5 comandos de comunicación únicamente.

Se modifica el ejemplo de manera de que el Access Point promedie la temperatura recibida y

se comunique con el Nodo Controlador mediante SPI. Este último será el maestro en las

comunicación y el Nodo Gateway el esclavo. Se configuran los dos con iguales parámetros

(referirse al anexo 9.5 por más detalles) para que la comunicación sea exitosa.

Los aspectos del ejemplo que influenciaron en el agregado de las funciones anteriormente

descriptas son:

• Hay una primera instancia de reconocimiento del ED por parte del AP en el que se

acuerda un identificador para el primero.

6 http://www.ti.com/lit/an/slaa378d/slaa378d.pdf (Junio 2015)

Page 13: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos: IR + PI Florencia Ferrer, Lucía Korenko y Paola Romero

13

• Una vez esta instancia si por alguna razón el AP pierde esa información, se pierde

la comunicación con el ED y para recuperarla se deberá reiniciar el ED.

• La comunicación es cada un tiempo fijo: 1 seg entre AP y ED.

• A cada Frame recibido se prende una bandera en donde se procesa: aquí es donde

calculamos el promedio.

La implementación de la comunicación SPI tiene en cuenta que el integrado encargado de las

comunicaciones RF (CC2500) se comunica mediante SPI con el microcontrolador del kit. Este

último tiene dos módulos de SPI: el A y el B, por lo que se utilizó uno diferente para las

comunicaciones con el Nodo Controlador. El problema es que hay un pin del microcontrolador

que es compartido entre las dos modos. Para incorporar la comunicación SPI entre el nodo

controlador y el gateway utilizamos el periférico SPI A. Se debe deshabitar interrupciones,

preservar el estado de comunicaciones SPI B con la radio para poder comunicarse con el Nodo

Controlador.

7. Pruebas

Las pruebas realizadas fueron modulares. En el caso del Nodo Controlador se probó el

Módulo IR con diversos aires acondicionados, tanto la parte de aprendizaje como la parte de

manejo del aire. En otra instancia se probó el módulo SPI conectando el Nodo Controlador con el

Gateway y luego se incorporó al programa final en ambos nodos. Además el Módulo PI se probó

por separado y luego junto con los otros módulos al incorporarlo al sistema final.

8. Conclusiones

Se logró el objetivo planteado. Surgieron algunos inconvenientes producto de que se trabajó

sobre ejemplos complejos que se desconocían al 100%. Se aprendieron tres modos de

comunicación y se logró su exitosa implementación. Además se trabajó con hardwares distintos a

los que se manejan en el curso, lo que requirió un tiempo de adaptación.

Quedó pendiente la parte de definición de las constantes del Módulo PI mediante algún tipo

de sintonización como ser el de Ziegler-Nichols.

9. Anexo

9.1 Conceptos del curso aplicados al proyecto En el transcurso del proyecto final se aplicaron conceptos impartidos por el curso, en

particular el manejo de interrupciones de Timers y la visualización de registros para verificar el

correcto funcionamiento de los programas. La arquitectura elegida fue de round robin para el

programa principal. Las interrupciones se manejaron en el modo correspondiente, no el programa

principal.

Page 14: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos: IR + PI Florencia Ferrer, Lucía Korenko y Paola Romero

14

9.2 Especificación del proyecto

Información

Nombre del proyecto: IR + PI

Grupo: G8

Integrantes: Florencia Ferrer, Lucía Korenko y Paola Romero.

Tutor: Leonardo Steinfeld

Descripción del problema

El aire acondicionado es uno de los métodos de acondicionamiento térmico más utilizados. En

nuestro país cerca de un 20% de los hogares cuentan con un aire acondicionado. En muchos

hogares estos equipos son instalados para aclimatar más de un ambiente. Esto dificulta la elección

de la temperatura objetivo (Tconfig de ahora en más) en la que se debe configurar el aire, para que

la temperatura del resto de los ambientes sea la deseada.

Antecedentes

Proyectos realizados en el iie dentro del área El control de equipos de aire acondicionado es un tema ampliamente estudiado. En particular en

“RSI @ Home”, realizado por Sofía Pérez, Agustín Rodríguez y Bruno Serra en el marco del proyecto

del curso Redes de Sensores Inalámbricos del año 2014, se buscó resolver un problema similar. En

este proyecto se utilizó un LED infrarrojo y una plaqueta Arduino para resolver la comunicación

con el aire acondicionado. Se encontraron con que la potencia provista por el diodo estaba por

debajo de la producida por un control remoto. En este sentido, utilizaremos un módulo IR

diseñado y probado para esta aplicación corriendo una ventaja sobre la implementación ya

realizada.

Por otro lado, el presente proyecto busca, además de solventar los problemas presentados por el

Hardware, presentarle la posibilidad al usuario de contar con un sistema de control inteligente de

aire acondicionado para diferentes habitaciones.

Módulo IR: BOOST-IR BoosterPack™ Plug-in Module Dentro de la documentación del módulo IR se encuentran los siguientes ejemplos de uso, los

cuales creemos serán de utilidad para el desarrollo del proyecto:

• IR Emitter and Receiver. En este ejemplo se utilizan dos MSP-EXP430FR4133 LaunchPad kits y dos módulos BOOST-IR BoosterPack, uno oficia como emisor y el otro como receptor.

• IR learning mode. Se utiliza un MSP-EXP430FR4133 LaunchPad kit y un módulo BOOST-IR BoosterPack el cual copia y repite la secuencia infrarroja recibida de

Page 15: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos: IR + PI Florencia Ferrer, Lucía Korenko y Paola Romero

15

otro emisor IR, el cual puede ser por ejemplo el control remoto de un aire acondicionado.

Módulo de comunicación: EZ430-RF2500 wireless development tool Respecto a la comunicación inalámbrica entre distintos nodos utilizando los módulos EZ430-

RF2500, también existen varios ejemplos de utilidad. En particular la aplicación precargada en el

módulo implementa una red de sensores de temperatura. Esta red está conformada por un “nodo

de acceso” el cual mide su temperatura y consulta la temperatura del resto de los nodos de la red.

Objetivos del proyecto

El objetivo del proyecto es diseñar e implementar un sistema de control de temperatura ambiente

cuando el aire acondicionado no se encuentra en la misma habitación o está lejos del lugar del

punto de interés. El mismo debe asegurar que la temperatura en régimen del punto de interés se

mantiene dentro de un rango más/menos 1 ºC de la temperatura deseada (TSP de ahora en más),

la cual será configurable por el usuario a través de un teclado incluído en uno de los módulos.

Alcance del proyecto

Lograr una comunicación apropiada entre el nodo controlador y el aire acondicionado haciendo

uso del módulo IR. Esto implica poder hacer uso de la mayor cantidad de funciones provistas por

el aire acondicionado destacando las de seteo de función frío - calor y temperatura. En este

punto es importante aclarar que se trabajará con una marca y modelo fijo de aire acondicionado

(a definir). En principio no es objetivo de este proyecto que el sistema aprenda por sí solo el

protocolo de comunicaciones del aire acondicionado a controlar. Se deja planteada la posibilidad

de abarcar este punto en caso de ser posible.

Lograr una comunicación adecuada entre el nodo medidor de temperatura y el nodo receptor.

Cada cierto tiempo ts (de aproximadamente 1 a 10 segundos) el nodo medidor de temperatura

enviará al nodo receptor la temperatura registrada. El nodo receptor promediará los valores

recibidos y frente a la solicitud del nodo controlador de la última medida actualizada, enviará el

valor promediado.

Una vez conseguidos los puntos anteriores: se busca definir Tconfig del aire acondicionado

mediante la implementación de un controlador PI que toma como entrada el promedio de las

temperaturas medidas en el nodo de medición de temperatura y TSP

Descripción del sistema

El sistema a diseñar cuenta con tres nodos, un nodo controlador, un nodo de medición de

temperatura y un nodo receptor (gateway entre el medidor de temperatura y controlador). Ver

Figura 11.

Nodo controlador. El nodo controlador es el encargado de realizar el control de la

temperatura. El mismo contará con un controlador y un módulo IR. La lógica de control se

Page 16: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos: IR + PI Florencia Ferrer, Lucía Korenko y Paola Romero

16

encarga de decidir Tconfig (la temperatura a setear) y enviarla al aire acondicionado

mediante el módulo IR.

o Tconfig se define en base a TSP (temperatura objetivo) y al valor promediado de

temperatura actual de un ambiente dado. Para esto se diseñará un controlador

proporcional integral (PI).

o El módulo IR envía las órdenes correspondientes al aire acondicionado. El mismo

emula el control remoto del aire y se comunica utilizando un transmisor

infrarrojo.

Nodo de medición de temperatura. Este nodo es el encargado de medir la temperatura

ambiente y de realimentar la medición al nodo gateway. El mismo debe ser instalado en

el punto de interés y contará con un módulo de medición de temperatura y un módulo de

comunicación. Enviará cada ts el valor de temperatura registrado.

Nodo Gateway. El módulo de comunicación permite la comunicación entre el nodo

controlador y el nodo de medición de temperatura. Frente a una solicitud por parte del

nodo controlador promediará los valores recibidos y enviará el resultado.

Figura 11: Diagrama del sistema

Requerimientos y restricciones del sistema

Procesamiento y memoria

Los requerimientos de memoria están determinados principalmente por el módulo de

comunicación. Debido a la sencillez de la implementación del mismo y al hecho de que ya se ha

probado en el hardware correspondiente, se puede asegurar que no se tendrán problemas en

este ámbito.

Page 17: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos: IR + PI Florencia Ferrer, Lucía Korenko y Paola Romero

17

Tiempo de respuesta Prácticamente no existen limitantes en cuanto al tiempo de respuesta del sistema. Se asegurará

que sea posible tomar una medida de temperatura cada 1 s.

Diseño preliminar

Plataforma de hardware: El hardware que se utilizará en el proyecto es el siguiente:

Para el nodo controlador se utilizará:

o 1 BOOST-IR BoosterPack™ Plug-in Module.

o 1 MSP430G2 Launchpad

Para el nodo gateway:

o 1 EZ430-RF2500 wireless development tool.

Para el nodo de medición de temperatura:

o 1 EZ430-RF2500 wireless development tool.

o 1 Sensor de temperatura (incluído en el módulo EZ430-RF2500).

Arquitectura de software: De acuerdo a las especificaciones del proyecto se podría utilizar tanto la arquitectura round-robin

como encolado de funciones. Se deja para instancias posteriores la evaluación y eventual elección

de la arquitectura.

Page 18: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos: IR + PI Florencia Ferrer, Lucía Korenko y Paola Romero

18

Planificación

Cronograma de tareas

Tarea Semana

Módulo IR

Estudio del protocolo IR 1

Estudio del funcionamiento del BOOST-IR BoosterPack: comunicaciones con el aire acondicionado y con el teclado accesorio para configuración.

1

Estudio de las aplicaciones de ejemplo del BOOST-IR BoosterPack 1

Implementación del módulo IR: debe aprender el lenguaje del aire y guardarlo para su posterior comunicación

1

Prueba del funcionamiento del módulo IR seteando funciones y temperatura mediante teclado accesorio.

1

Módulos de comunicación

Estudio del funcionamiento del módulo EZ430-RF2500 2

Estudio de las aplicaciones de ejemplo del EZ430-RF2500 2

Implementación de los módulos de comunicación entre los nodos 2

Prueba del funcionamiento de la comunicación 2

Módulo temperatura

Estudio del funcionamiento de módulo de temperatura del EZ430-RF2500

2

Implementación del módulo sensor temperatura 2

Prueba del funcionamiento del módulo sensor temperatura 2

Lógica de control

Estudio y diseño de la lógica de control (controlador PI). Definición de interfaz del módulo.

3

Implementación de la lógica de control 3

Prueba del funcionamiento de la lógica de control 3

Lógica de promediado

Definición de la lógica de promediado en el nodo gateway 3

Implementación de la lógica de promediado 3

Prueba del funcionamiento de la lógica de promediado 3

Recta final

Implementación del sistema en su conjunto: suma de módulos 4

Prueba del sistema en su conjunto 4

Documentación 4

Preparación de la presentación final 4

Page 19: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos: IR + PI Florencia Ferrer, Lucía Korenko y Paola Romero

19

Descripción de las pruebas a realizar A continuación se presenta una descripción simplificada de las pruebas a realizar

Módulo IR: se probará el funcionamiento del módulo IR seteando la temperatura desde el

teclado del Booster IR, verificando que modifique la indicación del aire acondicionado

(tener presente que la temperatura a configurar no es necesariamente la seteada si se

utiliza el controlador PI para esta prueba).

Módulo comunicación: se probará el correcto funcionamiento de la comunicación entre

el nodo medidor de temperatura y el nodo gateway. El nodo medidor de temperatura

enviará cada un tiempo fijo valores recibidos por la UART al nodo gateway. Se podrá

configurar una interfaz UART para corroborar la correpta recepción de mensajes.

Módulo temperatura: se probará la adquisición de medidas de temperatura y la posterior

transmisión al nodo gateway. En este punto se realizará la misma prueba que en el punto

anterior siendo el mensaje a transmitir el valor de temperatura adquirido.

Módulo promediador: se probará mediante distintas solicitudes de temperatura por

parte del nodo controlador que el valor devuelto por el nodo gateway sea coherente.

Lógica de control: se realizará una prueba que verifique la correcta configuración de la

temperatura en base a una temperatura ingresada manualmente TSP, se deberá tener en

cuenta lo que ocurre con el controlador al iniciar la ejecución.

Prueba final: se agregará a la parte anterior que la temperatura sea la recibida por el

nodo gateway.

Hitos intermedios

A continuación se detallan los hitos intermedios y los entregables correspondientes:

o 12/05: Presentación del proyecto. Se deberá tener completamente definido el proyecto

a realizar. Se preparará una presentación oral describiendo el proyecto al grupo del curso.

o 01/06: Presentación de avance. Se entregará el código de los módulos implementados

hasta la semana 2: IR, comunicación, medición de temperatura. Se realizará un pequeño

demo mediante el cual se modifica la temperatura del aire acondicionado en base a la

temperatura registrada por parte del nodo medidor de temperatura.

o 15/06: Defensa con un pequeño demo.

Page 20: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos: IR + PI Florencia Ferrer, Lucía Korenko y Paola Romero

20

9.3 Reflexiones sobre la planificación

En el transcurso del proyecto consideramos más conveniente realizar un trabajo en paralelo

atacando distintos bloques por separado. Tuvimos reuniones periódicas donde informábamos a

las otras dos integrantes del equipo los avances que habíamos hecho (investigación,

implementación y pruebas) y las dudas que teníamos sobre nuestro bloque. Más adelante en el

tiempo, fuimos uniendo los bloques de a pasos y realizando las pruebas correspondientes. Cada

vez que agregábamos algo a un bloque, nos asegurábamos de que todo funcionara de la forma

esperada. De esta forma, se facilitaba la detección de errores de funcionamiento del sistema.

Consideramos que en general, se estimó bien el tiempo requerido si bien hubieron

inconvenientes. En particular el tema del SPI consumió mucho más tiempo de lo planeado por el

problema del pin compartido, pero eventualmente pudimos solucionarlo. Este contratiempo hizo

que se atrasara la preparación de la presentación de la defensa del proyecto, pero logramos

finalizar el trabajo en el tiempo estipulado y estamos satisfechas con el resultado final.

9.4 Archivos fuente

Se adjunta una carpeta comprimida junto al presente informe, con la documentación de los

módulos generados en formato html.

9.5 SPI: Serial Peripheral Interface

Figura 12. Esquema de comunicación SPI. Señales intercambiadas.

En la Figura 12 se muestra una conexión ente un dispositivo maestro y un esclavo mediante

SPI. Las señales utilizadas son: SCLK, MOSI, MISO, SLAVE SELECT.

Es un protocolo de comunicación full duplex en el cual el esclavo y el maestro intercambian

datos en cada transición de reloj al setear MOSI o MISO a un valor. Es importante destacar que en

una comunicación maestro-esclavo el esclavo no puede hablar a no ser que el maestro le de la

palabra.

Debido a la topologia de bus utilizada el maestro puede conectarse a varios esclavos con

distintas Señales de slave select. En algunos casos cuando la comunicación es con un solo esclavo

la señal de SS no es necesaria.

Page 21: IR + PI - eva.fing.edu.uy

Proyecto Final de Sistemas Embebidos: IR + PI Florencia Ferrer, Lucía Korenko y Paola Romero

21

Figura 13. Diagrama de tiempos de una comunicación SPI.

El maestro-esclavo intercambian un bit de datos en la transición de reloj, puede ser en un

flanco de subida o de bajada de reloj y este puede ser activo por nivel bajo o por nivel alto, estos

aspectos son configurase y obviamente deben ser iguales entre el maestro y el esclavo. Los

mismos son: POL polarity, PH phase. Esto último puede observarse en la Figura 13.

Las imágenes fueron tomadas de http://www.argenox.com/library/msp430/msp430-spi-

peripheral-chapter-9/ (Junio 2015).