Taster entprellen: µC oder Schaltung

Hallo Elektronik-Gurus,

bei meinem Testaufbau mit einem AtMega32 prellen die Taster deutlich.

Im WWW habe ich verschiedene einfache bis recht komplexe Vorschläge gefunden, was man dagegen tun kann.

Was haltet Ihr von "Softwarelösungen"? Der µC wird sich in meiner Anwendung sowieso total langweilen, Performance ist also gegeben.

Was wäre eine einfache Lösung als Schaltung?

Vielen Dank und viele Grüße

HaPa

Reply to
Hans-Paul Hoppel
Loading thread data ...

Wenn sowieso schon ein Microcontroller vorhanden ist, spricht praktisch NICHTS für eine Hardwarelösung...

Hergen

Reply to
Hergen Lehmann

Hans-Paul Hoppel schrieb:

Funtioniert ganz gut wenn man's richtig macht. Keine Matrixtastatur hat m.W. irgendeine Entprellung per Hardware und funktioniert bestens.

Du musst eben prüfen, ob, der Zustand mindestens für x msec stabil ist. Wie Du das genau machst, ist eigentlich egal. Man sollte es möglichst in definiertem Zeitraster ablaufen lassen, damit z.B. ein verkürzter Umlauf der Hauptprogramms nicht zu Fehlinterpretationen führt.

Widerstand + Taster (+EMV-Beschaltung bei entferntem Kontakt oder kritischem Umfeld)

- Udo

Reply to
Udo Piechottka

Benötigt typisch

  • Speicher, typisch 1 Byte RAM pro Taste ( soweit es keine Matrix ist )
  • eine Zeitsteuerung ( "Tick" ) die dafür sorgt daß die Routine alle 1msec oder 100usec durchlaufen wird. Prellzeit ist für schlechte Knachfrösche ca. 40msec max. Für ein Seriengerät wird das immer die übliche Lösung sein.

Bei sehr simpler Software kanns auch einfacher gehen. Für ein Einzelgerät kann ansonsten der schon genannten RC-Tiefpaß angemessen sein.

MfG JRD

Reply to
Rafael Deliano

Ich hab' noch nie Verstanden, warum die Leute überhaupt aufwändige Entprell-Lösungen basteln..

Wenn man die Taster in einem vernünftigen Zeitabstand (z.B. alle 50ms im Timer-Interrupt) abfragt, kann man den Zustand direkt verarbeiten, ohne irgendwelche Probleme zu haben. Schneller kann man einen Taster ohnehin nicht betätigen, und 50ms sind noch keine merkbare Verzögerung..

--
Thomas Kindler
Reply to
Thomas Kindler

Thomas Kindler schrieb:

Hallo,

und wenn man sich so etliche Geräte anschaut die mit Software die Tasten entprellen und die dann nach einiger Zeit doch prellen weil die Kontakte korrodiert und schon etwas abgenutzt sind und die Software mit der längeren Prellzeit nicht mehr sicher zurechtkommt wünscht man sich doch Entprell-Lösungen die über die gesamte Lebensdauer des Gerätes sicher funktionieren. Besonders nett wird es wenn durch ein bis 4-maliges Drücken der Zifferntasten Zahlen und Buchstaben halbwegs fehlerfrei eingegeben werden sollen.

Bye

Reply to
Uwe Hercksen

Uwe Hercksen schrieb:

Der TI-30 war so ein tolles Gerät :)

Bernd

Reply to
Bernd Laengerich

Hans-Paul Hoppelschrieb: "

Funktioniert sehr gut, wenn es richtig gemacht ist.

Widerstand und Kondensator. Anstiegs- und Abfallzeiten beachten! Evtl. Schmittrigger verwenden.

Dirk

Reply to
Dirk Ruth

Hans-Paul Hoppel schrieb:

[...]

Taster mit Umschaltkontakten.

*duck*

Ingo

Reply to
ingo.braune

Einfach nur selten genug abfragen, dann kriegst Du das Prellen nicht mit. Alle 50-100ms reicht immer.

Was wird denn so vorgeschlagen?

Du hast doch einen Prozessor. Also benutz ihn auch.

Reply to
walter

Dirk Ruth schrieb:

Wie sollen R,C und Taster verschaltet sein?

UP

Reply to
Udo Piechottka

R,C als Tiefpass hinter dem Taster.

formatting link

Schmitt-Trigger kennt Wikipedia natürlich auch:

formatting link

------

Reply to
Kai-Martin Knaak

Intelligente Lösungen benötigen zwei Bits pro Taste.

Jepp, eine "Zeitkonstante" in irgendeiner Form braucht man schon, da führt kein Weg dran vorbei. Das gilt natürlich auch für eine Hardwarelösung. Bei der Softwarelösung kommt man allerdings mit einer einzigen "Zeitkonstante" für alle Taster aus und kann diese obendrein oft mit anderen Anwendungsteilen "sharen". Display-Mux z.B. paßt oft sehr gut mit Tastaturabfragen zusammen, teilweise (mit Matrix-Tastaturen) lassen sich sogar Ports sharen und nicht nur der Timer.

Reply to
Heiko Nocon

Der Taster kann ja dann nur plusseitig liegen und über den Widerstand den Kondensator aufladen. Wer entlädt den Kondensator wieder? Oder braucht man dafür jetzt eine Umtaster?

UP

Reply to
Udo Piechottka

Die bisherigen Antworten auf Deine Anfrage sind Unsinn. RC-Glied, komplizierte Software, etc ist alles Unfug.

Ein simpler Taster mit Pull-Up und Abfrage weit seltener als die Prellzeit reicht immer aus. Kein Taster prellt länger als 50ms und das ist dann die minimale Zeit zwischen Abfragen. Nimm einfach einen Input- Port und lies das Bit direkt ein. Tastenmatrix funktioniert ebenfalls nach dem Prinzip langsam abfragen.

Reply to
walter

-+- 5V | R1 | +---R2----+--- | | Switch C1 | | GND GND

Die Zeitkonstante ist halt etwas unsymmetrisch weil R1 und der Taster ( 0 Ohm wenn geschaltet ) unterschiedlichen Widerstand haben.

MfG JRD

Reply to
Rafael Deliano

Meine "dumme" Lösung sieht so aus:

formatting link
( stammt aus Heft 2 der Zeitschrift, kostenpflichtig ) TASTE# ist die Variable im RAM, THRES ist die Sättigungskonstante Bei der Softwarelösung Die oben dargestellte Lösung ist für eine Zeitsteuerung der ganzen Applikation wie sie in dem Heft ausführlich dargestellt ist: die Unterprogramme werden häufig durchlaufen und sie sollen deshalb kurz sein. Und sie sollen standardisiert und isoliert sein um die Erstellung der Software zu vereinfachen. Es hängt also wohl auch von den Randbedingungen ab wie die Entprellung von Tasten in einer Applikation erfolgt.

MfG JRD

Reply to
Rafael Deliano

Udo Piechottkaschrieb: "

Im einfachsten Fall:

.-.-.-.-.-.-. | . | /|\ . | | .-. . | | | | | .---------. . '-' | | ___ | | | -- | .----|___|-----o--------.------o-------+ // | | | | | -- | -\--o --- . | | \ --- | | | \. | . | | o | | '---------' | | . | | .-.-.-.-.-.-. === === GND GND (created by AACircuit v1.28.6 beta 04/19/05

formatting link

Gibt aber verschiedene Möglichkeiten. Hängt davon ab, ob man eher in Richtung eigensicher, oder Strom sparend usw. gehen möchte.

Dirk

Reply to
Dirk Ruth

Hängt sicher vom Anwendunsfall ab. Bei 50ms-Abfragen, muss die Taste schon 100ms gedrückt sein. Für eine Maustaste, oder für jemanden, der

600 Anschläge auf einer Tastatur macht, ist das schon sehr knapp.

Dirk

Reply to
Dirk Ruth

Da fehlt der Realname.

Höflichkeit und Sachverstand korrelieren häufig.

Ja, hat zwei Macken:

  • die von mir im pdf angegebenen Werte Prellzeit 10msec für typische Taste und 40msec für schlechte Taste sind Datenblattangaben. Da ist keine Alterung und keine veränderten Testbedingungen ( andere Andruckkraft, Geschwindigkeit des Tastendrucks, anderer Winkel ) berücksichtigt. Literaturangaben zur Dauer Tastendruck sind 100 - 1000msec. D.h. beide Werte variieren stark und liegen nicht weit auseinander.
  • wenn man langsam abtastet hat man entsprechend verzögerte Reaktion auf Tastendruck was oft unerwünscht ist.

MfG JRD

Reply to
Rafael Deliano

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.