Ich bin ziemlich neu auf dem Gebiet der Mikrocontrollertechnik und möchte meinen Stromzähler mit S0 über Home Assistant "smart" machen.
Hab dazu schon im Internet in einigen Foren gesucht und auch schon einiges gefunden.
Ich habe mir einen AZ-Delivery D1 mini ESP8266 µc zugelegt. Bereits ein Gehäuse im 3D-Drucker gedruckt und nun möchte ich alles verkabeln, verlöten und anschließen.
Jetzt stehe ich aber aktuell grad vor einem Problem, bzw. hab ich vermutlich einen "Denkfehler".
Ich möchte den ESP über ein 5V Netzteil mit Spannung versorgen.
Also Anschlüsse auf 5V und GND.
Stromversorgung möchte ich nicht über Micro-USB sondern dirket über die PINs 5V und GND herstellen.
Der S0 soll aber, wie in anderen darstellungen, über den 3,3V Port laufen.
Ich habe aber nur einen GND-Anschluss.
Jetzt stehe ich aber vor dem Problem.
Ich kann doch den GND vom 5V-Netzteil nicht zusammen mit dem GND vom 3,3V S0 anschließen, oder?
Aber woher bekomme ich dann die unterschiedlichen GND?
Und. Ist ein 1k OHM ausreichend?
Und. Wird der S0- am GND angeschlossen oder am 3,3V+?
Bevor du solch komplizierte Schaltungen aufbaust, solltest du dir vielleicht erst mal ein Kompendium über Elektronikgrundlagen reinziehen. Gibt doch genug. Auch hier in der Artikelübersicht.
p.s. GND bedeutet deswegen GROUND, weil sich alle Signal (mit wenigen Ausnahmen) auf dieses Potential beziehen.
Ja. Ich weiß.
Bzgl. Kompendium-Elektronikgrundlagen.
Das habe ich auch vor. Vlt. finde ich über die Weihnachtszeit mal ein paar ruhige Minuten um mich mit diesem Thema intensiver zu beschäftigen.
Ist ja grundsätzlich mega interessant was man da alles "basteln" kann.
Aber.
Diese Projekt müsste ich relativ "kurzfristig" und mit "Schritt für Schritt" Anleitung angehen, da ich einen sehr hohen Stromverbraucher in meinem Haus suche. Und nun hoffe ich, dass über das Auslesen und Tracken der Stromverbrauchsmengen und -zeiten evtl. dem Verursacher etwas näher auf die Spur komme.
Kurzum.
Den PIN GND (Masse) kann ich also für beide 3,3V und 5V gleichzeitg verwenden, richtig?
Zum Suchen von Vielverbrauchern hilft auch, wenn man einzelne Sicherungen bei hohem Verbrauch abschaltet (so vorhanden). Geht schneller wie mit einem solchen Datenausleser.
Ich kann doch den GND vom 5V-Netzteil nicht zusammen mit dem GND vom
3,3V S0 anschließen, oder?
Doch. Muss sogar. Die S0-Schnittstelle hat im Zähler keine Spannung und kein Potential; du versorgst sie mit Spannung. Und auf deinem Wemos ist dein 3V3-GND genau dasselbe wie dein 5V-GND.
Und. Wird der S0- am GND angeschlossen oder am 3,3V+?
Das Potential von S0+ muss über dem von S0- liegen. Also am besten S0- an GND, und S0+ an deinen Eingangsport (vielleicht noch über einen 1k-Angstwiderstand) und über 1k an VCC, wie in deiner Zeichnung.
https://de.m.wikipedia.org/wiki/S0-Schnittstelle sagt zwar, dass die Mindestspannung an der S0-Schnittstelle 5V sein sollen. Es wird aber wohl fast immer auch mit 3V3 gehen. Versuch macht kluch.
Ich hab jetzt mal versucht, die Erklärung von Sebastian in eine "Art" Anschlussplan umzusetzen.
Habe ich das richtig verstanden, dass ich evtl. einen 2. Widerstand zwischen S0+ vom Zähler und Eingangspin (im Beispiel D7) am ESP einbauen soll?
Nur zum Verständnis?
Was ist der Sinn dieses Widerstands wenn Sebastian schreibt "Angstwiderstand"?
Und was könnte passieren, wenn ich diesen Widerstand nicht einbaue?
Könntet Ihr mir bestätigen, dass ich mit meinem Plan so richtig liege?
Was ist der Sinn dieses Widerstands wenn Sebastian schreibt
"Angstwiderstand"?
Ein echter "Angstwiderstand" lässt dich ruhiger schlafen, ist aber für die ordentliche Funktion der Schaltung völlig belanglos.
Und was könnte passieren, wenn ich diesen Widerstand nicht einbaue?
Miss nach. Bau ihn ein und wenn über dem Widerstand eine nennenswerte Spannung abfällt, würde Böses passieren, falls du ihn weg lässt. In den Eingang sollte kein Strom fließen (von Transienten abgesehen).
Während der Softwareentwicklung verhindert er, falls du D7 versehentlich als Ausgang konfigurierst, dass sich der D7-Ausgang und der S0-Ausgang bösartig begegnen - es darf auf einem Netz, abgesehen von wenigen Ausnahmen, nur einen aktiven Ausgang geben.
Zuerst wünsche ich Euch noch ein gutes und gesundes neues Jahr!
Ich habe meinen "ESP8266" inzwischen testweise eingebaut und auch schon einige Zeit in HomeAssistant laufen.
Leider habe ich ein paar Probleme beim Auslesen.
Diesen Post habe ich auch schon in HA-Foren usw. gepostet. Leider noch keine Rückmeldung ehralten. Deshalb versuch ich mein Glück mal hier.
Ich habe ein neues Projekt gestartet und möchte meine Stromimpulse mit einem Energiezähler und einer S0-Schnittstelle zählen.
Mein Energiezähler ist folgendes Modell: ORNO OR-WE-520 mit 800 Imp/kWh
Ich verwende einen AZDelivery D1 Mini NodeMcu ESP8266
In den letzten Tagen und Wochen habe ich mich ein bisschen im WWW umgeschaut und auch 1-2 Youtube-Videos von Simon verfolgt.
Auch in div. Community habe ich mich bereits rumgetriebe und habe meine Verkabelung gem. dieses Schemas durchgeführt. (s. angehängte Grafik)
Danach habe ich mit folgendem YAML-Code die Integration in Home Assistant gestartet.
(Zur Info. Ich habe keine Ahnung von YAML-Codierung und habe einfach einige gesammelte Codes zusammen in ein Skript kopiert! 😉 Und versuchte, einige Parameter entsprechend meinen Anforderungen anzupassen).
1
esphome:
2
name: esphome-web-106a47
3
friendly_name: ESP-Counter-Test
4
comment: Stromzaehler-Test-01
5
6
esp8266:
7
board: esp01_1m
8
9
wifi:
10
ssid: !secret wifi_ssid
11
password: !secret wifi_password
12
13
# Enable fallback hotspot (captive portal) in case wifi connection fails
14
ap:
15
ssid: "XXX"
16
password: "XXX"
17
18
captive_portal:
19
20
# Enable logging
21
logger:
22
23
# Enable Home Assistant API
24
api:
25
encryption:
26
key: "XXX"
27
28
ota:
29
30
sensor:
31
- platform: pulse_counter
32
pin: GPIO13
33
id: t1
34
unit_of_measurement: 'W'
35
accuracy_decimals: 2
36
name: 'ESP-Stromzähler-Test'
37
update_interval: 20s
38
filters:
39
- multiply: 75
40
# - multiply: 0.75 gives kW
41
total:
42
unit_of_measurement: 'kWh'
43
accuracy_decimals: 1
44
name: 'ESP Stromzähler Test Total'
45
id: t1_total
46
filters:
47
- multiply: 0.001
Zuerst dachte ich, dass das ESP gut funktioniert.
Aber. Nach einigen Stunden habe ich die Grafik im Home Assistant überprüft und sie sieht aus wie auf den folgenden Screenshots. (s. angehängte Grafik)
Wie man sehen kann, gibt es in den Grafiken einige „Peaks“.
Ein “Peak” hat sogar maximal 66 kW! (Die Grafik ist schon ein paar Tage alt und inzwischen gab es schon mehrere, solcher Peaks)
Technisch gesehen kann das aber eigentlich gar nicht sein.
(s. angehängte Grafik)
Einige gemessene Punkte beginnen bei 0 W bis etwa 200 W
Einige Punkte beginnen bei 200 W bis 400 W
Einige Punkte beginnen bei 400 W bis 600 W
Das ist sehr verwirrend. (s. angehängte Datei)
Jetzt stellen sich mir einige Fragen.
Warum gibt es einige Spitzen Sie eine Idee, warum es einige Spitzen gibt?
Ist der YAML-Code korrekt?
Ist die Verkabelung korrekt?
Haben Sie Tipps für einen Home Assistant- und ESP-Neuling?
Insgesamt habe ich 6 Energiezähler, die ich irgendwann einzeln mit ESP8266 und Home Assistant (ESP Homoe) auszählen möchte.
Außerdem auch noch die Idee, einen Wasserzähler auszulesen.
Aber zuerst möchte ich es mit diesem ESP-Test-Counter versuchen. Und wenn das funktioniert, kann ich noch einen Schritt weiter gehen und mich an die anderen Projekte wagen. :zwinker: -
Im Voraus vielen Dank für eure Antworten und Tipps!
Sigi-77
Du könntest in ESP-Home(Homeassistant) noch den Filter ergänzen:
Nur Pulse mit gültiger Länge zulassen.
Vielleicht steht zur Pulslänge was im Datenblatt des Stromzählers.
Laut Anleitung beträgt die Impulslänge 90ms (modular).
Das heißt, mein Code würde dann so aussehen?
1
binary_sensor:
2
3
-platform:gpio
4
id:internal_pulse_counter1
5
6
pin:
7
number:GPIO13
8
mode:INPUT_PULLUP
9
name:"strom_impulse"
10
11
filters:
12
-invert:
13
-delayed_on:90ms
14
on_press:
15
then:
16
-lambda:id(strom_impulse)+=1;
Sorry!
Bin noch nicht so "tief" in der Thematik!
Und noch zu meinem Verständnis?
Woher kommen diese Peaks?
Sind das Fehler beim Lesen durch den ESP?
Oder Fehler beim Erzeugen der Impulse durch den Zähler?
Oder durch Störeinflüsse von außen? - Aktuell verwende ich "noch" kein geschirmtes, 2adriges Kabel für den S0 zum ESP Anschluss.
Das letzte Diagramm "Verlauf" sieht jedenfalls plausibel aus, mit Ausnahme von 12:30. Welche Pulsbreiten wurden denn in dem Moment gemessen? Versuche das herauszufinden. Leider zeigen die meisten anderen Diagramme diesen Zeitraum nicht.
Ich hab jetzt nochmal einen aktuellen Auszug (von heute) erstellt.
Da sieht man um 10:42 Uhr und um 12:19 Uhr wieder solche "Peaks".
Hab den Wert um 10:42 Uhr mal nochmal etwas genauer herausgezogen.
(s. Screenshots)
Du meinst also, dass mein ESP immer wieder "Neustarts" macht?
Kann ich das über ein Protokolldatei nachvollziehen?
Und wenn ja, woran könnte das liegen?
Könnte das evtl. mit dem WLAN-Signal zusammenhängen?
Aber ich dachte, der ESP schreibt das dann trotzdem mit und überträgt es einfach, sobald das Signal wieder da bzw. besser wäre?
Du meinst also, dass mein ESP immer wieder "Neustarts" macht?
Vielleicht.
Kann ich das über ein Protokolldatei nachvollziehen?
Keine Ahnung ob und wir deine Software das protokolliert. Vielleicht kannst du am seriellen Port die Bootmeldungen aufzeichnen. Oder die Software zeigt dir ihre "uptime" seit dem letzten Start an
Könnte das evtl. mit dem WLAN-Signal zusammenhängen?
Aber ich dachte, der ESP schreibt das dann trotzdem mit und überträgt es
einfach, sobald das Signal wieder da bzw. besser wäre?
Keine Ahnung ob und wir deine Software das protokolliert. Vielleicht
kannst du am seriellen Port die Bootmeldungen aufzeichnen. Oder die
Software zeigt dir ihre "uptime" seit dem letzten Start an
Ok. Muss ich mal nachsehen, ob es hier irgendwelche Protokolle dazu gibt.
Versorgung läuft aktuell "noch" über ein Netzteil in der Steckdose mit USB-Micro-Anschluss. Da noch Probebetrieb.
Soll dann aber über ein fest verdrahtes Netzteil im Verteilerschrank versorgt werden.
Woher kommen diese Peaks?
Sind das Fehler beim Lesen durch den ESP?
Oder Fehler beim Erzeugen der Impulse durch den Zähler?
Oder durch Störeinflüsse von außen?
Schwierig zu beantworten, es gibt zig Gründe.
Direkt am ESP messen, falls möglich.
Die Peaks versuchen zu erzeugen: Licht ein/ausschalten, an den Kabeln wackeln,... und gucken was passiert.
Hatte bisweilen leider noch nicht die Zeit, Eure Tipps umzusetzen.
Aber.
Ich konnte jetzt zumindest einen Teil der Peaks reproduzieren.
Wie bereits beschrieben, versorge ich das ESP-Modul (vorerst nocht zu Testzwecken) über ein USB-Steckernetzteil.
Dieses ist in einer Steckdose (Feuchtraumdose Busch Jäger Ocean IP44 mit kombiniertem Lichtschalter) eingesteckt.
Jetzt konnte ich schon beobachten, dass diese Peaks erscheinen, wenn ich den Lichtschalter betätige. (Der Lichtschalter schaltet das Licht von 3 Feuchtraum-Leuchtstoffröhren-Lampen ein).
Also vermute ich, dass der Einschaltstrom diese Peaks erzeugt.
Ist das nachvollziehbar?
Liegt das am Steckdosen-Netzteil oder kann das auch später, bei Festinstallation im Verteilerkasten, auftreten?
Kann man die irgendwie rausfiltern?
Ich möchte den ESP zwar später festverkabelt über das Netzteil im Schaltschrank betreiben, aber dieses Netzteil wird mir erst ein befreundeter Elektriker einbauen. Und auch erst dann, wenn er mal Zeit findet.
Ist das nachvollziehbar?
Liegt das am Steckdosen-Netzteil oder kann das auch später, bei
Festinstallation im Verteilerkasten, auftreten?
Jede Leitung ist eine Antenne. Bei Schaltvorgängen strahlen Leitungen elektromagnetische Impulse aus. Andere Leitungen empfangen diese Impulse. Mit einem alten Radio (Mittelwellen- oder Kurzwellen- Empfänger) kannst du die Impulse hörbar machen. Ein Oszilloskop macht sie sichtbar.
Kann man die irgendwie rausfiltern?
Wenn deine Software die Impulsbreite auswertet, würde ich abgeschirmte Kabel zwischen ESP und Stromzähler verwenden. Vermutlich trifft das nicht zu.
Wenn die Impulsbreite ruhig etwas verändert werden darf, dann tut es ein einfacher Tiefpass. In deinem Fall zusätzlich ein 100nF Kondensator vom Eingang D7 des ESP nach GND.
Eine eigene Frage?
Dieser Thread ist über 2 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.