elektronische Tastenentprellung (zB beim Pollinboard)

dino03

Aktives Mitglied
27. Okt. 2008
6.760
20
38
Sprachen
  1. BascomAVR
  2. Assembler
Hallo zusammen,

da hier öfters das Thema Tastenentprellung kommt und manche wohl gerne das Beispieldesign vom Pollin-Evalboard nehmen hab ich mir das mal im Detail angesehen. Vor allem weil es immer wieder Probleme mit diesem Design gibt. Unter anderem steht auch bei mikrocontroller.net ne Menge mit Problemen darüber drin. Also hab ich das Ding mal vergleichbar auf einem Steckbrett nachgebaut.

Hier mal ein Foto und der Schaltplan.
Pollin_Entprellung.jpg Pollin.png
Ich hab die Betriebsspannung also über einen 120µF/10V und einen 100nF gesiebt. Der Abgriff von Speicheroszi (DSO) Kanal 2 liegt direkt an der Einspeisung der 5V. Die Siebung ist also zwischen Taster mit Entprellung und der Einspeisung mit dem DSO-Kanal2. Die Siebung sollte also halbwegs sieben/puffern können. OK die Boards haben teilweise Übergangswiderstände. Rechen wir das mal mit ein.

Nun zu den Ergebnissen des Tests :

Das erste Bild. Der Taster ist noch funkelnagelneu.
Pollin_DSO1.PNG
man sieht das er nach GND schaltet und den Kondensator dabei auflädt. Man sieht unten bei der blauen Kurve (Kanal 2 = Vcc) auch einen Einbruch von 5V auf etwa 2,5V. Das ist schon echt heftig.
Hier ist die Zeitablenkung noch etwas "grob". DDanach hab ich sie höher gedreht.

Das zweite Bild. Es wurden schon einige Tastendrücke ausgeführt.
Pollin_DSO2.PNG
Der Kontakt hat schon etwas durch die Ladeströme gelitten. Man sieht schon einige kurze Impulse. Durch den 22k wird der Kondensator in den nichtleitenden Phasen des Kontaktprellens immer wieder etwas entladen. Die Ladephase dauert also länger und die Versorgungsspannung bricht für etwa 300ns auf etwa 2V ein. Also schon etwas weiter.

Das dritte Bild. Hier noch etwas detaillierter.
Pollin_DSO3.PNG
Hier kann man wunderbar das Feuerwerk auf der Versorgungsspannung sehen das die "Entprellungsschaltung" vom Pollin-Board erzeugt. Ich hätte nie gedacht das es doch so heftig ist.
 
und nun der Ausschnitt aus dem Schaltplan des Boards ...
Pollin_Ausschnitt.png
Meine Testschaltung ist gegenüber der originalen Schaltung lediglich gespiegelt. Beim Orogonalwird Vcc geschaltet um beim Tastendruck eine 1 ins PIN-Register zu bekommen und bei meiner Schaltung geht der Taster nach GND und ich würde eine 0 beim Tastendruck erhalten. Die Funktion und die eingehandelten Probleme die man mit dieser Schaltung hat sind aber identisch.

Das war es was ich mal wissen wollte ;)

Lösung: Den Kondensator nicht parallel zum Widerstand sondern parallel zum Taster schalten. Das ist für die Kontakte ein klein wenig besser aber immer noch nicht schön. Auf jeden Fall beseitigt man damit die Einbrüche in der Versorgungsspannung und damit die Fehlfunktionen des Controllers von denen man immer wieder liest.

Gruß
Dino
 
Hallo Dino!

Ich habe eher zufällig mal das Prellen eines Tasters mit dem LA aufgezeichnet.
Schau mal hier:
Tasterprellen_1.png

Wenn man nicht weiter hinein zoomt, dann sieht es gar nicht so schlimm aus. :wink:


Zoomt man allerdings mal näher heran, dann sieht man das Chaos.....
welches in nur 246 Mikrosekunden passiert:
Tasterprellen_detail.png


Grüße,
Cassio
 
Wieso "nur" 246µs? Für 'nen µC ist das 'ne Ewigkeit... Das können durchaus weit über 4000 Takte sein.
Eines meiner ersten Bascom-Programme zu Interrupts mit dem STK-500 sah so aus: ein kompletter Port an die 8 LEDs, ein Taster an einen externen Int. Scharf auf fallende Flanke. Hauptprogramm war 'ne leere Schleife, beim Interrupt sollte das Port Register (LEDs) inkrementiert werden. Den Effekt kann man sich denken - nix mit binär hochzählen bei den unteren bits...
 
Hallo dino,

vielen Dank für den detailierten Bericht!
In dem entscheidenden Satz hast Du Dich übrigens verschrieben. Du wolltest schreiben:
"Lösung: Den Kondensator nicht parallel zum Widerstand sondern parallel zum Taster schalten."

In der Tat! Bei dieser Entprellschaltung gehört der Kondensmann immer parallel zum Taster.

Die Kontakte schont das IMHO zwar praktisch gar nicht, jedenfalls sehe ich keinen Grund dafür, außer dass zu dem Kondensatorstrom nicht mehr der vernachlässigbare Widerstandsstrom parallel fließt. Doch das ist nun echt nicht der Rede wert.
Aber wie Du richtig bemerkst, fallen die Einbrüche auf der Versorgungsspannung weg, wenn Kondensi und Taster parallel geschaltet sind.

Zusätzlich kann man noch 'nen kleinen Widerstand in Reihe zum Kondensi setzen. Der sollte aber recht niederohmig sein, denn das Prinzip der Entprellung beruht ja darauf, dass der Kondensmann (wenn er richtig beschaltet ist, also parallel zum Taster) bei Betätigung so schlagartig leer ist, dass er wirklich leer ist, wenn der Taster durch das erste Prellen kurzzeitig wieder öffnet.

Etwas Murks kann man bei Eigenbauten noch machen:
Der Kondensi parallel zum Taster verursacht einen lokalen Puls auf GND, auf dem Leiterbahnstück zwischen C und Taster.
Extremfall: Externer Taster / meterlange Strippe / GND-Anschluss eines ICs / GND-Anschluss vom Kondensi.
Bei solcher Beschaltung wäre es denkbar, dass der IC den Puls auf GND nicht mag. Insbesondere, wenn der IC keinen korrekt angeschlossenen Entkoppelkondensator hat.

Habe neulich wieder so ein "geniales" Layout gesehen. Der ausgangsseitige "Entkoppelkondensator" eines Spannungsreglers fast 15cm weg von diesem platziert.
Und ich fragte den Layouter zuvor noch, ob er auch die üblichen Kondensatoren am Spannungsregler spendiert hat, speziell am Ausgang. "Na ist doch selbstverständlich" war die Antwort ...
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)