Was ist das für ein Protokoll?

OP #7538991

Hallo ich habe nen Einspeise-Wechselrichter (chinesisch), der eine RS485-Schnittstelle hat. Da wird eine Elektronik angeschlossen, die über einen Stromtrafo den Strom auf dem hausnetz misst. Damit kann man dann ne Null-Einspeisung machen. Ich hätte nur gerne die Elektronik durch meine eigene ersetzt und habe jetzt mal gemessen, was da auf den 2 Leitungen zwischen den beiden Geräten abläuft. Hatte jetzt irgendwie erwartet, dass da bytes in RS232-Manier versendet werden, dem scheint aber nicht so zu sein. Wer weiss was das ist?

Danke und Gruß

Angehängte Dateien:

Franko P. schrieb:

Hallo ich habe nen Einspeise-Wechselrichter (chinesisch), der eine RS485-Schnittstelle hat.

und

dass da bytes in RS232-Manier versendet werden, dem scheint aber nicht so zu sein. Wer weiss was das ist?

Auch auf RS485 kann man Bytes wie bei RS232 übertragen.

Ein "Hello uC.net" kommt bei beiden über die Leitung.

OP

Ja, Timing, kann man nicht lesen, ist 2ms/Div

Bei "normaler" asynchroner Datenübertragung wie bei RS232 geht das Signal wieder auf high, bevor das nächste zeichen übertragen wird. Das scheint hier ja nicht der Fall zu sein?! Die Überschwinger sind so. Das Oszi passt mit seinem Tastkopf. Auch wenns nix besonderes ist (OWON HDS242)

Das sieht einigermaßen nach 8 Byte mit 8N1 und 4800 Baud aus (2.08 ms für die 10 Bits eine Bytes bzw. 16.6 ms für acht Byte ohne Pause dazwischen). Warum nicht einfach mal mit RS485 Adapter und diesen Parametern mitschneiden und schauen was heraus kommt? Alternativ mit einem Logic-Analyzer mitschneiden, auf dem Oszilloskop Bild erkennt man kaum Details.

Franko P. schrieb:

Die Überschwinger sind so. Das Oszi passt mit seinem Tastkopf.

War also keine arrangierte Ehe?!

Hast du den Tastkopf abgeglichen? Dazu bietet das Oszilloskop einen Ausgang und der Tastkopf einen Drehknopf zwecks Abgleich. (Grundlagen Messtechnik)

Franko P. schrieb:

Bei "normaler" asynchroner Datenübertragung wie bei RS232 geht das Signal wieder auf high, bevor das nächste zeichen übertragen wird.

Du solltest besser einen RS485-TTL-Wandler (MAX487 oder so) an den Bus hängen, um das Signal zu messen.

Motopick schrieb:

Einfach nochmal invertieren.

Das auf den Kopf stellen zählt weder als Invertierung, noch als Messung des invertieren Signals.

Franko P. schrieb:

2ms/Div

Und jetzt bitte mal eine Auflösung verwenden, mit derren Hilfe man auch die Zeichenbreite erkennen kann.

Yalu X. schrieb:

Hätte ich auch gesagt. Wenn ich richtig abgelesen habe, sind die übertragenen Bytes (in hex):

24 56 00 21 00 f6 80 12

Ja, das habe ich auch.

Vielleicht hilft das irgendwie weiter, ich glaube aber eher nicht ;-)

Eventuell schon, hier wird über so was ähnliches geschrieben (falls es das selbe Gerät ist):

https://www.akkudoktor.net/forum/panels-wechselrichter-laderegler/soyosource-gtn-1000-1200-register-protokoll/

Moderator

Dieter S. schrieb:

Eventuell schon, hier wird über so was ähnliches geschrieben (falls es das selbe Gerät ist):

Ja, das sieht sehr gut aus. Die Bytes 0-3 und 6 stimmen mit den dortigen Beispielen überein, und auch die Prüfsumme (Byte 7) passt zu dem dort vorgestellten Algorithmus. Die Bytes 4 und 5 stehen dann für die Leistung, im Fall des TE also 0x00f6 W = 246 W.

(Firma: 1984now)

Franko P. schrieb:

Ja, Timing, kann man nicht lesen, ist 2ms/Div

Generell wäre es sinnvoll, mit dem Oszi einen wirklichen Screenshot zu speichern und den zu posten, statt des Schwachsinns mit einem Handy ein Foto vom Oszi-Screen zu machen.

Das würde allen die Arbeit sehr erleichtern. Man müsste nämlich nicht erst dieses voll beschissene Foto entzerren, bevor man daran sinnvoll etwas messen kann.

Wenn du nicht in der Lage bist, mit deinem Oszi einen Screenshot zu machen, könntest du dich wenigstens beim Fotografieren etwas mehr anstrengen...

Franko P. schrieb:

Bei "normaler" asynchroner Datenübertragung wie bei RS232 geht das Signal wieder auf high, bevor das nächste zeichen übertragen wird. Das scheint hier ja nicht der Fall zu sein?!

Die Mindestzeit für den High-Pegel zwischen zwei Zeichen ist eine Symbolzeit, hier also eine Bitzeit (Stop-Bit). Bei der Auflösung des gezeigten Bildes kann man nur raten, ob das der Fall ist oder nicht. Woran genau meinst du zu erkennen, dass das nicht der Fall ist?

Franko P. schrieb:

OWON HDS242

Ist das Gerät nicht in der Lage, vernünftige digitale Daten rauszugeben (CSV oder wenigstens Screen-Shot als PNG)?

Yalu X. schrieb:

Ja, das sieht sehr gut aus. Die Bytes 0-3 und 6 stimmen mit den dortigen Beispielen überein, und auch die Prüfsumme (Byte 7) passt zu dem dort vorgestellten Algorithmus. Die Bytes 4 und 5 stehen dann für die Leistung, im Fall des TE also 0x00f6 W = 246 W.

Ja, das sollte es wohl sein. Die eigentliche Quelle für das Protokoll ist vermutlich die hier:

https://secondlifestorage.com/index.php?threads/limiter-inverter-with-rs485-load-setting.7631/

OP

Yalu X. schrieb:

Dieter S. schrieb:

Eventuell schon, hier wird über so was ähnliches geschrieben (falls es das selbe Gerät ist):

Ja, das sieht sehr gut aus. Die Bytes 0-3 und 6 stimmen mit den dortigen Beispielen überein, und auch die Prüfsumme (Byte 7) passt zu dem dort vorgestellten Algorithmus. Die Bytes 4 und 5 stehen dann für die Leistung, im Fall des TE also 0x00f6 W = 246 W.

Ja, das könnte tatsächlich stimmen. ich werd mal versuchen, ein TTL-UART-Signal daraus zu machen und in ein Terminal-Programm einzulesen. Danke erst mal.

Gruß

OP

So, Signalanpassung an TTL-UART hat funktioniert, Terminal-Programm kann die Daten lesen. Super, danke an Alle. Jetzt muss ich noch die richtige Routine zur Berechnung der CRC finden. Ist wohl CRC8, da wirds hoffentlich nicht so viele Lösungen geben...

Gruß

Franko P. schrieb:

Jetzt muss ich noch die richtige Routine zur Berechnung der CRC finden. Ist wohl CRC8, da wirds hoffentlich nicht so viele Lösungen geben...

Liess halt einfach auch mal die Links, die man Dir gegeben hat, da steht doch alles. Und wenn Du von Anfang an den Namen des Geräts genannt hättest wäre es wohl noch viel einfacher gewesen.

(Firma: 1984now)

Franko P. schrieb:

Das Oszi passt mit seinem Tastkopf. Auch wenns nix besonderes ist (OWON HDS242)

Das kann übrigens durchaus Screenshots machen, mit denen man dann wirklich arbeiten kann.

Nur das Bedienkonzept ist grausam. Es ist zwar noch relativ einfach, die Screenshots zu machen, aber die dann in den PC zu bekommen, davor haben die Chinesen ein wirklich katastrophal schlechtes Menüsystem gebaut. Auch die Bedienungsanleitung wird hier auffallend sparsam. Die hilft nur, wenn man schon verstanden hat, wie dieses beschissene Menü funktioniert.

Sieht für mich klar so aus, als wenn sie die Benutzer zumindest sanft dahin drängen wollen, die zugehörige Anwendung zu installieren.

Das ist aber falsch. Damit bekommt man zwar Bilder der aktuellen Waveform, aber keine Screenshots, in der auch gleich die wichtigen Sachen mit drinstehen, wie etwa die Zeitauflösung usw. Die gibt es zwar, aber eben nicht gleich mit im Bild.

Im Großen und Ganzen scheint eine alternative Firmware für das Teil jedenfalls ein schönes Projekt für lange graue Winterwochen zu sein. Die Hardware ist scheinbar nicht schlecht (relativ zum Preis sogar sehr gut) und die Basis scheint irgendwas Atmel-SAM-mäßiges zu sein. Da könnte was gehen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 2 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.