
22-11-2015, 00:21
|
 |
Hermano de la costa
|
|
Registrado: 19-07-2012
Edad: 67
Mensajes: 2,307
Agradecimientos que ha otorgado: 289
Recibió 1,345 Agradecimientos en 816 Mensajes
Sexo: 
|
|
Re: Proyecto OpenPlotter
Hola Cofrades
Buscando soluciones de como hacer un Anemómetro barato que se pueda conectar a la Raspi, me he encontrado con algo interesante. Se trata de un convertido A/D que se puede conectar directamente a la Raspi y solo cuesta 3 Euros. Esto le abre a la raspi lo que le faltaba, conexión con el mundo analógico. Se trata del chip MCP3008 (Fig 1)
Es un convertidor A/D de 10 bit y 8 canales independientes de entrada.
En un lado del chip se encuentran las entradas analógicas y al otro lado los pines de alimentación y de comunicación.(Fig 2)
Los 10 bit nos dan la posibilidad de 1024 combinaciones de bits, lo que utilizando la tensión de referencia de la Raspi de 3,3V supone intervalos de 3,2 mV, que creo que es suficiente para monitorizar cualquier sistema analógico como la temperatura y las revoluciones del motor, o la temperatura del escape, el nivel de líquidos de agua, gasoil o aguas negras o bien cualquier sensor que tenga una salida analógica.
Hay otro chip de 12 bits, el MCP3208 que elevaria la combinaciones de bit a 4096 con intervalos de tensión de 805,66 microV.
El flujo de datos con la Raspi se hace a través de la interface SPI (Serial Paralel Interface).
Donde Vdd: es la tension de alimentación de 3,3 V, Vref: La tension de referencia de 3,3,V, Agnd: la masa analógica, SCLK: el reloj(Clock), Dout: Salida de datos del MCP3008, Din: entrada de datos de la Raspi, CS: seleccion de chip, Dgnd: masa digital.
El interface SPI se basa en el principio de Master/Slave como el I2C que se usa para las IMU, donde se pueden conectar varios Slave y se chequean con el pin CS.
La conexion con la Raspi es muy sencilla (Fig 3)
Me he decidido por este chip porque tambiénse dispone de un programa en Python para leer los bit de salida del convertidor.
Aqui pongo el programa. (Fig 4)
En este caso llama a la función con Print, pero se puede aplicar a una variable y seguro que se puede implementar en Openplotter para mostrar la lectura o bien en un reloj o numérica o traducirlo a NMEA.
Si se utiliza el chip MCP3208 de 12 bit habria que cambiar en el bucle for range(13) en lugar de range(11).
Para el anemómetro voy a utilizar cuatro sensores de "Hilo caliente" el MD0550dfx de Modern Device que cuesta 17 Euros con salida analógica de 0 voltios hasta la de alimentación (de 4 a 10 V), que seran los 5 V de la Raspi.
Ya he pedido el material y en cuanto me llegue, vere como tengo que montar los sensores de viento para obtener también la dirección del mismo, para luego escribir el programa en Python. Luego con la ayuda de Sailog se podrá pasar a NMEA para que lo multiplexe Openplotter.
De los 8 canales necesitara el anemómetro 4, con lo que quedan 4 libres para otra utilización. Algunas ideas las he nombrado antes pero seguro que se os ocurren alguna más. Para leer las, temperaturas solo se necesita una sencilla sonda PTC, las revoluciones se pueden leer directamente usando un divisor de tension, etc.
No se lo que opináis al respecto, pero con este chip creo que completamos todas las posibilidades de la Raspi para su uso en la navegación con los objetivos de Openplotter.
La pagina donde lo he encontrado es www.erik-bartmann.de. Esta en Alemán, pero si alguien tiene interés en algo concreto os lo puedo traducir.
|