Forum: Analoge Elektronik und Schaltungstechnik easymeter Q3DA optische D0-Schnittstelle Zeichensalat


von easymeter (Gast)


Angehängte Dateien:

Lesenswert?

Versuche die optische Schnittstelle des easymeter Q3D auszulesen und 
habe dazu einen Lesekopf ähnlich dem des Volkszählers aufgebaut (s. 
Abb.), was auch grundsätzlich funktioniert. Am Oszi sehen die 
TTL-Signale sehr gut aus.
Die Daten werte ich mit moserial unter Linux aus (9600baud 7e1). Alle 2 
Sekunden erhalte ich ein Datentelegramm, nur die Zeichen sind nicht 
lesbar.
Hier ein Beispiel eines Telegramms:
HEX
1
00000000 00 28 1D 56 53 65 17 66   57 75 3A 3E 17 19 65 23  .(.VSe.fWu:>..e#
2
00000010 1F 17 39 3D 4E 2F 52 7B   0B 1F 23 1F 23 1F 2B 13  ..9=N/R{..#.#.+.
3
00000020 59 59 6D 36 12 12 36 32   76 56 16 56 12 52 19 2D  YYm6..62vV.V.R.-
4
00000030 39 3D 52 7B 0B 1D 34 64   7B 2B 13 59 59 6D 76 76  9=R{..4d{+.YYmvv
5
00000040 56 52 32 52 36 36 6B 11   16 56 32 36 32 49 08 3C  VR2R66k..V262I.<
6
00000050 2B 39 3D 52 7B 0B 1B 27   34 32 7B 2B 13 59 59 6D  +9=R{..'42{+.YYm
7
00000060 76 76 36 52 32 36 2B 1F   2B 14 2B 39 3D 52 7B 0B  vv6R26+.+.+9=R{.
8
00000070 17 27 34 32 7B 2B 13 59   59 6D 76 76 56 72 1A 23  .'42{+.YYmvvVr.#
9
00000080 11 64 25 51 29 56 1D 69   36 13 1D 34 32 7B 2B 13  .d%Q)V.i6..42{+.
10
00000090 59 59 6D 76 76 76 76 56   36 4B 1B 15 51 29 56 1D  YYmvvvvV6K..Q)V.
11
000000a0 69 36 1D 34 32 7B 2B 13   59 59 6D 76 76 76 52 52  i6.42{+.YYmvvvRR
12
000000b0 32 1B 1F 2B 14 2B 39 3D   52 7B 0B 0D 13 23 15 23  2..+.+9=R{...#.#
13
000000c0 15 2B 13 59 59 6D 64 56   29 56 1F 25 1F 0B 0D 13  .+.YYmdV)V.%....
14
000000d0 23 1D 34 13 59 59 65 52   56 76 6B 6A 56 53 27 27  #.4.YYeRVvkjVS''
15
000000e0 32 56 16 56 12 52 19 2D   39 3D 2B 56 00           2V.V.R.-9=+V.


ASCII
1
(VSefWu:>e#9=N/R{##+YYm662vVVR-9=R{4d{+YYmvvVR2R66kV262I<+9=R{'42{+YYmvv6R26+++9=R{'42{+YYmvvVr#d%Q)Vi642{+YYmvvvvV6KQ)Vi642{+YYmvvvRR2++9=R{
2
##+YYmdV)V%
3
#4YYeRVvkjVS''2VVR-9=+V


Aussehen sollte es so ähnlich:
1
/ESY5Q3DA1004 V3.04
2
3
1-0:0.0.0*255(1234567890)
4
1-0:1.8.0*255(00008970.9573179*kWh)
5
1-0:21.7.0*255(000067.70*W)
6
1-0:41.7.0*255(000010.28*W)
7
1-0:61.7.0*255(000214.48*W)
8
1-0:1.7.0*255(000292.46*W)
9
1-0:96.5.5*255(80)
10
0-0:96.1.255*255(1ESY1234567890)
11
!


Jeder Hunweis ist willkommen.

von Hans Koch (Gast)


Lesenswert?

Musst Du denn die Werte als ASCII-Signal bekommen oder könnte es auch 
ein Binärsignal sein - z.B. ein INT16 oder ein Float? Dann könnte es von 
den Werten her vlt. passen, denn dann kann man die HEX-Werte 
entsprechend umrechnen.

von easymeter (Gast)


Lesenswert?

Die HEX-Werte umzurechnen ist nicht das Problem nur die Werte müssten 
schon stimmen ;-) was aber offensichtlich nicht der Fall ist.

Hier hat wohl jemand ein ähnliches Problem: 
https://forum.arduino.cc/index.php?topic=570601.0

Erfolgreiche Berichte den Zähler auszulesen hier im Forum sind alle 
mehrere Jahre alt. Wurde bei den neueren Zählern was geändert? Hat 
jemand Erfahrungswerte von neueren Zählern? Mein Zähler ist vom Typ 
q3da1104 V3.04

von devzero (Gast)


Lesenswert?

Hmm.. man sieht kein SML - hast du mal 9600 8N1 probiert?

von easymeter (Gast)


Lesenswert?

ja, war aber auch nur Zeichensalat.

von devzero (Gast)


Lesenswert?

Nach was fuer einer Bytefolge hast Du denn gesucht? In plain Ascii steht 
das da sicher nicht

von easymeter (Gast)


Lesenswert?

Ja, in plain ASCII. Ich gehe davon aus, das dies korrekt ist, zumindest 
habe ich die Berichte hier im Forum so verstanden.
Au sder Doku verstehe ich das auch so: 
https://www.easymeter.com/downloads/products/zaehler/Q3D/Easymeter_Q3D_DE_2016-06-15.pdf

von devzero (Gast)


Lesenswert?

Das ist sehr unwahrscheinlich.. haeng doch mal einen Dump mit 9600 8N1 
an, wie Du es oben schon gemacht hast.

Sehr oft kommt da SML binaer raus.

von easymeter (Gast)


Lesenswert?

9600 8N1
1
00000000 00 28 1D 56 53 65 17 66   57 75 3A 3E 97 99 65 A3  .(.VSe.fWu:>..e.
2
00000010 9F 97 39 BD CE AF 52 FB   8B 9F A3 9F A3 9F AB 93  ..9...R.........
3
00000020 59 D9 ED B6 12 92 B6 32   F6 56 96 D6 12 D2 99 AD  Y......2.V......
4
00000030 39 BD 52 FB 8B 9D B4 64   FB AB 93 59 D9 ED F6 F6  9.R....d...Y....
5
00000040 D6 D2 B2 52 16 32 AB 97   66 24 56 F6 56 52 14 A1  ...R.2..f$V.VR..
6
00000050 A5 D6 9D 69 B6 9B 27 B4   32 FB AB 93 59 D9 ED F6  ...i..'.2...Y...
7
00000060 F6 D6 32 96 36 EB 26 AB   14 2B 39 BD 52 FB 8B 97  ..2.6.&..+9.R...
8
00000070 27 B4 32 FB AB 93 59 D9   ED F6 F6 B6 B2 F2 46 8F  '.2...Y.......F.
9
00000080 64 25 D1 29 D6 9D 69 B6   93 9D B4 32 FB AB 93 59  d%.)..i....2...Y
10
00000090 D9 ED F6 F6 F6 F6 56 36   AB 9F AB 14 2B 39 BD 52  ......V6....+9.R
11
000000a0 FB 8B 9D B4 32 FB AB 93   59 D9 ED F6 F6 96 D6 91  ....2...Y.......
12
000000b0 B4 D9 C9 25 D1 29 D6 9D   69 B6 8D 93 A3 95 A3 95  ...%.)..i.......
13
000000c0 AB 93 59 D9 ED E4 D6 29   D6 9F A5 9F 8B 8D 93 A3  ..Y....)........
14
000000d0 9D B4 93 59 D9 65 52 56   F6 EB EA 56 53 27 27 B2  ...Y.eRV...VS''.
15
000000e0 56 96 D6 12 D2 99 AD 39   BD 2B D6 00 28 1D 56 53  V......9.+..(.VS
16
000000f0 65 17 66 57 75 3A 3E 97   99 65 A3 9F 97 39 BD CE  e.fWu:>..e...9..
17
00000100 AF 52 FB 8B 9F A3 9F A3   9F AB 93 59 D9 ED B6 12  .R.........Y....
18
00000110 92 B6 32 F6 56 96 D6 12   D2 99 AD 39 BD 52 FB 8B  ..2.V......9.R..
19
00000120 9D B4 64 FB AB 93 59 D9   ED F6 F6 D6 D2 B2 52 16  ..d...Y.......R.
20
00000130 32 AB 97 C9 56 16 12 B2   49 88 BC 2B 39 BD 52 FB  2...V...I..+9.R.
21
00000140 8B 9B 27 B4 32 FB AB 93   59 D9 ED F6 F6 D6 32 56  ..'.2...Y.....2V
22
00000150 36 EB 26 AB 14 2B 39 BD   52 FB 8B 97 27 B4 32 FB  6.&..+9.R...'.2.
23
00000160 AB 93 59 D9 ED F6 F6 B6   92 F6 36 EB 2A AB 14 2B  ..Y.......6.*..+
24
00000170 39 BD 52 FB 8B 93 9D B4   32 FB AB 93 59 D9 ED F6  9.R.....2...Y...
25
00000180 F6 F6 F6 56 36 CB 8F 95   D1 29 D6 9D 69 B6 9D B4  ...V6....)..i...
26
00000190 32 FB AB 93 59 D9 ED F6   F6 76 F2 F6 36 9B 8D AB  2...Y....v..6...
27
000001a0 14 2B 39 BD 52 FB 8B 8D   93 A3 95 A3 95 AB 93 59  .+9.R..........Y
28
000001b0 D9 ED E4 D6 29 D6 9F A5   9F 8B 8D 93 A3 9D B4 93  ....)...........
29
000001c0 59 D9 65 52 56 F6 EB EA   56 53 27 27 B2 56 96 D6  Y.eRV...VS''.V..
30
000001d0 12 D2 99 AD 39 BD 2B D6   00                       ....9.+..

von devzero (Gast)


Lesenswert?

Hmm da steckt gar nichts drin, was nach SML aussieht - spiel mal ein 
bisschen mit den Settings und schau, ob du irgendwann 77 07 01 .. 
bekommst

von Mario M. (thelonging)


Lesenswert?

An welchem Gerät und an was für einer Schnittstelle ist denn der 
Lesekopf angeschlossen?

von easymeter (Gast)


Lesenswert?

Easymeter q3da1104 V3.04 an der optischen Schnittstelle

von easymeter (Gast)


Angehängte Dateien:

Lesenswert?

angeschlossen an 2

von Falk B. (falk)


Lesenswert?

Wer sagt, daß es 9k6 sind? Da gibt es auch 1k2 und andere Baudraten.

von easymeter (Gast)


Lesenswert?

steht hier und in anderen Foren. Habe aber 7e1 und 8n1 von 300-bis 19200 
probiert, ohne was Vernünftiges erkannt zu haben.
Das Telegramm kommt regelmäßig alle 2s und sieht immer bis auf leichte 
Abweichungen immer sehr ähnlich aus. Gehe davon aus, das die Daten 
soweit korrekt sind aber die Codierung nicht passt.

von Ach Du grüne Neune (Gast)


Lesenswert?

Vor der Basis von T2 sollte noch ein Widerstand vorgeschaltet werden, 
damit der Basisstrom nicht unkontrolliert zu hoch werden kann.

von Daniel (Gast)


Lesenswert?

Wenn dein Oszi kein altes analoges ohne Speicher ist, mach mal ein Bild 
von, sagen wir mal, den ersten 20 Flanken eines Datenpakets an der Basis 
von T2 und poste, was du am Rechner für dieses Paket empfangen hast.

von Mario M. (thelonging)


Lesenswert?

Mario M. schrieb:
> An welchem Gerät und an was für einer Schnittstelle ist denn der
> Lesekopf angeschlossen?

easymeter schrieb:
> Easymeter q3da1104 V3.04 an der optischen Schnittstelle

Nein, ich meine das andere Ende. PC, Raspberry, Arduino usw.?

von Thomas W. (goaty)


Lesenswert?

Vielleicht Signalpegel invertiert ?

http://developer.mysmartgrid.de/doku.php?id=optoreader

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Ach Du grüne Neune schrieb:
> Vor der Basis von T2 sollte noch ein Widerstand vorgeschaltet werden,
> damit der Basisstrom nicht unkontrolliert zu hoch werden kann.

Jaja. so ein Phototransistor kann schon mal ein paar satte Ampere 
fließen lassen . . .

von easymeter (Gast)


Lesenswert?

Thomas W. schrieb:
> Vielleicht Signalpegel invertiert ?

Jeep, das war das Problem. Habe eine zweite Stufe nachgeschaltet und nun 
stimmt die Ausgabe, die als plain ASCII erfolgt 9600 7e1:
1
/ESY5Q3DA1104 V3.04␍␊
2
␍␊
3
1-0:0.0.0*255(xxxxxxxxxxxxx)␍␊
4
1-0:1.8.0*255(00011263.8780547*kWh)␍␊
5
1-0:21.7.0*255(000156.59*W)␍␊
6
1-0:41.7.0*255(000451.87*W)␍␊
7
1-0:61.7.0*255(000016.13*W)␍␊
8
1-0:1.7.0*255(000624.59*W)␍␊
9
1-0:96.5.5*255(80)␍␊
10
0-0:96.1.255*255(1ESYxxxxxxxxxx)␍␊
11
!␍␊

Vielen Dank für eure Unterstützung!

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.