Hallo liebe Community!
Ich will, um den Verbrauch von meinem E-Auto entsprechend tracken zu können, einen Stromzähler von Eastron SDM72D-M per Modbus auslesen. Dazu bin ich initial nach einer Anleitung w w w . kraweuschuasta . at / modbus-per-raspberrypi . html und nach diversen Einträgen diverser Foren vorgegangen (u.a. auch dieses).
Zu meinem Setup:
- RaspberryPI 2 Model B V1.1 von 2014 mit Raspbian GNU/Linus 7 (wheezy)
- JOY-IT Schnittstellenwandler, TTL-RS485 (94-811110 bei pollin.de)
- Eastron SDM72D-M
Die Verbindung zwischen dem SDM72D-M und dem Schnittstellenwandler wird mit einem geschirmten Kabel hergestellt, wobei die Masse des Schnittstellenwandlers mit dem Schirm und mit dem G-Anschluss am SDM72D-M verbunden ist.
Zur Kommunikation nutze ich (nach der Anleitung) das modpoll-Tool per Konsolenaufruf. Problem ist, dass ich egal was ich mache, immer ein Timeout vom modpoll zurückbekomme.
Die Einstellungen habe ich schon mehrfach geprüft (am SDM72D-M) und sind wie folgt:
- 9600 Baud
- kein Parity-Bit
- 1 Stopbit
- Adresse 1
Mit folgendem Kommando teste ich:
- modpoll -1 -b 9600 -p none -m rtu -c 1 -a 1 -r 343 -t 4:float /dev/ttyUSB0
Ich hänge parallel mit dem Oszi auf beiden Leitungen gegen den GND des Raspberry und habe somit verifiziert dass zumindest vom Raspberry was geschickt wird.
Probiert habe ich schon mehrfach die beiden Leitungen zu tauschen, ohne Abschlusswiderstand, mit Abschlusswiderstand (120 Ohm, 333 Ohm, 500 Ohm, 1kOhm), verschiedene Baudraten von 4800 bis 19200 Baud, verschiedene Lese-Adressen, verschiedene Adressen am SDM, aber bislang kein Erfolg.
Ich bin jetzt bei Modbus nicht so fit, daher kann ich nicht sagen wie es aussehen soll und im Internet find ich nix gscheites.
Vielleicht hat schon jemand mit dem Teil Erfahrung und kennt eventuelle Stolpersteine, oder hat ansonsten irgendeine Idee was man noch probieren könnte.
Vielen Dank schonmal,
Christoph