Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola a todos!!
Para un modulo alimentado a batería que tengo necesito saber cuándo el voltaje baja por debajo de, digamos 4V; de manera que antes de que se quede del todo sin batería, mande un mensaje notificándolo. Y para que este mensaje se lance, necesito un circuito que me detecte la bajada de voltaje y me ponga un 1 o un 0 en una entrada del microcontrolador, de manera que éste se entere de la bajada de tensión.
Para ello lo primero que hice fue activar el Brown Out Detector (BOD) del micro, pero lo malo de esto es que cuando el voltaje cae por debajo de unos 4.5V el micro se resetea, con lo que se me queda en un estado totalmente inestable de reseteos continuos y aleatorios que ni dejan que el micro termine de ejecutar las funciones de detección de batería baja. Asi que, aunque no sea el foro adecuado, ¿alguno sabeis cómo desactivar el BOD por software o cómo hacer que no se resetee o cómo podría solucionar lo que me ocurre?
Y en caso de no utilizar el BOD como solución, ¿me podríais recomendar algún circuito, lo más sencillo posible que desempeñe esas funciones? Y sobretodo, que consuma lo menos posible (1mA es excesivo).
Muchas gracias y saludos!!!
Buenas, para lo del BOD, supongo que con desactivarlo a la hora de programar el micro te valdría... Lo de detectar el voltaje, pues usaría un amplificador operacional con una referencia de 4V.
Te aconsejo que le eches un vistazo al libro "Op amp for everyone" ( http://focus.ti.com/lit/an/slod006b/slod006b.pdf ), concretamente al capítulo 4.
Un saludo y suerte.
Buenas!!
Lo del comparador operacional lo pensé, el problema es que todo el circuito va alimentado con la misma batería, con lo que si en un lado baja por debajo de 4V, por el otro también, con lo que el comparador operacional no podría tener una referencia estable de 4V una vez la batería empiece a fallar, ¿no?
Gracias!
Hola MorgoZ,
Puedes utilizar un diodo zener para obtener una tensión fija, o si necesitas algo muy estable puedes utilizar una referencia de voltaje (son chips que hacen esa función) que hará mucho mejor el trabajo pero es más cara que el diodo.
Un saludo.
Como no se que micro usas, lo primero que haría es desactivar el fuse del BOD de momento. Para un equipo en serie, y una vez depurado el firm, lo volvería a activar.
Recuerda que algunos AVR tienen el BOD que puede generar una IRQ en lugar del reset, cosa muy útil. Además, el BOD lo puede programar a una tensión más baja que te garantice que el micro te continúe funcionando, como 3V, aunque el sistema de detección de batería baja ya haya sido activado hace algo de tiempo. Además, todos los AVR (y supongo que también los PIC) tienen una referencia de tensión que es bastante estable (pero imprecisa) a tensiones bajas, como un zéner. Esta se puede usar como referencia para el comparador interno (otro elemento que puedes usar para detectar batería baja) y/o para el ADC.
Yo lo que hacía con un producto comercial alimentado con una batería de Li-Pol, era poner un divisor resistivo de 1M/1M (eso habría que recalcularlo para tus 6 o 12V), y directamente a una entrada del ADC.
Como medía la tensión de la batería cada segundo, podía hacer lo que me pareciese, al nivel de tensión que me pareciese. Así, si tenía el BOD a 2V7, yo decía que la batería a 3V estaba descargada, y entonces guardaba lo que tenía que guardar, enviaba los mensajes que tenía que enviar, desactivaba la fuente de alimentación, y me ponía a esperar a que todo terminase. Sólo una alimentación externa era capaz de reactivar todo el sistema, y el BOD sólo se activaba si pasaban cosas raras.
Ten en cuenta, que el problema que tienes de reseteos contínuos se debe a que la tensión de batería, cuando esta está muy descargada, cambia mucho según la carga eléctrica que tenga, así que cuando la tensión baja, y el BOD te resetea el micro, éste pasa a consumir menos, y la tensión vuelve a subir, con lo que el BOD te vuelve a dejar funcionar el micro, con lo que aumenta otra vez la carga y la tensión de batería vuelve a bajar, y se repite el ciclo.
Otra cosa que te puede servir, en lo que se llama un trigger de Schmidt.