Monitor de duración de batería en circuito PIC

10

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.

John Burton
fuente
1
¿Qué voltaje necesita su PIC para funcionar?
Kortuk
1
¿Qué consideras mucho tiempo?
Kortuk
¿Cuánta corriente extrae?
Endolito

Respuestas:

5

Primero, déjenme comentar sobre el circuito del temporizador. Esto funcionará, siempre y cuando sus baterías sean relativamente de la misma edad y se mantengan en las mismas condiciones. En 6 meses, cuando todavía esté usando esto y sus baterías sean 6 meses más viejas, necesitará actualizar el temporizador. Solución funcional, pero no la mejor.

Puede dividir el voltaje de su entrada con una red de resistencia que tenga un voltaje lo suficientemente alto como para no afectar su vida útil (puede usar una red que se cargue, simplemente reemplace sus baterías con más frecuencia). Hay una trampa, debe cargar una batería para ver un verdadero valor de su vida restante. Encontrará que cuanto más cargada esté una batería, más se verá la curva de descarga como una línea. Nunca será una línea, todavía habrá fases claras, pero puede correlacionar de manera confiable un voltaje de baterías cargadas con su vida restante.

Si su PIC está encendido durante la medición, probablemente obtendrá una medición decente. Haga que la imagen pase tiempo midiendo su batería y observe la curva de voltaje resultante hasta que su dispositivo muera. Si la curva permanece relativamente plana, y luego cae repentinamente y sus baterías se agotan, entonces querrá usar un transistor y una resistencia de carga para aumentar el consumo de corriente durante las mediciones de la batería. Hay una gran cantidad de información sobre baterías en la universidad de baterías. A menudo, los microcontroladores no logran extraer suficiente corriente para obtener una curva inclinada en todo el camino (he visto este problema con uC de ultra baja potencia como MSP430). Probablemente estará bien con solo su PIC en ejecución.

La investigación sobre la química de la batería AA ha arrojado algunos resultados. Parece que muestran curvas de descarga bastante planas con bajas corrientes (<500 mA). Esto significa que es probable que desee un circuito de descarga de resistencia junto con un transistor para permitir que las mediciones de voltaje sean más valiosas.

Perdóname si esto no fue lo suficientemente claro. Si comentas y preguntas o sugerencias, lo actualizaré.

Kortuk
fuente
Se ha agregado información adicional específica a AA.
Kortuk
Si solo está interesado en ver específicamente el inicio de la falla, puede observar el último cambio de descarga en el voltaje al final y en el momento en que comienza, use una advertencia.
Kortuk
Gracias por esta y las otras respuestas, me ha dado suficiente para leer sobre :)
John Burton
Si está dispuesto a aceptar un error en el momento de reemplazar las baterías, debería poder usar un temporizador y simplemente recalibrar las baterías nuevas cada pocos meses.
Kortuk
5

Sí, el voltaje de la batería caerá, pero la caída es pequeña, digamos medio voltio:

texto alternativo

Si usa un divisor de voltaje para poner esto en el rango de ADC, también está dividiendo el rango. Supongo que esto aún se puede medir con el ADC directamente. 5 V / (2 ^ 10) = 0.005 V, con errores de compensación y ganancia de ± 3 LSb, por lo que todavía hay varios niveles de medición entre lleno y vacío.

Para medir la carga y descarga de la batería con precisión, las personas mantienen un registro de la cantidad de corriente que se consume con una resistencia de detección de corriente y deciden que la batería está baja después de que haya pasado una cierta cantidad de carga. Si su sorteo actual es relativamente constante, entonces sí, podría usar un temporizador para hacer lo mismo. Ejecútelo varias veces, mida la cantidad de tiempo hasta que considere que la batería está agotada, y luego use un temporizador en el futuro para adivinar cuándo está a punto de morir. ¿Estás usando baterías nuevas cada vez?

endolito
fuente
1
el uso de un IC de monitoreo de carga solo se requiere cuando se usan sistemas que tienen recarga y descarga con capacidades muy grandes. He usado el método de monitoreo de voltaje con un ADC de 10 bits y ha funcionado muy bien. La parte importante del sistema es cargar la batería.
Kortuk
1
El método del temporizador no es una buena solución a largo plazo, las condiciones de edad y temperatura de una batería afectan en gran medida la carga. Recientemente compramos 2k baterías de un proveedor estadounidense y claramente habían comprado al proveedor chino un año antes, ya que funcionaban significativamente peor que nuestras baterías de temperatura controlada de 3 años, y ninguna se compara con las baterías nuevas.
Kortuk
Esa imagen está en una descarga de 100 mA, si aumenta la descarga, el voltaje sigue una curva más lineal. También ve la caída final antes y puede activar la notificación y dejar de probar la batería para extender la vida útil.
Kortuk
@Endolith - ¿Cuál es tu fuente en esa imagen? La nota alcalina de Energizer: data.energizer.com/PDFs/alkaline_appman.pdf tiene una curva similar (la suya es tiempo frente a voltaje, en lugar de carga frente a voltaje, vea la figura 12, página 10), pero la caída es mucho más gradual. Especialmente si el dispositivo funciona con un regulador lineal, la caída de voltaje no afectará demasiado al dispositivo.
Kevin Vermeer
¿Qué quieres decir con "más gradual"? Su gráfico me parece un poco más empinado.
endolito
2

Creo que la única forma sólida de monitorear un sistema como ese es una especie de disposición similar a la de un perro guardián: haga que otro sistema, alimentado por separado , lo revise de vez en cuando (o espere una señal) y, si no responde, alerta.

También podría usar ese sistema separado para verificar la batería. No sufrirá que la batería principal se agote, lo que matará cualquier sistema de monitoreo que se ejecute con la batería principal. Si puede organizar un monitor de batería que funcione con una batería pequeña como una celda de moneda y garantizar que durará más que la batería principal, eso debería hacer el trabajo.

Si no desea o no puede tener una segunda fuente de alimentación, los otros comentarios parecen contener muy buenas sugerencias para la autocontrol.

XTL
fuente
Esa es definitivamente la forma más sólida. El otro sistema casi no tiene que funcionar: simplemente coloque un alfiler alto en el sistema observado, configure una interrupción en el observador y entre en modo de reposo profundo. Luego, cuando cambie, comience a emitir pitidos (o lo que sea la señal) cada 5..10..30..60 minutos, etc.
Kevin Vermeer
Eso realmente no funcionaría para mí, me informaría una vez que fuera demasiado tarde para cambiar la batería a tiempo, no antes.
John Burton
Por lo tanto, probablemente tenga que controlar la batería.
XTL
2

Puede obtener una referencia de voltaje mucho más precisa con un amplificador operacional (use uno con un pin de habilitación, para que pueda apagarse fácilmente), y simplemente sintonice su circuito al rango de voltaje que desea medir: 0V a 0.8V, y 3.3V a 1.1V. Si está saturado, sabe que tiene mucha carga y parece que no necesita un monitor, solo una alarma.

Además, asegúrese de medir varias veces (o use una resistencia de detección de corriente), en lugar de suponer que una batería agotada causa una caída de voltaje. No lo es: el voltaje de la batería depende tanto de la corriente de descarga como de la carga restante. Un pico de corriente puede causar una gran caída de voltaje, pero la batería se recuperará cuando se retire. Consulte la Figura 9 de la hoja de datos alcalina de Energizer.

Kevin Vermeer
fuente
Al final hice algunas cosas diferentes. Reprogramamos el software para poner correctamente el microcontrolador en modo de suspensión entre muestras, lo que ha reducido enormemente el consumo de energía promedio. Las baterías que utilicé aún tienen un voltaje medido de más del 90% de su original después de aproximadamente 2 meses. He establecido un nivel de aproximadamente el 80% para indicar que la batería está baja. Creo que todavía les quedará un 50% más o menos, pero eso me dará mucho tiempo para cambiarlos
John Burton,
Oh! No me di cuenta de que no lo estabas haciendo ya, y sí, el modo de suspensión es una gran cosa.
Kevin Vermeer
0

Si es posible, mida el voltaje de una batería alcalina AA justo después de que haya sido cargada por su carga normal (dispositivo) y haya detenido la corriente de carga, cuando cae por debajo de 0.9V por batería AA sus baterías están agotadas. Hago esto es muchos productos que diseñé y funciona perfecto. Las baterías alcalinas normales se recuperarán después de que se haya eliminado una carga, pero esto lleva tiempo dependiendo de la corriente de carga. A veces esto puede ser minutos o incluso horas, dependiendo de la temperatura y la corriente de carga. Midiéndolo durante el uso constante con una corriente pequeña, tendrá que tomar un voltaje más alto dependiendo de su corriente, pero normalmente 1.2V está bien para un dispositivo que usa solo 5mA.

PaulHolland
fuente