PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RNMega8 mit Tasten am ADC-Eingang



pacer_one
22.11.2008, 15:33
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

linux_80
22.11.2008, 15:37
Hallo,

ich vermute mal, damit man auch mit der internen Referenz von ca. 2,5V noch alle Tasten erkennen kann.

pacer_one
22.11.2008, 15:55
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?

linux_80
22.11.2008, 16:00
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.

pacer_one
22.11.2008, 16:16
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.

PICture
22.11.2008, 16:19
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.

MfG
VCC
+
|
|
|
|
D|
G |-+ A
+->| |
| |-+ |Uds
| S| |
| |
| .-.A
|Rgs| ||
| | ||Ugs
| '-'|
| ||
+----+
|
|.-.A
|| ||
ILast|| ||ULast
V'-'|
|
|
===
GND

Dirk
22.11.2008, 16:56
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.
Wenn man 1% Metallfilm-Widerstände einbaut, dann klappt das mit ADC-Tastaturen eigentlich gut.

Gruß Dirk

pacer_one
22.11.2008, 20:36
Hat jenand von euch das RNMega8 und programmiert in Assembler?

pacer_one
29.03.2009, 21:32
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.