Schlagwort-Archive: hacks

Mobiles Solar-Ladegerät

DSCF0492 (1)

Meine Balkon-Inselanlage hatte ich hier ja schon vorgestellt. Ich wurde heute aufgefordert, dieses Inselsystem auf ein Festival mitzunehmen, um damit Smartphone, Mp3-Player und Co. laden zu können.

Allerdings ist das ganze System mit seinem Gestellsystem, dem Laderegler und der schweren Batterie sehr stationär, weshalb ich schnell aus meinen Bordmitteln eine mobile Lösung basteln musste.

Ich hatte nur noch einen linearen Spannungsregler zu Hause (L7805 CV), der leider nur eine sehr bescheidene Effizienz besitzt (Wirkungsgrad η=Uout/Uin). Da ich aber erstens auf die Schnelle nichts anderes auftreiben konnte und zweitens das Solarmodul mit 30Wp für die Anwendung überdimensioniert ist, musste das Ding dafür herhalten:

Die Pfefferminzdose habe ich mit einer USB- und einer Hohlsteckerbuchse  ausgestattet und den Spannungsregler mit Kühlkörper und Glättungskondensatoren hineingepackt. Der Spannungsteiler für 2,5V an den Data-Pins sorgt dafür, dass man auch iPhones laden kann.

In Kombination mit meinem Batteriepack ergibt sich eine ganz passable Mini-Inselanlage, die wunderbar für mobile Zwecke genutzt werden kann.

DSCF0498 (1)

Radiorecorder-Podcast im Selbstbau

podcastIch höre immer und überall Podcasts, also Mitschnitte interessanter Interviews, Radiosendungen und Hörspiele. Allerdings werden nicht alle Radiosendungen zum „zeitsouveränen Hören“ zum Herunterladen zur Verfügung gestellt. Das heißt, die einzige Chance, diese Sendungen zu hören, ist live vorm Radio zu sitzen.

Diesen Umstand konnte ich nicht auf mir sitzen lassen. Schließlich habe ich mit meinem Raspberry Pi einen ständig laufenden Computer, der die Sendungen aufnehmen und als Podcast zur Verfügung zu stellen kann.
Doch dazu mussten wieder mehrere Probleme gelöst werden:

Radiosendungen mitschneiden

Zuerst stellt sich das Problem, die Radiosendung aufzunehmen. Glücklicherweise hat mittlerweile jeder Radiosender einen Webstream, auf den man zugreifen kann. Mit dem Commandline-Tool Streamripper ist es möglich, diesen Stream mitzuschneiden und als mp3-File zu speichern. Folgender Befehl nimmt beispielsweise eine Stunde (3600 Sekunden) vom laufenden „Funkhaus Europa“-Programm auf und speichert es als „Testfile.mp3“ ab:

Damit mir die Files nicht die SD-Karte des Raspberry Pi zumüllen, werden diese auf dem USB-Stick an meinem Router abgespeichert. Die Fritzbox bietet die Möglichkeit, den Stick als Netzlaufwerk einzubinden (Samba-Server). Im Raspberry Pi habe ich dieses Netzlaufwerk gemountet und  speichere die mp3-Files im öffentlich zugänglich ab (auch da hilft die Fritzbox: per DynDNS  kann man eine feste Adresse einrichten und per Portweiterleitung auf den RaspPi hat man Zugriff auf die Daten).

Podcast erstellen

Da ich die Mitschnitte  aber mit meinem iPhone hören will, habe einen Podcast daraus gebastelt. Technisch gesehen ist eine Podcast ein RSS-Feed, der auf Medienfiles (z.B. mp3) verlinkt. Das heißt, dass ich automatisch ein XML-File generieren muss,  dass sich bei jeder neuen Aufnahme erneuert.
Dazu wird zu mit jeder gestarteten Aufnahme ein weiterer Eintrag in ein Logfile geschrieben. Aus diesem Logfile kann mit meinem Python-Skript dann das XML-File generiert werden (als Vorlage diente mir dieser RSS-Generator, den ich im Netz gefunden habe).
Zum besseren Handling kann man den Feed dann noch durch Feedburner jagen, um z.B. einen Passwortschutz hinzuzufügen oder um die maximale Kompatibilität mit allen Systemen zu garantieren.

Recorder Programmieren

Das letzte Problem besteht darin, den Recorder zu programmieren. Unix-basierende Systeme besitzen die Crontab, wo man Befehle eintragen kann, die zu bestimmten Zeitpunkten (Uhrzeit, Datum & Wochentag) ausgeführt werden sollen. Folgende hinzugefügte Zeile führt das Bash-Skript „recorder.sh“ jeden Samstag um 22:00 Uhr aus:

Dieses Skript führt dann die oben beschriebenen Punkte aus: Streamripper starten, Logfile schreiben & RSS-File updaten

In  meinem Github-Repository habe ich das fertige Ergebnis zur Wiederverwendung abgelegt (mit Installationsbeschreibung).

Hacking Phocos CXN

image

Ich mag Daten. Ich kann Ewigkeiten damit verbringen, aus Zahlenkolonnen bunte Diagramme zu basteln, um mir und anderen Zusammenhänge zu visualisieren.

Deshalb kam für meine Solaranlage auch nur ein Laderegler in Frage, der seine Betriebsdaten über eine Datenschnittstelle zur Verfügung stellt. Beim Phocos CXN10 kann ich solche Betriebsdaten, wie z.B. die Batteriespannung, PV- und Laststrom, Ladezustand, uvm. über eine serielle Schnittstelle auslesen.

Um die Daten auszulesen, erwartet der Hersteller allerdings vom Anwender, dass er sich ein wahnsinnig teures Adapterkabel kauft, das mehr kostet als der Laderegler selbst. Deshalb beschloss ich, die Sache selbst in die Hand zu nehmen (Disclaimer: seid euch im klaren, dass man beim unvorsichtigen Herumbasteln das Gerät schnell zerstören kann).

Dabei waren mehrere Probleme zu lösen:

Problem 1: Die vierpolige Steckverbindung der Schnittstelle besitzt ein relativ selten genutztes Format. Nach mehreren Fehlkäufen diverser Batterie-Steckverbindern und anderen Kuriositäten bin ich letztendlich auf den passenden Stecker gestoßen: JST-Stecker

image

Problem 2: Serielle Schnittstelle ist nicht gleich serielle Schnittstelle. Zwar nutzen die meisten Geräte den UART-Standard zur Kommunikation, allerdings muss man immer auf den Spannungspegel achten. Der Phocos ist besonders hinterhältig. Statt für die Bezugsspannung (GND) den Minuspol der Batterie zu benutzen, benutzt er den Pluspol (+12V). Versorgt man nun das Auslesegerät (Arduino – s.u.) mit dem Lastausgang des Ladereglers und verbindet die Bezugsspannungen der beiden Geräte, gibt es einen Kurzschluss zwischen 0V und 12V. Glücklicherweise bemerkte ich diesen Fauxpas noch rechtzeitig, bevor eines der Geräte Schaden nahm (das Kabel war allerdings schon sehr verschmort).

Abhilfe schafft eine galvanische Trennung der seriellen Verbindung mit einem ADUM1201-Baustein:

image

Problem 3: Wie spreche ich überhaupt mit dem Phocos? Das ist das einfachste Problem gewesen. Der Arduino Uno, das Mikrocontroller-Board schlechthin, bietet mit der SoftwareSerial-Funktion die Möglichkeit, den Laderegler auszulesen, weiterzuverarbeiten (z.B. umrechnung der Daten, bilden von Mittelwerten, etc.) und über die USB-Schnittstelle weiter an die einen Computer, z.B. den Raspberry Pi, zu schicken.

image

Problem 4: Welche Sprache spricht der Phocos überhaupt? Das war schon ein wenig mehr kompliziert. Nach langer Recherche stieß ich in einem französischen LabView-Forum auf die Protokollbeschreibung der seriellen Schnittstelle. Darin steht, dass man dem Laderegler nur ein Leerzeichen schicken muss, dann fängt er an zu quatschen.
Das sieht dann z.B. so aus:

024 022 000 112 147 160 000 000 255 010 090 017 -002 -002 000 0000 0003 000 000

Diese Zahlen bedeuten z.B., dass die Batterie eine Spannung von 12,6V besitzt und gerade 73% “Füllstand” (SOC) hat.

Meinen kleinen Beispiel-Arduino-Sketch kann man hier betrachten (ohne Gewähr).

Solarer Himbeerkuchen

image

Ich habe vor genau zwei Jahren meinen ersten Raspberry Pi bestellt (und 8 Monate später auch bekommen). Diese Einplatinencomputer können für jeden erdenklichen Zweck eingesetzt werden, sei es als Mediencenter, Server, normaler Desktop-PC oder Internetradio.

Und das beste daran: sie verbrauchen nur 2-3 W. Deshalb ist meine Solaranlage trotz ihrer bescheiden Größe in der Lage, einen großen Anteil der Energieversorgung eines ständig laufenden Raspberry Pi zu übernehmen (zumindest im Sommer).

Da aber die Energie an wolkigen Tagen und im Wintern nicht für eine durchgängige Versorgung ausreicht, musste ich eine Lösung finden, dass der Raspberry Pi trotzdem nicht ausgeht:

image

Dafür habe ich zusätzlich zum DC/DC-Wandler (TEN 5-1211 mit 9-18V Weitbereichseingang aufgrund der variablen Batteriespannung) noch mit einem zweipoligen Relais und einem dicken Kondensator eine unterbrechungsfreie Spannungsversorgung gebaut, die einspringt, sobald der Laderegler den Lastausgang abschaltet (ohne, dass der Pi neu starten muss):

image

Wie sich die Spannung beim Schaltvorgang verhält, habe ich ich mal gemessen. Man kann erstens gut sehen, das die Spannung nicht absinkt und zweitens dass das der DC/DC-Wandler eine stabilere und genauere Spannung liefert als das billige AC/DC-Netzteil:

image

Der Raspberry Pi läuft jetzt 24/7 und hängt über einen USB-WLAN-Adapter im Netzwerk. Auf diesem Rechner kann ich deshalb alle möglichen Server und Dienste laufen lassen. Dazu später mehr…

Solarize your home!

image

Aus nicht nur professionellen Gründen habe ich mir vor fast einem Jahr ein Mini-Solarmodul gekauft, um ein kleines bisschen Energiewende in meinen Haushalt zu bringen. Dazu kamen dann noch die restlichen Komponenten, um eine klassische 12V-Inselanlage aufzubauen:

Mein Balkon ist zwar Richtung Süden ausgerichtet, ist aber leider ansonsten ein denkbar ungünstiger Standort, um dort eine Solaranlage zu platzieren. Vormittags und in den Monaten Oktober bis Februar sieht das Modul keinen direkten Sonnenstrahl (zu sehen am Sonnenstandsdiagramm): imageDeutlicher ist das zu sehen, wenn man die Einstrahlung von einem Simulationsprogramm durchrechnen lässt.
Die maximal erreichbare Einstrahlung steigt erst ab 12:30 wirklich an (das deckt sich mit den gemessenen Daten – dazu später an dieser Stelle mehr):
image

Und an der simulierten Energieerzeugung sieht man, dass die Anlage im Winter nahezu keine Energie liefert:
image

Um der Anlage doch einen Sinn zu geben, habe ich ein paar Dinge drumherum gebastelt. Das zeige ich euch aber erst nach der nächsten Maus…

image