Archiv verlassen und diese Seite im Standarddesign anzeigen : Taster beeinflusst Nebentaster bzw. "wird autom. gedrüc
theodrin
17.08.2009, 17:37
Hallo!
Hab nen 4er Tasterblock und drei davon hängen an Interrupt-Eingängen von einem PIC 18F2550, aber eigentlich einmal nicht so wichtig.
Mein Programm reagiert also auf das drücken eines Taster und zwar wird der IR bei einer steigenden Flanke ausgelöst.
Im Grunde genommen funktioniert das ganze, so wie gedacht, nur wird seltsamerweise manchmal ein IR ausgelöst obwohl ich gar nicht den Taster drücke. Beispielsweie wenn ich den nebentaster mehrmals drücke wird auch "scheinbar" der andere gedrückt, also IR ausgelöst und ich seh das dann auf meinem Display.
Die Frage ist jetzt, wie ich dem Problem am besten nahe komme. Also Software-seitig oder hardware-seitig. Ich habs jetzt hier geschrieben weil ich mal hardware-seitig ausprobiert hab.
Also hab mal kurz ne Zeichnung angehängt wie meine Taster jetzt beschalten sind.
gibts da Tipps was ich noch machen soll, oder erstmal ratschläge ob das überhaupt viel bringt was ich eingebaut hab?
Also kurz zur Erklärung. Der Pull-Down ist klar.
Die nebenbeschaltung ist fraglich ob die was bringt?
Ich will nicht sagen, dass sie falsch ist, aber so aufwendig habe ich die Beschaltung für einen Taster noch nie gesehen.
Irgendwie hängt der Taster da ja schon recht hochohmig an GND. Da kann ich mir schon vorstellen, dass der recht störempfindlich ist.
Nimmt man als Pull-Up oder Pulldown nicht normalerweise nur einen kleineren Widerstand und hängt den Kondensator zum entprellen parallel zum Taster?
theodrin
17.08.2009, 18:04
War das letzte eine Frage oder hmm?
Na ja zu den 47kOhm Pull-Down. Für meine jetztigen Sachen war das eigentlich immer ganz ok.
Oder soll ich da wirklich einen kleineren einbauen. Also ich kenn eigentlich immer so einen standardwert von 10kOhm. Ok aber das ein 47k da wirklich so Probleme machen würde, wär schon komisch find ich.
Und da mit dem entprellen. Ich denk ja das eigentlich nicht so das Problem ist, so wie ich das kenne mein ich.
Ich hab ja den Interrupt. Setz dort das Flag. Im Hauptprogramm tu ich dann wieder was (display beschreiben, etc.) dann lösch ich das flag. Und es ist mir eigentlich noch nicht passiert, dass er quasi "2 Schritte gehüpft" ist, also im Programm. Das ist so meine Vorstellung davon, aber es passiert eben wenn ich den nebentaster drücke und das geht mir nicht so recht in den kopf. Aber ich kanns ja mal probieren mit einem Ko parallel, und in welcher größenordnung sollte der sein (damits gleich richtig ist)?
War das letzte eine Frage oder hmm?
Nein, eher ein Hinweis in welche Richtung du mal nachforschen könntest.
Kondenstatoren leiten keinen Gleichstrom, daher scheint mir der rechte Widerstand und der Kondensator in deiner Schaltung recht sinnlos zu sein.
aber irgendwas wirst du dir ja dabei gedacht haben und vielleicht bist du da schlauer als ich.
Und da mit dem entprellen. Ich denk ja das eigentlich nicht so das Problem ist, so wie ich das kenne mein ich.
Ich hab ja den Interrupt. Setz dort das Flag. Im Hauptprogramm tu ich dann wieder was (display beschreiben, etc.) dann lösch ich das flag. Und es ist mir eigentlich noch nicht passiert, dass er quasi "2 Schritte gehüpft" ist, also im Programm.
Richtig, ob das Prellen ein Problem ist, hängt davon ab wie man die Taster im Programm behandelt und man kann das Prellen auch übers Programm eliminieren.
Wenn du allerdings meinst, dass du das im Programm auch machst, frage ich mich wofür du die Widerstände und Kondensatoren überhaupt da rein strickst?
Die AVR controller haben interne Pullup-Widerstände. Wenn man die aktiviert, kann man einen Taster direkt zwischen GND und den Eingang hängen.
Wenn die PICs keine internen Pullups haben, würde ich den Eingang entweder mit nur einem Pullup Widerstand auf 5V ziehen und den Taster zwischen GND und Eingang hängen,
oder aber den Eingang mit einem Pulldown Widerstand nach GND ziehen und den Taster so wie bei dir zwischen Eingang und 5V legen.
Wenn du einen Kondensator zum Entprellen einbauen willst, würde ich den direkt parallel zum Taster schalten.
Ich nehme dafür immer 100nF, keine Ahnung ob das der ideale Wert ist.
Könnte es sein, dass du in deiner Schaltung auch einfach nur eine Lötbrücke oder unsaubere Lötstelle hast?
theodrin
17.08.2009, 21:23
Hallo!
Ich hab jetzt einen 2ten 100nF neben meiner PIC Versorgung eingebaut und seitdem hab ich irgendwie keine Probleme mehr mit den Tastern. Frag mich nicht. Ich dachte ja zuerst auch daran dass ich irgendwo einfach nur unsauber gelötet hab.
Aber gut, im moment stört mich das einmal grad nicht mehr so dramatisch. Ich hab jetzt schon so oft die uhrzeit eingestellt und umgestellt, da wär vorher sicher ein Problem aufgetreten. Aber ich verstehs nicht. Und wer sagt mir dass es jetzt nicht mehr passiert. Ich seh einfach nicht den Zusammenhang.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.