Linux-Projekte
für den Raspberry Pi
(mit Python
realisiert)
Zählerdaten
(EDL21/SML) auswerten und am LCD-Display darstellen
|
Um
die Daten der optischen TTY-Schnittstelle des
Zweirichtungs-Zählern (EDL21) auslesen zu können, mußte eine
Empfangseinheit gebaut werden. Diese besteht aus einer
Infrarot-Photodiode mit ein wenig Elektronik und einem
RaspberryPi, der die von der Diode kommenden Signale über seine
TTY-Schnittstelle empfängt, weiterverarbeitet und an einen
Rechner zur Auswertung weiterleiten kann.
Noch
ein Hinweis: Die
TTY-Schnittstelle der GPIO arbeitet zwar mit der Logik des
TTY-Protokoll, eine 'echte' TTY-Schnittstelle arbeiten jedoch mit
+ 20mA und - 20mA als Logikpegel. Beim Raspberry ist
das etwas anders. Hier liegt der Ruhepegel bei ca. 3,3 Volt und
der Aktivpegel in etwa bei 0 Volt.
Hier
zunächst die 'optische Einheit' (Selbstbau)
Es
wurden benötigt:
1x
Infrarot Diode(z.B.: SFH 203 FA)
1x
Operationsverstärker (z.B.: LM 358 DIP)
4x
Widerstand 1 MOhm
1x
Schaumstoffstück Dicke ca. 1 cm
2-adriges,
verdrilltes Verbindungskabel
|
|
Die
Schaltung wurde wie im Schaltplan dargestellt aufgebaut. Dabei
war zu berücksichtigen, daß die Infrarotdiode mit dem Anschluß
an der abgeflachten Seite an Masse angeschlossen werden muß.
Ansonsten werden keine Daten übertragen
Die
Spannungsversorgung der Schaltung erfolgt über den +5 Volt Pin
des Raspberry Pi.
Die 2. Hälfte der Operationsverstärkers
ist ungenutzt.
Dieser OV wurde gewählt, da er mit nur EINER
Betriebsspannung auskommt.
Hier die technischen Daten
dazu:
Frequenzkompensation
|
intern
|
Hohe
Spannungsverstärkung
|
|
Große
Bandbreite
|
1,1
MHz (Temperaturkompensiert)
|
Sehr
geringer Strombedarf
|
500
µA
|
Sehr
geringer Eingangsstrom
|
20
nA
|
Geringe
Offsetspannung
|
2
mV
|
Geringer
Offsetstrom
|
2
nA
|
Spannungsbereich
Differentialeingang
|
bis
Betriebsspannung
|
Großer
Ausgangsspannungsber.
|
bis
Bertiebsspannung – 1,5 V
|
|
IC
Pinbelegung
|
1
= Ausgang (1)
|
8
= Versorgungsspannung
|
2
= -Eingang (1)
|
7
= Ausgang (2)
|
3
= + Eingang (1)
|
6
= - Eingang (2)
|
4
= Masse
|
5
= + Eingang (2)
|
|
Absolute
Maximalwerte
|
Spannungsversorgung
|
+
32 V
|
Eingangsspannung
|
-0,3
bis + 32 V
|
Differential-Eingangsspannung
|
+
32V
|
Für
die Infrarotdiode wurde am Zähler die Größe des Platzes vor
der optischen Schnittstelle ausgemessen und ein entsprechendes
Stück Schaumstoff bzw. Styropors zugeschnitten. Dabei wurde auch
die Lage des Infrarotsenders des Zählers markiert. An dieser
Stelle wurde dann für die Empfangsdiode ein Loch gemachen (ging
mit einem Kugelschreiber). Hier hinein kam dann die Diode. Den
Schaumstoff habe ich mit einem Klebestreifen am Zähler
befestigt. Die Diode wurde dann mit einem nicht zu langen Kabel
an die Zusatzelektronik angeschlossen, die direkt mit dem
Raspberry Pi verbunden war.
Bildquelle: Osram
|
Diese
Diode wurde gewählt, da sie speziell im Infrarotbereich ihre
höchste Empfindlichkeit hat und kurze Schaltzeiten
aufweist.
|
Da
im Keller, wo sich der Zähler befindet kein LAN zur Verfügung
steht, ist der Raspi mit einem WLAN-Stick ausgestattet.
Damit
hier eine ausreichend stabile Verbindung entsteht, sollte der
Raspi NICHT im Zählerkasten verbaut werden.
Ich habe die
Erfahrung gemacht, daß eine WLAN-Verbindung nur möglich ist,
wenn dann der Zählerschrank ein paar Zentimeter weit offen
ist.
Dabei ist die Transferrate aber weder berauschend, noch
sehr stabil.
Daher wurde die Infrarot-Diode mit einem
ca. 30-40 cm langen, verdrillten Kabel an den Raspi angeschlossen
und dieser AUF dem Zählerschrank positioniert.
Dabei sind
Übertragungsraten von 1,5 – 3,5 MByte möglich.
Der
Rechner läuft dort 'headless' ist also Kopflos;-) Nein, Spaß
beiseite. Es sind weder Tastatur, noch Bildschirm angeschlossen.
Um darauf zu arbeiten greife ich von einem anderen Rechner
mittels einer SSH-Sitzung per LAN/WLAN darauf zu und arbeite
damit vom Remote-Rechner so, als hätte ich mich auf dem
'Zähler'-Rechner in einem TTY-Terminal eingelogt. Er wird quasi
ferngesteuert.