Divisores de voltaje y ADC

13

Quiero leer un voltaje de 0-30V con un MCU ADC que tiene una entrada máxima de 3V.

Inicialmente pensé en usar un divisor de 100k-10k (entonces 33V se traduce en 3V) pero de acuerdo con las respuestas a la impedancia de entrada ADC en MCU , esto agregará un error del 3% debido a la corriente de fuga de entrada; Estoy buscando un 0,5% de error máximo. Sin embargo, a valores más bajos para el divisor, corro el riesgo de dañar las entradas de la MCU debido a una sobretensión (las resistencias actúan en conjunto con los diodos de sujeción en la entrada). También aumento la disipación de potencia en mis resistencias, que son pequeños dispositivos 0603, clasificados para 0.063W máximo. ¿Cómo puedo evitar esto? nb la impedancia de entrada no es crítica.

No me preocupa la velocidad de muestreo, monitoreará el voltaje de la batería a un máximo de 100 muestras por segundo.

Thomas O
fuente
has construido el anterior? El 3% fue el peor de los casos debido a la fuga del peor de los casos, a menos que esté utilizando muchos de estos, puede calibrarlos.
Kortuk
Kortuk, ¿crees que podría ajustar una de las resistencias en un 3% o manejarlo en software (escala en 1.03x?)
Thomas O
Está diciendo que quiere alta precisión, bajo consumo de energía, a muy bajo costo adicional. No estoy seguro de que sea posible. Puede calibrar en un software como el que ha mencionado kortuk, pero en un proceso fabuloso que lleva tiempo, lo que equivale a dinero.
Kellenjb
Conducir una entrada MCU ADC con una gran impedancia es malo, de todos modos. Aumenta el tiempo de estabilización y causa distorsión, etc. "El ADC está optimizado para señales analógicas con una impedancia de salida de aproximadamente 10 kΩ o menos. Si se utiliza dicha fuente, el tiempo de muestreo será insignificante. Si una fuente con una impedancia más alta Si se usa, el tiempo de muestreo dependerá de cuánto tiempo necesita la fuente para cargar el condensador S / H, y puede variar ampliamente. Se recomienda que el usuario use solo fuentes de baja impedancia con señales que varían lentamente, ya que esto minimiza la transferencia de carga requerida a la tapa S / H "
endolito

Respuestas:

10

Use el divisor de voltaje con resistencias y un seguidor opamp luego. ¡Utilice un circuito opamp alternativo para reducir el voltaje y puede realizar el filtrado anti alias en una etapa!

aplastante
fuente
+1 usa el amplificador operacional con una ganancia de 0.1 y haz que doble como filtro anti-aliasing
ajs410
No puedo permitirme un amplificador operacional. No tengo suficiente espacio, desafortunadamente. Es posible que pueda pagar un IC de búfer, si son lo suficientemente pequeños y están disponibles con 8 canales.
Thomas O
Por lo general, solo compra un pequeño amplificador operacional y lo conecta como un búfer. national.com/mpf/LM/LMC7111.html ¿ SOT23 es demasiado grande?
endolito el
Oh, quieres 8 canales.
endolito el
1
El uso de resistencias de mayor precisión reducirá el error del divisor de voltaje. Aquí es donde ocurrirán las imprecisiones, de ahí la propuesta de usar un búfer.
smashtastic
14

De acuerdo, de su respuesta a mi comentario, creo que puedo ser más ayuda con una respuesta completa.

¡Constrúyelo!

Construye tu simple divisor resistivo. Esto tiene muchas ventajas, para un tamaño, otro es el costo.

¡Caracterízalo!

Ahora, también usará un microcontrolador, aquí es donde debe caracterizar su error. use un generador de voltaje que sea muy preciso, ahora verifique los voltajes y vea qué error mide realmente el uC.

Analízalo!

Ahora es cuando se pone divertido. Hay varias cosas que puedes medir.

Exactitud y precisión

Lo más importante para medir aquí es si el error en los puntos es repetible. SI cada vez que barre obtiene un error diferente, o si su barrido siguiendo una ruta diferente da un error diferente en el mismo punto, esta no es una opción. Esto sucede a menudo con las corrientes de fuga. La parte importante aquí es que no necesita una alta precisión, solo un alto grado de precisión. Si puede caracterizar su error, su uC puede corregirlo. Si tiene una gran variación, debe cambiar su solución.

¿Qué es una calibración de punto X?

Ahora, si tiene una alta precisión, como se mencionó anteriormente, puede pasar a corregir la precisión. Ahora, si grafica su voltaje de entrada versus su voltaje de salida, tendrá que decidir la cantidad de "puntos de referencia" que necesita. Los dispositivos agradables permiten un punto 1 (o punto cero, sin necesidad de calibración). Muchas sondas de temperatura.

Calibración de un punto

Ambas líneas tienen la misma pendiente, pero un desplazamiento, por lo que solo necesita encontrar el valor que debe agregar a un punto de datos para corregirlo. Esta es una situación ideal, ya que cualquier calibración nueva solo necesita un único punto de datos para calibrar nuevamente.

Calibración de dos puntos

ambas curvas lineales, posiblemente un desplazamiento y hay una diferencia de pendiente, solo necesita dos puntos de referencia e interpolación lineal para extraer su desplazamiento. Esto todavía es relativamente fácil, simplemente toma cualquier punto, lo multiplica por un escalar y agrega un desplazamiento.

Como puede ver, se vuelve más desordenado cuantos más puntos necesite. En algún momento es más fácil tomar cada punto de datos y correlacionarlo con el valor real. Por ejemplo, encontrar que 0000 es 1V, 0001 es 2V, 0002 es 1.5V. Esto es desordenado, y esto solo funciona si los desplazamientos son repetibles. Sin embargo, esto puede suceder.

Resumiendo

Espero que esto ayude, dime si necesitas más claridad. Si termina con una corriente de fuga variable que no es confiable, es hora de lidiar con la necesidad de un búfer o algo similar.

Puedo ver una posibilidad de alto error de fuga, pero apuesto a que el error es relativamente pequeño en la mayor parte del rango, y cuando lo hay, puede corregirse fácilmente.

Kortuk
fuente
1
Como nota al margen, esto parece una tonelada de trabajo, pero en realidad es una cantidad relativamente pequeña de trabajo para mantener bajos los costos de los componentes.
Kortuk
¡buen comentario! Una forma brillante de hacerlo en software. Su método final de tabla de búsqueda es probablemente el mejor método. El único inconveniente es la ROM que consume, pero para un ADC de 8-10 bits en una MCU debería ser factible.
smashtastic
Depende de los datos, tengo muchos casos diferentes, una calibración de 1 punto fue suficiente. Solo un desplazamiento. Y luego construir en el hardware para calibrar automáticamente vale la pena.
Kortuk