Gast
#6832596
Hallo, ich würde gerne die S0-Schnittstelle meines Stromzählers (ein Eltako) mit einem ESP32 (Sparkfun ESP32Thing) auslesen. Der Code ist denkbar einfach:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
Hardwareseitig ist das ganze auch sehr simpel: ich versorge S0+ mit den 5V vom ESP32-Board (kommt vom USB). S0- hängt am Eingangspin des ESP und ist mit einem internen Pulldown versehen (siehe Code). Leider zählt der ESP zu viele Pulse, d.h. pro Puls springt der Zähler um 1, 2 oder auch 3 nach oben. Mein erster Gedanke war natürlich, dass der Puls nicht sauber ist. Daher habe ich zuerst meinen Logic Analyzer mit dran gehängt, danach noch mein Oszi. Beide sind sich darin einig, dass der Puls bildhübsch ist. Da schwingt nichts, sowohl die steigende als auch die fallende Flanke sehen sehr ordentlich aus. Also sollte der ESP eigentlich nicht mehrere Flanken pro Puls sehen können... Hat noch Jemand Ideen/Erfahrungswerte? Woran könnte das liegen? Danke!