Raspberry GPIO Erweiterung für mehrere S0 Schnittstellen Eingänge für Verbrauchsmessung

  • Guten Tag,
    ich suche schon seit mehreren Stunden hier im Forum und werde nicht fündig.

    Habe bis jetzt auch bei normaler Onlinesuche noch nichts gefunden was mir passen würde.

    Ich würde gerne im Sicherungskasten (Haus) nach jedem LS (Leitungsschutzschalter) einen Wechselstromzähler mit S0 Schnittstelle klemmen.

    Über die S0 Schnittstelle könnte man dann durch die Impulse die Verbrauch bei richtiger Softwaretechnischer Parametrierung und einem Webserver am Pi schön darstellen lassen.
    Das wäre alles so im allgemeinen kein Problem.
    Man findet unzählige Projekte wo das mit der allgemeinen Hausanschluss und einem 3 Phasen + N Phase ausgelesen werden kann und schön aufbereitet werden kann.

    Was ich aber zu diesem unterschied will und da ist mein Problem, ich würde gerne jeden "Raum" bzw. eben jeden LS differenzieren wollen.
    Es ist ein Großes Haus das auf 3 Parteien ausgebaut wurde (Alles Familie) und da kommt schon ordentlich was zusammen.
    Ich will einfach genau wissen wieviel Strom (historisch & Echtzeit) in welchen Räumlichkeiten verbraucht wurde/wird.

    Hier meine Frage dazu, gibt es Erweiterung HATs wo man beliebig viele S0 Eingänge hat, bzw. auch selber machen?

    Bin für jegliche nützliche Kritik und Fragen offen.

    Danke vorerst mal.

    Edited once, last by pedamo (September 28, 2020 at 3:00 PM).

  • Raspberry GPIO Erweiterung für mehrere S0 Schnittstellen Eingänge für Verbrauchsmessung? Schau mal ob du hier fündig wirst!

  • Es gibt jede Menge GPIO-Erweiterungsboards, z. B. von Pridopia. Du kannst auch mit Schieberegistern arbeiten, wenn du viele Eingänge brauchst.

    Wie viele Zähler willst du denn installieren? Der Pi hat 26 GPIOs...

    Du könntest auch einen Mikrocontroller nehmen, die die Impulse zählen und an den Pi weiter leiten. Hätte den Vorteil, dass du Daten puffern kannst, also auch keine verlierst, wenn der Pi mal aus ist. Ein ESP32 könnte bis zu 34 GPIOs nutzen (notfalls nimmst du mehrere) und hat WLAN eingebaut, so dass er die Daten komfortabel an den Pi geben kann.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Mit einem M-Bus-System kannst du beliebig viele (na ja, einige hundert) Zähler auf eine Leitung schalten.

    Wenn du sie dann als „Slaves“ auf einem Repeater sammelst, kannst du das Signal auf einen Hat von packom.net weiter leiten und auf dem Pi auswerten. Der Repeater übernimmt gegenüber den Zählern die Rolle des Masters, versorgt sie mit Strom und tritt gegenüber dem Hat als finalem Master als Slave auf.

    Die Anzahl der GPIO-Pins spielt keine Rolle, weil du nur 2 Drähte an den Hat anschließt.

  • Mit einem M-Bus-System kannst du beliebig viele (na ja, einige hundert) Zähler auf eine Leitung schalten.

    Wenn du sie dann als „Slaves“ auf einem Repeater sammelst, kannst du das Signal auf einen Hat von packom.net weiter leiten und auf dem Pi auswerten. Der Repeater übernimmt gegenüber den Zählern die Rolle des Masters, versorgt sie mit Strom und tritt gegenüber dem Hat als finalem Master als Slave auf.

    Die Anzahl der GPIO-Pins spielt keine Rolle, weil du nur 2 Drähte an den Hat anschließt.

    Hallo Vielen Dank für die Informationen.

    Das ist mir dann leider zu hoch von der Thematik. Ich bin aus der IT im Systemadmin Sektor, aber leider zu wenig im Softwaretechnischen Programmieren.
    Mir sagen die Begriffe M-Bus was, sowie auch das Prinzip Slave & Master & Repeater.

    Mit diversen Code Schnippsel könnte ich schon was basteln mit etwas Zeit und ein paar Versuchen.

    Könntest du mich hier unterstützend mit diesem Projekt helfen bzw. überhaupt helfen wollen?

    Was ich besorgen müsste wäre auf jedenfall mal ein neuer Raspberry Pi (würde den 4er nehmen) ein Netzteil, Wechsekstromzähler mit S0 Ausgang.

    Für dieses System muss ich dann wahrscheinlich eine Frei bestückbare Platine aufbauen???

    Würde sonst gerne nächsten Monat mit dem Projekt Starten.


    Danke jedenfalls mal.

  • Bin da selbst noch am ausprobieren bzw. Komponenten zusammenstellen.

    Herzstück für die Brücke vom M-Bus zum Raspi ist ein Hat, den du hier anschauen und auch kaufen kannst:

    https://www.packom.net

    Software dazu gibt es OpenSource auf Github.

    Der Hat setzt den M-Bus als Master auf den Raspi um, so dass die weiter Verarbeitung der Zählerdaten auf dem Raspi erfolgen kann. Der Hat alleine kann bis zu 3 Zähler ansteuern (und mit Strom versorgen). Sind es mehr (wie bei mir), müssen weitere Komponenten dazu kommen.

    Da bin ich gerade in der Marktanalyse - es gibt alles Mögliche, von 10 bis zu 500 Zählern Anschlusslast, und oft für ziemlich stolzes Geld. Bzgl. Stromzähler musst du selbst mal schauen - mein Fokus sind Wasser- und Wärmemengenzähler.

  • Im allgemeinen ja, hier nein: Die besitzen keine M-Bus Schnittstelle.

    Der Vorteil des M-Bus ist, dass er über eine einfache Telefonleitung funktioniert, und über große Distanzen (mehr als 1 km). Dafür ist die Datenrate ziemlich niedrig, so auf Modemniveau.

    Der Master versorgt die Zähler-Slaves auch mit Strom. Da ist es mit dem Raspi-Hat knapp, der liefert nur genug für 3 Slaves. Da ich den Raspi von einer SSD betreibe, rechne ich mit noch weniger - ich möchte daher nur einen „Slave“ anschließen, der dann wieder als Repeater fungiert und die eigentlichen Zähler verbindet.

    Da bin ich gerade in der Hardwareauswahl. Um es hier als Projekt vorzustellen, ist das alles noch zu unreif.

  • Würdest du uns denn endlich mal erzählen, wie viele Zähler du eigentlich anschließen willst? 5, 35, 250 - diese Angabe müsste man schon haben.
    Ansonsten ist die Aufgabe an sich mehr oder minder einfach... "ein paar Impule zählen" ist nun wirklich nicht gerade ein Fortgeschrittenenthema.

    Außerdem müsstest du mal definieren, was "Echtzeit" für dich bedeutet. Minutengenau, sekundengenau oder noch präziser?

    Ein 1000-Watt Gerät liefert dir (bei 1000 Impulsen/kWh) alle 3,6 Sekunden einen Impuls. Eine 20 Watt LED-Lampe bringt alle 3 Minuten einen... Da müsstest du also auch mal überlegen, wie du aggregieren willst. Ist ja wahrscheinlich nur begrenzt sinnvoll, zu wissen, wie der Energieverbrauch um 10:43:33 und 3 Zehntelsekunden war.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Würdest du uns denn endlich mal erzählen, wie viele Zähler du eigentlich anschließen willst? 5, 35, 250 - diese Angabe müsste man schon haben.

    Aktuell würde es um genau 20 Zähler gehen. Was in Zukunft aber auf ca. 40 Zähler insgesamt ausgeweitet werden kann.

    Außerdem müsstest du mal definieren, was "Echtzeit" für dich bedeutet. Minutengenau, sekundengenau oder noch präziser?

    Mit Echtzeit verbinde ich in diesem Projekt sekundengenau, wenn nicht möglich würde mir minutengenau aber auch reichen.

    Ein 1000-Watt Gerät liefert dir (bei 1000 Impulsen/kWh) alle 3,6 Sekunden einen Impuls. Eine 20 Watt LED-Lampe bringt alle 3 Minuten einen... Da müsstest du also auch mal überlegen, wie du aggregieren willst. Ist ja wahrscheinlich nur begrenzt sinnvoll, zu wissen, wie der Energieverbrauch um 10:43:33 und 3 Zehntelsekunden war.

    Das würde wie du gut formuliert hast den Bogen im Privaten Sektor überspannen und unnötig sein.


    Ich mache mich gerade hinsichtlich M-Bus System ein bisschen schlau.

  • Stecken denn die 20-40 Zähler alle in einem Verteilerkasten "im Keller" oder sind die im Haus in mehreren Sicherungskästen verteilt?

    Die ersten 20 stecken im Hauptverteilerkasten Erdgeschoss.

    10 Weitere in einem anderem Verteilerkasten im Erdgeschoss (ca. 10 Meter Leerrohr zum Hauptverteiler).

    10 Weitere im Obergeschoss (ca. 4 Meter Leerrohr zum Hauptverteiler).

  • Je nach Situation würd ich da drei Mikrocontroller nehmen, die in jedem Verteilerkasten ihre Arbeit stoisch und zuverlässig machen und die Daten per serieller Leitung (UART oder RS485 - Arduino) zum Pi in den Keller oder gleich per WLAN (ESP32) an einen Pi oder einen weiteren µC schicken, der sie in eine Datenbank schreibt. Die µC haben den Vorteil, dass sie viel zuverlässiger sind, als ein Pi - wenn sie mal laufen, haben sie quasi keine Down-Zeit. Sie können die Daten außerdem Puffern, wenn der Pi mal ne Weile off ist. Für die genaue Zeiterfassung können Sie die Zeit regelmäßig mit dem Pi synchronisieren.

    20 Zähler sind für einen ESP oder Arduino kein Problem - je nach Board natürlich - such dir was Passendes oder nimm ggf. halt zwei. ESP32 bietet sich absolut an, weil er Multitasking kann, was für diese Aufgabe sehr praktisch ist, und zwei Kerne hat, so dass er die Kommunikation von der Impulserfassung trennt, was Timingprobleme vermeidet. S0-Impulse, die 30-120 ms haben, kann der ESP problemlos verarbeiten.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Je nach Situation würd ich da drei Mikrocontroller nehmen, die in jedem Verteilerkasten ihre Arbeit stoisch und zuverlässig machen und die Daten per serieller Leitung (UART oder RS485 - Arduino) zum Pi in den Keller oder gleich per WLAN (ESP32) an einen Pi oder einen weiteren µC schicken, der sie in eine Datenbank schreibt. Die µC haben den Vorteil, dass sie viel zuverlässiger sind, als ein Pi - wenn sie mal laufen, haben sie quasi keine Down-Zeit. Sie können die Daten außerdem Puffern, wenn der Pi mal ne Weile off ist. Für die genaue Zeiterfassung können Sie die Zeit regelmäßig mit dem Pi synchronisieren.

    20 Zähler sind für einen ESP oder Arduino kein Problem - je nach Board natürlich - such dir was Passendes oder nimm ggf. halt zwei. ESP32 bietet sich absolut an, weil er Multitasking kann, was für diese Aufgabe sehr praktisch ist, und zwei Kerne hat, so dass er die Kommunikation von der Impulserfassung trennt, was Timingprobleme vermeidet. S0-Impulse, die 30-120 ms haben, kann der ESP problemlos verarbeiten.

    Vielen Dank zwischenzeitlich mal das Sie sich die Zeit nehmen und auf mein Thema eingehen.

    Zum Beispiel mal Grob zusammengefasst mal eine Rustikale Aufstellung....

    • Raspberry PI (3B oder 4B) + 128Gb USB Stick oder SSD
    • Amazon Link - ESP32 [Anzeige] - Hiervon jeweils 2 Stück in einem Verteilerkasten.
      1. ESP32 = Über die GPIO Pins die man als Eingänge nutzen kann die S0 Schnittstelle vom Wechselstromzähler verbinden
      2. ESP32 = zur Datenübertragung -> Kommunikation zum Raspberry PI wo die Datenbank drauf laufen sollte

    Arduino muss ich mir erst mal im Detail anschauen, da habe ich leider noch überhaupt keine Kenntnisse, aber man lernt ja bekanntlich nie aus. :)

    • Raspberry PI (3B oder 4B) + 128Gb USB Stick oder SSD
    • Amazon Link - ESP32 [Anzeige] - Hiervon jeweils 2 Stück in einem Verteilerkasten.
      1. ESP32 = Über die GPIO Pins die man als Eingänge nutzen kann die S0 Schnittstelle vom Wechselstromzähler verbinden
      2. ESP32 = zur Datenübertragung -> Kommunikation zum Raspberry PI wo die Datenbank drauf laufen sollte

    Einer pro Verteilerkasten reicht - der kann die Impulse zählen UND die Kommunikation machen.
    Wenn du bereits einen anderen Rechner im Haus hast, der permanent läuft, kannst du auch den nutzen, um die Daten zu speichern. Oder auch sowas wie einen Datenträger an einer Fritzbox - möglicherweise kannst du dir dann den Pi sparen. Ein Pi mit einer Datenbank ist aber generell eine praktikable Lösung.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Einer pro Verteilerkasten reicht - der kann die Impulse zählen UND die Kommunikation machen.

    Ok danke, dann muss ich mich noch über die GPIO Pins des jeweiligen ESP32 schlau machen, im saubersten Fall eine Erweiterungsplatine mit einem Hutschienensystem finden, wo auf die Platine dann Schraubklemmen drauf kommen.

    Ein Pi mit einer Datenbank ist aber generell eine praktikable Lösung.

    Würde ich bevorzugen da ich eine Webserver drauf laufen lassen möchte um alles sauber Darstellen lassen zu können.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!