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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren