Estoy trabajando en un proyecto ATMega que mantendrá el tiempo y estoy tratando de hacerlo para que tenga una opción de tiempo de software (basado en millis ()), DS1307 o DS3231 (ChronoDot) RTC.
En el más básico, lo que me gustaría hacer es tener encabezados para un ChronoDot disponibles 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 verificar que DS1307 o DS3231 estén presentes, ya que usan el mismo registro I2C, pero después de esa verificación inicial se desvían un poco el uno del otro y este último tiene más características. Entonces 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 DS3231 sería con un ChronoDot completo solo a través de encabezados duales de 4 pines. El ChronoDot esencialmente encajaría en el lugar donde iría normalmente el DS1307 (no se poblaría en este caso). La razón principal por la que me estoy centrando específicamente en ChronoDot 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 en realidad no se necesita para nada. Sin embargo, el ChronoDot tiene un pin VBat real en el tablero de conexiones. 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, ¿tiene ese pin de entrada tirado a tierra por una resistencia (no estoy seguro de qué valor ... quizás 4.7k?). Si mi teoría de EE es correcta, puedo leer ese pin y si obtengo un bajo, no hay cronodot, pero si obtengo un alto, lo hay.
Algo como esto:
simular este circuito : esquema creado con CircuitLab
Mi pregunta principal aquí es si hacer esto terminará agotando la batería de respaldo en el RTC. Normalmente, no se extraería corriente de la batería de respaldo mientras se suministra alimentación principal de 5 V, pero si se conecta a una entrada digital, ¿se extraería energía de la batería todo el tiempo? O, ¿hay algún modo en el que deba colocar 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.