Seite 1 von 1

Raspberry Pi 5: Real Time Clock (RTC) mit Backup Batterie

Verfasst: 24.07.2024, 16:41
von Outi
History:
24.07.2024 - Erste Veröffentlichung



Hinweis:
Diese Anleitung/Information erhebt keinen Anspruch auf Vollständigkeit und kann Fehler enthalten und die Benutzung erfolgt auf eigene Gefahr.
Es wird keinerlei Haftung für Schäden und/oder Datenverluste übernommen.

Info:
Diese Anleitung setzt ein fertig konfiguriertes Raspberry Pi OS voraus.
Diese Konfiguration funktioniert nur auf dem Pi 5.


Anders als auf den anderen Raspberry Pis besitzt der Pi 5 schon onboard eine Real Time Clock (RTC / Echtzeituhr), die mit einer zusätzlich erhältlichen "Batterie" (es handelt sich eigentlich um einen Akku !!) versehen werden kann, um die Uhrzeit auch bei ausgeschaltetem Pi weiter laufen zu lassen, wenn selbst die Stromversorgung komplett unterbrochen ist.
Nützlich und notwendig ist die RTC-Funktion z.B., wenn man den Pi 5 zu einer bestimmten Uhrzeit automatisch starten lassen möchte.
Das funktioniert auch ohne Akku, jedoch nur solange der Pi an der Stromversorgung hängt, auch wenn er heruntergefahren ist.
Der Akku dient rein zur Aufrechterhaltung der Uhrzeit des Pi, wenn dieser komplett vom Strom getrennt ist.

Die originale "Battery" von der Foundation sieht so aus:

Bild

Dabei handelt es sich aber in Wirklichkeit um einen kleinen wiederaufladbaren Lithium-Mangan-Akku, der vom Pi 5 auch geladen werden kann.
Das runde Teil rechts daneben ist ein Klebepad, womit man den Akku irgendwo im Gehäuse befestigen kann.

Hinweis:
Die Foundation schreibt dazu:
Hinweis
Wir empfehlen für die RTC keine primäre (nicht wiederaufladbare) Lithiumzelle zu verwenden.
Der RTC-Backup-Stromverbrauch ist höher als bei den meisten dedizierten RTC-Modulen und führt zu einer kurzen Lebensdauer.

Warnung
Verwenden Sie für die RTC keine Lithium-Ionen-Zelle.

Geliefert wird der doch winzige Akku mit Klebepad in einer Plastiktüte:

Bild

Weitere Infos zum Akku gibt es bei der Foundation: Externer Link Raspberry Pi RTC Battery
Originale Infos direkt bei der Foundation: Externer Link Real Time Clock RTC

Gekauft habe ich mein Exemplar hier:

Angeklemmt wird der Akku an J5 auf der Oberseite des Pi:

Bild

Hier nochmal etwas näher:

Bild

Wenn der Akku angeklemmt ist und der Pi hochgefahren wurde, können wir einen Weckalarm einstellen, der die Platine in einen Zustand mit sehr geringem Stromverbrauch (ca. 3 mA) versetzt.
Wenn die Alarmzeit erreicht ist, schaltet sich der Pi wieder ein.

Um den Energiesparmodus für Weckalarme zu aktivieren, bearbeiten wir die Bootloader-Konfiguration:

Code: Alles auswählen

sudo -E rpi-eeprom-config --edit
Der dann angezeigten Datei fügen wir folgende beide Zeilen hinzu:

Code: Alles auswählen

POWER_OFF_ON_HALT=1
WAKE_ON_GPIO=0
Damit ist die RTC aktiviert, die laut Foundation auch ohne Akku funktionieren soll.

Dies kann man mit folgenden Befehlen testen:

Code: Alles auswählen

echo +600 | sudo tee /sys/class/rtc/rtc0/wakealarm
sudo halt
Der erste Befehl gibt eine Dauer von 10 Minuten vor und der zweite Befehl versetzt den Pi dann in den Low-Power-Modus, wonach er dann nach den zuvor definierten 10 Minuten (600 Sekunden) wieder geweckt und gestartet wird.
Ein Test mit sudo poweroff (statt "sudo halt") hat ebenfalls funktioniert.

Für einen "Schnelltest" kann man natürlich auch z.B. nur 20 Sekunden eintragen, was dann reicht, um den Pi in den Halt-Modus zu versetzen und dann relativ schnell wieder zu aktivieren.

Die Foundation weißt darauf hin, dass die RTC auch ohne Akku funktioniert.
Der Akku dient jedoch zur Überbrückung, wenn der Pi komplett vom Stromnetz getrennt ist.
Da der Stromverbrauch im heruntergefahrenen Modus sehr gering ist, wird mit vollem Akku von einer Laufzeit in Monaten gesprochen.
(Angaben der Foundation)

Standardmäßig ist das Laden des Akkus deaktiviert.

Für das Laden sind im System sogenannte sysfs Dateien angelegt:

Code: Alles auswählen

/sys/devices/platform/soc/soc:rpi_rtc/rtc/rtc0/charging_voltage:0
/sys/devices/platform/soc/soc:rpi_rtc/rtc/rtc0/charging_voltage_max:4400000
/sys/devices/platform/soc/soc:rpi_rtc/rtc/rtc0/charging_voltage_min:1300000
Die Werte hinter den Doppelpunkten zeigen jeweils die Standardwerte.
Der Wert hinter der 1 Zeile ist 0, also Ladung deaktiviert.
Die beiden anderen Zeilen zeigen maximale und minimale Ladung als Vorgabe.

Um das Laden einzuschalten, müssen wir in der config.txt einen Befehl hinzufügen.

Daher öffnen wir zuerst die config.txt:

Code: Alles auswählen

sudo nano /boot/firmware/config.txt
Darin fügen wir folgende Zeile ans Ende:

Code: Alles auswählen

dtparam=rtc_bbat_vchg=3000000
Danach neu booten und die Ladefunktion ist aktiviert.

Das können wir prüfen, in dem wir in die erste weiter oben genannte Datei rein schauen, die zuvor den Wert 0 enthielt.
Dort sollte nach dem Booten nun der Wert aus der config.txt enthalten, also jetzt 3000000.

Um das Laden wieder zu deaktivieren, ist einfach die oben eingefügte Zeile wieder zu entfernen und neu zu booten.


Fortsetzungen, Korrekturen, Änderungen möglich ....

Copyright © 2025 RasPiFun.de