mikrocontroller.net

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


Autor: Dietmar E (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)?

Autor: The Devil (devil_86)
Datum:

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

Autor: Chrisi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Dietmar E (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Gerhard. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Dietmar E (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Gerhard. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.