Forum: Mikrocontroller und Digitale Elektronik Gewichteter DAC und AVR


von Mr.Burns (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich brauche einen variablen Widerstand den ich in 1K-Schritten von 0 bis 
15 kOhm schalten kann.
Dies möchte ich über einen Attiny 2313 steuern, weiß aber nicht so recht 
wie ich es machen soll. Brauche da Eure Hilfe.
Ich habe wie in der Zeichnung gezeigt 4 Widerstände (aus einem R2R 
Netzwerk). Ich möchte nun jeden Widerstand kurzschließen bzw. nicht 
kurzschließen. So könnte ich binär über Bit0 bis Bit3 dann meine Werte 0 
bis 15kOhm erreichen.
Ich weiß aber nicht, wie ich die Schalter S0 bis S3 realisieren soll.
Brauche ich da noch einen Baustein quasi einen digitalen Schalter oder 
kann ich das auch direkt mit den Pins des Attiny 2313 machen?
Muss ich da die Pins auf tristate schalten? Oder wie?

Danke für jede Anregung  Idee  Hilfe...

von Mr.Burns (Gast)


Lesenswert?

Hallo,

habe noch vergessen zu erwähnen, dass ich nicht in der Reihenfolge von 
0-15kOhm hochschalten und dann wieder runterschalten möchte. (sonst 
könnte ich ja ein Digital-Poti nehmen).
Sondern ich möchte die Bitkombination aus Bit0 bis Bit3 in 
Widerstandswerte umsetzten.
Also z.B. mit der Bitkombination 0111 soll 7kOhm und mit 1001 9kOhm 
erreicht werden usw..

Danke!

von Max H. (hartl192)


Lesenswert?

Mr.Burns schrieb:
> Ich weiß aber nicht, wie ich die Schalter S0 bis S3 realisieren soll.
74HC4016?

von Ulrich H. (lurchi)


Lesenswert?

Auch bei den Digitals Potis kann man direkt von einem Widerstandswert zu 
einen frei (im Rahmen was das IC Zuläßt) wählbaren neuen schalten. 1 K 
ist dabei aber schon relativ niederohmig.

Wenn man es so wie gezeigt von Hand lösen will, bräuchte an so etwas wie 
ein IC mit CMOS Schaltern, also etwa ein 74HC4066. Nur den einen 
Schalter nach GND könnt auch ein µC-PIN mit direkt ersetzen (Umschaltung 
zwischen Ausgang low und Eingang ohne Pullup).

von c-hater (Gast)


Lesenswert?

Mr.Burns schrieb:

> Ich habe wie in der Zeichnung gezeigt 4 Widerstände (aus einem R2R
> Netzwerk). Ich möchte nun jeden Widerstand kurzschließen bzw. nicht
> kurzschließen.

Warum? Was willst du mit einem schaltbaren Widerstand?

Doch bestimmt letztlich in irgendeiner Form eine Spannung oder einen 
Strom steuern. Also bau auch etwas, was eine Spannung oder einen Strom 
steuert und keinen schaltbaren Widerstand.

Das macht die Sache nur unnötig kompliziert und teuer.

von Valentin S. (lochrasterer)


Lesenswert?

Transistor + relais?
Wird aber nicht die beste lösung.

von Mr.Burns (Gast)


Lesenswert?

Hallo,

danke erstmal.

>Warum? Was willst du mit einem schaltbaren Widerstand?

Ich habe eine Schaltung (Innenleben unbekannt, China-Ware) in der ein 
temperaturabhängiger Widerstand ist. Diesen möchte ich durch meine 
Schaltung ersetzten und mit meinem Mikrocontroller den Widerstandswert 
bestimmen, den bisher der temperaturabhängige Widerstand bestimmt hat.
Wenn ich auf einem Steckbrett zwei Widerstände nehme und umschalte so 
funktioniert das bereits wunderbar.
Nun möchte ich das halt von einem uC aus machen.
Es wäre am besten, wenn ich keine zus. Bauteile bräuchte und die 
Wiederstände über den Attiny kurzschließen und nicht kurzschließen 
könnte.
Weiß aber nicht, wie ich meine Widerstände dann mit dem Attiny-Pins 
verbinden soll und wie ich die Port-Pins in der Software (AtmelStudio 6) 
programmieren muss.

Danke für Eure Hilfe.

von Max H. (hartl192)


Lesenswert?

Mr.Burns schrieb:
> Weiß aber nicht, wie ich meine Widerstände dann mit dem Attiny-Pins
> verbinden soll
Über Analogschalter

Max H. schrieb:
> 74HC4016
oder
Ulrich H. schrieb:
> 74HC4066

von c-hater (Gast)


Lesenswert?

Mr.Burns schrieb:

> Ich habe eine Schaltung (Innenleben unbekannt, China-Ware) in der ein
> temperaturabhängiger Widerstand ist.

Dann ist deine Anforderung 0..15k also schonmal definitiv Quatsch mit 
Soße. Kein temperaturabhängiger Widerstand kommt auf 0 kOhm. Vermutlich 
würde es also auch reichen, wenn's bloß ungefähr bis 40 Ohm runtergeht 
oder sogar noch deutlich mehr. Also was ist wirklich nötig?

von Mr.Burns (Gast)


Lesenswert?

Hallo,

>...Kein temperaturabhängiger Widerstand kommt auf 0 kOhm...

zu dem Widerstand also den 0-15 kOhm kommt noch ein Widerstand von 3,3 
kOhm in Reihe. Dies ist aber für die Schaltung, die ich benötige, also 
die Widerstandsregelung per uC von 0-15kOhm nicht relevant deshalb habe 
ich es nicht erwähnt.

von Mr. Tom (Gast)


Lesenswert?

Mr.Burns schrieb:
> Ich möchte nun jeden Widerstand kurzschließen bzw. nicht
> kurzschließen.

Mach dir das Leben nicht so schwer und schalte die Widerstände parallel 
mit µC-Ausgang gegen Gnd. Dann steuerst du die µC Ausgänge als 
Open-Drain und alles wird gut.

von Carsten R. (kaffeetante)


Lesenswert?

Mr.Burns schrieb:
> zu dem Widerstand also den 0-15 kOhm kommt noch ein Widerstand von 3,3
> kOhm in Reihe. Dies ist aber für die Schaltung, die ich benötige, also
> die Widerstandsregelung per uC von 0-15kOhm nicht relevant deshalb habe
> ich es nicht erwähnt.

Das war nicht gemeint. Es geht darum, daß der Sensorwiderstand im 
Temperaturmeßbereich niemals Werte zwischen 0 Ohm und 15 kOhm.

Realistischer wäre eher die Größenordnung: Im Meßbereich der erwarteten 
Temperaturen von -20 bis 40 Grad Celsius wandert der Widerstand von 10 
kOhm nach 15 kOhm. Das sind nur stumpf behauptete Werte zur 
Veranschaulichung, da weder Meßbereich noch Sensor, Datenblatt/Kennlinie 
beachten, bekannt sind. Du brauchst niemals den Wertebereich von 0 bis 
15 kOhm!

Mache es so wie Mr. Tom es vorschlägt.

Ersetze den Sensor durch einen 15 kOhm Widerstand und schalte einige 
hochohmige Widerstände parallel dazu, so daß deren Parallelschaltung den 
gewünschten Wert ergibt. Dazu brauchst du die ungefähre Kennlinie 
(Datenblatt oder selbst messen). Ob Du nun nach GND oder was anderem 
verschaltest, hängt davon ab, ob der Sensor oben oder unten im 
Spannungsteiler liegt und wie dieser Spannungsteiler eingebunden ist. 
Also mußt Du dazu die Originalschaltung ein klein wenig genauer 
anschauen.

: Bearbeitet durch User
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.