martes, 30 de julio de 2013

Placa para control de temperatura con sensor TPA81

Por variar un poco, y antes de entrar en la tercera epoca de examenes del año (Septiembre) os presento una entrada un tanto distinta a lo que estais acostumbrados hasta ahora sobre astronomia y observación planetaria.


Esta entrada va dedicada a dos grandes profesores y amigos, Pedro Díaz y en especial a Juan Suardíaz por su ayuda, comprensión, apoyo y fe que siempre ha tenido en mí y me ha llevado en los ultimos tiempos a conseguir grandes cosas. A ellos, gracias.


Voy a hablar de una placa que desarrollé hace poco en la Universidad Politecnica de Cartagena para una asignatura de mi titulación. Se trata de una placa para control de temperatura. No voy a exponer todos los detalles de la placa ya que de lo contrario sería una lectura muy tecnica y tediosa.
La placa en cuestión se desarrollo para el control del sensor TPA81 de la empresa Devantech Ltd. Está constituido por ocho células fotosensibles llamadas termopilas (TPA). Las termopilas detectan longitud de onda entre los 2um y los 22um, es decir la longitud de onda asociada a cuerpos calientes o emisores de calor.

Este sensor consta de 8 termopilas o pixel anidadas en una única hilera o matriz lineal, pudiendo por tanto tomar temperaturas de 8 puntos adyacentes y de forma simultánea. Cada termopila es capaz de detectar la llama de una vela a una distancia de 2m sin que se vea afectado por la luz ambiente.

Sus características principales son:
  • Alimentación a 5V
  • Consumo de 5mA.
  • Rango de temperaturas de 4º a 100ºC
  • Resolución en pleno campo de visión de +/- 3ºC en el rango de 4ºC a 10ºC y de +/-2ºC o el +/- 2% en el rango de 10ºC a 100ºC
  • Campo de visión de 41ºx6º lo que hace que cada pixel o TPA tenga un campo de 5ºx6º
  • Información de salida que indica la temperatura ambiente y la que capta cada uno de los pixels o TPA’s
  • Comunicación por I2C
  • Posibilidad de controlar un servo opcional con 32 pasos de unos 5’6º para conseguir una rotación de 180º en cualquiera de los sentidos
  • Tamaño reducido de 31mm x 18 mm
TPA81. La muesca a la derecha del sensor indica la referencia.
En la tabla siguiente se muestra los registros del sensor. Dispone de 9 registros para la lectura de las temperaturas expresadas en ºC. El registro 1 devuelve el valor de la temperatura ambiente. Los registros del 2 al 9 ofrecen las temperaturas de cada uno de los pixels. La adquisición de las temperaturas es constante y son válidas aproximadamente 40mS después de que el sensor apunte a una nueva posición.


Nº de Registro
Lectura
Escritura
0
Revisión de firmware Interno
Registro de comandos
1
Temperatura ambiente en ºC
Rango del servo (versión 6 del firmware o superior)
2
Temperatura del pixel 1 en ºC
No disponible
3
Temperatura del pixel 2 en ºC
No disponible
4
Temperatura del pixel 3 en ºC
No disponible
5
Temperatura del pixel 4 en ºC
No disponible
6
Temperatura del pixel 5 en ºC
No disponible
7
Temperatura del pixel 6 en ºC
No disponible
8
Temperatura del pixel 7 en ºC
No disponible
9
Temperatura del pixel 8 en ºC
No disponible

El control de la placa se llevo a cabo con el microcontrolador PIC18F4550. Gracias a una programación en su memoria previamente implementada por el usuario, gestiona todos los dispositivos conectados a él. La programación de este tipo de dispositivos se realiza por lo general en lenguaje ensamblador o similar. Sin embargo, este microcontrolador utiliza un lenguaje similar a C que además nos permite usar instrucciones en ensamblador lo que a su vez permite una gestión de la memoria del microcontrolador más concreta y así ayuda a obtener una alta optimización de las capacidades del microcontrolador.

La programación realizada por el usuario en el microcontrolador, se ajustara al uso que se requiera realizar en el microcontrolador, dependiendo de los elementos conectados a él. Esto permite la reutilización del microcontrolador en posteriores dispositivos por la facilidad de eliminar la información existente en el mismo.

Las principales características de PIC18F4550 son:

  • Comunicación por USB.
  • Diversos modos de gestión de energía.
  • Memoria de datos SRAM de 2048 bits.
  • Memoria de datos EEPROM de 256 bits.
  • Memoria Flash de 32K.
  • Capacidad para 16384 instrucciones sencillas.
  • 35 Entradas y salidas.
  • 13 pines Analógicos/Digitales.
  • Conexión PWM.
  • SSP, SPI,EURSART.
  • Control por I2C.
  • 1 temporizador de 8 bits y 3 de 16 bits.
  • 2 Comparadores.


    Esquema de conexiones 18F4550 (Indica 18f4553, son iguales sus esquemas de conexiones)

La elección de este microcontrolador para el control de la placa se ha basado en su alta capacidad de gestión de instrucciones, por su posibilidad de comunicación por I2C de datos, alta cantidad de convertidores analógicos digitales como por la posibilidad de conectar mayor número de componentes externos que los microcontroladores de la misma gama 18F gracias a un mayor número de pines.

Por otro lado, una de las consideraciones importantes es la condición o condiciones de uso general del dispositivo a implementar. Al poder ser usado diversos aparatos y situaciones, las situaciones de estrés térmico a las que se le puede someter al dispositivo pueden ser amplias.
El PIC 18F4550 ofrece un rango de temperatura ambiental entre los -40 y los 125 Celsius permitiendo hasta una temperatura de almacenamiento de -65 y los 150 Celsius.

Entre otras características, encontramos:

  • Tensión Vdd con respecto Vss: -0.3V a 7.5V
  • Potencia de disipacin:1.0W
  • Máxima corriente de salida del pin Vss: 300mA
  • Máxima corriente de entrada del pin Vdd: 250mA
  • Frecuencia de trabajo: 48Mhz

Entre sus características cabe de destacar una mencionada anteriormente, modo I2C. Este sistema de comunicación para componentes de un mismo circuito permite la comunicación entre el componente principal y el o los esclavos asociados al mismo, además de permitir una alta velocidad de comunicación entre los componentes pudiendo llegar, siempre que el dispositivo lo permita, hasta velocidades de comunicación de 3,4 Mbits/s. A su vez, su sencillez de uso y la baja ocupación de bus (solo 2 líneas) permite una alta optimización del sistema.

Por otro lado la alimentación del sistema se realizó con un transformador de 220 a 9 voltios que a su vez alimenta un circuito con un regulador 7805 para su transformación a 5 voltios necesarios para la correcta alimentación de la placa.

Esquema paso de 9V a 5V
Al no requerir modelización el transformador y el puente de diodos, ya que este circuito tan solo reduce de 9V a 5V, damos por hecho que la tensión de entrada no requiere filtrado ya que procede de un transformador comercial (Aunque de todas formas añadimos los condensadores para evitar posible rizado). Utilizamos una fuente lineal estándar aprendida de la asignatura Circuitos Integrados Analógicos no Lineales.

El rendimiento de la fuente será de aproximadamente 55'6%. El rendimiento queda afectado, ya que no podemos ajustar todos los valores que necesitamos para obtener una tensión de salida válida para nuestro circuito.

Por ultimo indicar de la placa el LCD 16X2 que se usó para la visualización de los datos. Esta pantalla LCD de 2 filas y 16 columnas permite la visualización de la información que le transmita el microcontrolador. La elección de este LCD en contra de otros tan solo se ha basado por la poca información necesaria a mostrar, su bajo coste y la escasa energía requerida para su funcionamiento.

Entre sus características, encontramos:
  • Pequeño tamaño.
  • Alimentación a 5V (también posible a 3V) y 3mA.
  • Contraste ajustable.
  • Posibilidad de lectura o escritura.
  • Envio de datos en 4 bits u 8 bits.

    LCD 16X2



La programación del microcontrolador se realiza gracias al programador PICKIT-3 y su programa MPLAB. Se programa con una mezcla de C y ensamblador permitiendo este ultimo un acceso a memoria del PIC mas eficaz, permitiendo optimizar lo maximo posible la memoria del microcontrolador.
 
Finalmente se realizó un prototipo donde se realizaron las primeras pruebas. Este prototipo se realizó con  una placa perforada y sin seguir al 100% las especificaciones finalmente usadas para la parte de la transformación de 9V a 5V.
 
 
 A continuación se puede ver la secuencia que realiza la placa con la lectura de datos por parte del sensor.
 
En primer lugar envia un mensaje de entrada indicando el sensor que utiliza y el firmware usado en este momento.

  
Posteriormente muestra las temperaturas tomadas por los 8 pixeles. El pixel numero 1 es el primero en la parte superior derecha de la pantalla leyendose de izquierda a derecha y de arriba a abajo.
 
 En tercer lugar, indica la temperatura maxima y minima de los 8 pixeles.
Por ultimo indica la temperatura media del la primera lectura. Al finalizar vuelve a hacer la lectura sin tener que mostrar el primer mensaje, haciendo la misma secuencia indefinidamente.
 
La placa final con todos los componentes descritos se fabricó, por exigencias de la asignatura a la cual iba dirigida la placa, por el metodo de isolación con ácido. Se colocaron los componentes de forma que ocuparan el minimo espacio posible pensando ademas en la posible posterior portabilidad del aparato con baterias.

En los siguientes videos se muestra la placa definitiva realizando 3 pruebas:

 
En la primera prueba tomó la temperatura ambiente del laboratorio y en una siguiente lectura se la acercó un soldador de estaño que estaba calentando (no a maxima temperatura posible del soldador).


En una siguiente lectura, tomó la temperatura de un vaso con agua fria. Puede ver como ha aumentado la temperatura de una lectura a otra al perder frio el vaso.
 
 
La ultima toma de temperatura que se tomó fue el control de temperatura del cuerpo humano. Tomando como lectura la mano, parece ser que no tiene fiebre.
 
Esta placa se puede asociar a maquinaria industrial para el control de temperatura de puntos criticos lo que permitiría dar avisos de alarma en el caso de sobrecalentamiento o de falta de calor para algunos sistemas. Ademas por su capacidad en barrido con servos podría usarse para la detección de perdidas de calor o frio el paredes u otras infraestructuras.




No hay comentarios:

Publicar un comentario