Smartmeter auslesen (RS-232)
Auslesen von Smartmetern über die optische Schnittstelle mit dem SML-Protokoll und Bereitstellung einer RS-232 Schnittelle
Zeitraum: August 2020 - Oktober 2020
Zuletzt aktualisiert am 29.09.2021Allgemeine Hinweise zum Auslesen von Smartmetern stehen im Hauptartikel.
Schaltplan
Die optische Schnittstelle der Smartmeter ist seriell. Bei unseren Zählern wird eine Übertragungsrate von 9600 Baud und eine 8-N-1 Kodierung (8 Datenbits; Keine Parität; 1 Stoppbit) genutzt.
Dank dieses Umstandes muss das Signal nicht erst aufwendig konvertiert werden. So ist der Schaltungsaufwand für diesen Lesekopf ziemlich übersichtlich.
Das vom Zähler ausgehende Signal wird von einem Fototransistor (Q1) empfangen und durch einen Transistor (Q2) nochmals verstärkt.
Der eingesetzte Schmitt-Trigger (IC2) garantiert saubere Schaltflanken.
Damit auch ggf. Daten an den Zähler gesendet werden können, wurde ebenso eine IR-Leuchtdiode (LED2) vorgesehen.
Ob gerade Daten gesendet, bzw. empfangen werden, wird durch zwei blaue Leuchtdioden (LED1, LED3) angezeigt.
Der Fototransistor und die IR-Leuchtdiode arbeiten mit einem TTL-Pegel von 5V und stellen quasi eine TTL-UART-Schnittstelle dar.
Da sich der TTL-Pegel für eine Übertragung auf einer längeren Strecke nicht eignet, wird das Signal zu dem RS232-Standard gewandelt. Diese Aufgabe übernimmt der MAX232CWE-IC (IC1).
Natürlich könnte auch ein modernerer Standard wie zum Beispiel USB verwendet werden. Hier verwende ich allerdings den RS232-Standard, weil die Daten von einem Arduino verarbeitet werden sollen und
die Handhabung mit dem RS232-Standard vergleichsweise einfach ist. Denn der MAX232CWE-IC kann genauso umgekehrt verwendet werden, also ein RS232-Signal wieder in ein TTL-UART-Signal wandeln.
Platine
Der Fototransistor und die IR-Diode wurden etwa 15mm hoch platziert, sodass Diese durch den Magneten durchreichen.
Vorderseite |
Rückseite |
Bestückt |
Gehäuse
Das Gehäuse wurde so entworfen, dass es für beide Stromzähler verwendet werden kann.
Hinweis zum Gehäuse
Der Lesekopf ist in der Norm IEC 62056-21 definiert. Mein hier präsentierter Lesekopf erfüllt die in der Norm genannten Größenangaben allerdings nicht (Nach Oben 4mm zu hoch und mit Deckel 1,5mm zu breit).
Leider war die Platine bereits gefertigt, als das Gehäuse entworfen wurde. Eine normkonforme Größe des Gehäuses war mir somit nicht mehr möglich.
Hätte ich mich allerdings an die Norm gehalten, und die Datenleitung nach unten hin herausgeführt, dann würde der Lesekopf das Display einer der Stromzähler verdecken. Dies wäre suboptimal.
Darüber hinaus ist dieser Lesekopf ohnehin nur für meinen Privatgebrauch vorgesehen. Daher stört mich die Abweichung von der Norm eher weniger.
Sollte ich in Zukunft weitere Leseköpfe benötigen, dann wird die Platine und das Gehäuse entsprechend der Norm angepasst.
Fertiger Lesekopf
Lesekopf |
Hauptzähler |
Photovoltaikstromzähler |
Zur Anbindung der beiden Leseköpfe an einem Arduino, wurde ebenfalls eine kleine Platine mit zwei 6/4-Modularbuchsen entworfen. Diese Platine wandelt den Spannungspegel des RS232-Signals in einen TTL-Spannungspegel um.
Vorderseite |
Rückseite |
Bestückt |
Bauteil | Bezeichnung / Wert | Gehäuse / Bauform | Benennung | Menge | Preis** |
---|---|---|---|---|---|
Lesekopf |
|||||
RS232-TTL-Wandler | MAX232CWE | SO16W | IC1 | 1 | 1,17 € |
Modularbuchse | - | 6/4 | JP1 | 1 | 0,24 € |
Kondensator | 1µF | G0805 | C1-C5 | 5 | 0,29 € (0,058 €/St.) |
Widerstand | 10kΩ | G0805 | R1, R2, R6 | 2 | 0,087 € (0,029 €/St.) |
Widerstand | 60Ω (62Ω) | G0805 | R3, R5 | 2 | 0,04 € (0,02 €/St.) |
Widerstand | 240Ω | G0805 | R4 | 1 | 0,24 € |
NPN-Transistor | BCW 32 | SOT-23 | Q2 | 1 | 0,049 € |
PNP-Transistor | BC 856B | SOT-23 | Q3 | 1 | 0,02 € |
Fototransistor | SFH309FA-4/5 | THT 3mm | Q1 | 1 | 0,32 € |
Infrarotdiode | SFH4346 | THT 3mm | LED2 | 1 | 0,28 € |
Leuchtdiode | 17-21UBC/C430/TR8 | G0805 | LED1, LED3 | 2 | 0,24 € (0,12 €/St.) |
Schmitt-Trigger | SN74LVC1G17DBVR | SOT-23-5 | IC2 | 1 | 0,26 € |
RS232-TTL-Wandler |
|||||
RS232-TTL-Wandler | MAX232CWE | SO16W | IC1 | 1 | 1,17 € |
Modularbuchse | - | 6/4 | JP2, JP3 | 2 | 0,48 € (0,24 €) |
Kondensator | 1µF | G0805 | C1-C5 | 5 | 0,29 € (0,058 €/St.) |
Stiftleiste | 2x3 | RM 2,54 mm | JP1 | 1 | 0,19 € |
Weiteres |
|||||
Crossover-Modularanschlusskabel* | benötigte Länge (6m) | 2x RJ11-Stecker (Für 6/4-Modularbuchse) | - | 1 | 0,88 €* |
Lichtleiter | Mentor 12.825.000 | ø: 2,8mm; Länge: 45mm | - | 2 | 0,74 € (0,37 €/St.) |
*: Auf der Suche nach einem Crossover-Modularanschlusskabel bin ich nicht fündig geworden. Daher habe ich ein herkömmliches Modularanschlusskabel erworben und auf einer Seite den Stecker abgekniffen. Anschließend habe ich einen neuen Stecker aufgekrimmt und dabei die beiden Datenleitungen (Rx / Tx) miteinander vertauscht. Entsprechende RJ11-Stecker gibt es für ein paar Cent. Eine passende Crimpzange von einem bekannten Hersteller kostet etwa 20€ (Knipex 97 51 10).
**: Die oben genannten Preise wurden am 12.10.2020 bei Reichelt ermittelt. Die wirklichen Preise können abweichen.
Nachfolgend sind zwei Materiallisten bei Reichelt verlinkt.
Bei dem genannten Händler handelt es sich um ein unabhängiges Beispiel. Natürlich können die Materialien bei jedem beliebigen Händler erworben werden.
Reichelt: Lesekopf
Reichelt: RS232-TTL-Wandler
Dieses Werk von Niklas Menke ist lizenziert unter einer CC BY-NC-SA 4.0 Lizenz.
Lesekopf: Schaltplan (pdf)
Lesekopf: Gerberdaten (zip)
RS232-TTL-Wandler: Schaltplan (pdf)
RS232-TTL-Wandler: Gerberdaten (zip)