Forum: Mikrocontroller und Digitale Elektronik Taster am ADC: zuverlässig und schnell?


von Dietmar E (Gast)


Lesenswert?

Wie zrverlässig und schnell ist die Verwendung des ADC zum Auswerten von 
Tastern?

Ein paar Taster sollen an einem (1) ADC-Eingang angeschlossen werden - 
via Spannungsteilerschaltung, jeder brückt einen anderen Widerstand aus 
der Reihe 1K, 2K, 4K, 8K, ....

Kann man sich darauf verlassen, das das gut geht und Tastendrücke 
zuverlässig, immer ohne Fehler und ohne merkbare Verzögerung erfasst 
werden (so schnell drücken, wie man kann)?

von The D. (devil_86)


Lesenswert?

Tja, wenn man nicht genug freie Eingänge für alle Taster hat, sollte das 
auch so (schnell und zuverlässig) funktionieren.

von Chrisi (Gast)


Lesenswert?

...aber nur, wenn man mehrere Wandlungen durchführt und Ausreisser 
aussondert und eine Mehrheitsentscheidung durchführt. Denn:

1. Die Taster prellen auch am ADC, logisch
2. Durchläuft die Spannung beim Betätigen eines "höherwertigen" Tasters 
auch die Spannungen von "niederwertigen" Tastern. Ein ungünstiger Moment 
zur Abtastung und schon hat man eine falsche Taste interpretiert. Ein 
zusätzlicher C zur "Glättung" könnte hier sogar negative Auswirkungen 
haben!

von Rolf Magnus (Gast)


Lesenswert?

> Wie zrverlässig und schnell ist die Verwendung des ADC zum Auswerten
> von Tastern?

Das hängt davon ab, was für einen ADC du verwenden und wieviele Tasten 
du damit einlesen möchtest. Wenn du nur Zweierpotenzen verwendest, 
kannst du nachher auch jede beliebige Kombination von gleichzeitig 
gedrückten Tasten erkenne, dafür ist die Gesamtanzahl an Tasten stärker 
eingeschränkt.

> Kann man sich darauf verlassen, das das gut geht und Tastendrücke
> zuverlässig, immer ohne Fehler und ohne merkbare Verzögerung erfasst
> werden (so schnell drücken, wie man kann)?

Du mußt natürlich auch hier eine Entprellung machen. Prinzipiell geht 
das normalerweise schon gehen.

von Peter D. (peda)


Lesenswert?

Ja, das geht.

Entprellen mit Kondensator geht natürlich nicht, da dann alle 
hochohmigeren Tasten nacheinander als gedrückt erscheinen 
(Aufladekennlinie).

Aber meine bewährte 4-fach Entprellung geht super:

Beitrag "Tastenmatrix auslesen über nur 2 Leitungen"


Peter

von Peter D. (peda)


Lesenswert?

Dietmar E wrote:

> ... ohne merkbare Verzögerung erfasst
> werden (so schnell drücken, wie man kann)?

Wenn Du merkbare Verzögerungen willst, mußt Du den AVR schon extrem 
runter takten (<32kHz) oder riesige Delays einbauen.


Peter

von Dietmar E (Gast)


Lesenswert?


von Gerhard. (Gast)


Lesenswert?

Viele Consumerimportgeraete verwenden ADC Tasteneingaben als Regel. 
Schau mal in Deine Geraete rein und Du wirst erstaunt feststellen dass 
diese Art der Tasteneingabe eine Standardloesung darstellt.

Und das lustige daran ist auch, dass man 5% Widerstandswerte bequem 
verwenden kann und leicht eine 10% Unterteilung der ADC Werte erzielen 
kann. Also, ohne Bange!;-)

10 Tasten per Eingang sind bequem durchfuerbar.

Gerhard

von Dietmar E (Gast)


Lesenswert?

> 10 Tasten per Eingang sind bequem durchfuerbar

Mir reichen erst mal vier. Darf man bei dieser relativ unkritischen 
Aufgabe für den ADC davon ausgehen, dass Verwendung der anderen 
PortA-Pins für Ausgabe (konkret Software-SPI) nicht stört?

von Gerhard. (Gast)


Lesenswert?

Stoerungen durch andere digitale Funktion sollten normalerweise nicht 
auftreten. Bei meinen Geraeten laeuft der ADC durch Interrupt im 
Hintergrund so dass die Analogwerte aller Kanaele immer auf den neuesten 
Stand bleiben. Bei einem PIC der mit 16MHZ getaktet wird, braucht eine 
AD Konvertierung weniger als 80us. Je nach dem wie viele Analoginputs 
aktiv sind, lasssen sich die AD Werte bequem durch eine 
Mittelwertbildung noch beruhigen. Meistens genuegt bei mir eine N=2-8 um 
absolut stabile AD Werte zu messen. Man muss natuerlich schon aufpassen 
dass die Grundregeln der Analogwelt einigermassen eingehalten werden. 
Bei Brettaufbauten kann es da schon Probleme geben. Auf jeden Fall ist 
eine saubere Tastenerkennung kein Problem. Versuch es auf alle Faelle. 
Es ist ja oft sehr angenehm nur zwei leitungen fuer alle Tastenfunktion 
zu brauchen. Die POWER-ON Taste muss man allerdings normalerweise 
konventionell implementieren.

Ich verwende immer 10K zwischen VDD und dem Analogeingang. Mit einem 
kleinen 0.1uF zwischen VDD und dem Analogeingang lassen sich etwaige 
Stoerungen vermeiden.

Sieh Dir mal diese Appnotes an:

http://www.st.com/stonline/products/literature/an/5704.pdf

http://www.edn.com/contents/images/2499di.pdf

Gerhard

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.