Gast
#3519540
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?