Encoder statt Taster

Gast #433751
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
Angehängte Dateien:
#433761
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.

Gast #434077
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.
Gast #434085
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).
Gast #434436
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.
Gast #434755
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.
Angehängte Dateien:
Gast #434757
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.
Gast #599256
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?
Gast #599854
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren