Dezimal zu analog (10 zu 1)

OP #4776479
Hallo,

ich habe ein Gerät, das an einem mehrpoligem Stecker den Status eines 
Drehschalters ausgibt.
Das sind 10 Kontakte, von denen immer nur einer (je nach 
Schalterstellung) auf 0V liegt, die anderen liegen dann auf 5V.
Diesen möchte ich extern auswerten.

Schön wäre es, wenn ich daraus ein analoges Signal (in 0,5V Stufen) 
bekomme.

Als erstes trifft man auf ein R2R-Netzwerk. Da wären dann aber die 
Unterschiede bei den niedrigen Bits doch etwas gering.

Welche Möglichkleiten gibt es da noch?

Danke.
Gast #4776498
Dirk B. schrieb:
> Als erstes trifft man auf ein R2R-Netzwerk

Na ja, da nur 1 Kontakt der 10 geschlossen sein kann, nimmt man 10 
Widerstände und einen pull up nach +5V so, daß die Spannungen 0V 
(keiner), 0.5V, 1V , .... 4.5V und 5V bei rauskommen.
#4776672
@  Dirk B. (dirkb2)

>Dann werde ich wohl um 11 (sehr) verschiedene Widerstandswerte nicht
>umher kommen.

Falsch. Es gibt immer noch die Reihen- und Parallelschaltung, das 
vermindert die Anzahl der Widerstandswerte erheblich.
Gast #4776680
Dirk B. schrieb:
> Dann werde ich wohl um 11 (sehr) verschiedene Widerstandswerte nicht
> umher kommen.

Du kannst auch mit Dioden über Wired-OR eine Binärkodierung 
erzeugen.Dann kommst du mit einem einfache 4-Bit R2R-Netzwerk zurecht. 
Der Preis sind 15 Dioden, wenn ich nicht irre.
OP #4776929
Falk B. schrieb:
> Falsch. Es gibt immer noch die Reihen- und Parallelschaltung, das
> vermindert die Anzahl der Widerstandswerte erheblich.

Der Bereich geht (wenn ich richtig gerechnet habe) ungefähr von 1/9 R 
bis 9 R (R=PullUp)
Aber sooo genau muss es ja auch nicht sein.

Wolfgang schrieb:
> Du kannst auch mit Dioden über Wired-OR eine Binärkodierung
> erzeugen.Dann kommst du mit einem einfache 4-Bit R2R-Netzwerk zurecht.
> Der Preis sind 15 Dioden, wenn ich nicht irre.

Hab ich auch schon gedacht, aber das sind nicht weniger Bauteile und 
Lötungen, aber vier Leitungen.
Da ich noch analoge Eingänge frei habe, wollte ich es damit provieren.
Gast #4776979
Dirk B. schrieb:
> Das sind 10 Kontakte, von denen immer nur einer (je nach
> Schalterstellung) auf 0V liegt,

Muss der "Zentralanschluss" deines Schalters unbedingt auf GND liegen? 
Schön einfach wäre es, wenn du diesen einen Anschluss als Ausgang 
verwenden könntest. Dann kannst du die anderen 10 Kontakte an eine 
Spannungsteilerkette aus 9 identischen Widerständen hängen und bekommst 
- je nach Schalterstellung - den gewünschten Abgriff deines 
Spannungsteilers.
Gast #4777098
Dirk B. schrieb:
> Das sind 10 Kontakte, von denen immer nur einer (je nach
> Schalterstellung) auf 0V liegt, die anderen liegen dann auf 5V.
Um Entkoppeldioden wirst du nicht herumkommen, da die 5V vermutlich 
durch einen Pullup-Widerstand, möglicherweise auch über einen zweiten 
Kontakt (NC) des Schalters anliegen.
Angehängte Dateien:
#4777128
Wen willst Du eigentlich mit dem analogen Wert füttern?

Die meisten 08/15 µC haben 10 Bit A/D-Wandler - und mehr.

Halbwegs der Stellung, des Schalters, angepasste Widerstände, sollten 
dann kein Problem sein. Letztere hängen natürlich von den tatsächlichen 
Bedingungen ab.
Gast #4777272
Sebastian S. schrieb:
> einen 10:4 Decoder
Wäre das nicht eher ein Priority Encoder.

Abgesehen davon, dass ich Sebastian zustimme, würde ich die Schaltung 
nicht allzu hochohmig auslegen - Mindeststrom Schalter, Diode, 
Störungen.

Dirk B. schrieb:
> Ich werde morgen mal mit ein paar E24-Werten rumspielen.
1
R1=470Ω
2

3
   Rx(Ω)  Vosum(V) Ir1(mA)
4
     0      0.7      9.2
5
    68      1.2      8.0
6
   120      1.6      7.3
7
   200      2.0      6.5
8
   300      2.4      5.6
9
   470      2.8      4.6
10
   680      3.2      3.8
11
  1100      3.7      2.8
12
  2000      4.2      1.8
13
  4700      4.6      0.9
Gast #4777353
menal schrieb:
> R1=470Ω
>
>    Rx(Ω)  Vosum(V) Ir1(mA)
>      0      0.7      9.2
>     68      1.2      8.0

Solange einer der Widerstände gleich 0 ist, schließt der im 
"Aus"-Zustand den Ausgang nach +5V kurz. Das kann nicht funktionieren.

Es sei denn, die 5V, die aus anderen Schalterkontakten kommen, sind 
keine harten 5V, sondern kommen über Pull-Up Widerstände.

Dirk B. schrieb:
> Das sind 10 Kontakte, von denen immer nur einer (je nach
> Schalterstellung) auf 0V liegt, die anderen liegen dann auf 5V.
OP #4777369
Wolfgang schrieb:
> Solange einer der Widerstände gleich 0 ist, schließt der im
> "Aus"-Zustand den Ausgang nach +5V kurz. Das kann nicht funktionieren.
>
> Es sei denn, die 5V, die aus anderen Schalterkontakten kommen, sind
> keine harten 5V, sondern kommen über Pull-Up Widerstände.

Der PullUp von  menal ist extern und mit R1=470Ω bezeichnet.
Die Werte decken sich auch mit meinem (bei 470Ω) :-)

Aber auf die 0V werde ich auch verzichten, damit ich erkennen kann ob 
der
"DAC" überhaupt angeschlossen ist.


Leider weiß ich nicht, wo die 5V herkommen.
Ob sie direkt geschaltet werden oder über ein Pullup und OpenCollector 
kommen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.