Forum: Mikrocontroller und Digitale Elektronik ungewolltes auslösen von Interrupts


von Tim (Gast)


Lesenswert?

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?

von Michael U. (amiga)


Lesenswert?

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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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.

von Felix Adam (Gast)


Lesenswert?

Wobei 100nF das Signal doch schon krass verzögern. 100pF wären besser, 
da insbesondere HF gefiltert werden sollte, oder?

von Dietrich L. (dietrichl)


Lesenswert?

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

von Peter D. (peda)


Lesenswert?

Vermutlich wieder mal Tasten entprellen, die Millionste, da sind externe 
Interrupts eh der schlechteste und umständlichste Weg.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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
von Felix Adam (Gast)


Lesenswert?

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.

von Tim (Gast)


Lesenswert?

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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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...

von Felix Adam (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.