Forum: Mikrocontroller und Digitale Elektronik Drehschalter codieren


von Matthias (Gast)


Lesenswert?

Hi zusammen
Würde dringen eure Hilfe benötigen.
Ich habe einen Drehschalter mit 16 Stellungen.
Je nachdem in welcher Stellung er sich befindet, benötige ich den Wert
als 4Bit Gray Code. Kann von mir aus auch ein anderer Code sein aber 
eben
auf 4Bit.

zb. der 8. Schließer ist geschlossen --> Ausgabewert 0100 (gray code), 
oder 1000 oder was auch immer.

Gibts da vielleicht eine vorgefertigte IC Lösung oder sowas?

Danke im voraus!!

von Volker Z. (vza)


Lesenswert?

Normaler Weise benutzt mann die Dioden-Logik dazu.

http://de.wikipedia.org/wiki/Wired-AND

Volker

von Ralf N. (runni) Benutzerseite


Lesenswert?


von Reinhard Kern (Gast)


Lesenswert?

Matthias schrieb:
> Ich habe einen Drehschalter mit 16 Stellungen.
> Je nachdem in welcher Stellung er sich befindet, benötige ich den Wert
> als 4Bit Gray Code. Kann von mir aus auch ein anderer Code sein aber
> eben
> auf 4Bit.

Hallo,

wenn der Schalter 1 aus 16 kodiert ist, müsstest du ja erstmal 16 
Leitungen abfragen - das ist äusserst unpraktisch, viel besser wäre ein 
Schalter, der von vornherein an 4 Pins dezimal- oder Gray-Code schaltet.

Wenn's garnicht anders geht, eben 16 Inputs abfragen und in einer 
Tabelle nachschauen. Vernünftige ICs gibt es dafür nicht, die Funktion 
wäre Priority Encoder, aber die gibt's wenn überhaupt nur für 4 Bit 
(74xx278), also müsstest du 4 Stück kaskadieren. Aber 16 
Schaltereingänge sind immer blöd, egal ob Hard- oder Software.

Gruss Reinhard

von Matthias Eder (Gast)


Lesenswert?

Danke für die schnellen Antworten

Hab jetzt bei meiner weiteren Suche den kaskadierbaren SN54HC148 
gefunden, der für meine Zwecke relativ gut passen würde.

Jetzt wäre nur noch die Frage, ob es eine platz- und kostengünstige 
Möglichkeit gibt aus dem Binärcode einen Gray-Code zu machen.

Wisst ihr da irgendwas brauchbares?

Grüße Matthias

von Helmut -. (dc3yc)


Lesenswert?

Welche Logikfamilie sitzt denn dahinter? Ist es ein µP, dann würden es 
auch 32 Dioden und 4 Widerstände tun. Allerdings hast du als 
Low-Spannung nur 0.7Volt.

von Thorsten S. (Gast)


Angehängte Dateien:

Lesenswert?

...schau dir das mal an:

http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=C27;GROUPID=3287;ARTICLE=9250;START=0;SORT=artnr;OFFSET=16;SID=22cmFSqawQARYAAC-eHdMabc184af41436087e7d2e7d8bf2498f5

für die codierung muss du nur die Fälle des Binärcodes tauschen, sprich 
deine Anchlussreihenfolge ändern:

0 0
1 1
2 3
3 2
4 6
5 7
6 5
7 4
8 C
9 D
A F
B E
C A
D B
E 9
F 8

sprich du musst die Pins deines Schalter nicht nacheinander anchließen 
ondern vertauscht, siehe oben,

gruß,
Thorsten

von Thorsten S. (Gast)



Lesenswert?

hier sieht man ganz schön wie man sie kaskadiert, und dann nur noch wie 
schon beschrieben die Fälle tauschen...

von Hannes L. (hannes)


Lesenswert?

Naja, er hat den Schalter ja bereits, da ist Diodenmatrix das 
Einfachste. Suchte er einen Schalter, dann würde ich den empfehlen:
http://cgi.ebay.de/15x-ALPS-Absolut-Encoder-SRGA-16fach-/290505268282?pt=Elektromechanische_Bauelemente&hash=item43a3769c3a

...

von RainerK (Gast)


Lesenswert?

15 x 1kOhm in Serie zwischen GND und +
GND und + sowie alle 14 dazwischen liegenden Knoten
an den 16 Schalterkontakte anschließen.
Den Common-Anschluß des Schalters auf den AD-Eingang des kleinsten
passenden µC schalten und ein paar Programmzeilen schreiben:

FERTIG

Das Thema hatten wir hier vor ein paar Wochen schon mal mit einem Poti 
als Schalter mit unüblicher Anzahl an Stellungen.

Es grüßt RainerK

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

noch einfacher:

Schalter als 4 x 4 Matrix an 8 I/Os, die übrigen 4 I/Os eines PIC16 
geben den Graycode aus. Zum Pic (1 x DIP18) braucht man noch 4 
Pullup-Widerstände. Aber einen Prozessor will der Fragesteller wohl 
nicht.

Gruss Reinhard

von RainerK (Gast)


Lesenswert?

Reinhard Kern schrieb:
> Schalter als 4 x 4 Matrix an 8 I/Os, die übrigen 4 I/Os eines PIC16
> geben den Graycode aus. Zum Pic (1 x DIP18) braucht man noch 4
> Pullup-Widerstände. Aber einen Prozessor will der Fragesteller wohl
> nicht.

Ob der Fragesteller einen PIC o.a. will oder nicht hat er nicht 
geschrieben.
Aber was soll er mit einer 4x4-Matrix?
Der 16er-Schalter, den er verwenden will - bzw. evtl. sogar schon hat - 
gibts wohl kaum mit den für eine solche Matrix notwendigen isolierten 
Einzelschaltern, sondern nur als 16 x 1 oder in seltenen Fällen auch mit 
2 oder 3 Ebenen.

Es grüßt RainerK

von Matthias (Gast)


Lesenswert?

Hey Leute

Danke für die super Antworten!
Das mit dem Anschlusspins vertauschen funktioniert super für mich!
Nochmal danke!

Grüße Matthias

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.