¿Cómo puedo medir el voltaje VBAT a través del ADC de STM32F103?

2

Tengo una placa con una batería de respaldo recargable MS621. Algunos datos deben mantenerse en la memoria después de que se apague el dispositivo.

En ocasiones, la batería se descargará a un voltaje inferior al que requieren los registros de respaldo del STM32. En ese caso, quiero advertir al usuario.

Por lo tanto, debo medir el voltaje de VBAT a través del ADC del STM32F1.

Mi pregunta es que cuando el STM32 está apagado (No VDD), ¿la conexión entre la batería y el pin ADC del STM32 causará un consumo de energía inesperado?

En otras palabras, ¿cuál es el estado del pin del STM32 después de que se apaga el dispositivo? ¿Se agotará la corriente de la batería al pin ADC de STM32?

¿Hay una mejor solución?

    
pregunta user123179

3 respuestas

2

Lamentablemente, la serie STM32F103 no ofrece un canal ADC interno conectado a VBAT, por lo que tiene que conectarlo externamente.

El problema surge tan pronto como se apaga el microcontrolador. Si tuviera que conectar el VBAT directamente a otro pin del STM32 y apagar la fuente de alimentación principal, los diodos de protección comenzarán a conducir e intentarán alimentar el STM32. Por lo tanto, daría lugar a un consumo excesivo de corriente en tu dominio de copia de seguridad.

Una solución simple podría ser poner una resistencia grande en serie.

simular este circuito : esquema creado usando CircuitLab

Con esta configuración, limita la corriente máxima a un máximo de 3µA. Será menos, pero predecir cuánto es un poco difícil.

Ahora medir la batería con una resistencia de 1MegOhm no es la mejor idea, es fácil obtener distorsiones y hay que tener cuidado de seleccionar una frecuencia de muestreo lo suficientemente larga para cargar el condensador de muestreo. Entonces, ¿podemos hacerlo mejor?

Lo primero que viene a la mente es usar un interruptor analógico. Algo así como un TS5A3160 de Texas Instruments (hay muchas alternativas disponibles, esto probablemente no será la mejor parte disponible).

Ahora, como es un IC, lo más probable es que se especifique de manera similar a un microcontrolador, que no haya entrada por encima del riel de suministro. Una mirada en la hoja de datos muestra que este es el caso. Así que tenemos que alimentarlo desde la batería.

La corriente de suministro para esta parte es realmente baja. Solo un máximo de 100 nA en todo el rango de temperatura (tenga cuidado con la condición actual del suministro que se ve en la hoja de datos, me refiero a las páginas de 3.3V). Así que eso no es una reducción inmediata.

Lo siguiente que queremos vigilar es la corriente de fuga de las entradas, que podría ser mayor que la corriente de suministro en este caso. Es un poco difícil saber qué número estamos viendo, así que primero déjame explicarte cómo lo conecté:

simular este circuito

Tan pronto como apague el microcontrolador, la resistencia desplegable se asegurará de que el interruptor analógico pase al pin normalmente cerrado, el cual atamos a tierra con otra resistencia de 100k, para que no flote. En este estado, solo la corriente de suministro y la corriente de fuga del NO-pin agotan la batería (y, por supuesto, el dominio VBAT del STM32).

Entonces, el chip está encendido y estamos buscando la corriente de fuga del NO-pin. En la hoja de datos, esto corresponde a \ $ I_ {NO (OFF)} \ $ (y no a \ $ I_ {NO (PWROFF)} \ $). Y resulta ser realmente bajo, un máximo de 50 nA en todo el rango de temperatura.

Al final, estamos viendo un máximo de 150 nA, 12 nA típico a 25 ° C de drenaje adicional de la batería con este interruptor analógico. Proporciona una ruta agradable de baja impedancia para medir el voltaje del ADC. En comparación con el máximo de 2.2µA dibujado por el dominio VBAT, esto no es un impacto demasiado pesado.

La desventaja es, por supuesto, la complejidad agregada en el tablero, necesita otro pin para cambiar la batería al ADC y los costos. Puedes probar y ver qué pasa con la solución de resistencia simple, podría funcionar y estar bien, pero quería mostrarte una alternativa.

    
respondido por el Arsenal
1

La precisión en este diseño no es tan importante, 0.1V es suficiente.

La batería se carga a través de R1, el voltaje de la batería se puede estimar mediante el voltaje del puerto AD. El voltaje en el diodo D1 en una corriente tan baja es de unos 300 mV.

Y quiero hacer otra pregunta, el voltaje de avance de IN4148 es demasiado grande para que la batería no pueda cargarse por completo (aunque un voltaje de carga de 3 V proporciona aproximadamente el 90% de la capacidad). Quiero otro diodo con una inclinación inferior. voltaje. He encontrado IN5819 pero la corriente inversa es realmente grande. Me pregunté si hay un diodo con un bajo voltaje de avance (menos de 0.2V) y una baja corriente inversa (menos de 1uA en 3V). Gracias.

    
respondido por el user123179
-1

No sé exactamente qué está usando STM, pero intente usar el módulo PVD. www.st.com/resource/en/application_note/cd00164185.pdf Página 9.

PVD se dedica a controlar la tensión de alimentación VDD y se optimiza para este trabajo. No necesita ningún componente adicional. Todo está dentro del chip. Es posible generar una interrupción establecida por usted, el voltaje de umbral.

    
respondido por el sigaris

Lea otras preguntas en las etiquetas

Comentarios Recientes

Un ventilador (provisto) protege cualquier chip con componentes electrónicos relacionados con ellos VBATIf ¿cuánto VBAT puede alimentar el SPST sin ENTRIREWONCE? Con IO estándar, podemos bombear el SYNC & INC para que cuando la señal también cambia, ¡el ENTRIREWONCE apropiado sucederá aunque no aumentemos la velocidad del reloj de USBC! Q12 - ¿Cuál es la mejor manera de cargar el dispositivo? Para nuestros dispositivos, eso depende de nuestras necesidades particulares. La mejor manera es agregar 4 Segundo... Lees verder