Mediciones de ADC de alto voltaje usando un PIC y OpAmp

Necesito hacer un dispositivo para medir el voltaje de una serie de condensadores que alcanzarán un máximo de 100 V (solo CC). En el esquema, he omitido varios de la pila, los circuitos de equilibrio y los dispositivos de soporte de PIC (xtal, desacoplamiento), para simplificar mi punto de vista. Cada tapa tendrá un máximo de 5 V a través de ella (¡supercondensadores hechos en casa si está interesado!).

Como la dinámica es bastante rápida, mi solución Arduino habitual simplemente no es lo suficientemente rápida, así que vuelvo a los viejos tiempos de los PIC, ¡que no he tocado en muchos años! 1-10 ms para los 20 canales en total, idealmente.

Para medir los altos voltajes, supongo que bastaría con un divisor resistivo simple, sin embargo, esto debería tener la impedancia más alta posible para no sesgar las lecturas y requerir resistencias de alta potencia. Esto pone la impedancia muy por encima del máximo de 10k para el PIC que estoy usando (PIC18F25K83). El PIC está funcionando a 5V.

El pensamiento actual, usando esto como inspiración, es usar un opamp para amortiguar la salida. Opamps no usados ​​antes.

¿Hay algo evidente que haga aparecer el humo mágico, o hay una mejor solución?

EDITAR: Imagen recortada según lo solicitado. Cuantificado qué tan rápido.

Esquemático

Bienvenido a EE.SE. ¿Puedes recortar tu imagen para que sea algo legible en la columna de 640 de ancho en la página web? (Se puede ver en 1: 1 haciendo clic en él, pero todavía hay demasiado espacio en blanco).
Listo, mi mal! ¿Es eso mejor? Olvidé que a veces estoy en una pantalla de 4k, nada mide correctamente, ¡así que estoy acostumbrado!
¿Qué es "bastante rápido" para ti, por cierto? Good ole' PIC no es conocido por ADC rápido fuera de este mundo o muchas líneas ADC (¡lo que podría ser realmente útil aquí!)
Bueno, el arduino es del orden de milisegundos por lectura de ADC y espero tener 20 canales. Eso es demasiado lento. Tengo el PIC sentado en una placa de prueba aquí leyendo 18 canales, parpadeando un LED y bombeando UART (en última instancia, será I2C) y hace todos los canales, con 8000 lecturas por canal (promedio) en el orden de 1 ms. Eso es más lo que estoy buscando.
bueno, ¿puedes poner números a lo que es "lo suficientemente rápido" para ti? "milisegundos" es realmente lento, y no hay ningún problema en ser más rápido, pero ¿qué tan rápido sería lo suficientemente rápido?
y, ¿lo entiendo correctamente, tiene una acumulación de 21 capacitores / 20 voltajes para detectar?
Presiona enter demasiado pronto, mira arriba si eso tiene sentido.
Sí, tenemos algunos supercaps hechos en casa que manejarán 8V a través de ellos. Estamos buscando hacer una pila en serie de 20 hasta un máximo de 100 V, por lo que los infrautilizamos.
Realmente, ¿puedes responder lo que sería "lo suficientemente rápido". Ahora sabemos qué es demasiado lento y qué es más rápido de lo que necesita, pero ¿qué sería "lo suficientemente rápido"?
Preferiblemente de 1 a 10 ms como máximo para todos los canales, suponiendo que sea factible. El PIC aquí en la placa ciertamente parece capaz de hacerlo y puedo obtener amplificadores operacionales de respuesta rápida.
Lanzaría algunos zeners en las entradas positivas del amplificador operacional solo para estar seguro. Aparte de eso, se ve bien.
bueno, 10 ms para todos los canales es "lo suficientemente rápido".
Como sugerencia de $ 0.02, agregue almohadillas para capacitores pequeños de cerámica en paralelo con R2, R4, R6, etc.

Respuestas (3)

Es posible que desee colocar un diodo de protección en la entrada del amplificador operacional, el alto voltaje podría quemar fácilmente el amplificador operacional si de alguna manera cruzara la barrera de la resistencia. Tenga cuidado al enrutar, a veces las piezas de orificio pasante pueden ser ventajosas para evitar la formación de arcos y proporcionar separación, ya que la fuga y el espacio libre para 100 V son 0,71 mm.

esquemático

simular este circuito : esquema creado con CircuitLab

Sí, y por cierto, puede comprar conjuntos de diodos de protección gracias a la necesidad de buses de datos externos rápidos a bajo precio :)
Eso es genial, muchas gracias. ¿Causaría algún problema que el PIC y el OPAMP estén en el mismo riel de 5V?
No, debido a que la resistencia de 200k limitaría la corriente a 50uV, cualquier suministro debería poder absorber eso. Si tuviera un arco, eso podría ser un problema, o un cortocircuito sería un problema, así que tenga cuidado.
Buena pregunta y bien documentada. Es posible que desee leer esto: meta.stackexchange.com/questions/126180/…
Impresionante, saludos. Anotado en el "gracias". Mi reputación no es lo suficientemente alta como para votar a favor, ¡así que solo quería ser cortés!

El AD8067 es en gran medida inadecuado para esta aplicación. Cuando se ejecuta desde un solo suministro de 5 voltios, el rango de voltaje de modo común de entrada es de 0 a 2 voltios y esto significa que necesitaría repensar radicalmente los valores de su resistencia si le venden ese chip en particular.

El Ad8067 también consume bastante energía. El consumo de corriente es de 6,4 mA por amplificador operacional, por lo que todo suma. Esto se debe a que es un dispositivo bastante rápido y esto se desperdicia en su aplicación.

Gracias por la info. TBH Acabo de tirar ese chip porque fue el primero que vi en Eagle y olvidé borrar la etiqueta. Estoy más vendido en un amplificador operacional cuádruple de 150 MHz que está diseñado para 5 V, pero olvidé el número de pieza (lo dejé en el trabajo, oops).

Probablemente sería perezoso y evitaría construir (y, potencialmente, calibrar) búferes ADC seguidores de 20 voltajes.

TI vende un MUX + PGA IC de 10 canales que está pensado para este tipo de aplicación. PGA116 o PGA117. Se necesitan como máximo 5 nA de corriente de entrada, incluso para la entrada activa que está multiplexada al amplificador programable. Entonces, digamos que tiene 0.5 MΩ de resistencia en serie, eso sería una caída de voltaje de 5 10 5 Ω 5 10 9 A = 25 10 4 V = 2.5 mV .

En un rango de digamos 2 V, eso es un error de 2.5 10 3 2 = 0.125 % ; su PIC tiene un ADC de 10 bits, por lo que su cuantificación de ADC permite una resolución ligeramente mejor, de todos modos. Si eso es demasiado, disminuir la impedancia del divisor de voltaje a 300 kΩ ya pondría el error por debajo de la resolución.

Entonces, estaría reemplazando 20 Opamps + 2 PIC por 2 PGA116 / 117 + 1 PIC. ¡Puede controlar su cambio usando SPI desde ese PIC fácilmente!

Para reducir la posibilidad de oscilaciones de alta velocidad/cosas de RFI, Nick recomendó correctamente condensadores cerámicos pequeños (1 a 4,7 nF o algo así) en paralelo al lado inferior de sus divisores de voltaje. ¡Barato! Use cada canal lo menos posible, eso mantiene estos capacitores cargados y reduce aún más el impacto de la corriente de polarización.

Utilice matrices de diodos TVS. Se pueden obtener de forma económica (y con pocos efectos parásitos), por ejemplo, como diodos de protección USB de alta velocidad/supervelocidad.