Tengo un pequeño circuito que utiliza un microcontrolador PIC18F14F50 que registra datos en un chip EEPROM externo a través de una interfaz i2c (que luego puedo leer más tarde a través de la interfaz USB). Se registra una muestra cada 15 minutos y no necesita ser cronometrada con precisión particular.
Está bien si las muestras se pierden o se sincronizan incorrectamente mientras se cambian las baterías, pero no es bueno si las baterías caducan y no se registran datos durante varios días hasta que alguien se da cuenta.
Por lo tanto, me gustaría advertir al usuario cuando la batería está baja con tiempo suficiente para que la reemplace. La corriente promedio es inferior a 2 mA y estoy funcionando con 3 baterías alcalinas AA en serie para dar 4.5 voltios, por lo que esperaría que duren varios días.
Pero me pregunto cómo detectar que la batería está baja. Supongo que el voltaje caerá a medida que las baterías lleguen al final de su vida útil. Estoy pensando que este PIC tiene un voltaje de referencia de 1.024v para poder dividir el voltaje de alimentación y alimentarlo a una entrada analógica y cuando el voltaje dividido cae por debajo de eso, se dispara una advertencia.
¿Pero no sé lo suficiente sobre baterías para saber qué tan bien funcionará? Y no sé qué voltaje elegir que indique que tal vez quede un 10-20% de duración de la batería. ¿Eso funcionará en absoluto? ¿Hay un mejor enfoque?
Esto no tiene por qué ser del todo exacto, solo quiero dar una buena advertencia con tiempo suficiente sin que la gente deseche las baterías que aún les quedan vida.
Como mi uso actual es bastante constante, ¿sería razonable un temporizador simple si puedo calcular cuánto duran las baterías en promedio y luego elegir el 85% de ese tiempo antes de dar la advertencia? ¿O la duración de la batería varía más que eso?
Cualquier pensamiento sería bienvenido.