Estoy trabajando en un proyecto ATMega que mantendrá el tiempo y estoy tratando de hacerlo para que tenga una opción de RTC de tiempo de software (basado en milis ()), DS1307 o DS3231 (ChronoDot).
En lo más básico, lo que me gustaría hacer es tener encabezados para un ChronoDot disponible para soldar y luego de alguna manera en el software detectar si el ChronoDot está conectado y cambiar a usar eso. Por lo general, sería bastante fácil comprobar que el DS1307 o el DS3231 están presentes ya que utilizan el mismo registro I2C, pero después de esa comprobación inicial se desvían un poco entre sí y este último tiene más funciones. Así que todavía quiero determinar cuál está conectado. En general, planeo tener un lugar directamente a bordo para soldar en el DS1307 como la opción predeterminada y el soporte del DS3231 sería con un ChronoDot completo solo a través de cabezales dobles de 4 pines. El ChronoDot esencialmente cabría en el lugar donde el DS1307 normalmente iría (no se rellenaría en este caso). La razón principal por la que me estoy enfocando en el ChronoDot específicamente es que es popular, fácil de adquirir y no requiere soldadura SMD para el usuario final (esto es para un kit). Entonces, esto es lo que estoy pensando ...
Tanto el DS1307 como el DS3231 tienen una línea Vbat en el chip, pero no es realmente necesario para nada. Sin embargo, el ChronoDot tiene un pin VBat real en el tablero de ruptura. Tal vez podría conectar solo Vbat desde el encabezado ChronoDot y no el DS1307 y conectarlo a un pin de entrada digital en mi ATMega. Pero haga que el pin de entrada sea puesto a tierra por una resistencia (no estoy realmente seguro de qué valor ... ¿quizás 4.7k?). Si mi teoría de EE es correcta, entonces puedo leer ese pin y si obtengo una baja, no hay chronodot, pero si obtengo una alta, la hay.
Algo como esto:
Mi pregunta principal aquí es si al hacer esto, ¿acabará de agotar la batería de respaldo del RTC? Normalmente, no se extraerá corriente de la batería de respaldo mientras se suministra la alimentación principal, 5V, pero si se conecta a una entrada digital, ¿se extraerá energía de la batería todo el tiempo? O, ¿hay un modo en el que necesitaría poner el pin después de leerlo para "desconectarlo", por así decirlo? Sé que podría cambiarlo a salida, pero creo que si está configurado como salida y bajo, básicamente estaría conectando a tierra la batería.
De todos modos, mis cursos de EE fueron hace mucho tiempo . Cualquier ayuda sobre la teoría aquí sería apreciada.