Strom- und Spannungsmessung an einer Solaranlage mit LoRaWAN Übertragung

Hallo zusammen

Da mir bisschen vorgeworfen wurde, ich dokumentier zu wenig (jaja ihr habt ja recht…), hab ich mir jetzt mal vorgenommen zumindest diesen Teil mal hier ein wenig zu dokumentieren. Es geht darum das ich eine autarkes Richtfunkrelais betreibe, mit Solarstrom, eine Pufferbatterie sowie einen Solarregler. Da durch Solarstrom der Strom bekanntlich begrenzt ist, sind die 2 Litebeams einfach mit einen Ethernetkoppler zusammen gesteckt, es gibt keinen Switch o.ä. um etwas per Ethernet anzuschließen das Messwerte überträgt, hätte alles eh viel zu viel Strom verbraucht.

Die grundlegende Idee ist eigentlich ganz einfach. Ich hatte noch eine hand voll von den lora32u4 Controllern daheim rumfliegen, als Spannungsmessung machen wir einfach einen Spannungsteiler um die bis zu 15V Batteriespannung auf 3,3V zu bekommen, sowie einen ACS725 für bis zu +-30A. Wer seine Solaranlage kleiner auslegt kann zu gunsten einer besser Auflösung auch einen kleineren nehmen (gibt es wohl noch mit +-20A und +-10A), achtet dabei aber auf 3,3V Betriebsspannung die für den LoRa32u4 Controller zwingend nötig ist.

Vom Spannungsteiler weiß ich die Werte schon gar nicht mehr so genau, waren irgendwas um die 10kOhm zu 3kOhm oder so (der kleinere Wert waren sogar nochmal 2 Widerstände in Reihe da ich sonst nichts passendes gefunden habe). Am Ende ergab dann eine Messung das 17,6V über dem Spannungsteiler exakt 3,3V an einen Widerstand ausmacht. Für uns ein recht optimaler Wert da die Akkuspannung hoffentlich nie über 17,6V geht (dann würde der Analogeingang des Controllers mit >3,3V belastet werden was er vermutlich nicht überlebt, Angsthasen können hier noch eine “Sicherheits-Z-Diode” einbauen die ab 3,3V kurz schließt) und wir auch nicht ewig weit drüber sind so das wir nicht zuviel Auflösung verlieren.

Da wir nur 12V an der Batterie haben, der LoRa32u4 aber 5V über USB benötigt, habe ich noch einen kleinen StepDown Wandler davor geschaltet der direkt an der Batterie mit dran hängt und am Ausgang stabil bisschen über 5V liefert.

Die restliche Verkabelung ist recht leicht:

Der Spannungsteiler hängt mit einer Seite am + der Batterie, mit der anderen Seite am – und dort wo gegen – maximal 3,3V anliegen ist er mit dem A0 Pin des LoRa32u4 verbunden

Der ACS725 bekommt 3,3V und Masse vom LoRa32u4 und der Out Ausgang hängt am A1 Pin des LoRa32u4. Da Strom immer in Reihe gemessen wird, muss er mit den dicken Kabeln sowohl an der Batterie als auch am Solarcontroller angeschlossen werden.

Fertig ist der Verkabelung, das war der leichte Teil. Das Programm ist dann schon etwas komplexer vorallem weil ich diese LMIC immer noch nicht so genau angeguckt habe und meine C Kenntnisse nunja “vorhanden” *hust* sind. Mittlerweile hab ich das Ding aber soweit verstanden das ich es zumindest benutzen kann. Mein Code ist hier zu finden und darf gerne angeguckt und kopiert (haha, das meiste ist eh ausm example :P) werden, denkt daran eure NWKSKEY, APPSKEY und DEVADDR anzupassen.

Wie man in Zeile 129 sieht, hab ich einfach ein 60 Sekunden delay drinnen, jegliches PowerDown hat leider nicht so funktioniert wie ich wollte also muss es halt so gehen, soviel Strom wird das kleine Ding schon nicht aus meiner 120Ah Batterie raus saugen 😉

Übrigens als “Trennzeichen” und “Endzeichen” für den String der übertragen wird, verwende ich einfach ein “a”. Warscheinlich gibts auch da 1000 schlauere Wege aber ich und C und programmieren und hachja…. Es tut auch so 😉

So jetzt landen unsere Daten schon im TTN. Wie verarbeite ich die nun weiter? Tja da sowohl MQTT als auch der ganze andere neumodische Mist nicht wirklich meinst ist, bin ich recht froh, dass das TTN eine http Integration anbietet. Es werden damit also einfach die Daten an meinen Server geschickt wo es ein kleines PHP Script entgegen nimmt und in eine Datenbank weg speichert.

Das PHP Script hab ich ebenfalls mal auf Github geladen und könnt ihr euch hier angucken. Wie ihr seht, sind auch da noch 100 Debugausgaben drinnen und schön ist das ganze auch nicht gerade 😉 Aber ihr kennt mich ja “es funkioniert” 🙂

Paar kleine Erklärungen noch dazu:

Zeile 6 ist sehr wichtig, ich hab bis heute nicht ganz verstanden was sie tut aber ohne der gings nicht. Daran bin ich ewig verzweifelt. Also wer mal HTTP Integration vom TheThingsNetwork verwendet und die Daten per PHP Abfragen will: Zeile 6 da oben!

Danach wird einfach bissle das json zerlegt, die Daten die ich will rausgeholt (auch nur von einem GW, falls ein 2. die Daten auch empfängt werfe ich das unter den Tisch) und ab Zeile 37 der payload decodiert. Zuerst wird in 38 der String wieder nach dem “a” aufgetrennt, und danach aus den “Digits” des Controllers wieder Spannungswerte gemacht. Wer nachrechnet wird feststellen, das bei Zeile 39 die Multiplikation mit 17 evtl. etwas niedrig ist, da ich oben von ca. 17,6V gesprochen habe, wäre als Multiplikator eigentlich ~17,18 richtig (17,6/1024). Ist mir erst danach aufgefallen und vom Vergleich mit dem Victron 100/20 (der hat Bluetooth und man kann sich die Werte am Handy anzeigen lassen) kam das schon auf ca. 50-100mV hin (aber tatsächlich war mein Wert immer minimal geringer als der vom Victron). Da ich aber lieber bisschen weniger als mehr messe, werde ich das jetzt so lassen.

Beim Strom ist es im Prinzip das gleiche. Ich hab einen Messbereich von 60A (-30A bis +30A) somit entspricht also ein “Digit” ziemlich genau 58,59375mA (60000/1024). Da wir dann aber genau in der Mitte sind, ziehen wir die Hälfte ab (30000) und multiplizieren mit -1 um das Vorzeichen umzudrehen. Ich hab das Ding natürlich genau verkehrt herum eingebaut, sinnigerweise sollte er + Werte anzeigen wenn Strom in die Batterie fliest und – wenn Strom aus der Batterie entnommen wird.

Der Rest ist dann nur noch bisschen Datenbank geschiebe und in eine File wegschreiben damit ich direkter an die Daten ran komme. Schlussendlich wird der Wert dann hier angezeigt, sowie ein Diagramm mit jpgraph erstellt.

Fertig ist die Überwachung der Solaranlage.

6 Gedanken zu „Strom- und Spannungsmessung an einer Solaranlage mit LoRaWAN Übertragung“

  1. Moin,

    bin jetzt auch kurz davor, meine Solaranlage (ebenfalls 300 W Modul mit MPPT-Regler in Betrieb zu nehmen. Ich habe auf Deinem Bild Klemmen für die Hutschiene gesehen. Wie heissen diese ? Sind das Verteilerklemmen ?

    Gruß Heiner

    1. Hi Heiner
      Meinst du diese Reihenstockklemmen? Da gibts 100 verschiedene Arten aber ich denke mit der Bezeichnung kannst du mal das googlen anfangen 😉
      Viel Spaß beim bauen 🙂
      Gruß
      Christian

Schreibe einen Kommentar zu J. Vorwerg Antworten abbrechen

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