mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Encoder statt Taster


Autor: Martin (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute!

Ich bin gerade mit einem neuen Projekt beschäftigt. Manche Taster möchte 
ich nun durch Encoder-Drehschalter ersetzen.
Conrad: 700699

Man hat, wenn man z.B. durch ein Menu scrollen möchte einfach mehr 
Gefühl, als mit Taster.

Ich habe euch das Datenblatt mitgesendet. Auf Seite 6 sieht man wie man 
das Ganze entprellen kann.

Aber an welcher Stelle führe ich die beiden Leitungen in den µController 
hinein?
Gehe ich von Punkt Terminal A und Terminal B aus in den Mikrocontroller 
oder jeweils von dem Punkt, der sich zwischen Widerstand und Kondensator 
befindet?

Danke für eure Hilfe
Tschüss
Martin

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal!

Mit Seite 6 ist jene Seite gemeint, die der Acrobat-Reader anzeigt.
Das Datenblatt selbst ist mit Seite 8/8 beschriftet.

Tschüss
Martin

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
'Terminal A' und 'Terminal B' würden bei uns Pin 1 bzw. Pin 2
heissen. Gemeint sind einfach nur die Anschlusspins des
Bausteins. Dein entprelltes Signal kriegst du am besagten
Punkt zwischen Widerstand und Kondensator, so du nicht einfach
in Software entprellen willst.

Ich hab jetzt nicht nachgesehen. Gibts die Dinger eigentlich
auch mit einem integrierten Drucktaster? Sowas wäre für ein
Menü ideal (meine Multiplex-Fernsteuerung hat sowas): Mit
drehen scrollt man zum Menüpunkt, durch drücken wählt man ihn
aus.


Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja gibt es auch.
Ich bin total begeistert.
Die haben die Bestellnummer: 700700

Danke für die Antwort.

Tschüss
Martin

Autor: Metaller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Karl heinz
Ja, Encoder gibt es mit/ohne Drucktaster und mit/ohne Rastung

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Conrad hat schon länger Drehimpulsgeber von Hopt-Schuler im Programm
705514
705538
705526
705586
705594
und seit kurzem die genannten Typen von Alps.

Autor: Michael Iller (iller101)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und in der Codesammlung ist einpassender Source vorhanden

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.hopt-schuler.com/ddm/kurzinfo.asp?tytyp...
http://www.hopt-schuler.com/doc/Schalterkatalog.pdf  Typ DDM427

Früher hatten die sogar richtige Datenblätter als PDF, aber jetzt hat 
anscheinend die Werbeabteilung die Macht übernommen, nur noch bunte 
Bildchen "formschön, zweckfrei und gegen Aufpreis entnehmbar" (Loriot), 
schade.

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ich habe gerade vor 10 Minuten auch so ein ALPS Ding mit Drucktaster 
eingelötet und via ASM in einem Tiny2313 laufen. Die Entprellung habe 
ich komplett in Software eingebaut, in einem Timer-Interrupt, der ca. 
alle 750µs mal guckt, was los ist. Die Abfrage des Encoders auf Richtung 
und Betätigung ist recht einfach, da die Flanken auch bei schneller 
Drehung mit Hand mehr als 2ms auseinanderliegen. Ich habe die Aufgabe so 
gelöst, daß ich Pin 1 auf High->Low teste und in dem Moment auf den 
Pegel des zweiten Pins gucke. Ist dieser ebenfalls schon Low, wurde 
gegen die Uhr, ist er noch High, wurde mit der Uhr gedreht. Da ich nach 
dieser Abfrage den Test einstelle, bis beide Leitungen wieder High sind, 
verpasst der Controller keinen Impuls und das Prellen wird wirkungsvoll 
unterdrückt. Mit einer Handvoll Flags wird neben dem Encoder dann auch 
gleich noch der Taster ausgewertet. Geht echt fein.

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ganz genau; das Entprellen ruig der Software überlassen. In Zeiten des 
Sparens kann man auf die Kosten der Kondensatoren und die Zeit für das 
einlöten gut verzichten.
So wie das TravelRec. beschreibt funktionierts prima, habs auch so 
gemacht (in Timer-Interrupt pollen / mit State-Machine auswerten).

Autor: Alex Z. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute

 TravelRec welchen Schalter hast du verwendet? Wäre es möglich den Code 
zu
 posten, würde mich interessieren wie du es realisiert hast.

mfg Alex Z.


Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den ALPS schlagmichtod von C****d, der so arbeitet, wie in dem von 
Martin geposteten Datenblatt, also mit den durcheilenden, versetzten 
Pulsen bei jeder Rastung. Code kann ich posten, ist aber nicht bereinigt 
und braucht z.Zt. einen Interrupt und ein GPIOR vom Tiny2313 für die 
Flags. Der ganze Kram ist eingewoben in eine Displaysteuerung die noch 
nicht fertig ist. Im Großen und Ganzen macht der Code genau das, was ich 
oben mit Worten beschrieben habe.

Autor: inoffizieller WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger hat dazu auch schon was in der Codesammlung gepostet.
Allerdings mit der Timer-Tasten-Poll-Variante...

Autor: Alex Z. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

  Wenn es fertig ist. Und du bereit bist es zu posten würde ich
  mich darüber freuen.

                  mfg Alex

Autor: TravelRec. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Na okay, hier isser. Sicher nicht perfekt und auch nur in Schnipseln, 
die nichtrelevanten Teile habe ich gelöscht. Dem Button ist noch ein 
zusätzlicher Zähler zugeordnet, der es ermöglicht, zwischen kurzen und 
langen Tastendrücken zu unterscheiden, um zusätzliche Schaltfunktionen 
zu erreichen. Gebaut wurde das Ganze für einen Tiny2313, mit 8MHz Clock.

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ich seh´ gerade, die Register TempH und Temp3 werden hier nicht 
benutzt, brauchen für den Fall also nicht definiert zu werden. Die ISR 
erledigt die komplette Abfrage und einen Sekundentimer, die Auswertung 
der Schaltsignale muß dann in der Main erfolgen.

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und es muß der Interrupt für OutputCompareA Timer0 natürlich aktiviert 
werden:

ldi Temp, 0b00000001
out TIMSK, Temp

Und der passende InterruptVektor muß entsprechend adressiert sein.

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähem, der Encoder hängt an PortA 0 und PortA 1, der Button an PortB 1 - 
zum besseren Verständnis. Die internen Pullups für die entsprechenden 
Pins müssen gesetzt sein.

Autor: moosmichel001 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe den Encoder PANASONIC EVEQDBRL416B verbaut.

Er arbeitet aber nicht wie gewollt (zumnindest von mir). Wenn ich nach 
rechts drehe ist soweit alles ok, wenn ich nach links drehe bekomme ich 
sehr häufig die Bitfolge für Rechtsdrehung geliefert.

Habe schon mehrere Exemplare ausgetestet.

Ist so ein Problem bekannt und habt ihr vielleicht eine Lösung?

Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

sind das die Pnasonic Teile von Pollin? Mit einigen (wenigen) hatte ich 
auch schon Probleme. Die Rastpositionen werden nicht immer sauber 
angelaufen und manchmal "verschluckt" er einige Impulse, daher dann die 
falsche Decodierung.
Gruß

Fred

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moosmichel001 wrote:

> Ist so ein Problem bekannt und habt ihr vielleicht eine Lösung?


Ja, nimm eine Routine, die auch entprellt:

Beitrag "Drehgeber auslesen"


Peter

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.