Forum: Mikrocontroller und Digitale Elektronik Encoder statt Taster


von Martin (Gast)


Angehängte Dateien:

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

von Martin (Gast)


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

von Karl heinz B. (kbucheg)


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.


von Martin (Gast)


Lesenswert?

Ja gibt es auch.
Ich bin total begeistert.
Die haben die Bestellnummer: 700700

Danke für die Antwort.

Tschüss
Martin

von Metaller (Gast)


Lesenswert?

@Karl heinz
Ja, Encoder gibt es mit/ohne Drucktaster und mit/ohne Rastung

von Christoph Kessler (db1uq) (Gast)


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.

von Michael I. (iller101)


Lesenswert?

Und in der Codesammlung ist einpassender Source vorhanden

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

http://www.hopt-schuler.com/ddm/kurzinfo.asp?tytypnr=427&sp=D&tytypn=427
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.

von TravelRec. (Gast)


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.

von Johnny (Gast)


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).

von Alex Z. (Gast)


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.


von TravelRec. (Gast)


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.

von inoffizieller WM-Rahul (Gast)


Lesenswert?

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

von Alex Z. (Gast)


Lesenswert?


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

                  mfg Alex

von TravelRec. (Gast)


Angehängte Dateien:

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.

von TravelRec. (Gast)


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.

von TravelRec. (Gast)


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.

von TravelRec. (Gast)


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.

von moosmichel001 (Gast)


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?

von Fred (Gast)


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

von Peter D. (peda)


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

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.