Stromzähler per S0-Bus auslesen

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo Raspberry Pi Forum,

    ich beschäftige mich schon länger mit Raspberry Pis. Neben dem Datenlogger für meiner Wetterstation (den ich vor einigen Wochen von einem Alix auf einem Pi B umgezogen habe), habe ich gestern mein Projekt 433MHz Funksteckdosensteuerung auf Basis eines B+ (zumindest hardwareseitig) fertiggestellt.

    Im Keller wartet nun das nächste Projekt auf mich: ich möchte unseren Stromzähler auslesen. Ich habe mich an unsere ehemaligen Stadtwerke gewendet, ob ich nicht einen eHZ bekommen könne. Leider nicht, ABER ich kann den S0-Bus anzapfen um die Daten auszulesen. Gestern war dann der nette Techniker vor Ort und hat mir (kostenfrei :D) 2 Adern auf dem Ferraris-Zähler aufgelegt und mir gesagt, dass der Puls alle 300x = 1kWh ist. Nun liegt das Kabel auf dem Sicherungskasten und ich könnte es an dem Pi (Intranet Pi, B) anschließen und dann mit wiringPI die Daten abgreifen.

    So viel zur Theorie (und hier merke ich, wie praktisch es ist, wenn man vorhandene Software für die Basisfunktionen verwenden kann). Bisher habe ich rausgelesen, dass ich eine Ader an den GPIO17 (Pin 11) und eine an den Pin 1 für 3,3V anschließen müsste. Woanders habe ich was von GPIO17 & 18 gelesen.

    Also dachte ich mir, ich frage sicherheitshalber mal lieber nach. Getestet wurden die Kabel mit einem Strommessgerät und man konnte sehr deutlich den Strom "hören".

    Ich wäre sehr dankbar, wenn hier evtl. jemand etwas Licht in mein Dunkel bringen würde :)

    Ciao
    Dennis

    Einmal editiert, zuletzt von klein2 (12. November 2014 um 11:50)

  • Danke für den Hinweis!

    Da muss ich mich jetzt ehrlich gesagt auch erstmal belesen, wie ich das Ganze an den Pi bekommen würde. Ich habe derweil den Thread von topsurfer gefunden, der im Grunde genau das realisiert, was ich auch vor habe :) Allerdings hat er soweit ich weiß keinen Optokoppler verbaut - da werde ich mal nachhaken (und ja - man merkt es vielleicht, ich bin, was Elektrotechnik angeht absoluter Anfänger ;)).

  • Hi raspiprojekt,

    ah! Danke für den Hinweis :) Ich hatte mit dem Techniker von den ehem. Stadtwerken vorhin nochmal telefoniert und er meinte, es sei sogar egal, welches Kabel ich an 3,3V und welches an den GPIO 17 (Pin 11) kommt.

    Mittlerweile habe ich sogar raus, dass ich zwischen dem 3,3V Pin (1) und dem S0-Kabel ein 4,7k Ohm Widerstand packen muss. Habe ich das richtig verstanden?

    Jetzt habe ich eben mit einem Bekannten gechattet, der mir eben sagte, dass ich über meinen Stromzähler wohl gerade die Gesamtmenge ausrechnen kann, denn: 300 Ticks = 1 Pulse bei mir. Sprich: der Zähler gibt nur alle 1 kWh einen Pulse aus, den ich loggen kann. Das wäre dann im rrdtool ein SEHR grobes Diagramm und würde quasi fast nichts aussagen.

    Einmal editiert, zuletzt von klein2 (12. November 2014 um 14:34)

  • Ein kleines Update von meiner Seite - ich habe derweile die Schaltung im Kopf fertig und werde diese heute Abend erstmal auf einem Breadboard aufstecken. Das wird so aussehen: (mal fix per Hand skizziert).

    500283-breadboard-stromzaehler.jpg

    Der Widerstand ist 4,7k Ohm, der Kondersator liegt bei 100nF.

    Die Pins sind wie folgt auf dem Pi B vorgesehen (ist ja erkennbar):
    - Pin 2 - 5V (lt. S0-Schnittstelle bzw. DIN vorgeschrieben)
    - Pin 3 - GPIO02 (pull-up) für die Daten
    - Pin 6 - für GND

    Leider habe ich vom Techniker, der die S0 Kabel am Stromzähler (Actaris C114) an die S0-Schnittstelle geschraubt hat nur die lapidare Antwort bekommen, dass die Polarisierung keine Rolle spiele, denn die Schnittstelle sei potentialfrei. Blöderweise ist nun wieder alles verplombt und ich kann nicht nachschauen ;)

    Einmal editiert, zuletzt von klein2 (14. November 2014 um 12:00)

  • Könnten auch 150 Impulse sein, habe ich gegrade gelesen. Kommt drauf an für welchen Nennstrom der eingestellt ist Nennstrom 10A 300 Imulse/kWh 20A 150/kWh. Du müsstest prüfen, ob der Optokoppler tatsächlich mit 3,3V läuft. Untergrenze ist mit 5V angegeben, aber vielleicht leigen 3,3V noch im Toleranzbereich.

  • Nabend,

    ich habe die Schaltung jetzt mal auf dem Breadboard gebaut und wie empfohlen 3V3 (Pin 1) genommen.

    Ich habe wiringPi installiert und lese mit:

    Code
    watch -n 1 gpio -g read 2

    den GPIO 2 aus (vorher exportiert habe ich).

    Leider bekomme ich immer nur eine 0 angezeigt...

    Für Ideen/Tipps wäre ich dankbar ;)

    Einmal editiert, zuletzt von klein2 (14. November 2014 um 21:17)

  • Schwierig von hier aus. Hast du ein Zeigermessgerät? Dann könntest Du mal einfach die 3,3V an einen Anschluss der Schnittstelle, dann das Messgerät an den anderen Anschluss und den zweiten Anschluss dess Mesgerätes auf GND, dann sollte der Zeiger zucken. Wenn nicht das gleiche mit 5V probieren. Digitalgeräte sind zu träge, es sei denn Du hast ein Oszi.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!