Discusión: Electrónica Proyecto OpenPlotter
Ver mensaje
  #1487  
Antiguo 08-02-2016, 16:13
Avatar de gypsylyon
gypsylyon gypsylyon esta desconectado
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:
Predeterminado Re: Proyecto OpenPlotter

Cita:
Originalmente publicado por sailoog.com Ver mensaje
Genial!

Hay otros proyectos en marcha que harán uso de un ADC, concretamente unos circuitos que leen directamente de los sensores de niveles del deposito y otras partes del motor; otro de lectura de corriente y voltaje de baterías, así que he pensado que con un MCP3208 tendremos más juego al ser de 12bits puesto que tenemos que crear un interface capaz de ajustarse y calibrarse a múltiples rangos de valores. No creo que haya problema en modificar tu script para ello. Cuando me meta con el interface ADC haré un fork de tu repositorio e intentaré adaptarlo en OpenPlotter, quizás en alguna parte experimental donde colocar todos los prototipos que van saliendo. Igual estaría bien recopilar todos los pasos y el manual de construcción de tu anemometro en algúna pagina para que la gente no tenga que bucear en este foro para implementarlo. Podrías abrir un blog o algo parecido y poner tambien el peazo video que hiciste.

Me parece excelente tus ideas para el ADC. Solo comentarte que yo me dedici por el de 10 bits porque temia que con 12 bit estaria la raspi muy sobrecargada. Hay que tener en cuenta, que aumentamos en 4 veces el numero de bits que tiene que leer (de 1024 de MCP3008 a 4096 en el MCP3208). Hay que tener tambien en cuenta que se pueden colocar en paralelo mas ADC y aumentar el numero de canales analogicos (8 por cada chip). En este caso no se si la Raspi podria con tanto con 12 bits por canal.
Por otra parte creo que para el uso que piensas, los 10 bit son suficientes. Para el anemometro si que hubiera estado indicado los 12 bits, pero con el de 10 bits a bastado. Seria cuestion de probar y ver el porcentaje de opcupacion de la Raspi.
Respecto al scrip no hay que hace muchos cambios. Solo dos. El primero en la Variable Ref_volt que seria en lugar de 0.00322, el valor de 0.00080566 (resulta de dividir 3,3V / 4096 = 805,66 microV). El segundo es en la funcion def readAnalogData(adcChannel, SCLKPin, MOSIPin, MISOPin, CSPin, delay): en el bucle for i in range(11): en lugar de 11 poner 13 pra leer los 12 bits. Eso es todo.
Para leer los canales Analogicos solo es necesario del scrpt hasta
setupGPIO(SCLK, MOSI, MISO, CS) # GPIO-Pin Setup
El resto es para el anemometro.
En el circuito de entrada de los pines analogicos habria que poner un divisor de tension (un mini poti de 100k) para ajusta las tensiones de entrada a 3,3 V (la mayoria de los sensores del barco, como nivel de deposito o temperatura de motor , etc ) regulan con la tension del barco (12V o 24V).

Entoces el MCP3008 o el MCP3208 puesto en una placa sencilla de CI con conectores de entrada para cable y los potis y bien, conectando directamente con conector doble (para poder conectar otros dispositivos en cascada a la Raspi) o con cable, se tendria el muno analogico abierto a la raspi con 8 canales por chip de una manera muy economica. El resto seria programar un reloj general de visualizacion al que optativamente se le puede cambiar el label (Agua, Gasoil, Temperatura, etc) y unidades para ver los datos analogicos.
Los siguientes cofrades agradecieron este mensaje a gypsylyon
teteluis (09-02-2016)