Selección de voltaje de batería y medición ADC (OpAmp + uC)

0

Necesito medir el voltaje de la batería que alimenta mi electrónica.

Vbat suministra el convertidor de CC / CC de refuerzo Buck y luego va a la unidad de control de temperatura y otros circuitos integrados (3,3V). Quiero usar 3x2 goldpins junto con OpAmp para seleccionar el rango de voltaje Vbat: U1 (3,6V Li-Ion) o U2 (7,2 2x Li-Ion) o U3 (12V Pb) que generan 0V a 3,3V en uC entrada ADC / salida OpAmp.

Eso está claro.

Ahora me gustaría comentar uC a través de GPIO de alguna manera que sabré qué tipo de puente / batería ha sido seleccionado (necesito saberlo en el software). Me imagino algunos OpAmps adicionales conectados a R2 / R2 '/ R2' 'pero no tengo idea de cómo hacerlo.

Apreciaré tu ayuda :)

simular este circuito : esquema creado usando CircuitLab

Edición 1:

El dispositivo se utiliza para medir el pH y la conductividad del agua. Necesita retroalimentación de temperatura para los CI de pH y conductividad y se comunica a través de GSM. Será alimentado por baterías, por lo que debe ahorrar energía. La mayor parte del tiempo duerme y cada 5 minutos realiza las mediciones. GSM está activado (modo GSM sleep o DC / DC sleep) solo para el informe diario o cuando las mediciones están fuera de rango. Cuando duerme, los sub-IC toman: 1mA (pH) + 0,4mA (conductividad) + 1mA (modo de suspensión GSM) o 1uA (corriente de reposo de GSM DC / DC) + ?? mA (PT1000 - aún no determinado) + ?? mA (uC - aún no determinado pero bajo).

La medición de voltaje ADC de la batería es necesaria para calcular el porcentaje de capacidad y el tiempo de vida útil de la batería (según las estadísticas anteriores), además de la pantalla de voltaje bruto. Para lo anterior necesito OpAmp o divisor de voltaje. La selección del tipo de batería (voltaje de entrada) es obligatoria para realizar cálculos con más detalle. No quiero hacer software de computación y, si no, para averiguar si la batería es de 12V o 3.6V, porque es posible enchufar cualquier combinación de baterías que sume el voltaje es de 3V a 15V. Por supuesto, es fácil determinar a partir de un divisor de voltaje el tipo de batería: 3.2-4.2V para un paquete de Li-Ion, 6.4-8.4V para dos paquetes y 10.8-12.6V. Solo pensando en voz alta :)

Volviendo a merritum: necesito elegir entre OpAmp y divisor de voltaje basado en el ahorro de energía. El divisor de voltaje (mega ohmios) consumirá uA igual para la corriente de reposo OpAmp en el modo de apagado. Estoy desconcertado porque al principio pensé que OpAmp ahorraría más energía. ¿Qué te parece chicos y chicas? :)

Edit 2:

Precisión y resolución. El ADC es de STM32F091 y es de 12 bits, por lo que al cortar el ruido, supongamos que es de 10 bits. El peor de los casos es la batería Li-Ion, cuyo rango de voltaje varía de 3.4V a 3.7V. Eso le da 300mV delta. Para representar el porcentaje, necesito un paso del 0,5%, por lo que la resolución es de 1.5 mV por paso. Eso es cuando se usa un divisor de voltaje dedicado.

Al usar un divisor de voltaje único para todos los tipos de baterías: El voltaje máximo de la batería puede ser de aproximadamente 13 V (para el cable), por lo que necesito escalarlo a 3.3 V = > div = 4. Cuando use Li-Ion individual obtendré con este divisor valores de 925mV a 850mV, por lo que delta es de 75mV. La resolución necesaria es 75mV / 200 = 0.375mV. El paso para 0V-3.3V 10bit es 3.2mV, por lo tanto, 10 veces más pequeño. Incluso si uso todos los 12 bits, el paso es demasiado pequeño: 0,8 mV.

Creo que necesito un divisor de voltaje dedicado para el tipo de batería o nuevamente ¿OpAmp? ¿Cuál sería más ahorro de energía?

    
pregunta killdaclick

3 respuestas

2

Dado que los puentes deben configurarse manualmente, una solución simple podría ser utilizar un segundo puente que indique la ganancia seleccionada al microcontrolador. Así que el usuario tiene que configurar dos puentes en posiciones idénticas. O simplemente use un interruptor giratorio con dos polos y tres posiciones (por ejemplo: SS-10-23NPE ).

Un enfoque completamente diferente sería implementar una función de rango automático, donde el microcontrolador selecciona el factor de ganancia automáticamente. Simplemente use un pequeño interruptor analógico que será controlado por el microcontrolador. Ahora es posible obtener automáticamente la señal de entrada: comience con el factor de ganancia más bajo y avance un paso antes de que se produzca la saturación de la entrada ADC. Si es necesario, proteja la entrada del ADC de la sobretensión: simplemente agregue un zehner de sujeción o un diodo TVS (importante: ¡baja corriente de fuga!) A la salida del amplificador.

    
respondido por el Stefan
1

El voltaje máximo a medir puede ser de 13 V y si tiene un ADC de 10 bits, entonces puede organizar esto, con un divisor de resistencia adecuado, para dar ~ 13 mV por bit.

¿Cuánta precisión necesitará para medir el voltaje? ¿No es suficiente 13 mV?

De todos modos, esta es la forma más sencilla de hacerlo y no debes preocuparte por el enlace que seleccionaste.

    
respondido por el Andy aka
0

Reemplace su mcu con dispositivos STM32F2 o F3 con opamps incorporados.

Algunos son compatibles con patillas y tienen PGA interno, puede eliminar la mayoría o toda la Opamp externa y los circuitos asociados del diseño.

ST tiene una nota donde el exceso de muestreo y el ruido producen dos bits EXTRA (es decir, una precisión efectiva de 14 bits).

enlace

enlace

He probado esto y funciona, especialmente en mediciones de CC de baja impedancia.

El dispositivo F373 también tiene ADCs de 16 bits, pero esto realmente sería una exageración.

También puede reemplazar su opamp con un PGA MCP6S21 / 2/6/8 o MCP6S91 / 2/3.

Su precisión, calibración, pruebas, PCB y fabricación serán más sencillas y tendrán un costo menor.

El consumo de energía es mínimo, ya que puede sincronizar todo el dispositivo a una velocidad muy baja (32 KHz). También pondría en reposo todo el dispositivo, o tal vez apagaría el analógico durante largos períodos entre mediciones, dependiendo de lo que necesite hacer.

Conservar el poder de esta manera es un desafío con las plataformas externas.

Por una vez, los paneles Nucleo cuestan < $ 10, Descubrimiento un poco más.

    
respondido por el ChrisR

Lea otras preguntas en las etiquetas