miércoles, 26 de septiembre de 2012

Proyecto: Cámara térmica para Smartphone parte III


Después de las vacaciones retomamos el blog con este tercer post sobre el proyecto de cámara térmica para smartphone.

Esta vez el sistema ya esta totalmente operativo en esta primera versión con un sólo sensor térmico (1 pixel). Ya estoy trabajando en la siguiente versión (ver final del post)

En el video se aprecia que el dispositivo esta pensado para ponerlo en la parte posterior del smartphone y aprovechando la cámara del mismo nos da la temperatura de los objetos en el centro de la imagen.
Desde el punto de vista del hardware la solución tecnológica ha sido un módulo OpenPicus con WIFI para la conexión con el smartphone y el sensor térmico conectado directamente a una entrada analógica del micro. El intercambio de paquetes se ha hecho con protocolo TCP, transmitiendo en todo momento (hay un filtrado previo en el propio micro) la temperatura leida por el sensor IR térmico.

Desde el punto de vista de Software, sin duda la parte más compleja del proyecto, ha sido la programación en IOS para el Iphone, principalmente por mi inexperiencia en este terreno. La curva de aprendizaje de IOS (Objetive-C) es un poco abrupta al principio pero como todo, al final se le va cogiendo el gusto...
La aplicación en el Iphone lee el streming de video de la cámara, lo convierte a Blanco y Negro (toma únicamente el canal Y del tipo de datos YCrCb) y lo muestra en pantalla.
Constantemente se está escuchando los mensajes TCP (puerto 22) que llegan. Cuando llega un paquete se lee y se muestra la información de temperatura en la pantalla y se actualiza el color del puntero del centro de la pantalla.
Existe por ultimo una pantalla de configuración donde pueden elegirse los rangos de colores en función de la temperatura.
En cuanto al software en el OpenPicus, simplemente se lee periodicamente el sensor térmico IR (puerto analógico), se realiza un filtrado paso baja y se envia la información como paquete TCP.

El resultado del proyecto es bastante interesante pero ya estoy trabajando en la siguiente versión, mucho más potente con un sensor de array de termopilas (MLX90620). Este sensor tiene un total de 64 pixels lo que permite realmente tener una cámara térmica aunque sea de baja resolción... Bueno habrá siguiente versión y tiene buena pinta...

Post anteriores del proyecto:
Parte II

domingo, 8 de julio de 2012

Nuevas mejoras en Ferrari?

Video de este nuevo proyecto:

Hola a tod@s, hace un par de semanas viendo una carrera de Formula1 y animado por los buenos resultados de Fernando Alonso con su Ferrari se me ocurrió la idea de este proyecto. ¿Porque no darle la apariencia de un Formula1 a un quadcopter?. Estuve un par de dias pensando la mejor manera de "encajar" la forma de un coche de F1 en un chasis de quadcopter hasta que encontre una solución que me gustó y me puse manos a la obra. Usando plastico coroplast y unas tijeras le di forma a la carroceria y despues busque algunas imágenes del Ferrari de Fernando Alonso para hacerme unas pegatinas en la impresora y este es el resultado...

La verdad es que llevo bastante tiempo haciendo quadcopters y multicopters y nunca me ha gustado la forma tan simétrica que tienen, hablando claro, en general son bastante feos, así que una de las cosas que más me gusta del resultado de este proyecto es que realmente la primera vez que lo vez cuesta darse cuenta que se trata de un quadcopter.


En cuanto a la configuración, estoy usando la misma configuración que use en este proyecto pero he cambiado la electrónica por el ArduPilot Mega 2.0 (APM2) y estoy usando las hélices 5x3 (normales y contra-rotatotias) de HobbyKing con una batería 2S800. He tenido que ajustar un poco los controles PID para adaptarlos al nuevo peso y aerodinámica de este modelo. Ademas he ajustado el Yaw para que sea mucho más agresivo, permitiendo "conducir" el quadcopter de una manera mucho mas parecida a un coche (pero volando, claro)



El resultado es un proyecto francamente divertido, sin duda una mejora que Ferrari debería introducir en sus monoplazas ;-)
Gracias a Ramon por haber sido el cámara del video y ayudarme en el montaje del mismo.

Jose Julio.

lunes, 18 de junio de 2012

Información sobre Quadcopters


En varias ocasiones me han preguntado información sobre quadcopters y los proyectos en los que estoy trabajando, asi que he decidido crear este post (gracias nacho por la idea) como introducción al mundo de los quadcopters...

La página (red social de UAVs) en la que suelo postear los proyectos es http://diydrones.com. Mi perfil dentro de diydrones es jose julio
El proyecto de Multicopters de diydrones se llama Arducopter : Página principal y toda la documentación (wiki): http://code.google.com/p/arducopter/

En cuanto al frame pequeño para vuelo indoor, proviene de este proyecto:
http://diydrones.com/profiles/blogs/indoor-fun-with-a-tiny
En este post hay un link a un documento en google docs con las instrucciones para construir el frame, que usa basicamente varillas y conectores de cometas (se pueden conseguir en decathlon)
Recientemente le he hecho algunas modificaciones que no están en este documento. Basicamente ahora uso estas hélices: http://www.hobbyking.com/hobbyking/store/__22753__5030_Propellers_Black_3xCW_and_3xCCW_6pcs_per_bag.html que ya no necesitan inclinar los motores y ahora uso una bateria 2S800.
En cuanto a la electronica lo que estoy usando últimamente es el Ardupilot Mega 2.0 (https://store.diydrones.com/APM_2_0_Kit_p/br-ardupilotmega-03.htm) Si solo lo quieres para indoor se puede comprar sin GPS. Esta electrónica no es barata pero hay que tener en cuenta que sirve para construir un sistema UAV completo. De hecho ahora mismo dentro de los proyectos de Diydrones se puede construir un piloto automático para aviones, multicopters, barcos y coches (proyectos ArduPilot, ArduCopter, ArduBoat y ArduRover).

En cualquier caso también nombrar que hay otros proyectos opensource de quadcopters, lógicamente yo nombro primero en el que estoy metido ;-), algunos conocidos:
http://aeroquad.com/   (conozco al desarrollador de este proyecto porque estuvo un tiempo metido en arducopter)
http://www.multiwii.com/  (proyecto basado originalmente en los sensores de la wii)
http://www.openpilot.org/

En cuanto a equipamiento de radio control el mejor sitio para pedir y más barato es : http://www.hobbyking.com
Aqui tienes un apartado de multi-rotores donde conseguir incluso frames, quadcopters ready to fly, helices, motores, emisoras...
En concreto tiene algun pequeño frame para vuelo indoor que tiene buena pinta y una electronica muy básica pero muy barata (todo esto en la sección multi-rotores)

Si alquien quiere mas información que me lo comente...

miércoles, 6 de junio de 2012

Porque seguimos sin coches eléctricos?



Más allá de las supuestas confabulaciones de las multinacionales del petroleo, los gobiernos y demás argumentos sensacionalistas (desde mi punto de vista poco realistas a día de hoy) la verdadera razón por la que no ha llegado la revolución del coche eléctrico está en dos números:

13300 y 160

13.300 Wh/Kg es la densidad energética de la gasolina (el diesel un poco menos), es decir, que un 1Kg de gasolina es capaz de generar 13.300 Wattios durante una hora.
Bien, la mejor tecnología de baterías que tenemos hasta la fecha (Baterias de Litio, en sus dos sabores de iones de litio o de polímeros de litio) tienen una densidad energética de 160 Wh/Kg, esto es, 83 VECES MENOS que la gasolina!. O sea, para poder generar los mismos 13.300 Wattios durante una hora necesitamos no un kilo de gasolina, sino una batería de 83 kilos!

Pero todo no es tan malo... la eficiencia de los motores eléctricos para convertir la electricidad en energía mecánica es muy superior a los motores de gasolina de nuestros coches (un motor eléctrico tiene eficiencias entorno al 85% y uno de combustion interna entorno al 20-25%). Si tenemos en cuenta este factor (85/20) a favor de la electricidad, todavia nos quedamos con un factor de 20 veces a favor de la generación de energía mecánica a partir de la gasolina... Por otro lado los motores eléctricos son bastante más ligeros que los de combustión pero aun así los datos no son muy optimistas, sigue habiendo demasiada diferencia. Nuestra tecnología de almacenamiento esta aún lejos de ser adecuada.


En otro orden de cosas siempre me ha resultado curioso que en general pensamos que los motores de explosión son más potentes que los eléctricos. Si hicieramos una encuesta con la siguiente pregunta  ¿porque los camiones y los trailers no son eléctricos? la mayoría de la gente diría que porque necesitan mucha potencia, dudo que la gente contestara que el peso y el tamaño de las baterías necesarias lo haría inviable...
Pero, quien nos enseño de chicos que los motores de explosión son mas potentes? Yo soy aeromodelista desde hace bastante tiempo y la pregunta de la gente siempre es la misma: ¿Es eléctrico o de explosión? Si es eléctrico (como en mi caso) lo toman como un juguete frente a los verdaderos modelos con motor de explosión... Leche!, que neurona es la culpable de esto?
A ver, de toda la vida los trenes han sido eléctricos. El AVE es eléctrico, transporta a 320 pasajeros, pesa casi 400 toneladas y llega a alcanzar los 300Km/h. Eso es potencia!
Nuestros problemas no están en los motores sino en las baterías...

Bueno seguiremos escribiendo sobre el apasionante mundo de la energia...

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

jueves, 31 de mayo de 2012

Proyecto: Cámara térmica para Smartphone I


Bueno, hace tiempo que un amigo mio (chichi) me regaló un termómetro IR que tenía estropeado y lo tenía por ahi arrimado. Este tipo de termometros permiten medir la temperatura de los objetos a distancia (como los termometros de los niños para medirles la temperatura en el oido). Pues bien, ahora le ha llegado su momento...

El otro dia lo desarmé y pude comprobar que la cabeza sensora funciona correctamente. Despues de un poco de ingeniería inversa pude comprobar que la salida de la cabeza es simplemente una señal analógica de la temperatura medida. Realmente lo que tiene la cabeza es la termopila (sensor IR térmico) y dos operacionales.

Bien lo primero que he hecho es conectarlo a un arduino y leer la señal. Funciona!! Lo intersante de este tipo de termometros es que son muy direccionales, la cabeza tiene un pequeño cilindro con una lente fresnel que enfoca el medidor a un punto muy concreto (tendre que media cuantos grados de apertura tiene realmente). Apuntando a la mesa me da unos valores y si apunto a mi mano me da un valor mayor. Ahora toca tomar un par de valores para hacer una pequeña "calibracion"...

Las cámaras térmicas han bajado mucho de precio pero son todavía muy caras, un par de miles de euros para tener algo decente... así que mi idea es experimentar un poco con este sensor (que vendria a ser un único pixel de una cámara térmica) a ver que resultados obtengo...
Bueno mi idea con este proyecto es usar un smartphone (mi iphone en este caso) para mostrar los resultados, para ello voy a usar una conexion Wifi AdHoc contra el sensor. Últimamente casi todos los proyectos los estoy enfocando de esta manera, es lo que llaman para que quede bonito Internet of Things. En realidad yo lo veo desde el punto de que todos vamos cargando siempre con un smartphone que es finalmente un pequeño ordenador con su pantalla, conectividad inhalambrica y mucha potencia de calculo, en definitiva es muy cómodo para un proyecto de este tipo. Si quiero usar el medidor de temperatura por ahi, no quiero estar cargando mi portatil y conectandolo con un cable USB... simplemente quiero ver los resultados en el teléfono. Otra ventaja es que el sensor podria estar montado en remoto, por ejemplo en casa y servir como alarma de que ha entrado alquien y genere un aviso en el telefono...
Y por ultimo porque lo he llamado Camara térmica? porque mi idea es que como el sensor es bastante direccional, usar la camara del teléfono para apuntar y tomar las mediciones de temperatura superpuestas a la imagen... vamos a ver a donde llegamos... Otra opción es montar el sensor sobre una cabeza de dos ejes (2 servos) y construir una imagen haciendo un recorrido en filas y columnas... veremos...

martes, 29 de mayo de 2012

Trata de arrancarlo...


Hola a tod@s, arranca un nuevo blog dedicado a ciencia, tecnología, cacharreos, energía y todo lo que se me vaya pasando por la cabeza... Lo que ocurre es que casi siempre tengo proyectos e ideas en la cabeza que me gustaria ir soltando en algún sitio. De vez en cuando escribo en foros y en otros blogs (DiyDrones, RCGroups...) pero casi siempre son proyectos ya acabados que publico para darlos a conocer y compartirlos pero a veces es util poder hablar simplemente de lo que estas haciendo y de las ideas que rondan por la cabeza... Fomentar la ciencia y la tecnología creo que es realmente importante para el futuro que se avecina, asi que aportaremos nuestro granito de arena... La experiencia me ha demostrado (con varios videos en YouTube que he publicado) que la mezcla de "Science & Fun" con proyectos atractivos y divertidos es la clave de la difusión y el mensaje que más llega a gente. Al ataquerrrr......
Para que vean la necesidad de compartir el cacharreo ahi va una foto actual de mi escritorio...