¿Conversión A / D de rango automático?

1

A menudo encuentro que el Arduino A / D de 10 bits carece de resolución para mis necesidades. Yo prefiero voltímetros de rango automático. ¿Puedo jugar el mismo juego?

¿Puedo dividir mi rango de voltaje objetivo en segmentos para aumentar la resolución? ¿Cómo protege las entradas de sobretensión?

    
pregunta Richard

4 respuestas

4

El rango automático normalmente se manejaría agregando un PGA (amplificador de ganancia programable) al frente de su convertidor A / D. En algunos casos, para lograr la máxima utilidad del rango de su convertidor A / D, también agregaría un desplazamiento programable en el PGA. La salida del PGA se sujetaría mediante algunos diodos al rango de voltaje de referencia del convertidor A / D.

Otro esquema es diseñar múltiples amplificadores, cada uno con su propia ganancia y compensación, que muestrean la señal de entrada y la condicionan de una manera particular. Cada uno de estos amplificadores podría configurarse con trimpots para permitir la calibración a un rango operativo preciso. Las salidas de estos amplificadores se sincronizarán con el convertidor A / D a través de un multiplexor analógico de muchos a uno.

Todavía es posible "calibrar" el esquema con el amplificador PGA con compensación programable alimentando niveles de señal conocidos a través del circuito y luego observando los ajustes programables que se necesitan para obtener una salida del convertidor A / D. Estos se almacenarán en alguna memoria no volátil de la MCU que se utilizará para ajustar / escalar las lecturas A / D a los valores apropiados al tomar lecturas de señales reales.

    
respondido por el Michael Karas
1

Dependiendo de sus niveles de voltaje, puede hacer esto.

  • Divisor de voltaje, donde las resistencias se conmutan con un multiplexor
  • Amplificador de ganancia variable
  • A / D externo con más bits. Esto suele ser el más fácil, y produce buenos resultados. Busque estos A / Ds de Analog Devices . Muchos de ellos tienen amplificadores de ganancia programables (PGA) incorporados.

La protección contra sobretensión o tensión inversa generalmente se realiza con una resistencia o fusible y un diodo o diodo Zener.

    
respondido por el Nick Alexeev
1

Puede agregar una versión amplificada de 10x y 100x de la misma señal (o multiplicar algún otro factor conveniente, como 16x y 256x), y enviarlo a otras entradas analógicas. El resto es software.

Tenga en cuenta que esos amplificadores deben ser muy precisos, tanto en ganancia como en compensación, pero es posible que pueda hacer algunos triqueros comparando las lecturas de valores en diferentes rangos. Use los opamps de 5V para no tener que preocuparse por las entradas fuera de rango.

    
respondido por el Wouter van Ooijen
0

Debe definir cómo carece de resolución: son sus señales demasiado pequeñas (se necesita amplificación), demasiado grandes (se requiere atenuación) o ambas (tal vez su entrada sea logarítmica).

Lamentablemente, el arduino ADC en sí no es de gran calidad, por lo que no podrá obtener una precisión ADC en términos de señal a ruido en el pin ADC & sus lecturas de salida.

Buscaría una buena solución analógica para acondicionar la señal de entrada: hay algunas buenas notas de ADC con bajo nivel de ruido en el sitio web de Linear Tech, busque a Jim Williams / Bob Pease, ambos maestros del análogo.

    
respondido por el John U

Lea otras preguntas en las etiquetas