Básicamente, quiero determinar si la alimentación se ha desconectado por completo en un dispositivo de bajo consumo que estoy fabricando y que utiliza un chip Atmega328.
La teoría es que cuando se aplica energía por primera vez, el ATmega se encenderá, calibrará y tomará algunas lecturas y luego se apagará nuevamente. El resto del circuito seguirá estando encendido hasta que el chip se active nuevamente y tome más lecturas. Lo que necesito para poder determinar es si la batería se desconectó o no. Si lo fue, necesito hacer una calibración nuevamente; si no fue así, simplemente tomo una lectura como de costumbre.
¿Hay alguna forma de hacer esto que requiera la menor cantidad de energía posible?
La alimentación del sistema se desconecta y luego se vuelve a aplicar, el ATmega comenzará desde el vector de reinicio, como de costumbre (debido al reinicio de encendido).
Para que pueda realizar sus rutinas de inicialización en la primera parte de su main()
función.
Cuando haya terminado de hacer sus mediciones periódicas, no desconecte la alimentación del ATmega. En su lugar, póngalo en modo de apagado o ahorro de energía a través de las sleep
instrucciones.
Esto dibujará menos de
@25°C. Cuando ocurre la interrupción de activación (por ejemplo, expiración del temporizador, pin externo, etc.), la interrupción se ejecutará y el programa se reiniciará desde la siguiente instrucción sleep
. De esta manera puedes evitar cualquier hardware externo.
Transistor
chris stratton
oscuro
Nick Alexeev
velocidad de giro