Mit RC-Tiefpass entprellen

Gast #3421489
Lesenswert?
• ▲
▼
Hallo,

ich habe in einer Schaltung einen Taster mit Pull-up Widerstand, so dass 
am Prozessor Pin low anliegt, wenn der Taster gedrückt ist. Natürlich 
muss dieser entprellt werden, und das soll über ein RC-Tiefpass 
geschehen, da Software-Entprellung zu viel Speicher verbraucht.

Jetzt habe ich mit dem Oszi die min. Zeit gemessen. Das heißt, sollte 
das Signal länger als diese Mindestzeit low sein, ist der Taster auf 
jeden Fall gedrückt. Und die Frage ist jetzt:
Wie muss ich die Zeitkonstante vom RC-Tiefpass wählen, damit das Signal 
wirklich erst dann nach dieser Zeit low ist?
#3421513
Lesenswert?
• ▲
▼
Ich würde einfach einen Kondensator parallel zum Taster schalten und die 
Zeitkonstante so berechnen, dass dich der Kondensator in der Prellzeit 
nicht über die Schwelle des Eingangs laden kann. Das Signal geht sofort 
auf low, während des Prellens aber nicht mehr auf high, da sich der 
Kondensator in dieser Zeit nicht bis auf die Schaltschwelle laden kann. 
Auf high geht der Eingang erst, wenn sich wer kondensator noch dem 
letztem Prellen beim Loslassen der Taste auf die Schaltschwelle geladen 
hat.
Das würde dann so aussehen: 
http://blog.cc-robotics.de/wp-content/uploads/2007/03/entprell.png


OP schrieb:
> da Software-Entprellung zu viel Speicher verbraucht.
Wie viel ist zu viel?
Ich realisiere die Soft-Entprellung immer mit Flankenerkennung in einem 
Timer Interrupt. Ich brauche 3 Byte RAM und brauche nur für die 
Flankenerkennung 7 ASM-Befehle für einen gesamten Port.
Gast #3421543
Lesenswert?
• ▲
▼
>Ich würde einfach einen Kondensator parallel zum Taster schalten...

Nein! Damit wird der Kondensator direkt mit dem Taster kurzgeschlossen.
Auch bei kleinen Cs fließen große Spitzenströme und die Kontakte werden 
sich freuen.


> da Software-Entprellung zu viel Speicher verbraucht.
Naja, sooo viel ist es ja nicht.
Ich mache es momentan mit einer Abfrage und einer Zeitscheibe, die es 
schon gibt. (Ich weiß, ist nicht optimal)
Funktioniert mit drei Tastern problemlos.
#3421825
Lesenswert?
• ▲
▼
Bastler schrieb:
> Auch bei kleinen Cs fließen große Spitzenströme und die Kontakte werden
> sich freuen.

Dann kommt noch ein Widerstand der in Serie zum Kondensator. Man muss 
bei der Berechnung von R und C den Spannungsabfall auf diesem Widerstand 
miteinberechnen.

Bei z.B. einem 100 Ohm Widerstand wir der Strom auf 50mA begrenzt. Bei 
einem PullUp von 10k dürfte der Abfall an Widerstand wenig bis einen 
vernachlässigbaren Einfluss haben.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.