Forum: Mikrocontroller und Digitale Elektronik Taster entprellen


von sammy (Gast)


Lesenswert?

was wuerdet ihr mir empfehlen, das per Hardware oder per Software zu
realisieren? Hardware haette ich die benoetigte eh rumfliegen...

von Alex (Gast)


Lesenswert?

Eleganter ist meiner Meinung nach die Variante per Software. In der
Codesammlung gibt es eine gute Variante von Peter Dannegger.

Alex

von Aleksej (Gast)


Lesenswert?

Nach meinen Erfahrungen ist es viel eleganter beide Lösungen zu
kombinieren. Das heisst - eine Kapazität einsetzen und was
unkompliziertes mit Software zu schaffen. Ohne Kapazität geht's
manchmal mit den besten Software-Lösungen nicht.

von Mario (Gast)


Lesenswert?

Ich finde eine reine Softwarelösung am besten.
Dazu wird ein Timer programmiert, der jede 50-100ms den Taster abfragt.

von Aleksej (Gast)


Lesenswert?

Und wenn die Taste oft genug prellt (ich hab schon so was erlebt), dann
arbeiten die ganz schön gemeinsam ;)

von Peter D. (peda)


Lesenswert?

@Aleksej

"Und wenn die Taste oft genug prellt"

Dann nimmt man eben die 4-fach-Entprellung (bulletproof), da ist
garantiert alles sauber, ganz ohne jede Hardware.


Peter

von sammy (Gast)


Lesenswert?

der Kondensator wuerde zwischen Taster und uC gesetzt werden, oder?

von Aleksej (Gast)


Lesenswert?

@peter dannegger:
Ich hab's schon was ähnliches gemacht - es wurde gewartet bis man 5mal
hintereinander eine 1 hatte, aber es hat nicht geholfen. Umd mit dem
Kondensator reichte schon eine wiederholte Abfrage vollkommend aus. Ich
glaube, das lohnt sich auf jeden Fall

von Aleksej (Gast)


Lesenswert?

@sammy
Ne, Kondensator steht zwischen der Taste und GND.

von sammy (Gast)


Lesenswert?

Ich habe die Taster gegen + geschaltet, also zwischen + und dem Taster?
Welchen Wert fuer den Kondensator wuerdet ihr fuer die Reichelt Taster
benutzen?

von twice_rock (Gast)


Lesenswert?

wenn du die reichelt-taster für 12(oder warens 2?)cent meinst, musst du
bestimmt nen sehr großen kondensator nehmen. das sind die prellendsten
taster die ich je erlebt habe!
sorry, für diesen unkonstruktiven beitrag, aber ich hasse diese taster
wirklich!!!

von Aleksej (Gast)


Lesenswert?

Ich kenne diese Tasten nicht, aber bei den anderen sollen schon 100nF
ausreichend sein. Und auf keinen Fall Elkos, Keramik ist viel besser.

von Peter D. (peda)


Lesenswert?

@Aleksej,

"Ich hab's schon was ähnliches gemacht - es wurde gewartet bis man
5mal
hintereinander eine 1 hatte, aber es hat nicht geholfen."


Probier doch meinen Code erstmal aus, ehe Du da was vermutest.

Es reicht natürlich nicht aus, 5-mal den Pin abzufragen, das geht ja
viel zu fix (dauert nur wenige µs).

Der Trick ist eben der Timerinterrupt, d.h. zwischen jeder Abfrage muß
auch immer etwa 2ms ... 20ms Zeit vergehen.


@Sammy

Taster schaltet man üblicher Weise gegen GND, dann spart man den
Ziehwiderstand ein, da man den internen Pull-Up nehmen kann.


Peter

von Flintstone (Gast)


Lesenswert?

Hallo sammy!

Da ich selbst eine solche Schaltung gebaut habe, schicke ich dir einen
Link: http://www.seidat.de/elektronik_zeitschalter.htm
Die Software findest du auch in dieser Seite. Allerdings ist hier noch
ein Umschaltrelais zwischengeschaltet. Dieses mußt du beim umschreiben
der Software berücksichtigen. Das Relais hat auch stark geprellt,
deshalb habe ich es 100 mal abgefragt. zusätzlich habe ich einen
einfachen Filter aus Widerstand und Kondensator eingesetzt. Die
Schaltung funktioniert einwandfrei.

Guido

von Aleksej (Gast)


Lesenswert?

@peter dannegger:
5mal hintereinander - das heisst doch nicht, dass ich es ohne Pausen
abgefragt habe. Ich habe die Pausen variiert. Und wenn mal 0 abgefragt
wurde, dann hab ich die Reihenfolge nochmal gestartet. Es hat geklappt,
aber ein mal pro Hundert Tastendrücke habe ich falsche Werte gekriegt.
Mit dem Kondensator klappt es bis zum heutigen Zeitpunkt einwandfrei.

von Peter D. (peda)


Lesenswert?

@Aleksej,

"ein mal pro Hundert Tastendrücke habe ich falsche Werte gekriegt"

Wenn Du mal Deinen Code posten könntest, vielleicht läßt sich dann ein
Fehler finden.

Manchmal wird nicht berücksichtigt, daß ein Taster auch beim Loslassen
prellen kann. Deshalb entprellt mein Code auch das Loslassen.


Peter

von Matthias Friedrich (Gast)


Lesenswert?

Wenn ein Taster mach einer Software-Etprellung immer noch prellt, dann
stimmt etwas am Code nicht. Den Effekt, den man mit einem Kondensator
erreicht, kann man zu 100% auch in Software realisieren. Mit dem
Vorteil, dass man damit flexibler ist.

Matthias

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
Noch kein Account? Hier anmelden.