Cita:
Originalmente publicado por sailoog.com
|
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.