Projekt: Mikrocontroller mit Auto-Power-Off

Projekt: Mikrocontroller mit Auto-Power-Off

In diesem Projekt geht es darum, dass ein Mikrocontroller durch ein äußeres Ereignis eingeschaltet wird. Wenn der Mikrocontroller dann seine Arbeit getan hat, soll er sich durch Setzen eines GPIOs selber komplett von der Stromversorgung trennen.

Dazu verwendet dieses Projekt eine Schaltung, die unterschiedliche Bezeichnungen haben kann.

  • Auto Power Off
  • Latching Power Switch
  • Power Saving Latch

Je nach Anwendungsfall sind alle Bezeichnungen korrekt. Das Funktionsprinzip entspricht einer bistabilen Kippstufe bzw. einem Flip-Flop mit separaten Setz- und Rücksetz-Eingängen. Das ist eine Selbsthalteschaltung mit Reset-Funktion.

In diesem Fall wird die Selbsthalteschaltung für das Verbinden und Trennen von der Stromversorgung verwendet. Über einen Power-On-Eingang wird der Mikrocontroller durch Verbinden mit Masse eingeschaltet. Und über den Power-Off-Eingang (Reset) kann sich der Mikrocontroller selber von der Stromversorgung trennen.

Auf diese Weise können Geräte, die nur selten etwas zu tun haben, an einem Akku oder einer Batterie betrieben werden. Dadurch, dass die Schaltung keinen Strom verbraucht und der Mikrocontroller komplett von der Stromversorgung getrennt wird, verbraucht der Aufbau im Optimalfall keinen Strom.

Aufbau und Bauteile

Aufbau: Auto Power Off mit Mikrocontroller

Mikrocontroller-Board

Grundsätzlich funktioniert der Aufbau mit jedem beliebigen Mikrocontroller-Board mit der passenden Betriebsspannung.
In diesem Bild ist beispielhaft ein Raspberry Pi Pico dargestellt.

Bausatz: Auto-Power-Off für Mikrocontroller

Funktional wird die Selbsthalteschaltung bzw. Auto-Power-Off-Schaltung zwischen der Stromversorgung und dem Mikrocontroller geschaltet. Das heißt, der Mikrocontroller wird komplett von der Stromversorgung getrennt. Er verbraucht dabei keinen Strom. Auch die Auto-Power-Off-Schaltung selber verbraucht nach der Abschaltung keinen Strom. Das entspricht einer Energiesparfunktion, die vor allem im Batterie- oder Akkubetrieb interessant ist.

Hinweis: Die Selbsthaltung funktioniert bei dieser Schaltung nur dann, wenn ein GPIO des Mikrocontrollers mit dem Reset-Eingang der Schaltung verbunden ist.

Stromversorgung

Diese Selbsthalteschaltung funktioniert ab einer Betriebs- und Signalspannung von 3,3 Volt und mehr. Allerdings sind beide MOSFETs in diesem niedrigen Spannungsbereich nicht besonders effizient. Die Ausgangsspannung der Selbsthalteschaltung ist um ein paar Millivolt geringer, als die eigentliche Betriebsspannung. Je höher die Betriebsspannung desto geringer die Verluste.
In diesem Projekt wird der Mikrocontroller durch eine 5-Volt-Powerbank oder 3 x 1,5-Volt-Batterien (3,3 bis 4,5 Volt) gespeist.
Der maximal mögliche Strom wird durch den querliegenden MOSFET1 BS250 begrenzt. Der Strom sollte 200 mA nicht überschreiten.

Programmcode für Raspberry Pi Pico mit MicroPython

Im Programmcode muss früh ein GPIO für die Power-Off-Funktion initialisiert werden, der mit dem Zustand HIGH gesetzt sein muss. Sobald der Programmcode abgearbeitet ist, setzt man diesen Power-Off-GPIO auf LOW. Dadurch wird die Selbsthaltung zurückgesetzt und die Stromversorgung wird dadurch abgeschaltet.

Hinweis: Die Abschaltung der Stromversorgung erfolgt mit einer gewissen zeitlichen Verzögerung. Dabei ist zu berücksichtigen, dass der Mikrocontroller schneller sein kann als die Abschaltung erfolgt. Wenn nach dem Zustandswechsel des Power-Off-GPIOs noch Programmcode ausgeführt, zum Beispiel in einer Schleife, dann wird der in Teilen ausgeführt, was unter Umständen nicht gewünscht ist. Deshalb sollte man im Programmcode nach dem Setzten des Power-Off-GPIOs sicherstellen, dass danach das Programm zu Ende ist oder eine zusätzliche Pause vorsehen.

Beispiel in MicroPython

# Bibliotheken laden
from machine import Pin
import time

# GPIO
pin_off = 16
pin_led = 'LED'

# Power-Off-Pin
power = Pin(pin_off, Pin.OUT, value=1)

# Onboard-LED
led = Pin(pin_led, Pin.OUT, value=0)

# Hauptprogramm: Blinkende LED
for _ in range (9):
    led.toggle()
    time.sleep(.5)

# Power: Off
power.off()

Projekte mit Auto-Power-Off-Schaltung

Weitere Projekte:

Elektronik-Set Starter Edition
Elektronik-Set Starter Edition

Elektronik erleben mit dem Elektronik-Set Starter Edition

Perfekt für Einsteiger und Wiedereinsteiger

  • Elektronik-Einstieg ohne Vorkenntnisse
  • Schnelles Verständnis für Bauteile und Schaltsymbole
  • Ohne Lötkolben experimentieren: Bauteile einfach stecken

Elektronik-Set jetzt bestellen

Elektronik-Set Starter Edition
Elektronik-Set Starter Edition

Elektronik erleben mit dem Elektronik-Set Starter Edition

Perfekt für Einsteiger und Wiedereinsteiger

  • Elektronik-Einstieg ohne Vorkenntnisse
  • Schnelles Verständnis für Bauteile und Schaltsymbole
  • Ohne Lötkolben experimentieren: Bauteile einfach stecken

Elektronik-Set jetzt bestellen

Elektronik-Fibel

Elektronik einfach und leicht verständlich

Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.

Das will ich haben!

Frag Elektronik-Kompendium.de