Servus Leute,
nach einer expliziten Anfrage bezüglich meiner >> in einem anderen Thread << beiläufig erwähnten "Billig-USV" möchte ich hier mein extrem pragmatisches Herangehen an so etwas Ähnliches wie wie eine USV kurz schildern:
Um es vorweg zu nehmen:
Meine Lösung ist keine USV im eigentlichen Sinne und kann und soll die entsprechenden Produkte nicht ersetzen. Am ehesten entspricht es der Lösung von >> juice4halt << allerdings in einer sehr, sehr vereinfachten Version!
Für echte USV-Anwendungen ist wohl die >> S-USV << oder die >> PI USV << vorzuziehen.
Ich persönlich habe bisher noch keine echte USV benötigt, werde aber demnächst eine S-USV für ein anderes Projekt testen...
Billig bezieht sich hier nicht auf den Warenwert, sondern auf die Umsetzung
Ausgangslage:
Mein erstes Projekt vor ca. einem Jahr mit meiner neuen Errungenschaft, einem Raspberry Pi Modell B+, war natürlich ein Mediacenter unter kodi/OSMC. Außerdem war mir die Problematik, dem RPi den Saft "gewaltsam" abzudrehen, verständlich.
Im Wohnzimmer läuft abends - wie überall - meistens der Fernseher. Tagsüber läuft die Stereoanlage (so eine aus einzelnen Komponenten). Um dem ganzen Gespiel den unnötigen Standby-Strom zu nehmen, habe ich die Steckdosen bereits beim Hausbau (ca. 2007) über einem Schalter angeschlossen. Das abendliche Ausschalten hat sich prima in unser Verhalten "eingeschliffen".
...und jetzt kommt der Raspberry mit seinen "extravaganten" Stromwünschen daher!
Lösung:
Da ich nur eine Überbrückung für ca 30 Sekunden benötige, um den RPi nach dem Ausschalten des Netzschalters sauber herunterzufahren, kam mir die Idee, den dafür nötigen Strom (entschuldigt die saloppe Formulierung) in Elkos mit hoher Kapazität zwischenzuspeichern. Die Idee habe ich von einem HMI-Gerät aus dem Hause Siemens abgeschaut.
1.
Ein chinesisches(?) Kondensatormodul, bestehend aus zwei in Reihe geschalteten hochkapazitiven Superkondensatoren (2,5F) mit je 2,7V Maximalspannung sind parallel in Reihe(!) -- solche Fehler findet man erst beim späteren Duchlesen, sorry -- zum 5V-Anschluss des RPi geschaltet. Ich habe über diese Primitivmethode der Reihenschaltung von Superkondensatoren zur Spannungserhöhung diverse Artikel, auch kritische, gelesen, bin aber (alleine schon aus Interesse) trotzdem darauf eingegangen, zumal es diese Kombination so bei farnell zu bestellen gibt:
http://de.farnell.com/bussmann-by-eaton/phv-5r4v255-r/superkondensator-2-5f-5-4v-radial/...
Ich vermute, dass bei so einer Kombination die beiden Einzelkondensatoren aus der gleichen Fertigungscharge stammen und somit nahezu identische Kennwerte hinsichtlich der Toleranz haben bzw. in die gleiche Richtung abweichen. Mit etwas Glück fällt auch das Problem der unterschiedlichen Innenwiderstände dann nicht so gravierend aus...
Nach gut einem halben Jahr täglicher Nutzung bilde ich mir ein, dass die Speicherkapazität der Superkondensatoren tatsächlich zurückgegangen ist, ich kanns aber nicht mit Messwerten belegen. Vielleicht bilde ich es mir auch nur ein? Ich weiß es echt nicht...
2.
Eine Schaltung bestehend aus Brückengleichrichter, Optokoppler, Transistor und ein paar Kondensatoren und Widerständen überwacht die Netzspannung und bereitet ein Digitalsignal für einen beliebigen GPIO-Pin des RPi auf. Der RPi kann dann über eine wirklich einfache Software das Ausschalten der Netzspannung erkennen und einen sudo shutdown -h now anstoßen.
Das Problem dabei ist, dass der Shutdown nach der Erkennung der fehlenden Netzspannung immer ausgeführt wird, auch wenn kurz danach die Netzspannung wieder eingeschaltet wird. Erst nachdem der Superkondensator so weit entladen ist, dass der RPi mit genügend wenig Spannung versorgt wird, führt ein Wiedereinschalten der Netzspannung zum Neustart. Bei mir muss man dafür über eine Minute herwarten! Ein zu frühes Einschalten lädt nur die Elkos auf und die Wartezeit beginnt von vorne!
Erschwerend kommt bei meiner konkreten Anwendung noch hinzu, dass das Mediacenter in ein Gehäuse eingebaut wurde und daher nach dem sauberen Herunterfahren auch kein 5V-Versorgungskabel "schnell" vom RPi gezogen und wieder gesteckt werden kann.
Man muss diese Zeit einfach aussitzen!
Angehängte *.zip-Datei:
Das ZIP enthält die eagle-Dateien für Schaltplan und Board (ich verwende eagle auch zum Platzieren und Routen von Lochrasterplatinen) und "Ausdrucke" davon als PDF-Datei.
Im Unterverzeichnis "AC-detect2" der ZIP-Datei befinden sich das C-Programm "acWatch" sowie das Shellscript "acShutdn" für die Überwachung der Netzspannung. Dort befindet sich auch eine kleine ReadMe-Anleitung.
Wichtig ist, dass das Ganze als root ausgeführt wird, da Zugriff auf die GPIOs des RPi notwendig ist, was nur unter root funktioniert.
Ursprünglich wollte ich mich an dem Beitrag von >> kernkrank << orientieren, es gab dann aber einen Pinkonflikt mit dem Schlüsselpin Nr. 5 auf der Leiste (GPIO-Pin 3), den ich nie gelöst habe.
Meine Umsetzung arbeitet mit GPIO17, das ist Pin 11 auf der Stiftleiste.
PS:
Im eagle-Schaltplan (und auch in den PDFs) haben die Widerstände nicht die richtigen Werte! Daher das Ganze zunächst nur als Anregung betrachten. Ich werde mir dieser Tage mal mein Mediacenter vorknöpfen und die letztlich verwendeten Werte herausschreiben, um meine Dokumentation auf Vordermann zu bringen
Anschließend werde ich die Werte natürlich auch hier bekannt geben... --> ist geschehen, siehe Beitrag #3
Ich merke schon,
die Veröffentlichung im Internet zwingt zu sauberer Dokumentation
Kein Schaden ohne Nutzen!
Viel Spaß
und hoffentlich nicht zu viel Nachbau, da gibt's wirklich bessere Lösungen
Später habe ich dann meine Lösung "in gut" gefunden: >> juice4halt <<
Der Entwickler hat das Produkt seinerzeit auch hier im Forum vorgestellt: >> Batterielose Supercap-USV <<
schlizbäda