www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Entprellen externer Interrupt


Autor: Daniel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe ein analoges Signal über eine Schmitt-Trigger digitalisiert und 
an den externen INT0 eines MEGA32 angeschlossen.
In der ISR toggle ich dann einen Ausgang.

Oszi-Screeenshot in der Anlage:
CH1(gelb) : analoges Signal
CH2(grün) : Output Schmitt-Trigger
CH4(rosa) : getoggelter Ausgang

Folgendes Problem:

Der INT0 ist für steigende Flanke konfiguriert. Anscheinend wird aber 
auch bei fallender Flanke (und auch manchmal im HIGH-Level), ein INT 
ausgelöst.

Für mich schaut das so aus, als würde die fallende Flanke prellen?!

Wie kriege ich den Schmitt-Trigger Output am besten "geglättet"?
Einfach einen Kondensator?

Grüße
Daniel

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schalte den Interrupt in der ISR ab und starte einen Timer.  Wenn der
Timer abläuft, wird er reaktiviert.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, das wäre ne Lösung!
Mir wäre aber ein "sauberes" Signal lieber ;)

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst Du denn herausbekommen, wie lange Dein Signal noch prellt?

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast doch schon einen Schmitt-Trigger. Sowas sollte doch eigentlich 
nicht prellen. Das einzige was ich mir vorstellen könnte wären Peaks auf 
dem Analogsignal die größer sind als die Hysterese. Ich würd's mal mit 
nem Tiefpass auf dem Analogsignal probieren. Oder einfach mal die 
Zeitauflösung am Oszi vergrößern und schauen ob du dort was siehst.

Sebastian

Autor: Matthias Kölling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für mich sieht das nicht nach einem Schmitt-Trigger aus. Er schaltet, so 
weit man das optisch auflösen kann, immer bei gleichen Pegeln ein und 
aus. Da fehlt mir die Hysterese. Außerdem kommen Deine Interrupts 
(getoggelter Ausgang) zu regelmäßig bei steigender und fallender Flanke. 
Das sieht mir eher so aus, als wenn Du auf beide Flanken reagierst oder 
Du hast auf Pegel eingestellt.
Wenn Du einen Interrupt entprellen willst, kannst Du den Pin gleich 
pollen.

Gruß Matthias

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder ein RC-Glied und ein Gatter.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ups...musste grad feststellen, dass der Fehler an einem flasch 
konfiguriertem PIN lag!

Trotzdem Danke!

Daniel

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.