Attiny im Schlafmodus (Sleep Mode)

Manchmal lässt es sich nicht vermeiden, dass eine "dezentrale" Anwendung, mangels anderer Möglichkeit, über eine Batterie oder einen Akku mit Strom versorgt werden muss. Und oft kommt dann die große Verwunderung, wie schnell die Batterie/der Akku entladen ist.

Häufig ist gerade bei solchen Anwendungen der Prozessor arbeitsmäßig nicht wirklich ausgelastet, sondern liest z.B. nur alle paar Sekunden einen Sensor ein und überträgt den Messwert per Funk, schaltet hin und wieder eine Beleuchtung ein oder aus, oder zählt irgendeinen Vorgang, etc. Und mit gelegentlich meine ich nicht nur solche Fälle, wo ein Prozessor sekunden- oder minutenlang oder noch länger nichts zu tun hat. Ich meine auch solche Fälle, wo ein Prozessor während jeder Sekunde z.B. nur 50 ms beschäftigt ist und die restlichen 950 ms nichts zu tun hat. Was liegt also näher, in solchen Fällen, wenn eben nichts zu tun ist, den Prozessor in den Schlafmodus zu versetzen und damit die Lebensdauer der Batterie oder den Entladezyklus eines Akkus oft maßgeblich zu verlängern. Wie ich das mache, werde ich hier am Beispiel eines Attiny45/85 zeigen.

Und wer seinen Attiny in den Schlafmodus versetzen will, muss sich auch überlegen, wie er ihn, bzw. durch welches Ereignis er ihn wieder aus dem Schlafmodus herausholt. Dazu möchte ich 2 Beispiele bringen:

  • Der Attiny wird azyklisch durch ein Ereignis "von außen", z.B. durch Betätigen eines Tasters mittels Pin Change Interrupt (PCI) geweckt und
  • der Attiny wird zyklisch "von innen" durch einen Watchdog Time-out Interrupt (WDT) geweckt.

Und natürlich möchte ich anhand der Beispiele auch zeigen, wie sich der Schlafmodus auf den Stromverbrauch des Prozessors selbst auswirkt.

Um abzuschätzen, wielange die Lebensdauer seiner Batterie durch den Schlafmodus verlängert wird, kann dazu den "Battery Life Calculator" verwenden. Zu finden ist dieser hier.


Testaufbau:

Verwendete Bauteile:

  • 1 Attiny45/85
  • 2 Taster
  • 1 LED
  • 1 Widerstand 470 Ohm
  • 1 Widerstand 10 kOhm
  • 1 Stromversorgung 5 V
  • 1 Messgerät (mit mA und µA-Messbereich)


Mit dem Testaufbau können die beiden nachfolgenden Beispiele getestet werden.


Weiter zu den Beispielen:

Schlafmodus mit Wecken durch Pin Change Interrupt (PCI)

Schlafmodus mit Wecken durch Watchdog Time-out Interrupt (WDT)