Forum: Mikrocontroller und Digitale Elektronik Stromzähler mittels IR Schnittstelle auslesen


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von HansHastig (Gast)


Lesenswert?

Hallo,

ich versuche derzeit meinen Stromzähler (itron ACE 3000) mittels 
IR-Schnittstelle auszulesen.

Was ich bis jetzt rausgefunden habe, ist das hier anscheinend kein 
besonderes IR-Protokoll verwendet werden muss sondern nur
einfach das UART Signal auf die IR-LED gelegt werden muss.

Baudrate        == 300baud 7E1
IR-Sende LED    == 940nm

Derzeit versuche ich, in einer Testumgebung, bestehend aus der IR-Sende 
LED und einem IR-Empfangsmodul (KY-022 IR Empfänger für Arduino) eine IR 
übertragung, zwischen einem "Zero Pi" und einem "PC" aufzubauen. Leider 
ohne Erfolg. :-(

Auf der Sendeseite habe ich die IR LED einfach mittels 
"Emitterschaltung" (LED am Emitter) angeschlossen und den Zero PI (TX) 
an die Basis.

Meine Fragen hierzu wären.

- Kann der Zero Pi überhaupt 300baud oder ist das zu langsam für den PI.
- Kann der IR-Empfänger das Signal überhaupt empfangen oder erwartet 
dieser ein IR Signal auf eine Trägerfrequenz draufmoduliert?

Des weiteren meine ich rausgefunden zu haben, das für das 
aktivieren/abfragen des aktuellen Stromverbraues/Zählerstandes eine 
Sequenz
gesendet werden muss um den Stromzähler dazuzubewegen seine Daten preis 
zu geben.

Meine Frage hierzu ist (erstmal ;-))

- Ich sehe,an dem Stromzähler, nur so eine art Bullauge mit einer IR-Led 
als mögliche IR-Schnittstelle . Was mich daran stutzig macht ist,
das es eben nur eine LED ist, die ich sehe. Ich hätte erwartet das es 2 
sind eine zum senden der Zählerstände und eine zum empfangen der 
Aktivierungssequenz.

Ich hoffe ich hab keine Details vergessen und ihr könnt mir weiter 
helfen.

Vielen Dank & Gruß

von MeierKurt (Gast)


Lesenswert?

HansHastig schrieb:

> Derzeit versuche ich, in einer Testumgebung, bestehend aus der IR-Sende
> LED und einem IR-Empfangsmodul (KY-022 IR Empfänger für Arduino) eine IR
> übertragung, zwischen einem "Zero Pi" und einem "PC" aufzubauen. Leider
> ohne Erfolg. :-(

Es wäre etwas kaputt, wenn das ginge.
Dein IR-Empfänger ist ein Empfänger für Fernbedienungen, deren IR-Signal 
hat eine Grundfrequenz. Der Empfänger "hört" nur auf dieser Frequenz 
(quasi wie ein Rundfunkempfänger - in dem Falle sind das 37,9kHz) - 
andere IR-Signale kommen nicht durch.

von Falk B. (falk)


Lesenswert?

HansHastig schrieb:
> Hallo,
>
> ich versuche derzeit meinen Stromzähler (itron ACE 3000) mittels
> IR-Schnittstelle auszulesen.
>
> Was ich bis jetzt rausgefunden habe, ist das hier anscheinend kein
> besonderes IR-Protokoll verwendet werden muss sondern nur
> einfach das UART Signal auf die IR-LED gelegt werden muss.
>
> Baudrate        == 300baud 7E1
> IR-Sende LED    == 940nm

Beitrag "Re: Smartmeter - MT681 - Fehler beim IR-Lesen"

https://www.volkszaehler.org/

> Derzeit versuche ich, in einer Testumgebung, bestehend aus der IR-Sende
> LED und einem IR-Empfangsmodul (KY-022 IR Empfänger für Arduino)

Klingt unbrauchbar. Für sowas will man KEINEN demodulierenden 
IR-Empfänger wie für Fernbedienungen nutzen! Sondern einen einfachen 
Phototransistor.

> Auf der Sendeseite habe ich die IR LED einfach mittels
> "Emitterschaltung" (LED am Emitter)

Das wäre eine Kollektorschaltung bzw. Emitterfolger. Eine 
Emitterschaltung ist was anderes, dort liegt der Emitter auf GND.

> angeschlossen und den Zero PI (TX)
> an die Basis.

Und wahrscheinlich den Vorwiderstand vergessen ;-)

> - Kann der Zero Pi überhaupt 300baud oder ist das zu langsam für den PI.

Kann er sicherlich, dafür gibt es Vorteiler in der Hardware.

> - Kann der IR-Empfänger das Signal überhaupt empfangen oder erwartet

Nein.

> dieser ein IR Signal auf eine Trägerfrequenz draufmoduliert?

Ja ;-)

> Des weiteren meine ich rausgefunden zu haben, das für das
> aktivieren/abfragen des aktuellen Stromverbraues/Zählerstandes eine
> Sequenz
> gesendet werden muss um den Stromzähler dazuzubewegen seine Daten preis
> zu geben.

Bei einigen.

Ich hab den hier im Keller, das hat funktioniert.

http://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/iskraemeco_mt174

http://wiki.volkszaehler.org/hardware

> - Ich sehe,an dem Stromzähler, nur so eine art Bullauge mit einer IR-Led
> als mögliche IR-Schnittstelle .

Da sollten 2 kleine Augen im großen Auge sein. RX und TX.

> Was mich daran stutzig macht ist,
> das es eben nur eine LED ist, die ich sehe. Ich hätte erwartet das es 2
> sind eine zum senden der Zählerstände und eine zum empfangen der
> Aktivierungssequenz.

Mach mal ein Bild. Oder das Ding sendet immer.

von Stefan F. (Gast)


Lesenswert?

Ich glaube, du musst einen Fototransistor verwenden.

von Holger K. (holgerkraehe)


Lesenswert?

Der Zähler kommuniziert normallerweise über das IEC Protokoll.
Neuere Zähler eröffnen die Kommunikation mit IEC und wechseln dann zu 
DLMS.

Die meisten Zähler beginnen mit 300 Baud und wechseln dann zu 9600 Baud.

Hinter dem Bullauge befindet sich ein IR Sender und Empfänger.
Es ist tatsächlich "nur Uart".

von Falk B. (falk)


Lesenswert?

HansHastig schrieb:
> Auf der Sendeseite habe ich die IR LED einfach mittels
> "Emitterschaltung" (LED am Emitter) angeschlossen und den Zero PI (TX)
> an die Basis.

Naja, das ist neben anderen Fehlern logisch falsch. Bei der 
IR-Schnittstelle gilt

Ruhepegel = Licht aus.

Elektrisch ist aber UART auf CMOS Ruhepegel = HIGH.

Nimm die Schaltung aus meinem Link, die funktioniert. Die hat man in 
30min auf Lochraster zusammen.

von devzero (Gast)


Lesenswert?

Manche Zaehler senden zyklisch, manche erst auf Anforderung (manche auch 
erst nach PIN Eingabe - den gibt es vom Versorger). Du kannst ja mal 
deine Smartphonekamera davor halten - wenn es flackert, sendet er 
zyklisch, ohne dass Du was tun musst.

von wendelsberg (Gast)


Lesenswert?


von HansHastig (Gast)


Lesenswert?

Hallo,

erst mal vielen Dank an alle die mir geantwortet haben. Ich habe heute 
morgen mal mit dem Smartphone geguckt ob die LED hinter dem Bullauge 
flackert und leider ist da nichts zu erkennen. Desweiteren habe ich mal 
eine Empfänger Infrared Dioden bestellt.

Bild vom Zähler werde ich heute Nachmittag einmal machen und hier bereit 
stellen. Vielleicht könnt ihr da mehr sehen als ich.

Noch mal vielen Dank!!!

Viele Grüße

von Falk B. (falk)


Lesenswert?

HansHastig schrieb:
> Hallo,
>
> erst mal vielen Dank an alle die mir geantwortet haben. Ich habe heute
> morgen mal mit dem Smartphone geguckt ob die LED hinter dem Bullauge
> flackert und leider ist da nichts zu erkennen. Desweiteren habe ich mal
> eine Empfänger Infrared Dioden bestellt.

Falsch. Du sollst einen PhotoTRANSISTOR nehmen, der liefert nämlich 
deutlich mehr Strom.

von wendelsberg (Gast)


Lesenswert?

HansHastig schrieb:
> Ich habe heute
> morgen mal mit dem Smartphone geguckt ob die LED hinter dem Bullauge
> flackert und leider ist da nichts zu erkennen.

Liest Du auch irgendwelche Dokumentation?
Die Pruefimpulse sind 2ms lang, die S0 Impulse 40ms. Beides mit 
demSmartphone eher nicht zu sehen. Die S0 muessen ausserdem konfiguriert 
sein, was der Netzbetreiber machen muss.

Bei dem Kenntnisstand empfehle ich:

http://wiki.volkszaehler.org/hardware/controllers/ir-schreib-lesekopf
Allerdings musste ich diesen Kopf noch auf 3mm Abstand setzen, weil 
sonst keine Kommunikation zustande kam.

wendelsberg

von Falk B. (falk)


Lesenswert?

wendelsberg schrieb:

> Die Pruefimpulse sind 2ms lang, die S0 Impulse 40ms. Beides mit
> demSmartphone eher nicht zu sehen.

Aber sicher. Die Pulse der IR-Fernbedienung sind auch nicht länger, nur 
anders moduliert.

von Stefan F. (Gast)


Lesenswert?

wendelsberg schrieb:
> Liest Du auch irgendwelche Dokumentation?
> Die Pruefimpulse sind 2ms lang, die S0 Impulse 40ms. Beides mit
> demSmartphone eher nicht zu sehen.

Das wurde ihm allerdings weiter oben von jemand anders so empfohlen.

von Star B. (star)


Lesenswert?

Wozu muss man unbedingt eine LED drauf tun. Sendet das nicht ohnehin 
jede Sekunde?
Kann man die Elektronik noch weiter abspecken? Also IR 
Diode/Fototransistor + Transistor + R/C (ohne Schmitt-Trigger)? Dann 
geht es fix auf einer Lochraster-Platine

Der günstigste Kopf kosten sonst immer noch um die >20€.

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Star B. schrieb:
> Wozu muss man unbedingt eine LED drauf tun. Sendet das nicht ohnehin
> jede Sekunde?

Einige.

> Kann man die Elektronik noch weiter abspecken? Also IR Diode +
> Transistor + R/C (ohne Schmitt-Trigger)?

Naja.

> Dann geht es fix auf einer
> Lochraster-Platine

Das geht auch so auf Lochraster.

Beitrag "Re: Logarex eHZ liefert keine zuverlässigen Daten mit IR-Lesekopf"

Als Minimum reichen Q1, Q2, R1-3, C1, der kann auch nur 100nF sein. Das 
Signal kann man dann am Kollektor von Q2 abgreifen und direkt in einen 
Mikrocontroller füttern.

von Carsten-Peter C. (carsten-p)


Angehängte Dateien:

Lesenswert?

Star B. schrieb:
> Der günstigste Kopf kosten sonst immer noch um die >20€

Hallo, ich habe den Lesekopf von Volkszähler nachgebaut
Ich sende:  /?!
Und er antwortet:
/PAF5EC3g00006
[10][13][13]SLx[02]0.0.0(12345678)
0.0.1(PAF)
F.F(00)
0.2.0(1.29)
1.8.0*00(001752.06)
C.2.1(000000000000)( )
0.2.2(:::::G11)!
[03]N
Der Wählerstand ist dann 001752.06
Gespeichert werden die Werte im ATtiny und bei Bedarf über I2C 
abgerufen. Das funktioniert seit einigen Jahren sehr gut.
Gruß Carsten

von Falk B. (falk)


Lesenswert?

Carsten-Peter C. schrieb:
>> Der günstigste Kopf kosten sonst immer noch um die >20€
>
> Hallo, ich habe den Lesekopf von Volkszähler nachgebaut

Naja. Dein Schaltplan enthält keine Bauteilwerte für die Widerstande. 
Schlecht zum Nachbauen 8-0
Der Basiswiderstand ist unnötig bis kontraproduktiv. Besser ist hier ein 
Parallelwidertstand zum Phototransistor, um den Arbeitspunkt optimial 
einzustellen, was in der Diskussion lang und breit getan wurde, und 
letztendlich auch erfolgreich war.

von Star B. (star)


Lesenswert?

Ideal ist schon so ein MiniBoard mit Wifi. 
(https://www.aliexpress.com/item/32888386581.html oder 
https://www.aliexpress.com/item/4000160133215.html mit USB-C?)
Gut wäre, es würde einges im RAM behalten (Ideal 24h jede sec) - aber 
das wären fast 87k Datensätze - schätze da ist das RAM zu klein.
Und dann was nettes um sich die Daten am PC zu visualisieren.

: Bearbeitet durch User
von Carsten-Peter C. (carsten-p)


Lesenswert?

Falk B. schrieb:
> Dein Schaltplan enthält keine Bauteilwerte für die Widerstande.
> Schlecht zum Nachbauen

Hallo, Du hast Recht. Hab ich nicht drauf geachtet. Die Zeichnung ist 
schon sehr alt. Eine ähnliche Zeichnung findest Du hier: 
https://wiki.volkszaehler.org/hardware/controllers/ir-schreib-lesekopf-rs232-ausgang
Ich bin direkt auf einen ATtiny 4313 gegangen. Der Sender und Empfänger 
sollte ca. 880nm haben. Das ist sicher nicht so kritisch.
Gruß Carsten

von Falk B. (falk)


Lesenswert?

Star B. schrieb:
> Ideal ist schon so ein MiniBoard mit Wifi.
> (https://www.aliexpress.com/item/32888386581.html oder
> https://www.aliexpress.com/item/4000160133215.html mit USB-C?)
> Gut wäre, es würde einges im RAM behalten (Ideal 24h jede sec)

Sinnloser Datenmüll. Selbst 1min Zeitauflösung wäre SEHR luxeriös.

>- aber
> das wären fast 87k Datensätze - schätze da ist das RAM zu klein.

Massenspeicher ala EEPROM wurden schon erfunden. Sogar SD-Karten mit 
schier ENDLOSER Kapazität.

von Star B. (star)


Lesenswert?

Stimmt 1s ist zu hoch. Aber 1min sollte es schon sein. Trotzdem, mehr 
RAM ist immer hilfreich und (soweit ich bisher verstanden hab) ist der 
bei den gängigen ESP2866 schon knapp für seine eigentliche Bestimmung.

Was gibt es an low cost Alternativen (WLAN integriert?) - den ESP32? Der 
hat doppelt so viel RAM 160+160 (stat/dyn).

Klar gibt es SD-Karten und EPROM, aber: bei so häufigen Updates sterben 
die schnell. Und dann hab ich auch noch keine Billig-µC-Modul gesehen wo 
man ne SD-Karte draufstecken kann. Da muss man schon ein paar Daten 
sammeln vor dem Schreiben, sonst hat man die R/W Cycles von Flash 
schnell erreicht.

Verstehe ich das richtig, das rrdtools eine geeignete Senke für die 
Daten vom Stromzähler ist? Bekommt man das auf einer Freetz 
modifizierten Box hin?

von Falk B. (falk)


Lesenswert?

Star B. schrieb:
> Klar gibt es SD-Karten und EPROM, aber: bei so häufigen Updates sterben
> die schnell.

So ein Unsinn. Millionen Dash cams und Datenlogger beweisen das 
Gegenteil!

von Star B. (star)


Lesenswert?

Das ist was ganz anderes. Eine Dashcam ist nicht 24/7 im Einsatz und 
schreibt nicht ein paar Bytes jede Sekunde. Aber lassen wir es dabei, 
denn wie gesagt die Boards haben keinen Slot.

Was haltet ihr von diesem Board:
https://www.aliexpress.com/item/1005004912486444.html
2MB RAM, kann das stimmen? Das wäre um Welten mehr als ein ESP2866.
Was ich nicht verstehe - das Ding hat einen USB-C Anschluß aber will 
3.3V? Da ist ein Spannungsregler auf dem Board, oder?

von Falk B. (falk)


Lesenswert?

Star B. schrieb:
> Das ist was ganz anderes. Eine Dashcam ist nicht 24/7 im Einsatz und
> schreibt nicht ein paar Bytes jede Sekunde.

Wer sagt, daß du jede Sekunde auf die SD-Karte schreiben sollst oder 
mußt?
Ein bisschen Puffer im RAM ist schon sinnvoll, nur halt nicht 
gigabyteweise.
Außerdem werden die SD-Karten bei solchen langen, langsamen 
Schreibvorgaängen nicht mehr gestresst als bei schnellen, denn die 
Sektoren werden so oder so nur einmal gelöscht und geschrieben.

> Aber lassen wir es dabei,
> denn wie gesagt die Boards haben keinen Slot.

Dann ist es vielleicht das falsche. Selbst der olle AVR-Arduino hat 
Shields mit SD-Karte. Und deren Nutzung ist auch recht einfach.

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.