• home
  • about me
  • bears
  • contact
  • imprint
  • privacy notice
leider funktioniert die Tweet Anzeige nicht mehr seit einer doofen API Änderung :'(

OnlyMine

Kategorien

  • 3D Drucker (13)
  • Allgemein (36)
  • DIY (12)
  • Elektronik (61)
  • Hausbau (30)
  • Heizung (7)
  • Inspiration (13)
  • KNX (7)
  • Persönlich (14)
  • Schule (8)
  • SEO (1)
  • Sinnloses (30)
  • Studium (19)
  • Tutorials (10)

Archive

  • Januar 2021
  • Dezember 2020
  • Oktober 2020
  • September 2020
  • August 2020
  • Juli 2020
  • Juni 2020
  • Mai 2020
  • April 2020
  • August 2019
  • Juli 2019
  • November 2018

Links

  • Niedermeier.me
  • SKK Gerolzhofen
  • Frisöre Habelsberger
  • Zorin Industries
  • Ort der Musik

ESP8266 Ferraris Stromzähler Auswertung

17. Juli, 2017 in: 3D Drucker, Elektronik

Um einmal einen Überblick über den Energieverbrauch des Hauses zu bekommen wollte ich meinen Stromzähler digital auswerten. Leider ist dieser noch ein alter Ferraris-Zähler ohne S0-Schnittstelle und kann somit nicht einfach ausgewertet werden. Nach kurzer Recherche im Internet stellte sich heraus, dass dieses Problem schon sehr viele findige Bastler über Reflex-Lichtschranken gelöst haben. Ein gesamtes fertiges Projekt für den ESP8266 konnte ich direkt nicht finden, daher musste ich mir doch die Mühe selbst machen 🙂

Da ich derzeit zeitlich etwas eingeschränkt bin, wollte ich nicht zu viel Zeit mit Versuchen und Layouterstellung verbraten und habe stattdessen auf fertige Module gesetzt. Für die Lichtschranke kommt ein TCRT5000 Module zum Einsatz in Kombination mit einem WeMos D1 Mini. Für das Lichtschranken Module habe ich schnell ein Modell erstellt und mit dem 3D Drucker ausgedruckt, glücklicherweise passte direkt das erste Modell ziemlich gut, sodass ich kein weiteres drucken musste. Das Module wird in das Plastikteil mit einer kleinen M3er Schraube fixiert und mit Klebeband am Zähler selbst angebracht.

Das TCRT5000 Modul kann mit 3-5V versorgt werden und hat je einen digitalen und einen analogen Ausgang. Der digitale Ausgang entspricht dem Ausgang eines Komparators, der direkt mit dem Analogsignal gespeist wird. Die Vergleichsspannung ist komfortabel per Potentiometer einstellbar. Um die richtige Vergleichsspannung einzustellen, kann es hilfreich sein mit dem Oszilloskop den Signalverlauf des Analogsignals aufzuzeichnen. Nachfolgend das Ergebnis nach dem Einstellen der gewünschen Spannung am Potentiometer.

Kanal 1 (gelb) entspricht dem Analogsignal während des Umlaufs, erscheint die rote Markierung steigt die Spannung leicht an und lässt dadurch den Komparator umschalten, das Signal an Kanal 2 (blau) verändert sich. Das digitale Signal kann sehr einfach für die anschließende Auswertung in der Software genutzt werden. Da das Signal in meiner Oszi Aufzeichnung ganz leicht geprellt hat, habe ich eine einfache Entprellung in Software integriert. Die Abtastung des Signals erfolgt ohne „feste“ Zeitbasis, es hat direkt so funktioniert, daher habe ich bisher aus Bequemlichkeit darauf verzichtet die Software nochmal zu überarbeiten.

Auf dem Zähler ist angegeben, dass pro 96 Umläufe der Scheibe 1kWh verbraucht wurde. Diese Angabe wird in der Software genutzt um die Leistung im letzten Durchlauf auszurechnen. Dazu wird die Zeit in Millisekunden eines jeden Umlaufs gemessen und in eine Leistung umgerechnet, das Ergebnis wird an ein PHP Skript auf meinem Webspace übergeben, welches die Daten in die Datenbank schiebt. Anschließend wird das ganze wieder durch ein PHP Skript aus der Datenbank ausgelesen und aufbereitet in einem Diagramm dargestellt.

Im oberen Diagramm sieht man schön das Peak bei 08:45 Uhr, das ist die Kaffeepadmaschine 😎

← Vorheriger Beitrag Nächster Beitrag →

4 Kommentare zu “ESP8266 Ferraris Stromzähler Auswertung”

  1. Dirk
    22. August 2018 um 09:41 Uhr

    Hallo, sehr interessanter Beitrag. Kann das Sensor-Modul direkt an den ESP8266 angeschlossen werden? Hast du eine fertige Bibliothek dazu verwendet oder eventuell den Quelltext freigegeben?

    Das erste Skript schreibt vermutlich einfach nur einen Timestamp mit einem inkrementierten Zähler in die Datenbank? Was machst du bei 404 Fehlern z.B. wegen Reconnect, oder sind die Fehler zu vernachlässigen?

    Antworten
    • philoepp
      24. August 2018 um 12:41 Uhr

      Hallo Dirk,
      ja das Modul ist quasi direkt an den ESP8266 angeschlossen, es handelt sich um einen 5V TTL Pegel, der einfach mit einem Spannungsteiler aus zwei Widerständen an einem GPIO vom ESP8266 hängt.

      Der ESP8266 berechnet direkt lokal aus der gemessenen Zeit pro Umlauf die aktuelle Leistung und übergibt diese an das Skript. Der Zeitstempel kommt von der Datenbank selbst dann. Die Datenbank und der Webserver laufen lokal auf meinem NAS (Synology) und sind dadurch quasi „immer“ zu erreichen. Allerdings hatte ich auch vorher als beides noch auf externem Webspace lag keinerlei Probleme bezüglich dem täglichen Reconnect. Dieser wird meistens ja Nachts vollzogen und zu dieser Uhrzeit ist die Leistungsaufnahme geringer, was längere Pausen zwischen den Pulsen zur Folge hat, was das Problem evtl. etwas weiter abschwächt.

      Den Quellcode habe ich nicht veröffentlicht und auch neben den Arduino Standardbibliotheken/ESP8266 nichts verwendet. Ich könnte dir den Code bei Bedarf zur Verfügung stellen, allerdings ist dieser vermutlich nicht sehr hübsch und noch weniger mit Kommentaren dokumentiert ????

      Antworten
  2. Matkus
    16. April 2019 um 20:52 Uhr

    Hallo,
    finde dein Projekt toll! Könntest Du mir kurz den Sourcecode zu senden `?

    Antworten
  3. Manuel
    5. Januar 2020 um 03:19 Uhr

    Hallo,
    ich würde mich auch über den Code als Basis für mich freuen.
    Vielen Dank 🙂

    Antworten

Schreibe einen Kommentar

Hier klicken, um das Antworten abzubrechen.

Felder die benötigt werden sind mit * markiert.
Nach oben!
3734
Impressum
Niedermeier.me
Ich bei Facebook
Diese Website verwendet Cookies. Indem Sie weiter auf dieser Website navigieren, ohne die Cookie-Einstellungen Ihres Internet Browsers zu ändern, stimmen Sie der Verwendung von Cookies zu. Akzeptieren Ablehnen
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Notwendige
immer aktiv

Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

Nicht notwendige

Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.