Raspberry Pi USV (RPI USV+)

Ich habe schon seit längerem nach einer Raspberry Pi USV gesucht, die meinen Anforderungen gerecht wird. Eigentlich will ich nur den zukünftigen Raspberry Pi in der Werkstatt, der demnächst für die Wetterstation und ein Bluetooth Radio zuständig sein soll, vor Stromausfall schützen. Das Problem fängt aber schon mit der Spannungversorgung an. Ich möchte gerne das 12V Netzteil nutzen, welches auch alle anderen Geräte versorgt. Zudem soll der “Energiespeicher” über einen Laderegler automatisch geladen werden.

Die Wahl ist auf die von der insolventen Firma CW2 entwickelte und mittlerweile von der RITTER Elektronik GmbH produzierte RPI USV+ (Affiliate-Link) gefallen.
Raspberry Pi USV - RPI USV+

Jedem Raspberry Pi Nutzer sollte bewusst sein, dass ein Stromausfall schnell zu einem schweren Fehler im Dateisystem auf der SD Karte führen kann. Vor allem wenn der Raspberry Pi als Server oder mit einer Smart Home Software wie FHEM oder openHAB betrieben wird, kann ich eine Raspberry Pi USV nur empfehlen. Es ist nicht witzig auch nach einem Stromausfall weiterhin im dunkeln zu sitzen. 🙂

Die Qual der Wahl

Es gibt unterschiedliche Ansätze mit Akkus und Batterien aber auch Lösungen mit Superkondensatoren sind teilweise zu finden. Ich habe mich wie gesagt für die RPI USV+ (Affiliate-Link) von RITTER Elektronik entschieden aber auch ein paar Kerndaten der anderen Lösungen zur Übersicht mit eingefügt. Wenn etwas fehlen oder nicht richtig sein sollte, dann meldet euch gerne! Da ich die anderen Lösungen nicht getestet habe, kann ich dazu nicht viel sagen.

Hersteller /
Produkt
Ritter
RPI USV+
JOY-IT
Strom Pi
JOY-IT
Strom Pi 2
SEPotronic
S.USV
Basic
SEPotronic
S.USV
Advanced
Nelectra
Juice4Halt
HV Version
Akku Laderegler Ja Nein Nein Ja Ja SuperCap *1
40 Pin I/O Ja Nein Ja Ja Ja Ja
Wide-Range DC-In / Volt Ja *2 /
5-25 Volt
Ja /
6-36 Volt
Ja /
6-61 Volt
Nein /
Ja *2 /
7-24 Volt
Ja *2 /
7-28 Volt
5V USB In/Out Ja / Nein Ja / Ja Ja / Ja Nein / Nein Nein / Nein Nein / Nein

*1 – Fest auf der Platine verlötet
*2 – Gleichzeitige Nutzung des Wide-Range Eingangs und einer Speicherquelle (Akkus/Superkondensator) möglich

Eine Alternative ist natürlich das Steckernetzteil oder das Hutschienen-Netzteil für den Raspberry Pi mit einer normalen USV wie der APC Back-UPS Pro 900 abzusichern. Theoretisch müsste über USB mit der passenden Linux Software auch ein Shutdown-Befehl bei Stromausfall möglich sein. Eine Raspberry Pi USV ist aber gerade für dezentrale und kleinere Projekte besser geeignet, alleine durch das einfache Handling und die verschiedensten Möglichkeiten.

Die Raspberry Pi USV (RPI USV+)

Die RPI USV+ hat einen Laderegler mit dem LiPo Akkus aufgeladen werden können. Mit dem Akku ist es dann möglich, Stromausfälle zu überbrücken oder den Raspberry Pi nach einer frei definierbaren Zeit, sicher herunterzufahren. Sehr praktisch ist auch der Wide-Range Eingang mit einem Spannungsbereich von 7 und 25 Volt. Mit diesem kann der Raspberry Pi zusätzlich zum USB Anschluss z. B. über ein 12 Volt Hutschienen-Netzteil oder einer Autobatterie betrieben werden. Theoretisch sollte der Betrieb auch mit einer Solarzelle möglich sein.

Praktischwerweise verfügt die RPI USV+ Platine über einen Schalter zum Ein- und Ausschalten des Raspberry Pi. Somit entfällt das lästige Herunterfahren über die SSH Console. Über einen Jumper auf der Unterseite kann eingestellt werden, wie sich der Raspberry Pi verhalten soll, sobald die Spannung an einem der primären Eingänge anliegt. Es stehen “automatisch starten” oder “manuell per Taster” zur Auswahl.

Nicht ganz unwichtig für den Betrieb der USV ist die leider noch etwas rudimentäre Software. Hier würde ich mir wünschen, dass die Werte für Status, Spannung und Fehler etwas einfacher für ein externes Monitoring abgefragt werden können. Die Logdatei gibt zwar schon etwas her, dazu aber später mehr. Immerhin werden direkt an der RPI USV+ über 4 LEDs Akku-Betrieb, Status Akku, Status USV und Betrieb über Primäreingang der Raspberry Pi USV angezeigt, was die Diagnose vor Ort erleichtert.

LiPo Akku

Eine wichtige Komponente einer USV ist der Akku. Ich habe mir einen 2000mAh LiPo Akku (Affiliate-Link) mit folgenden Eigenschaften gekauft.

Typ Lithium Polymer
Anzahl der Zellen 1 / 1S
Gewicht inkl. Kabel 40 g
Maße L x B x H 75 x 44 x 5,5 mm
Steckertyp JST-SYP-2P
Nennspannung 3,7 V
Ladeschlussspannung 4,2 V
Entladeschlussspannung 3,0 V
Tiefentladegrenze 2,3 V
Max. Ladestrom 1C –> 2000 mA
Max. Entladestrom 2C –> 4000 mA

Software

Bevor wir mit der Installation vom PIUPSMON starten, müssen die für I2C Kommunikation benötigten Pakete installiert werden.

sudo apt-get install python-smbus i2c-Tools

Danach das Raspberry Pi Configuration Tool öffnen und unter 8 Advanced Options => A6 I2C => Enable wählen. Nach einem Neustart sollte dann die I2C Kommunikation möglich sein.

sudo raspi-config

Für die Installation der Software sind nur wenige Schritte notwendig.

cd /tmp
wget http://cdn-reichelt.de/documents/datenblatt/A300/PIUPSMON-0.9.zip
unzip PIUPSMON-0.9.zip
sudo dpkg -i piupsmon-0.9.deb

Die Konfigurationsdatei liegt unter dem folgenden Pfad.

/etc/piupsmon/piupsmon.conf

In der Konfiguration habe ich nur die Einstellung vom ShutdownTimer auf 120 geändert. Dies bewirkt, dass nachdem die Spannungsversorgung auf den Akku gewechselt hat, erst nach 120 Sekunden ein Shutdown initiiert wird.

Logging

Das Logfile ist eigentlich nur interessant wenn man die Einstellung LogLevel in der Konfiguration auf Debug gestellt hat. Der Standard Notice reicht aber für ein sehr einfaches Monitoring aus. Zu finden ist das Logfile unter dem folgenden Pfad.

/var/log/piupsmon.log

Wenn man in der Konfiguration die Einstellung  LogLevel auf Debug stellt, können zusätzlich Spannung und Strom vom LiPo Akku ausgegeben werden. Im Standard würde man nur die Meldungen mit Notice also Statuswechsel und den Shutdown Timer (Zeit bis zum Shutdown) sehen. Hier ein Beispiel von einem kurzem Stromausfall mit aktivertem Debug LogLevel.

2016-08-10 16:00:52 [DEBUG] Current Status: 9
2016-08-10 16:00:52 [DEBUG] U: 4111mV, I: 252mA
2016-08-10 16:00:52 [DEBUG] Current Status: 2
2016-08-10 16:00:52 [NOTICE] Status changed from 9 (primary power,charging) to 2 (battery power)
2016-08-10 16:00:52 [DEBUG] U: 4117mV, I: 226mA
2016-08-10 16:00:52 [NOTICE] Shutdown timer: 1 / 120
2016-08-10 16:00:53 [DEBUG] Current Status: 2
2016-08-10 16:00:53 [DEBUG] U: 4117mV, I: 226mA
...
2016-08-10 16:01:02 [DEBUG] Current Status: 2
2016-08-10 16:01:02 [DEBUG] U: 4111mV, I: 226mA
2016-08-10 16:01:02 [NOTICE] Shutdown timer: 10 / 120
2016-08-10 16:01:02 [DEBUG] Current Status: 9
2016-08-10 16:01:02 [NOTICE] Status changed from 2 (battery power) to 9 (primary power,charging)
2016-08-10 16:01:02 [DEBUG] U: 4203mV, I: 226mA
2016-08-10 16:01:03 [DEBUG] Current Status: 9

12 Gedanken zu „Raspberry Pi USV (RPI USV+)“

  1. Danke für den Bericht.
    Dann kann ich mal vergleichen.
    Ich habe mich für die S.USV Basic von https://www.s-usv.de entschieden mit einem 3000 mA Akku.
    Der Support dort ist sehr gut im Forum. Und die Software hat auch sehr viele Möglichkeiten.
    Müste man mal vergleichen was besser ist.

    Sollten sie ihre Wetterstation installieren kann ich ihnen Weewx empfehlen.

    http://rothlive.de/de/content/raspberry-pi-weewx-installieren-wetterstation-datenlogger-software-wettersoftware

    1. Hallo Markus,

      für meine Anforderung (Laderegler für LiPo Akku & Wide-Range Eingang) hätte auch die S.USV Advanced gepasst, diese ist aber doppelt so teuer wie die RPI USV+.

      Kannst du mir sagen ob man bei der S.USV per CLI Befehl die aktuellen USV Werte abfragen kann?

      Die Weewx Software hatte ich mir damals auch angeschaut, hatte mich dann aber für die wfrog Software entschieden. Da wfrog doch langsam in die Jahre gekommen ist, werde ich mir die Weewx Software nochmal anschauen.

      Viele Grüße
      Stefan

      1. Also man kann die Werte Auslesen.
        Es gibt auch Informationen zu den I2C-Registern.
        http://forum.seprotronic.com/viewtopic.php?f=9&t=113
        Und ein Plugin zur darstellung.
        http://forum.seprotronic.com/viewtopic.php?f=14&t=163
        (Nicht getestet)
        Aber auch Befehle zum Auslesen.
        https://www.s-usv.de/files/pdf/SUSVpi_Manual_Rev1_4_GER.pdf
        https://www.s-usv.de/downloads.html
        PDF Seite 25 Unten.
        Aber auch so hilft jemand vom Hersteller im Forum bei technischen Fragen.

        Für weewx gibt es auch noch unter https://github.com/weewx/weewx/wiki Skins.
        https://github.com/mcrossley/SteelSeries-Weather-Gauges
        http://sensors.geonovum.nl/weewx/gauges/
        Die sehen echt gut aus muss ich mal testen wenn ich zeit habe.

        Aber es gibt noch so viel zu tun.
        Für die Solar Anlage wollte ich noch https://github.com/Tafkas/solarpi installiern. Ist aber bisher gescheitert.
        http://solarpi.tafkas.net
        Weil keiner eine gescheite Anleitung dazu hat.

  2. Hallo,
    erst mal super Anleitung, Danke.
    Bin Linux leihe, wenn ich /etc/piupsmon/piupsmon.conf kommt bei mir immer:

    openhabian@openHABianPi:~ $ /etc/piupsmon/piupsmon.conf
    bash: /etc/piupsmon/piupsmon.conf: Permission denied
    Ich weiß leider nicht warum ich keine berechtigung habe für diese Datei.

    1. Hallo Basti,

      falls du noch nicht weitergekommen bist, die Datei piupsmon.conf ist eine Textdatei in der nur die Konfiguration steht. Du musst die Datei entweder über WinSCP oder über einen lokalen Texteditor wie nano öffnen.

      nano /etc/piupsmon/piupsmon.conf

      Viele Grüße
      Stefan

  3. Hallo,
    ich hätte es nach anleitung instaliert, aber bei der abfrage des Status erhalte ich immer
    “/var/run/piupsmon.pid found, but piupsmon is not running”
    und wenn ich mir dann die log ansehe mit : ~# tail /var/log/piupsmon.log

    erhalte ich
    2017-10-25 11:37:00 [NOTICE] piupsmon started
    2017-10-25 11:37:02 [ERROR] could not communicate with piupsmon!

    Auch bei der Abfrage mit: i2cdetect -y 1

    wird mir nichts angezeigt:
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: — — — — — — — — — — — — —
    10: — — — — — — — — — — — — — — — —
    20: — — — — — — — — — — — — — — — —
    30: — — — — — — — — — — — — — — — —
    40: — — — — — — — — — — — — — — — —
    50: — — — — — — — — — — — — — — — —
    60: — — — — — — — — — — — — — — — —
    70: — — — — — — — —

    Hat vieleicht jemand eine Idee wo sich der Fehlertaufel eingeschlichen haben könnte?
    Danke im Voraus
    Jürgen

    1. Hallo Jürgen,

      ich gehe mal davon aus, dass du I2C auch über rasp-config aktiviert hast?! Blinken die LEDs den wenigstens? Ich weiß es aktuell nicht mehr genau, aber es müssen zwingend Akku und/oder Spannungsquelle an der RPI USV angeschlossen sein. Wenn alles nicht hilft, hast du vielleicht wirklich eine fehlerhafte RPI USV erwischt?! Eine defekte Platine hatte ich auch schon … die wurde aber ohne Probleme bei Reichelt durchgetauscht. Ich hoffe du kannst dein Problem mit der RPI USV lösen!

      Viele Grüße
      Stefan

  4. Hallo Stefan,
    nach 8(!) Jahren, wie ist denn nun Deine Langzeiterfahrung? Ich bn auf der Suche nach einr von Dir beschriebenen Lösung und habe mir für teuer Geld den StromPi3 besorgt, mit dem ich aber nicht zurecht komme.

    Also, irgendetwas berichtenswertes?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert