Cómo calcular la corriente estimada tomada por DS3231 cuando está conectado para alarma

Estoy desarrollando un sistema que se considera que funciona durante mucho tiempo con el suministro de batería. Tengo un RTC DS3231 configurado en modo de alarma y también se usa para activar el microcontrolador. La conexión del circuito se proporciona a continuación, que se toma de la hoja de datos.

circuito RTC

Voy a usar este circuito en el proyecto. Pero el problema es que quiero saber más sobre el consumo de corriente de este circuito. En la hoja de datos, la corriente de la fuente de alimentación activa está dada por 200uA (para vcc 3.63V). Estoy usando un vcc de 3.3V. ¿Alguien puede ayudarme a encontrar el consumo total de corriente del circuito anterior (considerando las resistencias pullup I2c y las resistencias pullup INT, 32Khz).

Entonces, ¿por qué no lo mides?
Quiero saber el consumo actual para calcular la duración de mi batería.
Entonces, ¿por qué no medir la corriente? o medir la duración de la batería directamente?
Por favor, comprenda que solo puedo comprarlos después de considerar el consumo actual. Si el consumo actual está bien para mi proyecto, lo compraré. ¿Cómo calcular la duración de la batería a menos que desconozcamos el consumo actual?
¿Cuál es su presupuesto para V, I?
No estoy usando una batería coincell en su lugar
@ user3528438, porque hacer uno y medirlo es una forma basura de diseñar circuitos, para eso están las especificaciones. La especificación para un IC cubre cada uno de esos millones de IC fabricados. Medir uno te da solo el chip que compraste. ¿Y cómo propone que el OP mida con precisión con precisión uA, con el DMM más cercano?

Respuestas (2)

Para obtener la corriente más baja y hacer que el RTC despierte su micro, desea apagar VCC al RTC y funcionar con el suministro de la batería.

ingrese la descripción de la imagen aquí

Asumo que su microprocesador entra en reposo pero aún está conectado a la batería... por lo que no necesita otra batería para el terminal de la batería DS3231 RTC... simplemente conecte su VCC a él. Pero necesitará un puerto digital en el Micro para controlar los pullups I2C y el DS3231 VCC. Antes de que su micro entre en modo de suspensión, lo último que debe hacer es apagar los pullups de VCC a I2C y DS3231 VCC. La conexión en el DS3231 VBat mantiene en funcionamiento los comparadores de tiempo y alarma/INT*, y esa transición saca a su micro del modo de suspensión... luego habilita el DS3231 VCC/Pullups y puede usar I2C para restablecer su alarma.

No tengo idea de qué micro está usando, pero algo como un ATMEGA328P le costará alrededor de 7-10 uA en suspensión profunda (a 3-4.2 V LIon sin regulador) y el DS3231 costará alrededor de 2-3 uA funcionando desde el Terminal VBat. En total, si organiza su E / S correctamente, debería poder bajar fácilmente a alrededor de <15-20 uA en total a 3.3 V.

De los comentarios: cuando apaga VCC en el DS3231, la mayor parte de la lógica interna no tiene alimentación. La entrada VBat solo mantiene en funcionamiento la sincronización, la compensación de temperatura y la lógica del comparador. No hay 'cálculo' para la corriente cuando se ejecuta desde VCC, simplemente las bandas de corriente especificadas en la hoja de datos.
Por ejemplo, la corriente de VCC será tan alta como 575-650 uA cuando ocurran conversiones de temperatura (que ocurrirán automáticamente cada 64 segundos).
Puede leer la nota de aplicación 3644 para obtener más detalles sobre las conversiones de temperatura. Si está dispuesto a perder la precisión del tiempo, puede desactivar las actualizaciones de temperatura, esto reduce la corriente VBat al valor más bajo... alrededor de 2 uA.

Para comprender qué corrientes fluirán, debe comparar los flujos de corriente para VCC y para VBat (dos secciones diferentes de la hoja de datos). No desea que la lógica I2C funcione a menos que necesite hablar con el chip, en cualquier otro momento desea que esté apagado.
Puede calcular muy fácilmente las corrientes altas y bajas de la línea Clk/Data a partir de los valores pullup y las corrientes de fuga. Conoce la velocidad de I2C Clk a la que se comunicará y conoce el ciclo de trabajo del reloj, por lo que solo usted puede realizar estos cálculos.

En realidad, no me preocuparían demasiado los valores absolutos de I2C, la temperatura o la funcionalidad alimentada por VCC ... está interesado en la corriente promedio a lo largo del tiempo. Su microprocesador puede oscilar desde solo 10 uA en suspensión profunda hasta 20 mA o más (dependiendo de los periféricos que haya encendido). Su objetivo aquí es, por supuesto, mantener el procesador dormido la mayor parte del tiempo.

Gracias por tu comentario... es útil. Tengo dudas de por qué la corriente de la batería activa es de 70 uA y el cronometraje es de 2 uA. Además, cuando vcc está conectado a RTC, ¿puedo comunicarme con RTC a través de I2C? Cómo calcular la corriente que se toma para la comunicación
No me preocupo por la batería coincell y, en cambio, me preocupo por la vida útil de la batería principal. Tu respuesta me sirve y gracias. ¿Podría decirme cómo hacer el cálculo actual mientras RTC está conectado en Vcc?
Añadido a la respuesta....
@Jack Creasey Quería preguntar sobre el DS3231M, ¿hay alguna forma de desactivar las conexiones de temperatura? ¿Cuál es la corriente promedio consumida por este RTC?
@NickG Sí, puede deshabilitar los controles de temperatura. Lea la nota de aplicación, los detalles están allí.
@JackCreasey Gracias por la respuesta, he visto la nota de la aplicación. Sin embargo, dado que tengo la versión 'M' del RTC, no puedo encontrar los registros necesarios para desactivar la temperatura. Como resultado, cuando se alimenta desde la batería, proporciona un IBatt de 2uA, lo cual es genial, pero también hay un IBattC inaceptablemente alto de 575uA.
@NickG Claramente, el DS3232M es un silicio diferente o al menos se fusiona de manera diferente.
@JackCreasey ¿Podría ayudarme a aclarar el consumo actual de este IC? ¿Puede bajar a <10uA de consumo de corriente, o no vale la pena?
Parece que no entendiste cómo administrar la energía en este dispositivo.
@usuario ... ¿cómo es eso? Por favor, explique lo que cree que está mal.
@JackCreasey mira mi respuesta

Si su dispositivo funciona con batería, no necesita VCC en absoluto. Consulte la hoja de datos, página 10, "Control de potencia" y "Operación VBAT".

Si enciende el DS3231 solo con VBAT, se iniciará en un estado de baja potencia con el oscilador desactivado. Cuando el microcontrolador le habla por primera vez a través de I2C enviando su dirección, el oscilador se iniciará. La MCU debe configurar el DS3231 según sea necesario, configurando la hora y habilitando las salidas o alarmas que necesite.

El bus I2C se puede subir a VBAT. Una vez que finalice la actividad I2C, el DS3231 pasará al modo de bajo consumo, que se detalla en la página 3:

ingrese la descripción de la imagen aquí

Como puede ver, puede esperar alrededor de 3uA en este modo, con un aumento a 575uA cada 64 segundos a medida que el DS3231 realiza su ciclo de compensación de temperatura.

Solo necesita VCC si tiene la intención de apagar el resto del sistema. Por ejemplo, si apagó la MCU, los pull-ups I2C comenzarían a invertir la potencia si estuvieran vinculados a VBAT, por lo que la opción de usar VCC está disponible. Si también ejecuta la MCU desde VBAT, no hay problema.

No estoy seguro de por qué esto fue modificado, es correcto. ¿Le importaria explicar?