Hallo Forum! Ich habe ein Problem mit dem S0 Signal. Als Hardware verwende ich einen ESP8266 wo ich einen Eingang als ext.Interrupt konfiguriert habe. (int.Pullup ist auch aktiv) Das S0 Signal kommt von einem SDM630 Zähler, dass mir den Pegel vom Eingang auf 0 zieht. Am Oszi sieht das Signal sehr gut aus, aber der ESP zählt manchmal mehr als was es wirklich ist. Der Interrupt reagiert auf die steigende Flanke und zählt eine Variable um eins hoch --> S0++; Mir kommt es vor als würde das S0 Signal prellen, aber laut Scope ist es nicht so. Soll ich noch ein RC Glied einbauen? Was sagt ihr dazu? PS: Bei einem anderen S0 Zähler ist das gleiche. Danke!
So irrwitzig schnell ist S0 nicht, als daß Du dafür eine flankeninterruptgesteuerte Auswertung bräuchtest. Stattdessen kannst Du das Signal gemütlich im Timerinterrupt (den man ja auf den meisten Systemen eh' hat) pollen, und nicht Flanken, sondern Pegel auswerten. Mit einem 1-kHz-Timerinterrupt bist Du mehr als schnell genug, um die mindestens 30 msec langen Halbwellen der Impulse sauber erkennen zu können.
Vorausgesetzt, daß die Flanken sauber genug sind. Sofern es eine Zeitquelle gibt (d.h. einen Timerinterrupt o.ä., der einen Ticks-Wert inkrementiert), kann im Interrupthandler geprüft werden, wie lange es her ist, daß er das letzte Mal aufgerufen wurde, und bei Zeiten unter 60 msec keine weitere Aktion auslösen).
:
Bearbeitet durch User
Hallo, wie lang ist dein Kabel zum Zähler? Die internen Pullups sind i.d.R. recht groß so das man sich schnell Störungen einfängt, dann lieber extern einen mit ein paar kOhm anschließen. Sascha
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.