Obgleich ich nur eine Kleinst-Solaranlage installiere, will ich natürlich trotzdem bunte Diagramme zu den wichtigten Parametern sehen. Da das Teil unter Kostendruck steht kann und will ich mir die herstellereigenen Lösungen für den Wechselrichter dazu nicht leisten. Ersatzweise ist in den Aufbau ein Energiemesser mit RS485 reingekommen, der aber noch an meinen Controller angeflanscht werden muss. Als „Trockenübung“ und ersten Schritt ist erst mal die Funktion zu testen, also das Thema von heute.

Projekt: Solaranlage

Kontakt: Boris Dirnfeldner

Link: – eigenes Projekt –

Da die Umwälzpumpe vom Pool übers Jahr einiges an Strom braucht, ist gerade eine Mini-Solaranlage mit 540Wp in Arbeit. Die Anlage an sich beschreibe ich dann in einem anderen Artikel, aber ein Teil davon ist ein Smartmeter mit RS485-Interface zum Auslesen einiger Betriebsparameter. Das Teil wird für ca. 15€ gehandelt und ist damit in meinem Beuteschema.

Leider habe ich weder mit RS485 noch mit ModBus Erfahrung, oder diese waren so übel das sie schon wieder verdrängt wurden. Nach einiger Recherche im Internet sieht es so übel nicht aus, RS485 ist ein serieller Bus mit Differential-Signal für lange Distanzen. Ansonsten nix neues. Das Teil kann im Zweidraht-Verfahren angesteuert werden (Anschlüsse A,B) oder ergänzend mit Masse, optional dazu mit Spannung. Es gibt Umsetzer für RS485 auf RS232 oder auch zu USB. So ein Teil liegt wegen eines anderen geplanten aber nie gemachten Versuchs noch rum, also rausgesucht und angeklemmt.

Der Adapter kommt in den PC und wird als serielle Schnittstelle eingebungen. Das Energiemessgerät ist bereits in ein Gehäuse mit anderer Elektrik eingebaut, daher müssen nur noch die beiden Signalleitungen angeklemmt werden und Saft auf die Leitung gegeben werden. Das Messerät zeigt auf dem Display viele Daten an, scheint also zu arbeiten. Verbrauch ist bei 0 in beiden Richtungen, da weder ein Verbraucher noch die Solaranlage dran hängt.

Da ich von ModBus keine Ahnung habe, war ein erster Versuch einfach am Bus mit einem Terminalprogramm zu horchen und siehe da, nix los. Wär auch zu einfach gewesen.
Also doch reinlesen und auch hier zeigt sich die wunderbare Komplexität von IT-Umgebungen. Zum Glück lässt sich das Thema eingrenzen, denn ich muss lediglich per „RTU“ einzelne Register auslesen.
Das geht mit Python und entsprechenden Libs recht komfortabel. Irgendwie will ich aber trotzdem erst mal sehen ob das Teil läut, bevor ich noch mehr Fehlerquellen dazu nehme.

Bei der Recherche ist mir ein Blog-Artikel untergekommen, der für Python die Lösung beschreibt. Das ist schon mal super, denn so muss ich zumindest nicht alles erraten. Damit kenne ich schon mal die Registerbelegungen und habe einen Codeschnipsel für später. Ich brauche die Register 0-43 vom Client 0 im 16-Bit-Format. Leider gibt es vom Hersteller diese Dokumentation nicht, irgendwo muss der Preis ja herkommen.

Es hat sich auch ein Tool gefunden, mit dem ich versuchweise mal mit ModBus-RTU „spielen“ kann. Damit sehe ich mit den ersten Versuchen zumindest schon mal das der Rechner irgendwas sendet. Aber keine Antwort…
Also Weiterlesen, der Bus will es mir nicht einfach machen. Verbindungsparameter passen schon mal (gemäß Datenblatt, zumindest sowas hat der Hersteller), soweit so gut.
Nach einiger Suche (diesmal in der Doku der Python-Library) ist der Fehler klar, bei ModBus werden Register mit Offset angegeben. Das Register 99 wird mit 40100 addressiert. Eine Lib kapselt das schön, aber direkt am Bus muss es halt stimmen.

Neuer Versuch, und nun meldet sich das Messgerät brav und schickt mir alle angefragten Register.
Das 13. Register soll die Spannung enthalten, und das ist auch so (Werte am Display und im Register sind gleich).

Damit scheint alles zu funktionieren und ich kann mich nun der richtigen Lösung mit einem ESP32-Contoller widmen.
Das kommt aber in einen anderen Artikel, für heute habe ich genug geforscht.

Fazit:
Nachdem ich RS485 mit ModBus mal kapiert hatte und die übelsten Anfängerfehler hinter mir gelassen hatte, kann es nun mit guten Gewissen an die Integration in die Steuerung gehen. Ich weiß nun das die Teile funktionieren und zumindest keinen offensichtlichen Blödsinn produzieren. Und was gelernt habe ich auch wieder dabei.

Komponenten:
RS485-USB Converter
DDS238-2 ZN/S Smartmeter

Test: Simply Modbus Master 6.4.1

Überlegungen:
Das Smartmeter der Solaranlage unterstützt RS485 zum Auslesen der Parameter. Sollte doch kein Thema sein an die Daten zu kommen, ne c’est pas?

Schäden:
– Keine. Alles Ok.

Houston – wir haben ein Bild

Das ewige An-die-Anlage-Latschen-um-Leistungsdaten-zu-bekommen ist mir nun endgültig zu blöd, zumal es bei mehr als 35° noch weniger Laune macht als ...

RS485 ModBus – Nächstes Level

Das die Messeinheit funktioniert, konnte ich ja schon die letzten Wochen feststellen. Die ModBus RS-485 Schnittstelle konnte ich ja auf ...

RS485 ModBus – Aller Anfang ist schwer

Obgleich ich nur eine Kleinst-Solaranlage installiere, will ich natürlich trotzdem bunte Diagramme zu den wichtigten Parametern sehen. Da das Teil ...

Wir benutzen Cookies und Logs mit personenbezogenen Daten ausschließlich für essentielle Funktionen wie z.B. bei der Benutzeranmeldung oder der Fehlersuche. Für Videos werden weitere Cookies von Drittanbietern benötigt. Details finden sie unter dem Link "Weitere Informationen".