Hallo,
ich habe bisher über 2 GPIOs die S0-Schnittstelle von zwei Elektrozählern über Python3 per Polling ausgelesen. Klappt ganz gut, Fehler etwa 0,5%. Jetzt habe ich das gleiche "professioneller" über Interrupt versucht. Die Werte liegen vollständig daneben. Sie "schwanken" zwar im richtigen Rythmus, liegen aber um den Faktor 100 zu hoch.
Ich habe in beiden Fällen einen 1K Pull_Up-Widerstand, eine 3m bzw. 10m Leitung. Beim Interrupt habe ich wahlweise per Software zusätzlich den Pull_Up eingeschaltet oder nicht - das ändert nichts.
Code
def PVAuslesen(PVKanal):
global ZaehlerstandINTPV
ZaehlerstandINTPV = ZaehlerstandINTPV + 1
.
.
.
GPIO.setup(PVEingang, GPIO.IN)
GPIO.add_event_detect(PVEingang, GPIO.RISING, callback=PVAuslesen)
.
.
Entsprechendes für 2. Zähler.
Woran kann das liegen (Elektronik-dummy)?