Hallo!
Ich habe Entprellung bei diversen digitalen IC's verwendet (Flip-Flops, Monoflops, Zähler, usw.), müsste also bei µC's auch funktionieren: https://www.roboternetz.de/community...l=1#post484759 .![]()
Hallo!
Ich habe Entprellung bei diversen digitalen IC's verwendet (Flip-Flops, Monoflops, Zähler, usw.), müsste also bei µC's auch funktionieren: https://www.roboternetz.de/community...l=1#post484759 .![]()
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
Hallo,
stimmt, die Schaltung ist total falsch! Hier hab ich die (hoffentlich) richtige Schaltung angehängt. So wird dass auch mit der Zeitkonstanten besser ersichtlich. Wenn ich den Taster drücke, liegt das Signal, durch das RC-Glied, erstmal nicht direkt an den µC an, sondern erst nach der R*C Zeit. Bis dahin muss der Taster ausprellt haben.
![]()
Du hast bisher nicht gesagt, welche Flanke aktiv seien sollte, aber für positive könnte es funktionieren. Sonst habe ich noch etwas zum Überlegen skizziert.Code:VCC + | VCC +---+ + | | | | o | .-. T |=|> --- C | | R | o --- | | | | '-' +---+-----> µC Pin | | +---+-----> µC Pin .-. (positive | | | | R Flanke | o --- C (negative | | aktiv) T |=|> --- Flanke '-' | o | aktiv) | | | === === === GND GND GND (created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
Diese Art von entprellen hat einen entscheidenden Nachteil. Beim drücken der Taste lädst du erst mal den Kondensator auf und da fließt einen kurzen Moment ordentlich Strom. Durch den dadurch möglichen Spannungseinbruch kann es zu Fehlfunktionen des µC kommen. Ein typisch schlechtes Beispiel dafür ist das Pollin-Board. Der Taster wird dabei auch kräftig belastet.
Ja, Hubert, die Schaltung ist ganz großer Mist, aber da kämpft man gegen Windmühlen
Da hat der Pollin Lehrling, ähh, Schaltungsentwickler was angerichtet
Gruß, Michael
Dass beim Drücken des Tasters kurzfristig ein hoher Strom fließt habe ich bisher überhaupt nicht beachtet. Aber du hast natürlich recht. Da gefällt mir die Schaltung von PICture's erstem Posting besser. Kann es sein, dass bei PICtures zweiter Schaltung, beim Einschalten der Versorgungsspannung, kurzfristig ein High-Signal am Mikrocontroller anliegt ohne den Taster zu drücken?
Was mich grundsätzlich interessiert ist die Unterscheidung zwischen negativer und positiver Flanke. Wenn ich eine Entprellungsschaltung entwerfe, sollte ich wohl vorher wissen welche Flanken softwaremäßig verarbeitet werden sollen, oder? So nach dem Motto: "Wenn Pin a.b = Low, dann mache XYZ" für negative Flanken. Angenommen, es ist nicht bekannt in welcher "Richtung" das Signal verläuft, dann werde ich auch die Beschaltung nicht planen können, dann bleibt doch nur die Entprellung softwareseitig. Könnte ich damit beide Flanken entprellen und wie sieht so ein Code grundsätzlich aus? Vielleicht so:
- Wenn Pin a.b = High
- warte x ms (Zeit bis Taster ruhig liegt)
- Weiter im Programm...
LG, Reissdorf
Edit: Ich hab in anderen Foren mittlerweile häufig gelesen, dass eine softwareseitige Entprellung viel besser ist, als das hardwareseitig auszuführen. Stimmt ihr da zu?
Geändert von Reissdorf (17.12.2012 um 07:47 Uhr)
Nach dem Einschalten der Versorgungsspannung wird permanent ein "high" Pegel an µC Eingang angelegt. Ein "low" Pegel wird mit "sauberer" (früher als "aktive" genannt) negativer Flanke nur während Drücken des Tasters erzeugt.
Stimmt, deshalb habe ich zwei Möglichkeiten skizziert.![]()
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
Ach du meine Güte, da hatte ich Tomaten auf den Augen! Klar, in der linken Schaltung liegt der Pin über R an GND. Die Betätigung des Tasters zieht den Pin dann auf Vcc. Damit ist diese Variante für eine positive Flanke. Bei der rechten Schaltung ist es genau umgekehrt. Der Pin liegt über R an Vcc und wird durch den Tastendruck auf GND gezogen, was einer negativen Flanke entspricht. Danke für die Erklärung!!
AVR und die meisten anderen µC haben einen internen zuschaltbaren PullUp, deshalb schaltet man Tasten nach GND und erspart sich den externen PullUp.
Softwareentprellung ist sicher die sauberere Lösung das Tastenprellen auszuschalten.
Lesezeichen