Hallo, ich nutze einen Arduino um externe interrupts zu erfassen. Sobal eine Pegeländerung an einem Input pin stattfidet soll ein Interrupt generiert werden. Diese triggern auf einen Flankenwechsel. Das funktioniert soweit auch ganz gut. Jetzt habe ich das ganze mal über mehrere Stunden laufen lassen und an die Inputs offene Leitungen gehangen. Und es wurden mehrere Interrupts im laufe der Zeit ausgelöst, obwohl dies nicht sein sollte. Meine Frage ist, woran könnte es liegen? Die INputs sind mit einem internen Pullup Widerstand versehen. Ist es möglich, das über die Leitungen solche Störungen eingefangen werden, die als Schaltschwelle ausreichen?
Hallo, der interne PullUp ist recht hochohmig (30-50k?). Damit fangen sich auch recht kurze Leitungen Störungen ein. Was soll an das Interrupt-Pin ran? Gruß aus Berlin Michael
Tim schrieb: > Die INputs sind mit einem internen Pullup Widerstand versehen. Ist es > möglich, das über die Leitungen solche Störungen eingefangen werden, die > als Schaltschwelle ausreichen? Ja, das ist es. Wenn du an so einen Pin eine (lange) Leitung anschleißen willst, dann schalte 1. einen niederohmigen Pullup (max 1kOhm) aussen dazu und 2. zusätzlich einen 100nF vom Pin nach GND. Dann dürfte (erst mal) Ruhe sein.
Wobei 100nF das Signal doch schon krass verzögern. 100pF wären besser, da insbesondere HF gefiltert werden sollte, oder?
Felix Adam schrieb: > Wobei 100nF das Signal doch schon krass verzögern. 100pF wären besser, > da insbesondere HF gefiltert werden sollte, oder? 1. Das hängt davon ab, wie schnell es sein soll und ob das schon "krass" ist. 2. Man muss ja nicht gleich um den Faktor 1000 kleiner werden. Es gibt auch Zwischenwerte ;-)) 100pF ist schon sehr wenig. Gruß Dietrich
Vermutlich wieder mal Tasten entprellen, die Millionste, da sind externe Interrupts eh der schlechteste und umständlichste Weg.
Felix Adam schrieb: > Wobei 100nF das Signal doch schon krass verzögern. Welches Signal? > 100pF wären besser, da insbesondere HF gefiltert werden sollte, oder? 100pF sind witzlos. Das hat ja schon das Kabel. Peter D. schrieb: > Tasten ... externe Interrupts eh der schlechteste und umständlichste Weg. Nicht nur dafür, sondern auch für "ganz normale" nicht prellende Sensorsignale. Oder andersrum: wer in seinem Programm für 8 Eingänge 8 externe Interrupts braucht, hat einen Fehler in der Struktur.
:
Bearbeitet durch Moderator
tau = 1k * 100nF = 100µs. Finde ich schon eine recht große Verzögerung. Wobei das natürlich nur eine Abschätzung ist, da es von der High-/Low-Erkennungsschwelle des µC abhängt. Und natürlich von der Anwendung. Aber dazu steht nichts im Eingangspost. Daher würde ich von "krass langsam" sprechen, um auf der sicheren Seite zu sein, falls der TE hier was flinkes anschließen will.
Ich danke euch für eure Antworten. Mir war es vor allem wichtig zu wissen, das hier wirklich über die Leitungen Störsignale eingefangen werden. In den nächsten Tagen kommt an diese Inputs nämlich noch eine Beschaltung, die den tollen nebeneffekt haben dürfte das solche Störungen ausgefiltert werden
Felix Adam schrieb: > Finde ich schon eine recht große Verzögerung Wofür? Für einen Temperaturschalter ist das z.B. komplett irrelevant. > Aber dazu steht nichts im Eingangspost. Exakt. Dort steht nur, dass eine "offene Leitung" angeschlossen ist und Probleme macht. Das ist das Problem und das soll gelöst werden. Mit den 100nF zusammen mit dem 1kOhm Widerstand macht eine offene Leitung sicher keine unnötigen Zappler mehr. Problem gelöst. > tau = 1k * 100nF = 100µs. So darfst du nicht rechnen. Du kennst die Impedanz der Quelle nicht...
Ist die Quellenimpedanz denn gegeben? Wie soll sonst eine Abschätzung erfolgen? Ist eine Frage der Sichtweise. Meine ist die beschriebene, deine ist eine andere. Ist halt so.
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.