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.
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).
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.
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.
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:
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.
usuario3528438
vishnu mc
usuario3528438
vishnu mc
Tony Estuardo EE75
Tony Estuardo EE75
vishnu mc
TonyM