Forum: Mikrocontroller und Digitale Elektronik Was ist das für ein Protokoll?


von Franko P. (sgssn)


Angehängte Dateien:

Lesenswert?

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ß

von Rüdiger B. (rbruns)


Lesenswert?

Modbus ?

von Rainer W. (rawi)


Lesenswert?

Franko P. schrieb:
> Wer weiss was das ist?

Ein bisschen mehr über das Timing musst du schon verraten.

Woher kommen diese üblen Überschwinger? Ist das vom Originalsignal oder 
ist dein Tastkopf nur nicht vernünftig abgeglichen?

von Jens B. (dasjens)


Lesenswert?

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.

von Franko P. (sgssn)


Lesenswert?

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)

von Achim M. (minifloat)


Lesenswert?

Franko P. schrieb:
> Wer weiss was das ist?

Hast du nur die invertierte Leitung gemessen?

mfg mf

von Motopick (motopick)


Angehängte Dateien:

Lesenswert?

> Hast du nur die invertierte Leitung gemessen?

Einfach nochmal invertieren.

von Dieter S. (ds1)


Lesenswert?

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.

: Bearbeitet durch User
von Rahul D. (rahul)


Lesenswert?

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.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Dieter S. schrieb:
> Das sieht einigermaßen nach 8 Byte mit 8N1 und 4800 Baud aus

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

24 56 00 21 00 f6 80 12

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

von Dieter S. (ds1)


Lesenswert?

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/

von Yalu X. (yalu) (Moderator)


Lesenswert?

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.

: Bearbeitet durch Moderator
von Ob S. (Firma: 1984now) (observer)


Lesenswert?

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...

von Rainer W. (rawi)


Lesenswert?

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)?

: Bearbeitet durch User
von Dieter S. (ds1)


Lesenswert?

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/

von Franko P. (sgssn)


Lesenswert?

Achim M. schrieb:
> Franko P. schrieb:
>> Wer weiss was das ist?
>
> Hast du nur die invertierte Leitung gemessen?
>
> mfg mf

Es gibt nur 2 Leitungen.

von Franko P. (sgssn)


Lesenswert?

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ß

von Heinz R. (heijz)


Lesenswert?

Franko P. schrieb:
> 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.

das hier ist bekannt?

https://github.com/KlausLi/Esp-Soyosource-Controller

von Franko P. (sgssn)


Lesenswert?

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ß

von Dieter S. (ds1)


Lesenswert?

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.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.