Kompontenten
Zähler-Kontrolleinheit für Strom-, Gas-, Wasserzähler (Keller)
Ethernet-Funk-Gateway (Garage)
Ethernet-Funk-Gateway (Wohnzimmer)
Zähler-Kontrolleinheit
Features
Erfassen von Daten des eHZ-Zählers via IR-Schnittstelle
Erfassen von Stromzählen mit RS-485 Schnittstelle
Erfassen von Zählern mit S0-Schnittstelle (Gas, Wasser)
Werte von S0-Schnittstelle wird in regelmäßigen Abständen ins EEPROM gesichert
Name | Funktion | Anmerkungen |
LPCExpresso 1769 | Basis-Einheit | |
Ethernet-Port mit Übetrager | Ethernet-Anbindung | |
IR-Transistor | Sensor für eZH-Zähler | |
RS-485 Transceiver | für RS-485 Stromzähler | |
4x S0-Eingang | für Wasser- und Gaszähler | |
LPCxpresso 1769 Pin-Out
Funktion | Name | PIN LPCExpresso [MCU] | Anmerkung |
VCC | 3.3V | 28 | |
Ethernet | RD- | 32 | |
Ethernet | RD+ | 33 | |
Ethernet | TD- | 34 | |
Ethernet | TD+ | 35 | |
GND | GND | 54 | |
UART0 | TX | 21 [P0.2] | Logging/Terminal/Boot Loader |
UART0 | RX | 22 [P0.3] | Logging/Terminal/Boot Loader |
UART1 | TX | 13 [P0.15] | RS-485 Input (MODBUS) |
UART1 | RX | 14 [P0.16] | RS-485 Input (MODBUS) |
UART2 | TX | 40 [P0.10] | (unused) |
UART2 | RX | 41 [P0.11] | IR Input (eHZ), 9600 Baud, 8N1 |
UART3 | TX | 9 [P0.0] | (unused) |
UART3 | RX | 10 [P0.1] | (unused) |
GPIO 1 | | 15 [P0.23] | S0-Eingang |
GPIO 2 | | 16 [P0.24] | S0-Eingang |
GPIO 3 | | 17 [P0.25] | S0-Eingang |
GPIO 4 | | 18 [P0.26] | S0-Eingang |
LED 0 | | 24 [P0.22] | Onboard-LED |
LED 1 | | 42 [P2.0] | LED (grün) |
LED 2 | | 43 [P2.1] | LED (gelb) |
LED 3 | | 44 [P2.2] | LED (grün) |
LED 4 | | 45 [P2.3] | LED (gelb) |
LED 5 | | 46 [P2.4] | LED (grün) |
LED 6 | | 47 [P2.5] | LED (rot) |
LED 7 | | 48 [P2.6] | LED (grün) am RJ45 |
LED 8 | | 49 [P2.7] | LED (gelb) am RJ45 |
HanRun RJ-45 Break Out
Pinbelegung der RJ-45 Buchse:
Farbe | Funktion |
Weiss | RD- |
Blau | RD+ |
Weiss | TD- |
Gruen | TD+ |
USB/Serial Module (CP210x)
Pinbelegung des USB/Seriell Moduls
Farbe | Funktion |
Schwarz | GND |
Blau | RX |
Gruen | TX |
Ethernet-Funk-Gateway
Features
senden von Funkbefehlen (433MHz, AM)
empfangen von Funkbefehlen (Fenstersensoren, FS20?)
Zeitschaltuhr für das Senden von Funkbefehlen
Unterstützung von Zeitprogrammen (datumsbasieren, manuell)
regelmäßige Zeit-Synchronisation via
HTTP
Name | Funktion | Anmerkungen |
LPCExpresso 1769 | Basis-Einheit | |
Ethernet-Port mit Übetrager | Ethernet-Anbindung | |
4x Eingang | für sonstige Sensoren (Bewegungssensor) | |
Stromzähler EMH eHZ FW8E2A500AK1
In einem Versuchsaufbau habe ich eine Fotodiode SF309FA mit dem LPCXpresso Board verbunden (interer Pull-Up deaktiviert, externer 470K Pull-Up), um die Daten aus dem Zähler herauszulesen. Es hatte sich aber herausgestellt, dass unser Zähler die Daten nicht nach SML ausgibt, sondern nach OBIS.
SML (9600 BAUD, 8N1):
http://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/emh-ehz-h1
OBIS (9600 BAUD, 7E1):
http://wiki.volkszaehler.org/software/obis
Da ich ich bereits einige Daten mit dem 8N1 Protokoll eingelesen hatte, wollte ich diese auch nun interpretieren. Daher musste ich die Daten zuerst konvertieren. Das Prinzip ist ziemlich simple, man muss lediglich das MSB Bit (8.Bit) ignorieren. Dazu habe ich ein kleines Python Skript geschrieben:
data = open("minicom.cap","rb").read()
out = open("minicom.cap.out","wb")
for i in range(len(data)):
b = ord(data[i])
c = b & 0b01111111
out.write(chr(c))
out.close()
Das Ergebnis konnte sich sehen lassen.
Vorher:
Nachher:
Leider wird bei diesem Zähler nur der Zählerstand übermittelt, die Wirkleistung bzw. Scheinleistung wird nicht mit ausgegeben.