Forum: Mikrocontroller und Digitale Elektronik ESP8266 - Anschlüsse


von Sigi (sigi-77)



Lesenswert?

Hallo Zusammen!

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.

Den S0 würde ich, wie im Projekt dargestellt so anschließen
https://esphome.io/cookbook/power_meter.html

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+?

Vielleicht könnte mir jemand einen Tipp geben.

VG
Sigi-77

: Bearbeitet durch User
von Helmut -. (dc3yc)


Lesenswert?

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.

von Sigi (sigi-77)


Lesenswert?

Hallo Helmut!

Danke für die Rückmeldung.

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?

VG
Sigi-77

von Steve van de Grens (roehrmond)


Lesenswert?

Sigi schrieb:
> Den PIN GND (Masse) kann ich also für beide 3,3V und 5V gleichzeitg
> verwenden, richtig?

Nicht kann, sondern muss. Anders geht es gar nicht.

Deine beiden Zeichnungen im Eröffnungsbeitrag stimmen nicht überein.

von Helmut -. (dc3yc)


Lesenswert?

Zum Suchen von Vielverbrauchern hilft auch, wenn man einzelne 
Sicherungen bei hohem Verbrauch abschaltet (so vorhanden). Geht 
schneller wie mit einem solchen Datenausleser.

Beitrag #7543644 wurde vom Autor gelöscht.
von Sebastian W. (wangnick)


Lesenswert?

Sigi schrieb:
> 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.

Sigi schrieb:
> Und. Ist ein 1k OHM ausreichend?

Dann fließen beim S0-Impuls maximal wieviel mA? Genau, 3,3mA. Alles 
suoer.

Sigi schrieb:
> 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.

LG, Sebastian

: Bearbeitet durch User
von Sigi (sigi-77)


Angehängte Dateien:

Lesenswert?

Hallo!

Vielen Dank für Eure Rückmeldungen!

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?

Vielen Dank!

VG
Sigi-77

von Rainer W. (rawi)


Lesenswert?

Sigi schrieb:
> 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.

: Bearbeitet durch User
von Sigi (sigi-77)


Angehängte Dateien:

Lesenswert?

Hallo zusammen!

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! :wink: 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

von Frank G. (frank_g53)


Lesenswert?

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.

https://esphome.io/components/sensor/pulse_counter.html?highlight=pulse:

... internal_filter (Optional, Time): If a pulse shorter than this time 
is detected, it’s discarded and no pulse is counted. Defaults to 
13us......


Für Erfassung meiner Gaszähler (ESP01S und Impulsabfrage über 
Reedkontakt) nutze ich in ESPHome dieses Script:
1
binary_sensor:
2
  - platform: gpio
3
    id: internal_pulse_counter1
4
    pin:
5
      number: GPIO0
6
      mode: INPUT_PULLUP
7
    name: "gas1_impuls"
8
    filters:
9
      - invert:
10
      - delayed_on: 10ms
11
    on_press:
12
      then:
13
        - lambda: id(gas1_total_pulses) += 1;

: Bearbeitet durch User
von Steve van de Grens (roehrmond)


Lesenswert?

Schreibe die gemessenen Pulsbreiten mit Zeitstempel irgendwie in eine 
Datei und analysiere sie.

Bist du sicher, dass dein ESP keine unerwarteten Neustarts nacht?

Ich denke, die 200er Sprünge sind die kleinste Schrittweite, die dein 
Apparat erfassen kann.

: Bearbeitet durch User
von Sigi (sigi-77)


Lesenswert?

Hallo Frank!

Vielen Dank für Deine Antwort!
Das ist schon mal ein ganz guter Hinweis.

Es handelt sich um folgenden Stromzähler:
ORNO OR-WE-520
https://www.bedienungsanleitu.ng/orno/or-we-520/anleitung?p=2

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.

Viele Grüße
Sigi-77

von Steve van de Grens (roehrmond)


Lesenswert?

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.

: Bearbeitet durch User
von Sigi (sigi-77)



Lesenswert?

Hallo Steve van de Grens!

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?

VG
Sigi-77

: Bearbeitet durch User
von Steve van de Grens (roehrmond)


Lesenswert?

Sigi schrieb:
> 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

> Und wenn ja, woran könnte das liegen?

Meistens an schlechter Stromversorgung.

Sigi schrieb:
> 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, ich kenne deine Software nicht.

: Bearbeitet durch User
Beitrag #7576068 wurde vom Autor gelöscht.
von Sigi (sigi-77)


Lesenswert?

Steve van de Grens schrieb:
> 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.

Steve van de Grens schrieb:
> Meistens an schlechter Stromversorgung.

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.

Steve van de Grens schrieb:
> Keine Ahnung, ich kenne deine Software nicht.

"Software" ist Home Assistant - Die Serversoftware läuft über meine 
Synology DiskStation.

Und der ESP ist mit ESP-Home geflasht!

von Frank G. (frank_g53)


Lesenswert?

Steve van de Grens schrieb:
> Welche Pulsbreiten wurden denn in dem Moment
> gemessen? Versuche das herauszufinden.

Das könnte man mit diesem ESP-Home Sensor feststellen:
https://esphome.io/components/sensor/pulse_width.html?highlight=pulse

Sigi schrieb:
> 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.

von Sigi (sigi-77)


Lesenswert?

Hallo zusammen!

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.

VG
Sigi-77

von Steve van de Grens (roehrmond)


Lesenswert?

Sigi schrieb:
> 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.

: Bearbeitet durch User
von Sigi (sigi-77)


Angehängte Dateien:

Lesenswert?

Hallo!

Meintest Du dann, den Anschluss so wie in dieser Skizze?

VG Sigi-77

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.