[vz-dev] Auslesen von EMH ED300L mit AVR Net-IO und VOLTCRAFT RS-232 Schnittstellenadapter

voni at gmx.net voni at gmx.net
Wed Oct 3 03:15:50 CEST 2012


Hallo zusammen,

mit dieser Mail möchte ich mich bei volkszähler.org bedanken.
Erst durch das Wiki war es mir möglich das Thema zu begreifen und meine Lösung in die Tat
umzusetzen.

Ich bin Häuslebauer und nachdem alle Böden verlegt, Wände gestrichen und Möbel gestellt usw. waren ,
habe ich mich mit dem Thema "smart metering" beschäftigt. 
Mein Netzbetreiber E.ON hat mir zwei EMH ED300L (für Haus- und Wärmestrom) Zähler eingebaut.
Da diese eine optische Schnittstelle haben, war das Ziel klar diese Daten aufzuzeichnen.


Hier nun eine Überblick meines Projektes:

Nach einigen Recherchen habe ich mir folgende Hardware beschafft.

conrad.de		2x VOLTCRAFT-RS-232-Schnittstellenadapter 9,95€
magnetladen.de    2x Ringmagnet 27x16x5 				 2,85€
pollin.de		1x AVR-NET-IO					19,95€
pollin.de		1x ATmega1284P-PU	 		 		 6,45€
pollin.de   	1x ATMEL Evaluations-Board      		14,95€
pollin.de   	1x Kunststoffgehäuse 		 		 7,95€
pollin.de   	1x Steckernetzteil FRIWO FE4120		 1,95€
pollin.de   	3x Sub-D-Stiftleiste, 9-polig 		 0,14€
										
							+ Versandkosten	ca. 90€

Den Voltcraft Schnittstellenadapter habe ich auf die Außenseite eines Plastik Wasserflaschen Verschlusses (Cola geht auch:-) geklebt,
nachdem ich außermittig ein Loch durch den Verschluss gebohrt habe. 
Der Ringmagnet wird wiederum in den Flaschenverschluss geklebt.
Das Gewinde innerhalb etwas abschleifen. 
Dies dient als Abstandhalter und der Radius passt auch. 
Somit hatte ich meine zwei IR-Leseköpfe fertig.
Kopf kann zwar nur lesen - mehr brauchen mein Zähler  und ich aber auch nicht.

Hier ein paar Bilder
http://www.voni.de/Lesekopf1.JPG
http://www.voni.de/Lesekopf2.JPG
http://www.voni.de/Lesekopf3.JPG
http://www.voni.de/Lesekopf4.JPG

Weil ich die Daten an meinen mini Homeserver weiterleiten wollte habe ich als RS232 zu LAN Adapter (yport)
den AVR-NET-IO mit ethersex  benutzt.
Meine Fritz-Box wär auch noch möglich gewesen, aber da der Server schon da war ist dieser Datenziel geworden.
Um ethersex auf dem NET-IO zu betreiben und damit zwei UART´s für die beiden Köpfe zur Verfügung stehen,
habe ich auf den ATmega1284P aufgerüstet.

Kleine Anpassungen musste ich am Net-IO durchführen.

A) Betrieb mit Gleichspannung (5V Umbau)
http://www.mikrocontroller.net/articles/AVR_Net-IO_Bausatz_von_Pollin#Hardware-Umbauten_.26_-Verbesserungen

B) Abblockkondensatoren
10µ am LM317, 100n an VDD und VSS vom ENC
https://m21.hyte.de/wiki/Projekte/EthersexStromzaehler

C) zweiten UART des ATmega1284P an Max232c T2in und R2out

D) Adapter von J5 des NET-IO auf zwei Sub-D-Stiftleisten, woran dann die IR-Leseköpfe angeschlossen werden.
   Die Leseköpfe versorgen sich aus den -12 V vom RS232 - habe ich mit auf die Stiftleisten gelegt.

Somit war die Hardware fertig.

Als Firmware auf dem NET-IO habe ich die ethersex Quellen gedoppelt damit zwei yport´s zur Verfügung stehen
und mittels des Pollin-Evaluations-Board geflashed: 
fuses: 
avrdude -v -p m1284p -c ponyser -P COM1 -F -B 10 -U lfuse:w:0xff:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m
flash:
avrdude -v -p m1284p -c ponyser -P COM1 -U flash:w:ethersex.hex

Ab diesem Zeitpunkt konnte ich die Daten des Lesekopfs an meinem mini Server abfragen.

voni at hades:~/src# nc 10.0.38.81 7970 | od -h
0000000 1b1b 1b1b 0101 0101 0776 1800 4a00 f1ae
0000020 0062 0062 6372 0101 0176 0701 1800 b001
...
und hier der zweite Kopf
voni at hades:~/src# nc 10.0.38.81 7971 | od -h
0000000 1b1b 1b1b 0101 0101 0776 0400 eb03 2252
0000020 0062 0062 6372 0101 0176 0701 0400 b901

Kleines "quick and dirty" PHP Skript geschrieben, das die Daten in HEX konvertiert - und die SML-Meldungen parsed.
Die Daten werden direkt jede Minute in ein RRD geschrieben.

Ich benutze das rrd-tool direkt, um die Graphen zu erzeugen.
Ein Beispiel:
http://www.voni.de/graph_strom.png


Viele Grüße und nochmals Danke!
Stefan












More information about the volkszaehler-dev mailing list