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?
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.
:
Bearbeitet durch User
>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.
OP schrieb: > da Software-Entprellung zu viel Speicher verbraucht. Dazu braucht man einen Zähler, also 1 Byte. Gruss Reinhard
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.
:
Bearbeitet durch User
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.