Stephan Laage-Witts Elektronik-Bastel-Erfahrungen reichen zurück bis in die Schulzeit. Heute beschäftigt er sich immer mal wieder mit nostalgischem Radiobasteln – zur Entspannung und einfach, weil es Freude macht. Auch wenn der Weg von der ursprünglichen Idee bis zum fertigen Gerät oft länger ist als gedacht. In diesem Beitrag schreibt er über ein Projekt, das eher zufällig zustandekam.
Es gibt Bastelprojekte, die aus einer ganz unerwarteten Richtung angestoßen werden. Dieses hier ist so eines: Letzten Sommer hatten wir in unserem kleinen Gartenteich Zuwachs bekommen. Ein paar Goldfische hatten sich dort eingerichtet. Jetzt reichte die kleine solarbetriebene Pumpe aber nicht mehr aus, die Wasserqualität aufrechtzuerhalten. Ein netzbetriebener Filter musste her.
Und so wurde ein Solarpanel nach mehreren Jahren Gartenarbeit freigestellt. Es stand dann ein paar Wochen im Bastelkeller, bis mir die Idee kam, es anderweitig einzusetzen. Die maximale Leistung war mit 580 mA bei 17 Volt angegeben. Wäre es möglich, damit die ständig wachsende Zahl von Smartphones und Tabletts in unserem Haus mit Strom zu versorgen? Das Solarpanel war unterwegs zu neuen Aufgaben.
Erste Versuche
Ein Spannungswandler von 17 V auf 5 V war auf einem Steckbrett schnell aufgebaut. Ich hatte einen LM2576T in meinen Vorräten entdeckt, der bei einem weiten Eingangsspannungsbereich stabile 5 V mit bis zu mehreren Ampere produzieren kann ( Referenz 5-V-Solarlader ).
Die Schaltung ist einfach. Allerdings ist die Wahl der Speicherdrossel nicht ganz unkritisch. Entstördrosseln sind nicht geeignet. Gute Ergebnisse habe ich mit L-PIS-Drosseln bekommen, beispielsweise L-PISR, 100µH, 3.1A. Dann braucht es nur noch eine Schottky-Diode, Elkos und eine USB-Buchse. Der 100-Ohm-Widerstand an den Datenleitungen der USB-Buchse signalisiert dem Smartphone, dass es sich um eine Stromversorgung zum Laden handelt, die mehr als die USB-konformen 500 mA bereitstellen kann.

©Stephan Laage-Witt
Die wenigen Bauteile sind auf dem Steckbrett schnell zusammengesetzt. Die Sonne scheint, und tatsächlich stehen 5 V am USB-Ausgang bereit. Ein Handy wird angeschlossen und gibt das vertraute „ping-pong“ von sich. Der Ladevorgang mit Solarstrom nimmt seinen Lauf. Prima!
Aber dieser Aufbau ist noch keine zufriedenstellende Lösung. Um zeitlich vom Sonnenschein unabhängig zu sein und eine stabile Stromversorgung auch bei wechselnden Sonnenverhältnissen zu liefern, wird ein Puffer-Akku benötigt. Außerdem wurde ich neugierig und wollte wissen, wie viel Strom das Solarpanel liefert und wie viel in die angeschlossenen Verbraucher abfließt. Spätestens an dieser Stelle wurde es Zeit für einen Mikrocontroller zum Messen, Schalten und Walten.
Der Schaltungsentwurf
Was wird also gebraucht? Das Solarpanel soll einen 12-V-Blei-Akkumulator laden. Ein geeigneter Akku war über das Internet schnell gefunden. Ich habe mich für einen Gel-Akku mit 9 Ah entschieden, der mir mit seinen mechanischen und elektrischen Größen geeignet erschien.

©Stephan Laage-Witt
Der Akku stellt seinerseits die Versorgung für den Spannungswandler bereit, der dann die USB-Buchse mit Strom versorgt. Der Mikrocontroller hat dabei zwei Aufgaben. Erstens dient er als Multimeter, misst Spannungen und Ströme und berechnet aufgenommene und abgegebene Kapazitäten. Zweitens dient er als Laderegler, schaltet das Solarpanel bei Überspannung ab und die Verbraucher je nach Bedarf und Ladezustand des Akkus ein oder aus.
Ein Übersichtsdiagramm ist hilfreich und notwendig, um nicht die Orientierung zu verlieren.

©Stephan Laage-Witt
Im unteren Teil befindet sich die „Leistungselektronik“, auch wenn dieser Begriff ein wenig übertrieben erscheint. Im Zentrum ist die Batterie zu sehen, der 12-V-Blei-Akku. Er wird von links über das Solarpanel geladen. In der Plus-Leitung befindet sich eine Diode als Verpol-Schutz und ein Schalter, der das Panel bei Spannungen oberhalb einer Grenzspannung abschaltet. In der negativen Zuleitung liegt Shunt1, mit dem der Ladestrom gemessen wird. Auf der rechten Seite des Akkus sitzt der 12-zu-5-V-Wandler, der über Shunt2 die USB-Buchse versorgt.
Die Erfahrungen haben gezeigt, dass angeschlossene Smartphones recht empfindlich auf schwankende Ladespannungen reagieren. Deshalb befindet sich Shunt2 innerhalb des Regelkreises, so dass Verluste am Shunt ausgeregelt werden. Das klappt tatsächlich sehr gut. Die Spannungsänderungen bei Strömen bis zu 2 Ampere liegen im Bereich von 20 oder 30 mV. Und schließlich gibt es noch einen ungeregelten 12-V-Ausgang, der die Batteriespannung direkt zur Verfügung stellt, um beispielsweise einen kleinen 12-zu-220-V-Wechselrichter zu betreiben.
Im oberen Bereich befinden sich die Steuerelektronik mit Mikrocontroller, LCD-Panel, Spannungsteilern zur Anpassung der Messspannung an den ADC, und 3 Taster als Bedienelement. Wie schon bei allerlei anderen Projekten habe ich auch hier einen AVR ATmega168 eingesetzt. Die ATmegas bieten eine ausreichende Anzahl Ports und einen ADC mit mehreren Kanälen auf dem Chip. Die Spannungsversorgungen für das LCD-Panel (5 V) und den Mikrocontroller (3.3 V) werden mit kleinen Festspannungsreglern (LP2950) aus der Batterie bezogen. Die LP2950 haben minimale Leerlaufströme. LCD-Panel und Mikrocontroller sind sehr genügsam, so dass die ganze Steuerelektronik einen sehr geringen Eigenbedarf von etwa 5 mA hat. Das liegt damit im Bereich der Eigenentladung des Blei-Akkus, so dass die Schaltung ohne Bedenken dauerhaft am Akku bleiben kann.
Und noch ein Punkt soll erwähnt werden: Die Masse der Steuerelektronik liegt an der Masse des Solarpanels auf der linken Seite von Shunt1, nicht – wie man vielleicht intuitiv annehmen würde – an der Masse des Akkus. So lassen sich sowohl der Ladestrom durch Shunt1 als auch der Entladestrom durch Shunt2 als positive Spannungen am ADC messen. Alle Spannungsmessungen sind also auf die Masse des Solarpanels bezogen und nicht auf die Masse der Batterie. Sobald ein Ladestrom fließt, erscheinen alle anderen Spannungen um die an Shunt1 abfallenden Spannungen verschoben gegenüber der Batterie-Masse. Dieser Offset wird per Software korrigiert.
Spannungs- und Strommessungen
Die Messungen geschehen mit Hilfe des ADC. Der Controller wird so konfiguriert, dass der ADC mit 10 Bit Genauigkeit misst und die interne Referenzspannungsquelle mit 1.1 V als Bezugspunkt verwendet. Ein Konvertierungsergebnis von 1023 entspricht also der Referenzspannung.
Für die Messung des Ladestroms wird direkt die Spannung an Shunt1 gemessen und muss nur noch durch den Widerstand geteilt werden, wodurch sich der Ladestrom ergibt. Die Messung des 12-V-Ausgangsstroms geschieht ganz analog mit Shunt3. Die Größe der Shunt-Widerstände ergibt sich als ein Kompromiss zwischen der minimal geforderten Auflösung und den maximal akzeptablen Verlusten. Außerdem muss man darauf achten, dass die Summe der Spannungen an Shunt1 und Shunt3 nicht den maximalen Messbereich von 1.1V überschreiten. In meiner Schaltung wurde für Shunt1 ein Widerstand von 0.33 Ohm eingesetzt. Damit ergibt ein Ladestrom von beispielsweise 1 A gerade 0.33 V. Für Shunt3 habe ich einen Widerstand von 0.11 Ohm gewählt. Ein Ausgangsstrom von beispielsweise 4 A ergibt damit 0.44 V. Das sind für den geplanten Einsatz sinnvolle Rahmenbedingungen.
Die Messung des Stroms am USB-Ausgang ist etwas aufwändiger gestaltet mit dem Ziel, die Ausgangsspannung unabhängig vom Stromfluss möglichst konstant zu halten. Deshalb liegt Shunt2 in der positiven Leitung innerhalb des Regelkreises. Der Strom ergibt sich als Differenz der Spannungen vor und nach Shunt2 geteilt durch den Widerstandswert. Die Spannungswerte bewegen sich dabei im Bereich von 5 V, was sich nicht direkt mit dem ADC messen lässt.
Hier kommt ein TL431 als präzise, einstellbare Bandgap-Spannungsreferenz zum Einsatz. Der TL431 lässt sich als „bessere“ Zenerdiode verstehen. Er wird so geschaltet, dass daran exakt 4.78 V (ab Strömen von minimal 1 mA) abfallen. Gemessen wird die verbleibende Spannung gegen Masse. Damit lassen sich die Spannungen von 5 V bis etwa 5.8 V mit dem ADC erfassen. Der Schalter S4 sorgt dafür, dass wechselweise die Spannung vor und nach Shunt2 am TL431 anliegt. Für Shunt2 wurde ein Widerstand von 0.22 Ohm ausgewählt. Ein Stromfluss von 1.5 A ergibt damit eine Spannung von 5.495 V vor dem Shunt, also 0.715 V nach Abzug von 4.78 V durch den TL431, was wieder innerhalb des Messbereichs des ADC liegt.
Die Batteriespannung wird ganz einfach mit einem Spannungsteiler aus Widerständen und Trimmer an den Messbereich des ADC angepasst. Damit stehen alle Ströme und Spannungen am Controller zur Messung bereit.
Transistoren als Schalter
Die zweite Aufgabe des Mikrocontrollers ist es, die verschiedenen Schalter zu betätigen, wozu die Ports D3 bis D5 und C4 und C5 als Ausgänge genutzt werden. Alle Schalter sind so ausgelegt, dass ein low-Pegel den Schalter aktiviert. Dazu werden Treiber mit BC547 verwendet, bei denen die Emitter über einen Widerstand am Port-Ausgang und die Basis direkt an der Spannungsversorgung des Controllers liegen. Die Transistoren arbeiten also in Basisschaltung. Wenn der Port high-Pegel hat, liegen Basis und Emitter auf dem gleichen Potential, wodurch der Transistor sperrt. Bei low-Pegel ist der Transistor dann entsprechend geöffnet. Der Collector des BC547 treibt die Basis eines PNP-Transistors oder p-Kanal FETs im positiven Zweig der Last. Mit dieser Anordnung lassen sich (fast) beliebig hohe Spannungen mit dem Controller schalten.

©Stephan Laage-Witt
Die Schalter S1 (Solarpanel) und S3 (12-V-Ausgang) arbeiten mit p-Kanal MOSFETs IRF5305. Die FETs haben im eingeschalteten Zustand einen sehr geringen Widerstand von weniger als 60 mOhm und vertragen die anfallenden Ströme völlig unbeeindruckt. Der Umschalter S4 wird mit zwei BC457C realisiert. Ströme und Spannungen sind hier absolut unkritisch.
Der Spannungskonverter LM2576T hat die angenehme Eigenschaft, dass er bereits einen Steuereingang mitbringt, der ebenfalls bei low-Pegel den Konverter aktiviert bzw. bei high-Pegel abschaltet.
Die Schaltung im Detail
Der vollständige Schaltplan ist im nächsten Bild zu sehen und nach den bisherigen Erläuterungen weitgehend selbsterklärend.

©Stephan Laage-Witt
Das 4*20 LCD-Display wird im 4-Bit-Modus an Port B betrieben. Ich habe mich für ein LCD-Panel entschieden, dass auch ohne Hintergrundbeleuchtung ablesbar ist, um den Strombedarf gering zu halten.
T1 bis T4 treiben die verschiedenen Schaltvorgänge. T5 und T6 schalten wechselweise die Spannung vor und nach Shunt2 auf ADC0. Der zeitliche Ablauf zwischen den Schaltern und dem ADC wird per Software gesteuert. Die 10-mH-Induktivitäten in den Zuleitungen waren notwendig, um stabile Messwerte zu bekommen. Ohne diese Spulen schwankten ermittelte Stromwerte ständig. Am Oszilloskop zeigte sich, dass kleine Spannungsrippel vom Spannungswandler trotz der Kondensatoren auf den ADC gelangten. Da hier relativ geringe Spannungswerte miteinander verglichen werden, führten die Rippel zu unschönen Schwankungen. Erst die Induktivitäten brachten Ruhe in die Anzeige.
T7 schaltet das Solarpanel abhängig von der Batteriespannung ein oder aus. Die 15-V-Zenderdiode schützt das Gate vor Überspannung. Die Solarpanel-Leerlaufspannung kann recht nahe am zulässigen Grenzwert von 20 V für diesen FET kommen, was während der Schaltphase ein Problem sein könnte.
T8 schaltet den 12-V-Ausgang. Der FET schaltet Ströme bis etwa 4 Ampere ohne zusätzliche Kühlung klaglos.
Die Software
Die Software habe ich in meiner „Haussprache“ C geschrieben. Das Programm ist einfach und bleibt übersichtlich. Der Controller verbringt den größten Teil der Zeit im stromsparenden Sleep-Modus. Als zeitgebendes Element wird der 16-Bit-Timer verwendet, der den Mikrocontroller 10 Mal pro Sekunde aus dem Sleep-Modus weckt. Das ist tatsächlich der einzige Zweck der Interrupt-Routine.
Das Hauptprogramm initialisiert ADC, Timer und Sleep-Modus und geht dann in die übliche Endlosschleife. Der Mikrocontroller misst bei jedem Durchlauf alle Spannungswerte und fragt die Tasten ab. Bei jedem zehnten Durchgang, also nach Ablauf einer Sekunde, werden die Mittelwerte der Messungen berechnet und in Spannungs- und Stromangaben konvertiert. Alle Berechnungen finden als 32-Bit Festkomma-Arithmetik statt. Die Daten werden auf dem Display ausgegeben; abhängig von den Spannungswerten werden die Schalter gesetzt. Das ist eigentlich schon alles. Der Controller geht wieder in den Sleep-Modus und wird dann durch den nächsten Interrupt aufgeweckt.
Für die Ansteuerung des LCD verwende ich die Standardbibliothek für Text-Displays von Mikrocontroller.net (siehe Referenz ). In der Datei lcd-routines.h muss nur noch der LCD-Port auf POTRB und die Länge der Text-Zeilen auf 20 angepasst werden. Die CPU-Taktfrequenz F_CPU wird bereits im Hauptprogramm mit 2 MHz (= 2000000) definiert. Dann sollte alles reibungslos funktionieren.
Die Software hat eine eingebaute Auto-Shutoff-Funktion. Das Programm misst ständig den Strom der Ausgänge und schaltet sie ab, wenn der Strom über einen oberen Grenzwert steigt oder für eine einstellbare Zeit (beispielsweise 20 sec) unter einen Grenzwert (beispielsweise 50 mA) fällt. Das ist sehr praktisch, weil die Software auf diese Weise die Ladung von angeschlossenen Geräten selbsttätig beendet, wenn sie voll sind. Man kann auch einfach das zu ladende Gerät abziehen. Die Ausgänge werden dann automatisch abgeschaltet.
Das Programm hat einige Parameter, mit denen sich diese Grenzwerte einstellen lassen:

©Stephan Laage-Witt
Die Solarlader-Software finden Sie hier , auf der Seite ganz unten, zum Download.
Aufbau und Lohn der Mühe: Der Lader im Alltagsbetrieb
Der Aufbau ist unproblematisch. Wie für einen Prototyp üblich, wurde das Gerät auf einer Lochrasterplatte aufgebaut. Eine Europakarte ist mit den Bauteilen weitgehend gefüllt. Der Spannungswandler ML2576 benötigt einen kleinen Kühlkörper. Abgesehen davon ist keine weitere Kühlung erforderlich. Der obligatorische Programmieranschluss für den Controller ist im Schaltplan nicht eingezeichnet.
Die Platine mit Tastern und Display findet zusammen mit dem Akku auf einer Plexiglasplatte Platz. Das Solarpanel wird über Bananenstecker mit der Schaltung verbunden. Wenn die Software aufgespielt ist, werden Strom- und Spannungswerte auf dem Display angezeigt. Die Messung der Batteriespannung braucht einen Abgleich. Dazu wird die tatsächliche Batteriespannung mit einem angeklemmten Multimeter gemessen und der 1k-Trimmer so eingestellt, bis der Wert im Display mit dem Multimeter übereinstimmt. Das ist alles.
Die Bedienung ist sehr einfach: Den Verbraucher am USB- oder 12-V-Ausgang anschließen, die entsprechende Taste drücken, und schon läuft der Ladevorgang. Der entsprechende Ah-Zähler und der Timer werden bei jedem Tastendruck am Anfang der Ladung zurückgesetzt. Über die Reset-Taste lässt sich auch der Ah-Zähler für den Solarstrom auf Null setzen. Das Display bringt alle interessanten Daten in den Blick:

©Stephan Laage-Witt
Hier ist die Batteriespannung ist mit 12.18 V relativ niedrig. Zur Zeit produziert das Panel 0.5 A und hat bisher 2.65 Ah geladen. Der USB-Ausgang ist abgeschaltet. Der 12-V-Ausgang liefert einen Strom von mehr als 2 A und hat bereits 5.17 Ah abgegeben, was die niedrige Batteriespannung erklärt.
Das Gerät ist nun schon einige Monate in Betrieb. Das Solarpanel befindet sich auf dem Dach unserer Terrasse und ist nach Südwesten ausgerichtet. Erst nach der Mittagszeit bekommt es direkte Sonne, dann aber bis zum Abend, was bei einem sonnigen Tag je nach Jahreszeit etwa 3 bis 6 Ah ergibt. Wenn das Wetter gut ist, gibt es Strom im Überfluss. Wir haben einige Smartphones und Tablets im Haus, die meistens vollständig über den Solarlader betrieben werden. Ein schönes Gefühl, wenn sich die Ladung ganz ohne weiteres Zutun im Akku sammelt.
Anders sieht die Situation nach einige Tagen Regenwetter aus. Bei trübem Wetter liegt der Ladestrom am Nachmittag nur bei 50 mA, womit der Akku nicht voll zu bekommen ist. Nach zwei oder drei Tagen schlechtem Wetter wird es eng, und wir müssen auf konventionellen Steckdosenstrom ausweichen. In der Praxis kam das aber selbst in den Wintermonaten nur selten vor. Sehr nützlich ist die Anzeige der geladenen Amperestunden. Morgens, bevor ich das Haus verlasse, setzte ich den Zähler über die Reset-Taste auf Null. Am Abend kann ich dann direkt ablesen, welche Energiemengen das Gerät im Laufe des Tages gesammelt hat. Bei uns im Haus hat sich ein sportlicher Ehrgeiz entwickelt, unsere Kommunikationsgeräte mit reinem Solarstrom zu laden. Und die Sommermonate kommen ja erst noch …
Mit dem Essen kommt der Appetit, und der Hunger nach Solarstrom wächst. Das System hat sich als erweiterbar erwiesen. Inzwischen gibt es eine Version 2 mit einem größeren Panel (65 x 45 cm Fläche) und zwei parallel geschalteten Akkus, was bei baugleichen und Akkus mit ähnlichem Alter kein Problem ist. Das Panel produziert Ladeströme bis zu 2.5 Ampere. In der Schaltung müssen die Shunt-Widerstände für die größeren Ströme angepasst werden. Außerdem bekommt der FET am 12-V-Ausgang einen kleinen Kühlkörper, so dass er größere Ströme schalten kann. In der Software müssen nur die neuen Werte für die Shunt-Widerstände angepasst werden.

©Stephan Laage-Witt
Ich habe einen 220-V-Konverter fest integriert, wodurch das Gerät sehr vielseitig wird. Mit dieser Anordnung lade ich auch ausgewachsene Laptops, was bei Sonnenschein kein Problem darstellt. Die Laptop-Ladegeräte ziehen maximal zwischen 6 bis 7 A, also 70 bis 80 Watt, was die beiden Akkus in geladenem Zustand gut wegstecken.
Hinweis für alle Bastler:
Wenn auch Sie ein kreatives Projekt entwickelt haben, schreiben Sie uns. Wir würden Ihre Konstruktionen, nützlich oder einfach nur schräg, gern im neuen PC-WELT-Hacks-Bereich auf www.pcwelt.de vorstellen. Schreiben Sie an Birgit Götz – bgoetz@pcwelt.de.