martes, 5 de junio de 2012

Proyecto: Cámara térmica para smartphone II


Post anterior : Proyecto: Cámara térmica para smartphone I



Soluciones tecnologicas

Me hubiera gustado desarrollar este proyecto usando un arduino (arduino pro mini) y un modulo wifi de este tipo (RN-XV) pero bueno teniendo en cuenta que me plantee este proyecto con objetivo 0€, voy a aprovechar lo que tengo por aqui...

Voy a usar el OpenPicus que ya he usado otras veces. OpenPicus es un proyecto curiosamente italiano (al igual que arduino) que integra un modulo Wifi de Microchip con un PIC24 (16 bits) en un unico módulo. Cuenta con un entorno IDE de desarrollo en C. Toda la parte de la pila TCP/IP de comunicaciones esta ya implementada así que es bastante facil de usar para este proyecto. Otra diferencia es que funciona sobre un RTOS (Real Time Operating System) asi que hay que tener en cuenta algunas cosas sobre threads para que vaya todo bien...

He hecho algunas pruebitas y el codigo sale muy fácil:
- Crear red wifi AdHoc y configurarla
- Samplear un canal analógico (conectado al termómetro IR)
- Convertir valor a grados
- Enviar en un mensaje TCP

El conversor analogico-digital (ADC) del PIC24 es de 10 bits al igual que el arduino y el voltaje de referencia esta en 2.0v. 10 bits es poca resolución para este sensor. Haciendo un par de pruebas he visto que equivale a una resolución de unos 0.4ºC. No esta mal pero se puede mejorar...

Voy a implementar la técnica de oversampling and averaging para aumentar la resolución efectiva del ADC hasta los 11 bits, o sea, que obtendremos una resolución de unos 0.2ºC. Esta técnica (ver este documento) consiste en muestrear la señal a mayor frecuencia de lo necesario y después realizar medias de las medidas como si tuvieramos más bits (en este caso 11). Esta técnica la probé ya en el proyecto de ArduIMU y fue muy bien consiguiendo duplicar la resolución efectiva del ADC (de 10 a 11 bits)

En cuanto al Hardware ya he preparado una pequeña placa con un regulador de voltaje a 5v para poder conectarle una bateria Lipo de 2 celdas (2S460). El sensor se conecta directamente a la entrada analógica del OpenPicus.

La parte más complicada de este proyecto va a ser la parte de programación en IOS, principalmente por mi inexperiencia... he hecho algunas pruebas muy simples con mi Hackintosh (Mac en un viejo portatil), en cualquier caso parece un reto bonito...

Post anterior : Proyecto: Cámara térmica para smartphone I

2 comentarios:

  1. Si,lo cierto es que el proyecto evolucionó y le monté un sensor MLX90620 que es un array de sensores térmicos de 16x4. A ver si algun dia de estos publico algo mas de información de este proyecto...

    ResponderEliminar