Divisores de voltaje y ADC

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 (por lo que 33V se traduce en 3V) pero de acuerdo con las respuestas a la impedancia de entrada de ADC en MCU , esto agregará un error del 3% debido a la corriente de fuga de entrada; Estoy buscando un error máximo de 0.5%. Sin embargo, a valores más bajos para el divisor, corro el riesgo de dañar las entradas de la MCU debido a la sobretensión (las resistencias actúan en conjunto con los diodos de sujeción en la entrada). También aumento la disipación de energía en mis resistencias, que son pequeños dispositivos 0603, clasificados para 0.063W máximo. ¿Cómo puedo evitar esto? Nota: 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.

¿has construido el anterior? 3% fue el peor de los casos basado en la fuga del peor de los casos, a menos que esté fabricando muchos de estos, puede calibrarlos.
Kortuk, ¿crees que podría ajustar una de las resistencias en un 3% o manejarla en el software (escalar en 1.03x?)
Está diciendo que quiere alta precisión, bajo consumo de energía, a un costo adicional muy bajo. No estoy seguro de que eso sea posible. Puede calibrar en un software como el mencionado kortuk, pero en un proceso fabuloso que lleva tiempo, lo que equivaldrá a dinero.
De todos modos, conducir una entrada MCU ADC con una gran impedancia es malo. Aumenta el tiempo de establecimiento y provoca 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 una fuente de este tipo, el tiempo de muestreo será insignificante. Si una fuente con una impedancia más alta se utiliza, el tiempo de muestreo dependerá de cuánto tiempo necesita la fuente para cargar el condensador S/H, que puede variar ampliamente. Se recomienda al usuario utilizar únicamente fuentes de baja impedancia con señales que varían lentamente, ya que esto minimiza la transferencia de carga requerida al límite S/H"

Respuestas (2)

Use el divisor de voltaje con resistencias y un seguidor opamp después. Alternativamente, use un circuito opamp para reducir el voltaje y puede realizar un filtrado antialiasing en una etapa.

+1 usa el amplificador operacional con una ganancia de 0.1 y haz que se duplique como filtro anti-aliasing
No puedo permitirme un amplificador operacional. No tengo suficiente espacio, lamentablemente. Es posible que pueda pagar un IC de búfer, si son lo suficientemente pequeños y están disponibles con 8 canales.
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?
Oh, quieres 8 canales.
Si aún usa el divisor de voltaje, tendrá el error del que está hablando. No creo que esto ayude a mejorar su precisión en absoluto.
el uso de resistencias de mayor precisión reducirá el error del divisor de voltaje, el segundo problema es conducir esa señal a un ADC. Aquí es donde ocurrirán las imprecisiones, de ahí la propuesta de utilizar un búfer.
¿Qué pasa con dos paquetes LFSCP que tienen un tamaño de 4,00 x 3,75 mm y cada uno tiene cuatro amplificadores operacionales en un paquete? Aquí hay uno de dispositivos analógicos analog.com/en/amplifiers-and-comparators/…
¿Se deben tomar todas las muestras al mismo tiempo? Tiene una frecuencia de muestreo baja, podría multiplexar en el tiempo las entradas a través de un chip de amplificador operacional.

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

¡Constrúyelo!

Construya su divisor resistivo simple. Esto tiene muchas ventajas, para un tamaño, otro es costo.

Caracterízalo!

Ahora, también va a usar un microcontrolador, aquí es donde necesita 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 una serie de cosas que podrías 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 realiza un barrido obtiene un error diferente, o si su barrido siguiendo un camino 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 gran precisión, solo un alto grado de precisión. Si puede caracterizar su error, su uC puede corregirlo. Si tiene una gran varianza, necesita 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 cuando 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 nueva calibración 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, solo toma cualquier punto, lo multiplica por un escalar y agrega una compensación.

Como puede ver, se vuelve más complicado cuantos más puntos necesita. En algún momento, es más fácil simplemente 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 complicado, y solo funciona si las compensaciones 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 por el estilo.

Puedo ver la posibilidad de un alto error por fuga, pero apostaría a que el error es relativamente pequeño en la mayor parte del rango, y cuando lo hay, se puede corregir fácilmente.

Como nota al margen, esto parece mucho trabajo, pero en realidad es una cantidad relativamente pequeña de trabajo para mantener bajos los costos de los componentes.
¡buen comentario! una manera brillante de hacerlo en el 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.
Depende de los datos, tengo muchos casos diferentes, una calibración de 1 punto fue suficiente. Solo una compensación. Y luego la construcción del hardware para calibrar automáticamente vale la pena.