Conectar muchos sensores al PIC

Hola...

Antes que nada saludos a todos... La verdad es que se me ha hecho comun entrar a este foro para hacer mis consultas para alguno de los proyectos que he armado (o intentado al menos)...

La cuestion es que me encuentro con un problemita.... Estoy haciendo un proyecto para la facu, donde tengo que leer la temperatura con 12 sensores distribuidos en una habitacion mas bien grande... El sensor que uso es el famoso LM35, y tengo pensado conectarlos a un PIC (todavia no se cual, porque no he definido lo anterior)....

Cada LM35 esta conectado a un TL081 configurado como amplificador no inversor, con una ganancia de 5, y de ahi la señal va a un ADC0804, que me entrega a la salida el valor binaria de la tension....
Como el sensor necesito que mida los rangos de 0ºC - 100ºC, y teniendo en cuenta la ganancia del AO, los rangos de tension van desde 0 a 5 V, por lo que Vref del ADC es de 2,5 (escribo esto por las dudas que haya algo mal en el planteo que estoy haciendo... si es asi por favor corrijanme)

Ahora la duda.... Si a la salida de cada ADC tengo 8 bits de resolucion, entonces a 12 sensores, tendria...... 96 valores! para meter al PIC (medio mucho).... Estuve buscando algo para "desmultiplexar" esos 96 valores, e ir eligiendo 1 por 1, pero me encuentro con el problema que no se como se llama eso.

Hace un tiempo hice una plaqueta para ampliar las salidas del puerto paralelo con unos HTC574, que son buffer 3-estado. Entonces con los bits de control del LPT seleccionaba que buffer usaba, y de esa forma tenia 32 salidas (4 integrados). Lo que necesito ahora es similar, pero al reves (se entiende)....

Yo habia pensado en poner todas las salidas de los ADC en paralelo, y mandarlos a un puerto del PIC, y con el otro puerto, manejar el pin CS de los ADC, para activarlos 1 a la vez, e ir leyedo los datos con el PIC.... Se puede?

Ahora pongo un esquema de mi idea, pero solo con 2 ADC para que se entienda la idea....

Espero que me puedan ayudar....

Saludos....

Nahuan
 

Adjuntos

  • esquema_139.jpg
    esquema_139.jpg
    27.4 KB · Visitas: 82
Una forma que se me ocurre es usar un serializador como el 74HC166D. Necesitarías uno por cada ADC, y lo bueno es que los puedes conectar todos en serie, necesitando así sólo 3 o 4 pines del pic para controlarlos todos. Lo que harías entonces sería un protocolo para latchear y después leer todos los ADC de una vez, es decir los 96 bits o los que sean vía serie.
 
Nahuan dijo:
Ahora la duda.... Si a la salida de cada ADC tengo 8 bits de resolucion, entonces a 12 sensores, tendria...... 96 valores! para meter al PIC (medio mucho).... Estuve buscando algo para "desmultiplexar" esos 96 valores, e ir eligiendo 1 por 1, pero me encuentro con el problema que no se como se llama eso.

A esa tecnica se le conoce como Multiplexado de datos....

Nahuan dijo:
Yo habia pensado en poner todas las salidas de los ADC en paralelo, y mandarlos a un puerto del PIC, y con el otro puerto, manejar el pin CS de los ADC, para activarlos 1 a la vez, e ir leyedo los datos con el PIC.... Se puede?

Claro que se puede y es lo mas recomendado, otra forma en la que puedes resolver tu problema sin usar tantos convertidores AD es usar Switches o Multiplexores Analogicos, como el 4066, ya sea colocando una entrada por cada sensor y de alli al amplificador y al convertidor AD, o conectando uno a la salida de cada amplificador operacional

La habilitacion del AD o del switch analogico la puedes hacer usando pines individuales del PIC o por medio de un demultiplexor como el 74137 o 74138
 
Gracias por la respuesta....

Para Chico3001:

Estuve viendo los 4066, y la verdad es que me simplificaria bastante las cosas (y los costos, ya que aca en arg un ADC0804 cuesta USD 5)

Para los 12 sensores, necesitaria entonces 4 4066, es asi?
3 para los 12 LM35 (con los cuales sacaria 3 señales analogicas) y de ahi al 4to 4066 para seleccionar la final?

En ese caso, como haria el control? tendria que usar 16 pines del PIC?

La verdad es que no me doy uenta como o puedo hacer con los 74137 o 74138 que me decis.....

Gracias de nuevo....

Saludos...

Nahuan
 
Nop... para 12 canales solo necesitarias 3 4066 ya que se habilitan y deshabilitan digitalmente (funciona igual que un buffer digital, solo que para señales analogicas)

Y si no quieres usar 12 pines del PIC puedes hacer el control usando el 74238, o un 74138 con inversores por que la logica del 4066 es positiva, te adjunto un diagrama para que te des una idea....
 

Adjuntos

  • adc_155.bmp
    86.8 KB · Visitas: 100
Gracias por la respuesta....

Les comento que consegui el CD4067, que es igual al 4066, pero de 16 canales.... y lo manejo con 3 pines del PIC, asi que voy a probar con ese a ver que pasa, y luego les cuento como fue....

Lo uqe si me queda duda, pero nada que ver con esta parte del circuito es la siguiente....
Los sensores van a estar trabajando "cerca" de motores trifasicos (cerca me refiero a que estan en la sala donde tienen que estar los sensores... algunos estaran a 3 m, otros a 15 m), y ademas, algunos LM35 estan a 8-10 m de distancia del PIC...

Si yo utilizo un amplificador operacional con ganancia de 5, y ademas uso cable telefonico de 2 pares blindado, y de muy buena calidad, dejaria de tener problemas con el ruido provocado por la conexion/desconexion de los trifasicos, y las caidas de tension en esos 8 m de cable?

Saludos, y gracias de nuevo.....

Nahuan
 
Atrás
Arriba