Tengo un pequeño circuito que utiliza un chip de microcontrolador PIC18F14F50 que registra datos en un chip EEPROM externo a través de una interfaz i2c (que luego puedo leer más adelante a través de la interfaz USB). Una muestra se registra cada 15 minutos y no necesita ser cronometrada de manera particularmente precisa.
Está bien si las muestras se pierden o se pierden de tiempo mientras se cambian las baterías, pero no es bueno si las baterías se agotan y no se registran datos durante varios días hasta que alguien lo note.
Por lo tanto, me gustaría advertir al usuario cuando la batería tiene poca carga en tiempo suficiente para que pueda reemplazarla. La corriente promedio es inferior a 2 mA y estoy usando 3 pilas alcalinas AA en serie para dar 4.5 voltios, por lo que espero que duren varios días.
¿Pero me pregunto cómo detectar que la batería está baja? Supongo que el voltaje caerá cuando las baterías lleguen al final de su vida útil. Estoy pensando que este PIC tiene un voltaje de referencia de 1.024v, por lo que puedo dividir el voltaje de suministro y alimentarlo a una entrada analógica y cuando el voltaje dividido cae por debajo de eso, se genera una advertencia.
¿Pero no sé lo suficiente sobre las baterías para saber qué tan bien funcionará esto? Y no sé qué voltaje elegir, lo que indicaría que tal vez quede un 10-20% de vida útil de la batería. ¿Eso funcionará? ¿Hay un mejor enfoque?
Esto no necesita ser del todo preciso, solo quiero dar una buena advertencia con tiempo suficiente sin que las personas desechen las baterías que aún tienen vida.
Como mi uso actual es bastante constante, ¿sería razonable un simple temporizador si pudiera 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.