Forum: Mikrocontroller und Digitale Elektronik Problem mit dem Auslesen eines Stromzählers


von Problem Haber (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe einen Stromzähler, den ich auslesen möchte.

Stromzähler ITRON ACE3000

Zum Auslesen verwende ich einen TTL-IR-Schreibkopf:

http://wiki.volkszaehler.org/hardware/controllers/ir-schreib-lesekopf-ttl-ausgang


Verwendet wird ein Raspberry Pi Typ B, wheezy-Linux.

Mit einem Programm sende ich alle 10sek 10mal die Sequen "/?! CR LF" an 
die serielle Schnittstelle /dev/ttyAMA0. Die serielle Schnittstelle ist 
auf 300baud 7E1 konfiguriert, wie in der Anleitung des Zählers 
beschrieben wird.

In einem Fenster beobachte ich, was von der seriellen Schnittstelle 
empfangen wird (siehe Bild).

Das Problem dabei - es wird nicht alles korrekt empfangen.

Es gibt eine genaue Reihenfolge, wie die Daten eigentlich empfangen 
werden müssten - vor allem kommt nach jedem Wert ein Zeilenvorschub.

Das angehängt Bild zeigt, dass nicht bei jedem Lesezyklus die Daten 
korrekt empfangen werden. Bei manchen Lesezyklen fehlen einige Einträge, 
manche werden nicht richtig angezeigt.

Ich habe schon mit einem Oszi die Pegel gemessen und Testsignale 
gesendet (z.B. einfache Zeichen), den Lesekopf auf ein weißses Papier 
gehalten, so dass die Empfängerdiode das Signal der Sendediode durch 
Reflektion erkennen kann, beide Pegel liegen im Oszi nach vielen 
Versuchen sauber übereinander. Also kann ich eine Art Messrauschen 
ausschließen oder einen Verbindungsfehler.

Ich habe schon geprüft, dass das Anzeigeprogramm (Minicom) auch die 
korrekte Baudrade und das Empfangsformat (7E1) hat.

Sende ich so Daten an den Lesekopf (z.B. eine Textdatei mit cat 
Textdatei >> /dev/ttyAMA0), dann wird die Datei - auch wenn der Lesekopf 
auf einem weißen Papier liegt und auch am Stromzähler hängt - denn dort 
wird das Signal ebenfalls reflektiert) richtig in Minicom angezeigt.

Nach diesen Tests schließe ich Fehler auf dem Raspberry Pi, an den 
Kabeln oder an dem TTL-IR-Lese- und Schreibkopf aus, da er so richtig 
funktioniert.

Und in manchen Fällen wird ja auch das korrekte Signal übertragen, aber 
eben z.B. nur in 8 von 10 Fälllen.

Ich habe keine Idee, woran es liegen könnte. Ich habe auch mehrere ITRON 
ACE3000 Zähler, bei denen tritt immer das gleiche auf.

Kann mir jemand von Euch vielleicht einen Tipp geben, was die Ursache 
des Fehlers sein könnte?

von Pieter (Gast)


Lesenswert?

moin,

vor 10 Jahren habe ich auch mal Stromzähler ausgelesen...

in dem Log fehlen Steuerzeichen, z.B. so
<STX>F.F(00000000)<cr><lf>
0.9.1(0008)<cr><lf>
0.9.2(900101)<cr><lf>
1.2.1(000.000)<cr><lf>
1.6.1(000.013)<cr><lf>
1.8.1(000000.00)<cr><lf>
1.6.1(980826)<cr><lf>
1.6.1(1330)<cr><lf>
1.6.1(1330)<cr><lf>
C.7.0(0020)<cr><lf>
1.4.0(08)(00.000)<cr><lf>
C.52(900124)<cr><lf>
C.57(01)<cr><lf>
C.53(1958)<cr><lf>
C.54(000000)<cr><lf>
C.60(900114)<cr><lf>
C.60(900114)<cr><lf>
C.55(0000)<cr><lf>
C.56(002829)<cr><lf>
0.2.2(00000001)<cr><lf>
0.2.1(00000001)<cr><lf>
0.2.0(32)<cr><lf>
0.2.0(32)<cr><lf>
!<cr><lf>
<ETX>-

bei dem was nicht stimmt, was für Zeichen kommen da an, ist ev. was 
verstümmelt?

VG
Pieter

von Sascha W. (sascha-w)


Lesenswert?

@Problem Haber,

hast du mal mit einem anderen Rechner probiert?
Wenn die Baudrate vom PI zu weit abweichen würde, so kannst du den 
Fehler mit dem PI selbst nicht feststellen, da das Echo immer 
funktioniert, da du es ja selbst sendest.


Sascha

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.