Aufbauanleitungen
Vorbemerkung
Auf dieser Seite sind detailliertere Bestelllisten und Aufbauanleitungen für die einzelnen Arbeiten zusammengestellt.
Für Eilige ist auch ein Schnelleinstieg beschrieben.
Pakete und Bestelllisten
Allgemeines
- Alle Preise sind Bruttopreise.
- Versandkosten sind in der Regel nicht angegeben.
Grundpaket: FreeSol-Logger für S0-Solarenergieerfassung
Das Grundpaket enthält alle Hardware-Komponenten, die zum Aufbau und zur Programmierung eines FreeSol Loggers notwendig sind, wenn ein S0-Signal vorhanden ist. Sinnvollerweise startet man mit dem Grundpaket so wie im Schnelleinstieg in vier Schritten beschrieben.
Anmerkungen:
- Das NetIO-Board kann auch als Bausatz für ca. 20 EUR bezogen werden, Bestellnummer 810 058)
- Der Pocket AVR Programmer für 13 EUR bei Watterott hat leider nicht funktioniert. Zwar kann ich kleine Programme aufspielen, aber er scheint an der 64k-Grenze zu scheitern. Eine Diskussion mit dem Support hat das Problem leider nicht lösen können, im Moment deshalb auf Eis.
- Der Programmieradapter in Position 10 ersetzt Positionen 8+9. Er ist inzwischen erfolgreich getestet, hat jedoch immer einige Wochen Lieferzeit aus Hongkong. Über Ebay z.B. hier: http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=370532286436
Erweiterungspaket S0-Zähler: Zum Erzeugen eines nicht vorhandenen S0-Signals
Dieses Paket wird dann benötigt, wenn nirgends in der Anlage ein S0-Signal vorhanden ist. Alternativ könnte man versuchen, das S0-Signal günstiger zu erzeugen, z.B. durch Auslesen einer am Zähler blinkenden LED oder durch Anbringen einer Lichtschranke am Drehrad des Ferraris-Zähler.
Anmerkungen:
- Weil nicht vernachlässigbar habe ich hier Versandkosten separat aufgeführt.
- Der Zähler langt z.B. für meine 11 kW-Anlage, für keinere Anlagen gibts dort noch etwas günstigere Modelle
Erweiterungspaket SML-Lesekopf: Zum Einlesen von SML-Signalen aus einem Bezugs-Einspeisezähler
Mit diesem Paket wird zusätzlich zu der erzeugten Energie der Solaranlage auch ein SML-fähiger Zweirichtungszähler (Bezugs-/Einspeisezähler) ausgelesen. Die Daten werden ebenfalls vom Logger erfasst und zwischengespeichert. Für die Visualisierung udn dauerhafte Speicherung empfiehlt sich die kostenfreie Zusatzsoftware FreeSol EV aus dem Downloadbereich.
Anmerkungen:
- Pos. 31: Wir brauchen davon nur einen Phototransistor
- Pos. 33+35: Packung mit je 100 Stück
- Pos. 39: Kann man zerschneiden statt Kabel an einen Stecker hinzulöten
- Pos. 40: Mit dem Steckboard kann man die Schaltung zunächst bequem oder dauerhaft fliegend aufbauen und muß gar nicht löten.
- Falls kein USB-to-Seriell-Adapterkabel vorhanden ist und der SML-Zähler auch mal am PC ausprobiert werden soll (nur bei Einsatz des AVR-Boards benötigt man diesen Adapter nicht), kann man sowas ebenfalls bei Pollin mitbestellen (Best.-Nr. 721 034, 4,95 EUR). Dieses Kabel ist optional auch schon im Grundpaket aufgelistet, da man dort damit die serielle Schnittstelle auslesen kann.
- Als Variante kann man einen aufgebauten ähnlichen Volkszähler-SML-Schreib-Lesekopf verwenden (18 EUR Bauteile inkl. Verstand + 5 EUR Lötservice).
Erweiterungspaket Powerline: Netzwerkübertragung über Stromkabel
Dieses Paket weird dann benötigt, wenn sich am Anschlußort des FreeSol-Loggers kein Netzwerkanschluß befindet und die daten über die Stromleitung übertragen werden müssen. Aufgrund der Kosten für Hardware und Stromverbrauch (6 W Dauerbetrieb entspricht 12 EUR pro Jahr) sollte man versuchen, dies zu vermeiden.
Anmerkungen:
- Pro Adaper ca. 3.4 W Dauerleistung
Hardwarearbeiten und Aufbau
Bereitstellung eines S0-Signals
Ein S0-Signalpuls enthält die Information, dass eine bestimmte Menge Energie (meist eine Wattstunde "Wh") erzeugt wurde. Dieses Signal bildet die Basis für die FreeSol-Datenerfassung.
Wenn der vorhandene Stromzähler oder der Wechselrichter bereits ein freien S0-Ausgang besitzen, kann man diesen nutzen. Ist noch kein Signal vorhanden, muss man einen S0-Zähler einbauen. Ist ein Signalausgang vorhanden, aber bereits anderweitig belegt, kann man das Signal mit einer kleinen selbst gebastelten Zusatzplatine aufspalten und damit mehrere S0-Eingänge bedienen.
Für die Bereitstellung des S0-Signals sind also fünf mögliche Fälle zu unterscheiden, die in den folgenden Unterkapiteln im Detail beschrieben sind.
Stromzähler mit freiem S0-Ausgang
Im günstigsten Fall ist ein Stromzähler mit freiem S0-Ausgang vorhanden. Hier sind keine weiteren Schritte nötig: Der S0+ (plus) Ausgang des Stromzählers wird direkt mit dem Eingang (PIN1 des EXT-Steckers) des Freesol-Boards verbunden. Der S0- (minus) Ausgang des Stromzählers wird direkt an die Masse des Freesol-Boards gelegt. Dazu den GND-Ausgang an der blauen Schraubleiste verwenden, an der auch die 5V-Versorgungsspannung anliegt. Wer sicherheitshalber einen Kurzschlußschutz gegen Verschaltungsfehler beim Anschließen einbauen will, baut noch einen 200-Ohm-Widerstand ein, sit aber nicht nötig. Der PIN1 ist intern über einen Pullup-Widerstand auf 5V hochgezogen und wird bei Anliegen eines S0 Signals auf Masse gezogen und dabei ein Puls im Freesol-Board generiert.
Werden Störimpulse im Logger sichtbar (merkt man vor allem, falls Nachts punktuell Erträge angezeigt werden), kann man diese mit einem zusätzlichen 10 nF-Kondensator zwischen S0- und S0+ herausfiltern.
Stromzähler mit belegtem S0-Ausgang
Auch noch kostengünstig lösbar ist der Fall, dass ein Stromzähler oder Wechselrichter mit S0-Ausgangssignal vorhanden ist, der Signalausgang aber belegt ist (z.B. durch einen anderen Datenlogger wie den Photon Logger). Der Einsatz von FreesSol kann hier durchaus trotzdem Sinn machen, weil der Photon-Datenlogger die Tagesdaten typischerweise erst am Mittag des Folgetags zur Verfügung stellt und während des laufenden Tages keinerlei Informationen anzeigt. Auch lassen sich die Photon-Daten nicht als öffentliche Webseite zur Verfügung stellen. Mit dem FreeSol-Logger hingegen kann man zusätzlich die laufenden Tagesdaten und aktuellen Leistungswerte ansehen.
Für den Einbau eines weiteren Loggers muß jedoch das S0-Signal in zwei Signale verdoppelt werden. Hierzu steht eine kleine Schaltung zur Verfügung, die mit wenig Aufwand und Kosten aufgebaut werden kann.
Die im Bild gezeigte Schaltung spaltet das S0-Signal eines Stromzählers in drei Signale auf. Noch einige Hinweise:
- Im Kern besteht die Schaltung aus einem Optokoppler CNY17 pro benötigtem Ausgang, der das Signal etwas verstärkt und galvanisch trennt.
- Beim Kauf des Optokopplers CNY17 habe ich (anders als im Bild angegeben) die Typvariante 3 gekauft, diese hat eine höhere Verstärkung.
Stromzähler mit blinkender LED als Pulssignal
Als Alternative lassen sich andere Pulssignale so umwandeln, dass sie wie S0-Signale verwendet werden können. Hier kommen entweder LEDs infrage, die mit einer bestimmten Rate (Pulse/KwH) synchron zur Stromerzeugung blinken. Für die Verwendung von Blinksignalen einer LED kann man entweder das Signal mit einem Transistor an den Eingang des Boards gelegt werden oder in der Schaltung aus dem nächsten Kapitel die Lichtschranke durch die LED ersetzen. Bei Problemen gerne Rückfragen.
Lichtschranke für Drehrad eines Ferraris-Zählers
Es gibt verschiedene Ansätze, mit Hilfe selbergebauter Photodioden-Empfänger das S0-Impulssignal durch Beobachtung des Drehrads am S0-Geber zu generieren. Man verwendet Infrarot-Dioden, weil diese weniger durch Tageslicht beeinflußt sind und Silberrad und rote Markierung wohl das Infrarotlicht unterschiedlich reflektieren. Jede volle Umdrehung generiert einen Puls, Zähler haben oft 75 Umdrehungen/kWh.
Es gibt eine kommerzielle Lösung, die allerdings aus einem SMD-Bausatz zum selber Löten besteht, den ich nicht aufbauen kann. (EM 100-IR von ELV.)
Ich habe selbst mit solchen Lösungen noch wenig Erfahrung bis auf einen ersten Versuch: einen entsprechender Sensor habe ich vorne am Glas über der Drehscheibe des analogen Drehstromzählers aufgeklebt. Eine Bauanleitung mit Schaltplan zu dem Sensor für den analogen Drehstromzähler findet sich hier, eine Stückliste mit Bestellnummern von Conrad hier. Die Testschaltung hat zwar funktioniert, den Dauerbetrieb kann ich aber nicht beurteilen. Ich wäre hier jedoch über alle Berichte oder Interessenten für einen Test dankbar.
Kein S0-Signal vorhanden
Im schlechtesten Fall liefern weder der bisherige Stromzähler noch der Wechselrichter ein S0-Signal. In diesem Fall muß in der Regel ein Stromzähler mit S0-Signal eingebaut werden. Hierbei folgende Hinweise:
- Der S0-Stromzähler wird an derselben Position eingebaut, an der ein Stromzähler die gesamte (=Einspeisung + Eigenverbrauch) Energie aus der Solaranlage mißt.
- Den Einbau muß ein Installateur durchführen.
- Ich würde den bestehenden Stromzähler nicht austauschen, sondern in Serie geschaltet mitlaufen lassen. An den Anlagen hängen als geeichte Zähler meist alte günstige mechanische Drehstromzähler, deren Eichgültigkeitsdauer 16 Jahre beträgt. Die elektronischen Zähler haben keine so langen Eichdauern, günstige Zähler sind sogar ungeeicht. Insofern ist in der Regel wohl eine Lösung mit zwei Zählern in Reihe günstiger, da man ja den Loggerzähler auch ohne Eichung betreiben kann.
- Die elektronischen S0-Zähler liefern in der Regel 1000 Zählerpulse pro kWh.
Internetzugang am Aufstellort des AVR-NetIO-Boards bereitstellen
Mit Netzwerkkabeln
Im einfachsten Fall kann man an den Aufstellort des Loggers ein netzwerkkabel vom Router aus ziehen. Dies schafft eine sichere Verbindung, spart die Anschaffungskosten für Powerlinegeräte und benötigt außerdem keine Energie (2 Powerlineadapter à 3 Watt kosten ca 6 EUR Strom pro Jahr).
Mit Powerline Adapter
Ein Internetzugang mittels Powerline ist nur dann einzurichten, wenn an den Austellort des NetIO-Boards kein Netzkabel gelegt werden kann.
Powerline ist ein Verfahren, um innerhalb eines Hauses eine Internetverbindung an einen Punkt zu verlegen, an den man keineNetzwerkleitung verlegen kann oder will. Dabei werden die beiden Anschlußpunkte mittels zweier in die Steckdose gesteckterAdapter verbunden, der Internetverkehr wird dann über das Stromnetz übertragen. Wichtig ist dabei, dass sich beide Adapter möglichst "nahe" zueinander im Stromnetz befinden, am besten im selben Sicherungskreis, auf jeden Fall wohl im selben Stromzählerkreis.
Für die eigene Anlage habe ich zwei Geräte vom Typ "Allnet 1685 Ethernet Bridge" im Einsatz, diese gibt es für ca 45 EUR bei Amazon. Die Leistungsaufnahme eines einzelnen Geräts liegt nach meiner Messung bei ca. 3,4 Watt. Die Geräte werden einfach in die Steckdosen gesteckt, falls notwendig sollte man sich aber gleich zwei kurze Netzwerkkabel mit kaufen.
Per Wlan
Falls sowieso ein Router mit Wlan vorhanden ist und das WLAN am Loggerort empfangbar ist, könnte auch WlLAN verwendet werden.
Achtung: Das Wlan darf dann nachts nicht abgeschaltet werden, da der Logger beim Botten eine Verbindung zum Zeitserver braucht.
Dies dürfte insbesondere dann Sinn machen, wenn mehrere Internetanschlüsse benötigt werden (z.B. für den Wechselrichter oder weitere Datenlogger). In einem Posting habe ich einen Hinweis auf einen WLAN-Access Point (Typ: Longshine Wireless 54 Mbit/s Access Point "LCS-WA5-45", es gibt weitere Typen in dieser Preisklasse) mit einem einzelnen Internet-Anschluß für ca 20 EUR gefunden, der damit das Problem sogar günstiger als die Powerline-Verbindung nutzt. Ich habe diese Lösung allerdings noch nicht ausprobiert, für Feedback zu Erfahrungen wäre ich dankbar. Energieverbrauch laut Hersteller 6,1 Watt.
Per Mobilfunkt
Schließlich ist auch noch eine Anbindung direkt ins Mobilfunknetz. Da diese Router aber eher 100 EUR kosten und einen zusätzlichen Mobilfunkdatenvertrag erfordern, gehe ich hier nicht weiter darauf ein.
Anschluß des Loggers an den S0-Zähler
Hierzu gibt es im Moment eine bebilderte Kurzanleitung: http://www.freesol.de/download/2011-08-28%20Kurzanleitung%20zum%20Aufbau%20des%20Freesol.pdf
Die Komponenten
Die für den Aufbau notwendigen Komponenten finden sich in der Bestellliste für die Grundversion.
Chip auswechseln
Da das Freesol-Programm für den mitgelieferten Prozessor zu groß ist, muß dieser gegen eine größere Version ATMega1284P-PU ausgetauscht werden. Der IC sitzt in einem Sockel und kann deshalb auch von einen Laien leicht gewechselt werden. Wichtig ist lediglich, die richtige Richtung beim Einstecken zu beachten, die durch eine kleine halbrunde Kerbe an der kurzen Gehäuseseite (Oberseite) angezeigt wird. Diese muß beim neuen Chip an derselben Stelle wie beim alten sein, ggf. findet man auf der Platine am richtigen Eck des Sockels auch einen Aufdruck "1" beim ersten Pin.
- Chip vorsichtig mit Schraubenzieher aus der eingelöteten Fassung raushebeln
- Neuen Chip einsetzen.
- Achtung, beim Einbau gibt es zwei Orientierungen: Markierungskerbe muss auf derselben Seite sein (Auch der Sockel hat an dieser Seite eine Markierung)
- Beim Einbau Chip am besten leicht schräg aufsetzen, zuerst die unteren Beinchen einsetzen und dann die oberen reindrücken.
- Kontrolle: Sind alle Beinchen in der Fassung?
Leitungen verbinden
- Anschlussstecker mit den beiden Pins oben links verbinden (bei Pollin gibts nur vierpolige Anschlußstecker, 2 Anschlussdrähte bleiben dann leer. Nicht abzwicken, diese Anschlüsse können für Erweiterungen gebraucht werden.
- Der schwarze Draht im Bild geht zum Plus-Anschluss des S0-Zählers
- (Optional:) Der braune Draht im Bild kann oder über einen 220 Ohm Widerstand an eine Kontroll-LED angeschlossen werden, die dann auf 0V/Masse/GND geführt wird (einen der GND-Ausgänge unten an der blauen Schraubleiste verwenden), die Lampe blinkt dann mit dem S0-Signal. Die Kontrollleuchte ist nicht notwendig, zeigt aber, oder der Mikroprozessor die eingehenden S0-Signale richtig verarbeitet.
- Netzwerkstecker für den Internetanschluß einstecken
- Spannungsversorgung vom 5V-Netzteil verbinden, dazu den +5V-Anschluß in der blauen Schraubleiste ganz links und den 0V/Masse/GND-Anschluss in die zweite Klemme von links schrauben. (Hinweis: +5V-Anschluß des Netzteils mit einem Spannungsmessgerät herausfinden. Falls man keines hat, kann man eine Leuchtdiode und einen 220-Ohm Widerstand hintereinanderschalten und mit dem Netzteil verbinden, der Pluspol ist die Seite, die mit dem längeren Beinchen der Leuchtdiode verbunden ist, wenn sie leuchtet)
- Einen Draht (hier: weißer Draht) zum Minus-Anschluss des S0-Zählers legen, der mit einem GND-Anschluss des Boards verbunden wird (z.B. blaue Schraubleiste 6. Klemme von links)
- Man kann das Board in ein Gehäuse einbauen, das optional im Grundpaket enthalten ist.
Aufbau des FreeSol-SML-Lesekopfs
Ein SML-Lesekopf wird im Moment nur zum Empfang von SML-Nachrichten aus einem Bezugs-Einspeisezähler verwendet, für den Photovoltaikzähler ist eine S0-Schnittstelle vorgesehen (vgl. auch FAQ).
Wie in den Bezugsquellen beschrieben gibt es verschiedene Varianten für einen SML-Lesekopf. Hier im folgenden wird nur der FreeSol-SML-Lesekopf beschrieben.
Allgemeine Informationen
Im Zusammenhang mit Stromzählern ist SML ist ein binäres Nachrichtenprotokoll, das über eine serielle Schnittstelle an modernen Stromzählern ausgegeben wird. Die serielle Schnittstelle ist dabei nicht als Stecker, sondern als eine Infrarotleuchtdiode (IR-Diode) ausgeführt.
Der Aufbau der SML-Nachrichten ist in jedem Stromzählertyp verschieden. Die Nachrichten übertragen im wesentlichen die am Stromzähler angezeigten Messdaten. Da CCD-Chips für Infrarot empfindlich sind, kann man mit dem Livebild einer Digitalkamera oder einer Mobiltelefonkamera die sendende Infrarot-Leuchtdiode an der Vorderseite eines Stromzählers leicht identifizieren. In der Regel sitzt diese im rechten von zwei direkt nebeneinanderliegenden Leuchtdiodenfenstern, dort wird dann im Kameradisplay alle 1-3 Sekunden ein Lichtimpuls sichtbar. Dies ist KEIN S0-Puls, die Pulsfrequenz ist unabhängig von der aktuellen Zählerleistung konstant. Jede sichtbare Puls enthält eine komplette SML Nachricht mit ca. 400 Bytes Länge, die mit 9600 Baud übertragen wird.
Zum Entschlüsseln und Anzeigen der Nachrichteninhalte stehen im Download-Bereich ein Programm für den PC sowie ein Programm für das AVR-Board zur Verfügung. Zunächst müssen wir uns jedoch einen geeigneten Lesekopf besorgen, der die IR-Signale in eine elektrische RS232-Schnittstelle umwandelt.
Ein selbstgebauter FreeSol-SML-Lesekopf
Eine gute Einführung zum Thema SML findet sich bei volkszaehler.org. Mit einem Volkszähler können ebenfalls Zählerdaten erfasst werden, allerdings werden die Daten nicht im Board selbst gesammelt, sondern in einen PC-gebundenen Server übertragen, was ich mit Freesol vermeiden will, weil ja sonst der PC dauernd laufen muss.
Sehr gut ist auch die Beschreibung eines Bausatzes (gegen Aufpreis auch aufgebaut erhältlich) für einen SML-Lesekopf im Selbstbau. Er dient uns als Anschauungsmaterial für den mechanischen Aufbau, kann aber auch als Variante selber zum Einsatz kommen.
Für das Einlesen der SML-Signale verwende ich den hier aufgeführten Schaltplan, alle Bauteile sind bei Pollin bestellbar.
Falls kein USB-to-Seriell-Adapterkabel vorhanden ist und der SML-Zähler auch mal am PC ausprobiert werden soll (nur bei Einsatz des AVR-Boards benötigt man diesen Adapter nicht), kann man sowas ebenfalls bei Pollin mitbestellen (Best.-Nr. 721 034, 4,95 EUR).
Für eine dauerhafte Installation könnte der Ringmagnet (Durchmesser 27mm * 16mm * 5 mm für gut 3 EUR, Best.-Nr. R-27x16x05-N42-Ni bei magnetladen.de) wie bei Volkszähler fotografiert in ein geeignetes Gehäuse (eine alte Filmdose oder bestimmte Vitamin-C-Tablettendosen wie "Das gesunde Plus" von dm haben den richtigen Durchmesser) geklebt werden und dort auch ein kleines Stück Platine mit dem Fototransistor und dem Widerstand untergebracht werden.
Für Leute ohne Lötkenntnisse oder Lötkolben läßt sich die Schaltung wahrscheinlich auch dauerhaft auf dem Steckboard aufbauen und betreiben. Den Fototransostor müsste man dann an ein kabel mit Hilfe einer Lüsterklemme (bei Pollin mitbestellen) verbinden. Hier bei Bedarf gerne nochmal nachfragen.
Konfiguration der Software und Inbetriebnahme des Loggers
Inbetriebnahme des Grundpakets
Überblick
Die Inbetriebnahme besteht aus folgenden Schritten:
- Installation des Programmiergeräts, um Software auf das Board spielen zu können.
- Aufspielen der FreeSol-Software und Einstellen der notwendigen Parameter auf dem FreeSol-Board
Installation des Programmiergeräts
Selbstverständlich kann man ein beliebiges Programmiergerät verwenden. Das Setup-Programm ist jedoch bereits auf die Enstellungen für die beiden Programmiergeräte Pololu (18 EUR, sofort lieferbar) und USBASP (3 EUR, 3 Wochen Lieferzeit) angepasst, insopfern empfehle ich eines dieser geräte für Anfänger. Fortgeschrittene können für andere Programmiergeräte die Einstellungen im Setup-Programm selber entsprechend ändern.
Für Neueinsteiger empfehle ich außerdem, strikt in unten beschriebener Weise vorzugehen. Ich kann trotzdem nicht ausschließen, dass diese Dokumentation nicht vollständig ist oder auf anderen Systemen nicht funktioniert (auf meinem System lief Windows 7 64 bit). Falls jemand Abweichungen merkt oder Fragen hat, bitte Feedback.
Für den Pololu-Programmer
(Hinweis: Eine Beschreibung von Pololu zum möglichen Vorgehen findet sich hier, ich habe dabei aber die Variante gewählt, NUR den USB-Treiber und WinAVR mit AVRDUDE zu installieren und nicht das komplette Bundle. )
- Deshalb also zunächst wie in der Pololu-Dokumentation beschrieben (OHNE ins USB eingestecken Programmer) den USB-Treiber von dieser Stelle herunterladen und installieren.
- Danach den Programmer in den USB-Port einstecken.
- Danach habe ich kontrolliert, ob wie bei Pololu beschrieben der Programmer im Gerätemanager (Systemsteuerung -> Gerätemanager) als COM-Port auftaucht und aufgeschrieben, welche Nummer dieser COMport hat, bei mir war dies die 8.
- Sinnvollerweise erhöht man im Gerätemanager die Baudrate für die zum Programmer gehörige serielle Schnittstelle auf 115200 (Anschlußeinstellungen/Bits pro Sekunde)
- Anschließend habe ich WinAVR installiert wie beschrieben, unter Windows 7 muss dies wohl ins Rootverzeichnis.
- In der WinAVR-Konfiguration habe ich im File c:\WinAVR-20100110\bin\avrdude.conf nach dem Abschnitt "1284P" gesucht und ein paar Zeilen weiter den Wert von "chip_erase_delay" auf "55000;" gesetzt. Wer es sich einfacher machen will, kann das geänderte File auch direkt von hier downloaden.
- Probeweise sollte man nun ein Kommandozeilenfenster öffnen (Bei "Start" in die Eingabezeile "cmd" eingeben und kontrollieren, dass bei Eingabe des Befehls "avrdude" dieser erkannt wird und eine Hilfeinformation ausgegeben wird.
Der Programmer ist damit für die Programmübertragung vorbereitet, das eigentliche Aufspielen erfolgt zusammen mit der Konfiguration und ist im folgenden Kapitel beschrieben.
Für den USBASP-Programmer
- Den Windows-Treiber für den Progger von hier laden und installieren. Weitere technische Hintergrundinfos zum Progger hier.
- Danach den Programmer in den USB-Port einstecken.
- Anschließend habe ich WinAVR installiert, unter Windows 7 muss dies wohl ins Rootverzeichnis.
- In der WinAVR-Konfiguration habe ich im File c:\WinAVR-20100110\bin\avrdude.conf nach dem Abschnitt "1284P" gesucht und ein paar Zeilen weiter den Wert von "chip_erase_delay" auf "55000;" gesetzt. Wer es sich einfacher machen will, kann das geänderte File auch direkt von hier downloaden.
- Probeweise sollte man nun ein Kommandozeilenfenster öffnen (Bei "Start" in die Eingabezeile "cmd" eingeben und kontrollieren, dass bei Eingabe des Befehls "avrdude" dieser erkannt wird und eine Hilfeinformation ausgegeben wird.
Der Programmer ist damit für die Programmübertragung vorbereitet, das eigentliche Aufspielen erfolgt zusammen mit der Konfiguration und ist im folgenden Kapitel beschrieben.
Allerdings erhalte ich beim Schreiben mit dem Setup-Programm folgende Fehlermeldung und der Schreibvorgang dauert sehr lange:
avrdude: auto set sck period (because given equals null) avrdude: warning: cannot set sck period. please check for usbasp firmware update.
Dies scheint aber bei dem Progger üblich zu sein und hat keinen Einfluß auf die Funktion.
Aufspielen der FreeSol-Software und Einstellen der notwendigen Parameter im FreeSol-Board
Ein Windows-Konfigurationsprogramm FreeSol Setup soll beim Aufspielen des Programms auf das Board und dem notwendigen Konfigurieren des Boards helfen. Das Programm geht davon aus, dass alle benötigten Files im Programmverzeichnis liegen.
Vorgehen dabei wie folgt:
- Programmieradapter einzustecken, Netzteil einstecken, um das Board mit Spannung zu versorgen, und das Setup-Programm starten.
- Das Programm FreeSol Setup aufrufen und den Reiter "Progger-Einstellungen" anklicken. Dort die richtiger Schnittstelle (nachsehen bei Systemeinstellungen -> Gerätemanager, siehe vorheriges Kapitel) auswählen und "Proggerkommandos auf Defaultwerte setzen". Wenn diese nicht passen (z.B. bei anderem Progger), kann man sie manuell ändert, dies wird auch beim Beenden gespeichert.
- Testweise mit dem Knopf "Fuses lesen" probieren, ob die Verbindung zum Chip richtig funktioniert un die Fuses gelesen werden (Anzeige im Konsolenfester).
- Danach mit dem Knopf "Fuses schreiben" die Fuses richtig einstellen. (Die Fuses stellen einmalig Hardwareparameter des Chips richtig ein. Muss man einmalig machen, danach nie wieder machen.)
- Danach das Hexfile Freesol.hex aus dem FreeSol-Paket (befindet sich im Unterverzeichnis des Zip-Files) in das Verzeichnis des Setupprogramms kopieren und mit dem Knopf "Programm schreiben" auf den Logger hochladen.
- Mit dem Knopf "Defaultwerte" eine Vorlage für die Konfiguration erstellen.
- Die Werte in der Konfiguration anpassen. Hilfetexte zu den Einstellungswerten der Parametern werden sichtbar, wenn man im Setup-Programm mit der Maus über den Parameternamen fährt. Anpassen sollten man auf jeden Fall:
- Den Hostnamen (Erscheint auf der Webseite des Loggers)
- Die Macadresse (kann beliebig wählen, am besten die vom mitgelieferten kleinen Chip nehmen, ist aufgeklebt)
- Die IP-Adresse des Boards (am besten die nehmen, die dem Board nach erstmaligem Anschluß im Netz zugewiesen wird. Solange man die MAC-Adresse nicht ändert, merken sich die meisten Router freiwillig oder nach entsprechender Einstellung die IP-Adresse und weisen diese beim nächsten Mal wieder zu.
- Defaultgwateway, Nameserver: Meist wie IP-Adresse, nur letzte Zahl die 1
- Anlagenleistung in W
- Die anderen Parameter kann man zunächst mal unverändert lassen.
- Nach Anpassen aller Konfigurationswerte als Filename für "Speichern" "eeprom.txt" einstellen und mit "Speichern" abspeichern. Damit wird die Konfiguration zunächst mal auf die Festplatte gespeichert.
- Mit dem Knopf "Konfiguration schreiben" die Konfiguration von der Festplatte auf den Chip übertragen. (Die Konfigurationsparameter, sind anlagenspezifisch, diese werden im Gegensatz zu den Fuses vielleicht öfter mal geändert)
Bei der Fehlersuche am laufenden Programm kann der sogenannte Heartbeat helfen: Jede Minute sendet der Logger über die serielle Schnittstelle die wichtigsten Statusinformationen (Datum, Zeit, S0-Zählerstand, IP, Adresse sowie den Zeitpunkt der Zeitsynchronisierung nach dem letzten Booten). Mit einem geeigneten Terminalprogramm und einem Verbindungskabel zur seriellen Schnittstelle läßt sich der Heartbeat am PC anzeigen.
Durchführung eines Softwareupgrades auf dem Logger
Solange der Logger problemlos läuft, sind Softwareupdates eigentlich nicht nötig. Wenn man diese trotzdem machen will, z.B. um ein neues Feature zu nutzen, geht man wie folgt vor:
- Das FreeSol-Setup-Programm und das Hexfile Freesol.hex aus dem aktuellen FreeSol-Paket (Zip-File mit den Sourcen, Hexfile liegt im Unterverzeichnis des Zip-Files) aus dem Downloadbereich herunterladen und ins gleiche Verzeichnis speichern.
- Den Programmieradaper an den USB-Port des PC und an den Logger Board anschliessen.
- Das FreeSol-Setup-Programm ausführen. Dann auf einen der Knöpfe "Proggerkommandos auf Defaultwerte setzen" klicken. (Für den Pololu-Progger muss man zuvor natürlich den richtigen COM-Port des Programmieradapters eingeben, notfalls nachsehen in Systemeinstellungen -> Geratemanager).
- Zum eigentlichen Übertragen des Programms auf das Board einfach im Tab "Hauptseite" auf "Programm schreiben" klicken. Der Programmieradapter blinkt dann eine Zeit lang rot, und danach ist die neue Software drauf.
- Eine Übertragung der Konfigurationseinstellungen ist nicht nötig. Eine Übertragung der Konfiguratinseinstellungen überträgt gleichzeitig auch die alten Aufzeichnungswerte auf den Logger, weil Logger-Energiedaten und Konfigurationsdaten beide zusammen im Eeprom gespeichert sind. Mit einem neuen Übertragen der Konfigurationsdaten auf den Logger überschreibt man also ggf. die aktuellen Energiedaten durch ältere aus einer Sicherungskopie.
Inbetriebnahme der SML-Lesefunktion für Bezugs- und Einspeisezähler
- Den Lesekopf aufbauen und wie beschrieben an den 9-poligen DSUB-Stecker des AVR-Boards anschließen
- Soweit nötig kann vorher oder im Problemfall der Lesekopf zunächst direkt an einen Windows-PC angeschlossen und mit dem Programm Freesol SML live auf den PC ausgelesen werden. Sofern dabei der Zähler nicht oder nicht richtig erkannt wird, ist der Zäählertyp noch in die Software einzubauen. Dazu sollte ein Mitschnitt der Zählernachrichten (z.B. 1 min lang mit Programm hterm mitschneiden) erstellt und an mich geschickt werden. Im Moment werden folgende Zähler unterstützt:
- EMH eHz
- Easymeter Q3C
- Im Setup-Programm des Boards die Variable Ee_fs_ev_url auf einen sinnvollen Wert setzen. Beim Benutzen der Defaulteinstellungen steht sie auf 'frees' (ohne Anführungszeichen). Nachdem aber nicht für jeden die Verbrauchsdaten offenliegen sollten, kann man hier einen eigenen Namen (maximal 6 Zeichen) als Vorsilbe wählen
- Auf dem Logger werden damit eine Reihe weiterer Webseiten bereitgestellt. Der Name der Webseite bestimmt sich immer aus der gewählten Vorsilbe (hier z.B. 'frees') und einer Ergänzung, die den Inhalt beschreibt. Im Einzelnen gibt es dann z.B.
- frees_b.js: 5min-Bezugsdaten des aktuellen Tages
- frees_e.js: 5min-Einspeisedaten des aktuellen Tages
- frees_bv.js: 5min-Bezugsdaten des Vortages
- frees_ev.js: 5min-Einspeisedaten des Vortages
- frees_bt.js: Bezugs-Tagesanfangszählerstände der letzten bis zu 30 Tage
- frees_et.js: Einspeise-Tagesanfangszählerstände der letzten bis zu 30 Tage
- frees_ue.js: Tabellarische Auflistung von Bezug, Einspeisung, Eigenverbrauch Gesamtverbrauch der letzten 10 Tage
- frees_b.svg: Grafik der 5-Minutenwerte des Bezugszählers vom aktuellen Tag
- frees_bv.svg: Grafik der 5-Minutenwerte des Bezugszählers vom Vortag
- frees_e.svg: Grafik der 5-Minutenwerte des Einspeisezählers vom aktuellen Tag
- frees_ev.svg: Grafik der 5-Minutenwerte des Einspeisezählers vom Vortag
- frees_i.htm: Eine um Informationen zur letzten SML-Auslesung erweiterte Startseite
- Bei Verwendung des Windows-Programms FreeSol EV SML müssen folgende Werte in den Einstellungen eingegeben werden:
- Kurzbezeichnung und Name für alle drei Spalten frei, aber verschieden wählbar.
- Es muss eine PV-Log-Nummer für alle drei Zähler eingetragen werden, hier einfach drei verschiedene Zahlen reinschreiben. Die Zahlen tauchen in den Namen der abgespeicherten Files wieder auf.
- Die FreeSol URL muss in allen drei Spalten identisch als Loggeradresse eingegeben werden, z.B. http://meinlogger.dyndns.org
- 'Logger aktiv' Häkchen in Erster Splate setzen, 'FreeSol einlesen' Häkchen in allen drei Spalten
- Anlagenleistung in kW, Komma möglich
- Jahresleistung in kWh/kWp
- Als Fileprefix URL muss die gewählte Vorsilbe eingetragen werden, z.B. 'frees'.
Dauerhafte Datenspeicherung in Portalen oder mit Windows-Software FreeSol EV
Die Windows-Software FreeSol EV
Diese kostenfreie Software aus dem Downloadbereich läuft auf dem heimischen PC und ermöglicht eine Kontaktaufnahme mit dem Logger. Der Logger selbst kann die Energiedaten zwischenspeichern (die 5min-Werte für 2 Tage und die Tageswerte für 30 Tage). Beim Aufruf von FreeSol EV werden die Daten vom Logger heruntergeladen, visualisiert und dauerhaft auf dem PC gespeichert.
Das Programm eignet sich damit für Nutzer, die ihre Daten nicht in ein Portal im Internet einstellen wollen. Außerdem ist es ein sinnvoller Zwischenschritt vor der Einbindung eines Datenportals, um zu sehen, ob der Logger wirklich stabil läuft.
Für die Verwendung von FreeSol EV muss der Logger noch keine statische IP haben, falls er sich im selben Netzwerk befindet wie der Computer, auf dem FreeSol EV läuft.
Erreichbarkeit des Loggers aus dem Internet
Einrichtung einer Portweiterleitung
- Ermöglicht es, einen im Heimnetz betriebenen Logger auch von "außen", also aus dem Internet, zu erreichen.
- Die Portweiterleitung wird im Router eingerichtet, bitte im dortigen Handbuch nachsehen.
- Nach Einrichtung einer Portweiterleitung kann man von überall im Internet aus auf den Logger zugreifen, wenn man die aktuelle IP-Adresse des Routers kennt. Diese wechselt jedoch in der regel täglich oder bei jeder Einwahl, deshalb ist zusätzlich die Einrichtung einer statischen IP-Adresse notwendig.
Einrichtung einer statischen IP-Adresse für den Router im Heimnetz
- Ermöglicht es zusätzlich, einen im Heimnetz betriebenen Logger aus dem Internet immer unter derselben Adresse zu erreichen.
- Der Logger lässt sich somit von überall aus ablesen.
- Allerdings kann damit auch jeder auf die Loggerdaten zugreifen. (Hinweise: Die Bezugs-/Einspeisedaten sind durch Verwendung eines "geheimen" Namens für deren Internetadresse etwas geschützt).
- Eine statische IP kann man mit Hilfe von kostenfreien Diensten wie no-ip.com oder dyndns.org anlegen.
- Der Rest des Heimnetzes bleibt (bei richtiger Konfiguration) aus dem Internet natürlich unerreichbar.
Datenportale
Ein eigenes Datenportal
- Es gibt die Möglichkeit, sich selber einen freien Webspace einzurichten und dort einmal täglich die Loggerdaten automatisiert hochzuladen. So sind auch die 5-Minuten-Daten dauerhaft vorhanden, ohne dass täglich gesichert wird.
- Hier ist zunächst nur eine Kurzbeschreibung aufgeführt, sollte jemand daran interessiert sein und mehr Details benötigen, bitte nochmal nachfragen.
- Einrichtung eines PHP-Skripts bei www.lima-city.de
- Kostenfreien Useraccount beantragen
- Im Rootverzeichnis ein Unterverzeichnis Daten und dort wiederum ein Unterverzeichnis Files einrichten
- Ins Unterverzeichnis Daten dieses PHP-Skript hochladen, URL dazu anpassen und ggf weitere Filenamen im Array dazufügen
<? $host = "http://meinefreesolanlage.dyndns.org/"; $files= array('minutes.js', 'minutesv.js'); $daten = file_get_contents($host.$files[0]); $teile = preg_split('/\r\n/', $daten ); $datumsteile =preg_split('/\./', $teile[0] ); if (count ($datumsteile ) ==3) { foreach ($files as $value) { $daten = file_get_contents($host.$value); $datei_name = $datumsteile[2].$datumsteile[1].$datumsteile[0].$value; $fp = fopen('Files//'.$datei_name, "w"); fwrite($fp, $daten); fclose($fp); } } ?> <html> <head><title>FreeSol Datenaktualisiierung</title></head> <body> <h2>Guten Tag,</h2> die FreeSol-Datenaktualisierung wurde am <?=$teile[0];?> durchgeführt. </body> </html>
- Einen cronjob bei www.my-cronjob.de einrichten, der das php-Skript einmal am Tag aufruft
- Im Unterverzeichnis Files finden sich dann die täglich gespeicherten Daten, Datum ist den Filenamen vorangestellt.
pv-log.com
- Zunächst muss für den Logger eine statische IP-Adresse angelegt werden.
- Speichert und visualisiert auch die 5min-Werte dauerhaft
- Beispielanlage: http://www.pv-log.com/Anlage/51.php
Das Portal PV-Log.com holt die Daten ebenfalls ab und stellt sie so dar.
sonnenertrag.eu
- Zunächst muss für den Logger eine statische IP-Adresse angelegt werden.
- Speichert nur die Tageswerte
- Minutenwerte fließen zumindest in eine tägliche Toplist ein
- Sehr schöne Rankinglisten und regionale Leistungsvergleiche, Landkarten
- Sehr viele registrierte Vergleichsanlagen
- Beispielanlage: http://www.sonnenertrag.eu/de/erlangen/freesol/15902/15681.html
- Einrichtungsbeschreibung für sonnenertrag.eu: http://wiki.sonnenertrag.eu/datenimport:freesol
Die Daten werden automatisch ins Portal sonnenertrag.eu übertragen, das Ergebnis ist live hier zu sehen.
Fehlende Informationen
Finden sich im Moment noch bei http://www.freesol.de/software.html
FreeSol Android - Eine kleine Applikation für das Smartphone
Mit dem App Inventor habe ich mal eine kleine App für das Smartphone versucht. Zeigt nur die Tagesdaten und die aktuelle Leistung, ist mehr als Demonstration dafür gedacht, was man alles machen kann.
Die App kann man hier oder über den abgebildeten QR-Code herunterladen.