Forum: Mikrocontroller und Digitale Elektronik Rotary Encoder Rechts/Linksdrehung in zwei getrennte Taster umsetzen


von Sven (Gast)


Lesenswert?

Hallo,

ich habe eines von den mittlerweise sehr verbreiteten China Bluetooth 
Modulen (mit dem CSR8645). Dieses hat auch vorbereitete Anschlüsse für 
Pushbuttons, zum Vorspulen und Lauter/Leiser machen.
Nun hätte ich aber für die Lautstärker viel lieber einen Drehregler. 
Deshalb bräuchte ich eine kleine Schaltung, die die von einem Encoder 
gelieferten versetzten Impulse für Rechts- und Linksdrehung in zwei 
unterschiedliche Tasterimpulse umsetzt. Ich habe dazu schon gegoogelt, 
aber (fast) nichts gefunden.
Ich kann doch nicht der einzige mit diesem Problem sein? Dazu müsste es 
doch einen kleinen IC geben, oder?
Extra einen Mikrocontroller zu programmieren scheint mir hierfür ein 
bisschen mit Kanonen auf Spatzen zu schießen. (Zumal die Stromversorgung 
für das Modul (zwecks Audio) auch noch DC entkoppelt ist, und nicht 
unbedingt für einen zusätzlichen Controller ausreicht, also eine Lösung 
mit Optokopplern o.ä. her müsste...)

Liebe Grüße,
Sven

von Georg (Gast)


Lesenswert?

Sven schrieb:
> Extra einen Mikrocontroller zu programmieren scheint mir hierfür ein
> bisschen mit Kanonen auf Spatzen zu schießen

Na und, ist aber die geeignetste Möglichkeit. Ein fertiges IC wird es 
nicht geben, oder es ist eben auch ein kleiner Controller, z.B. mit 8 
Pins und mit entsprechender Firmware.

Wenn du was besseres findest, sag Bescheid, sonst akzeptiere die 
Realität wie sie halt so ist. Die Spatzen beschweren sich ja auch nicht, 
wenn du sie mit einer Kanone erschiesst statt mit dem Luftgewehr.

Georg

von c-hater (Gast)


Lesenswert?

Sven schrieb:

> Extra einen Mikrocontroller zu programmieren scheint mir hierfür ein
> bisschen mit Kanonen auf Spatzen zu schießen.

Tja, das ist halt wohl einfach so: Idioten erscheint die einzig 
zielführende Lösung ziemlich idiotisch. Einfach deshalb, weil sie sie 
nicht begreifen...

von Mike (Gast)


Angehängte Dateien:

Lesenswert?

Habe vor Jahren mal genau das gesucht, aber es geht nur mit uC und das 
ist definitiv auf Spatzen mit Kanonen schießen, daher habe ich mir eine 
andere Lösung überlegt, ein Zahnrad, welches ein Metallplättchen gegen 
Taster drückt, also alles rein mechanisch, ich mach lieber mal Fotos von 
meinem Prototyp, hoffe du findest die Lösung ebenso cool wie ich :P 
dabei geht es nur um das Prinzip, geht auch kompakter.

von Mike (Gast)


Lesenswert?

@Georg Ich denke nicht, dass msn mit einer Kanone Spatzen trifft, daher 
wird es denen kaum egal sein ;)

@c-hater Wenn du einen Idioten suchst, schau in den Spiegel, an Svens 
Denkweise ist absolut nichts verkehrt, ganz im Gegenteil zu deinem 
Sozialverhalten und fragen ist niemals idiotisch.

Ein IC, der das kann, würde nicht nur Leute erfreuen, die Dinge 
modifizieren wollen, sondern auch die, die Neues erschaffen, im Bereich 
der Fahr- und Flugsimulatoren wäre sowas extrem begehrt, daher ist es 
für mich nicht nachvollziehbar, warum es sowas nicht gibt, in China wird 
täglich tonnenweise irgendwelcher Müll hergestellt, der nur dazu dient 
das vollkommen sinnbefreite Leben des westlichen Zuchtkonsumenten für 
kurze Momente zu füllen, indem sie damit ihre angezüchtete Kaufsucht 
befriedigen können, was letzendlich den Wirtschaftswachstum darstellt.

von Michael L. (michaelx)


Lesenswert?

Mike schrieb:
> Ein IC, der das kann, würde ...

wahrscheinlich aber auch nur ein umgelabelter kleiner PIC, ATtiny oder 
was vergleichbares sein.

Wobei ein PIC 10F20x mit seinen 6 Pins und wenigen Speicher für das hier 
zu lösende "Problem" vermutlich ein Minimum an Verschwendung darstellen 
dürfte.

;-)

: Bearbeitet durch User
von batman (Gast)


Lesenswert?

Produziert wird zu Zeiten der Marktwirtschaft sicher nichts auf vage 
Vorstellungen eines möglichen Marktes.
So ein Fertig-IC wäre auch keine universell fertige Lösung sondern müßte 
an die jeweilige Tastenentprellung und/oder andere Zeitkonstanten der 
Zielschaltung angepaßt werden, wenn das sicher funktionieren soll. 
Drehencoder sind auch nicht alle gleich. Die Zielgruppe von Entwicklern, 
die das gerade noch beherrscht aber keinen klassischen 4-Zeiler in einen 
klassischen 6-Beiner zu schreiben vermag, dürfte da in der Realität 
ziemlich klein sein.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Es gab (und gibt evtl.) tatsächlich Encoder, die die Drehung nach rechts 
auf einen Tastkontakt gab und die Drehung nach links auf einen anderen. 
So ein Ding war z.B. in einem JVC Studio VHS Player zum Stellen des 
Timers/Counters verbaut, den ich vor vielen Jahren auseinander nahm und 
dieser Encoder ist hier auch immer noch vorhanden.

Allerdings fehlt mir der richtige Suchbegriff und die Geduld, denn bei 
Mouser stösst man auf eine riesige Liste, wenn man nach 'Rotary 
Direction Switch' sucht:
http://www.mouser.de/Electromechanical/Switches/Multi-Directional-Switches/_/N-5g2z?No=25

Mein Bauteil ist ein Alps mit dem typisch blauen Gehäuse und Zahnachse.

: Bearbeitet durch User
von Bernhard S. (b_spitzer)


Lesenswert?

Es sollte auch in Hardware gehen. Die Auswertung in Software schaut ja 
auf die Flanke (fallend oder steigend ist erstmal egal) der Phase A und 
dabei auf den Zustand von Phase B. Also nehme ich ein D-Flipflop mit 
Flankentriggerung und schalte die Phase B auf den D-Eingang. Damit ist 
der Ausgang Q auf 1 bei Rechtsdrehung und 0 bei Linksdrehung (oder 
umgekehrt, alles Definitionsfrage). Mit dem Q-Signal wird dann mit einem 
1:2 Demultiplexer die Phase A auf den einen oder den anderen 
Tast-Eingang geschaltet.
1
                   .-------------------.     __
2
                   |                   o----|  |
3
                   |    .--o--.        |    |& |-   Lauter
4
      Phase_B  ----)----|D S Q|--------)----|__|
5
                   |    |     |        |
6
      Phase_A  ----o----|>   _|        |     __
7
                        |  R Q|--------)----|  |
8
                        '--o--'        |    |& |-   Leiser
9
                                       '----|__|
10
(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)

: Bearbeitet durch User
von Huhu (Gast)


Lesenswert?

Matthias S. schrieb:
> Es gab (und gibt evtl.) tatsächlich Encoder, die die Drehung nach rechts
> auf einen Tastkontakt gab und die Drehung nach links auf einen anderen.

Kann doch gar nicht sein! :-D
Wenn der allwissende c-hater behauptet, daß nur Idioten nicht begreifen, 
daß die Programmierung eines Mikrocontrollers die einzige zielführende 
Lösung darstellt, dann ist das so. Und wir haben das gefälligst zu 
glauben und auf die Knie zu fallen, wenn wir den Namen "c-hater" hören.

von Mike (Gast)


Lesenswert?

Michael L. schrieb:
> Minimum an Verschwendung

Jop, darum gehts, zumindest mir :)

Aber für ne Mikrocontroller-Pro dürfte sowas doch ne Kleinigkeit sein, 
da könnte man doch mal so ein paar PIC's beschreiben und in Foren 
anbieten, bzw. darüber informieren, dass es sowas gibt, die 
Investitionen wären sehr niedrig.

von MaWin (Gast)


Lesenswert?

Sven schrieb:
> Ich habe dazu schon gegoogelt, aber (fast) nichts gefunden.

und wenn, dann Schrott:

Bernhard S. schrieb:
> Also nehme ich ein D-Flipflop mit Flankentriggerung

Kann ja wohl nicht wahr sein, daß jemand zur Auswertung von prllenden 
Encodern FliFlops mit Flankentriggerung einsetzen will. Wie blöd ist das 
denn, daß man Encoder nicht auf FLanken triggert ist doch wohl 
Allgemeinbildung.

Sicher ist eine Auswertung in Sofwtare auf einem uC das einfachste, die 
kann auch dafür sorgen, daß die UP DOWN Impulse nicht zu schnell kommen.

Denn eine Hwardwarelösung würde die so schnell raushauen, wie der 
Quadraturencoder gepollt wird.
1
        +---+
2
 A -----|D Q|---+
3
      +-|T  |   |
4
      | +---+   |   
5
      |         +---|\      |\
6
      | +---+   |   |+)--+--| )o---+
7
 B ---(-|D Q|-+ | +-|/   |  |/     |
8
      +-|T  | | | |      |         |
9
      | +---+ | | | XOR  +-----+   +--|\
10
  +---(-------+ | |            | +----| )-- UP
11
  | +-(-------(-+-(-|\         | | +--|/
12
  | | | +---+ |   | |+)--+     | | |    AND
13
  | +-(-|D Q|-(---(-|/   +--|\ +-(-(--|\
14
  |   +-|T  | |   |         |+)--+-(--| )-- DOWN
15
  |   | +---+ |   |      +--|/     +--|/
16
  |   |       +---(-|\   |         |
17
  |   | +---+     | |+)--+         |
18
  +---(-|D Q|-----+-|/             |
19
      +-|T  |                      |
20
      | +---+                      |
21
 T ---+----------------------------+

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.