Estoy usando la referencia de voltaje TI REF3020 (2048 mV) en combinación con un microcontrolador para tener una referencia para las mediciones de voltaje.
El microcontrolador está alimentado por 5 V (5,00 V), la referencia ADC de MCU también está configurada en 5,00 V. Debido al hecho de que no quiero confiar en que los rieles VDD sean referencialmente estables, quería agregar una referencia de voltaje de precisión.
En mis configuraciones de prueba, puedo medir fácilmente el voltaje VDD (referencia ADC) y calcular el voltaje a tierra de un pin de entrada ADC. Para fines de prueba, utilicé una fuente de alimentación externa como entrada para un pin ADC. Después de medir el voltaje en el pin con un osciloscopio y un DMM, la MCU midió, sin más calibración, el voltaje real correcto hasta el LSB del ADC. (Estoy usando un ADC de 12 bits) Este experimento se llevó a cabo con éxito con múltiples voltajes entre 0V y 5V.
Además, utilicé la referencia de voltaje REF3020 mencionada anteriormente en la misma configuración como entrada para un ADC. Tanto el osciloscopio como el DMM confirmaron con precisión 2.048V. Al medir el mismo voltaje con la MCU a través de un ADC, el valor se desvió en 15 puntos. En lugar de un valor de bit de 1677, la MCU midió 1663:
El valor medido por la MCU no oscila ni se desplaza con el tiempo y la temperatura (para ser honesto, una ventana relativamente estrecha) que probé. El valor (promedio) se mantiene constantemente en 1663. Sin promediar, el valor oscila entre un mínimo de aproximadamente 1660 y 1666. Sin embargo, la influencia de la temperatura debería ser insignificante, porque el otro experimento se realizó a la misma temperatura (temperatura ambiente).
Para esta aplicación, estoy usando un promedio de 128 muestras en una ventana de tiempo de aproximadamente 4 ms. Incluso traté de hacer la muestra y comparar tiempos más largos. Tampoco ayudó.
La referencia de voltaje es incluso de alta corriente. Puede suministrar de forma segura hasta 25 mA según la hoja de datos. Esto debería ser suficiente para ser muestreado por un solo canal ADC. No hay otras cargas conectadas a la referencia de tensión.
Fácilmente podría calibrar el error de compensación, pero esto en esencia anularía todo el propósito de la referencia de voltaje en esta aplicación.
¿Cuál más podría ser la causa de esta desviación que se manifiesta solo al medir el voltaje de salida de la referencia de voltaje?
Intente proporcionar un poco más de tiempo de estabilización (unos pocos mseg) antes de realizar cada medición. Con esto me refiero al tiempo entre el momento en que se selecciona el canal ADC y el momento en que comienza la conversión. Uso el REF3020 y tiene una respuesta deficiente a los cambios en la carga, aunque puede proporcionar una corriente alta en una carga fija. No lo verá con un multímetro digital o incluso con un osciloscopio porque es difícil ajustar muy bien el gatillo.
No creo que estés usando la referencia de voltaje de la mejor manera. Usted escribió "El microcontrolador está alimentado por 5 V (5,00 V), la referencia ADC de MCU también está configurada en 5,00 V". por lo que en realidad está utilizando su riel de 5V como referencia del ADC. No está utilizando 2.048V como referencia de ADC. Por lo tanto, su ADC solo puede ser tan preciso como su riel de 5V.
Lo que realmente quiere hacer es conectar el voltaje de referencia de 2.048 V a la entrada ADC VREF de la MCU y configurar la MCU para usar eso como su referencia. Esto significa que su riel de 5 V puede moverse hacia arriba y hacia abajo a medida que las cargas van y vienen, pero su ADC siempre leerá la escala completa exactamente con el voltaje de referencia VREF IN.
La desventaja es que esto significa que las lecturas de escala completa están limitadas a 2.048V. Es por eso que normalmente uso una referencia de 4.096 V y cualquier voltaje que necesito leer por encima de 4 V, lo reduzco con resistencias y/o amplificadores operacionales.
Además, asegúrese de leer las especificaciones de nuestro ADC. Incluso con una referencia de voltaje perfecta, el ADC tendrá algún error. El precio que pagó generalmente dicta qué tan pequeño es este error. Aquí hay un buen artículo sobre cómo leer las especificaciones de ADC . Espero que ayude.
marcelmo
Sam
marcelmo
fscheidl
fscheidl
Sam
fscheidl
Sam
tom carpintero