Hallo,
ich vermute mal, damit man auch mit der internen Referenz von ca. 2,5V noch alle Tasten erkennen kann.
Hallo,
nachdem ich mich mal wieder mit den Tastern auf meinemRNMega8 beschäftigt habe, ist mir aufgefallen, dass die Tasteran eine Widerstandskette mit folgenden Werten angeschlossen ist:
+5V--10K--T1--1K--T2--1K--T3--1K--T4--1K--T5--1K--GND
Dadurch ergibt sich sich am 10K Widerstand ein Spannungsfall von 3,4V
An jedem 1K Widerstand beträgt der Spannungsfall 0,3V.
Frage: Warum wurde ein 10K Wiederstand eingebaut?
Gruß, pacer
Hallo,
ich vermute mal, damit man auch mit der internen Referenz von ca. 2,5V noch alle Tasten erkennen kann.
leider scheinen meine Tasten nicht immer den gleichen Innenwiderstand zu haben, kommen dann noch die Toleranzen der Widerstände dazu.
Im Moment ist es überaus kritisch, die letzte Taste kann ich schon nicht mehr sicher abfragen.
Wäre aber immer noch die Frage, wieso die 10K? Kann man auch einfach 5k einsetzen? In welcher Weise würde der ADC-Eingang beeinflusst werden?
Man kann schon einen anderen Widerstand verwenden.
Es ändert sich nur die Verteilung der ADC-Werte im Messbereich.
Man kann wohl auch die ganzen 5V ausnutzen, wenn die Referenz entsprechend darauf ausgerichtet ist.
Mit den 10k wird dann auch der Gesamtstromverbrauch des Teilers beeinflusst, zu klein sollte der nicht werden, sonst gibts zuviele Schwankungen in der Versorgung wenn man einen Taster drückt bzw. loslässt.
na bei 5k mach ich mir da noch keine Sorgen.
Jedoch haben sich das ein paar schlaue Leute ausgedacht, so dass ich denke, dass es einen triftigen Grund für diesen hohen Widerstandswert gibt.
So wie der linux_80 erwähnt hat, spielt der 10k Widerstand eine Rolle einer Konstantstromquelle, um den Einfluss auf die Spannungen an den seriell geschalteten 1k Widerständen beim drücken einer Taste zu mindern.
Besser wäre es natürlich mit einer echter Konstantstromquelle. Einfachste Stromquelle kann man mit einem FET Transistor z.B. BF 245 bauen (siehe Code). Der Strom wird bei Rgs=0 durch Ausselektieren des FETs bzw. durch Änderung des Widerstandes Rgs eingestellt. Auf dem FET sollte zwischen D und S ausreichende Spannung (Uds) sein. Beim Rgs=0 kann der FET anstatt eines Widerstandes (hier z.B. 10K) angelötet werden. Das gleiche lässt sich auch mit einem N MOSFET z.B. in SMD Gehäuse realisieren.
MfGCode:VCC + | | | | D| G |-+ A +->| | | |-+ |Uds | S| | | | | .-.A |Rgs| || | | ||Ugs | '-'| | || +----+ | |.-.A || || ILast|| ||ULast V'-'| | | === GND
Wenn man 1% Metallfilm-Widerstände einbaut, dann klappt das mit ADC-Tastaturen eigentlich gut.leider scheinen meine Tasten nicht immer den gleichen Innenwiderstand zu haben, kommen dann noch die Toleranzen der Widerstände dazu.
Im Moment ist es überaus kritisch, die letzte Taste kann ich schon nicht mehr sicher abfragen.
Gruß Dirk
Hat jenand von euch das RNMega8 und programmiert in Assembler?
Heute endlich habe ich es mal geschafft neue Taster einzubauen, die bisherigen Taster waren aus irgend einem alten Gerät ausgebaut.
mit den neuen Teilen zappelt jetzt nix mehr am ADC.
Lange Rede, kurzer Sinn, die Tasterabfrage funktioniert jetzt wunderbar.
Lesezeichen