R2R-Netzwerk

P

Peter Rachow

Guest
Hallo,

ich habe mir für den parallelen Port meines PC einen DA-Wandler gebaut, der
ein R2R-Netzwerk verwendet (mit 1k und 2k-Widerständen). Der Wandler ist für
10 Bit Breite ausgelegt und verwendet die 8 Datenbits und zusätzlich 2
Leitungen vom Kontrollport.

Ich habe mir ein Testprogramm geschrieben, das im 100ms-Takt alle Werte von
0...1023 an den Port abgibt. Eigentlich funktioniert alles wie gewünscht,
nur beobachte ich bei bestimmten Konstellationen folgendes: Wechselt das
Bitmuster von einer Struktur bei der viele Bits gesetzt sind (z. B. die Zahl
"63") auf die nächste Zahl, wo nur ein Bit gesetzt ist (64), so steigt die
Spannung nicht, sondern sinkt um einige mV.

Frage: Gehört das so?

Vielen Dank...

Peter
 
Peter Rachow schrieb:

ich habe mir für den parallelen Port meines PC einen DA-Wandler gebaut, der
ein R2R-Netzwerk verwendet (mit 1k und 2k-Widerständen). Der Wandler ist für
10 Bit Breite ausgelegt und verwendet die 8 Datenbits und zusätzlich 2
Leitungen vom Kontrollport.
Einen 10-bit Wandler diskret aufzubauen ist schon recht vermessen. Hast
du dir mal überlegt welche Toleranz die Widerstände und Ausgangsstufen
haben dürfen?


Ich habe mir ein Testprogramm geschrieben, das im 100ms-Takt alle Werte von
0...1023 an den Port abgibt. Eigentlich funktioniert alles wie gewünscht,
nur beobachte ich bei bestimmten Konstellationen folgendes: Wechselt das
Bitmuster von einer Struktur bei der viele Bits gesetzt sind (z. B. die Zahl
"63") auf die nächste Zahl, wo nur ein Bit gesetzt ist (64), so steigt die
Spannung nicht, sondern sinkt um einige mV.

Frage: Gehört das so?
Ganz normal, haben will man das halt nicht.


Gruß Dieter
 
In article <cfvc84$mme$02$1@news.t-online.com>,
"Peter Rachow" <peter.rachow@t-online.de> writes:

|> Frage: Gehört das so?

Jetzt weisst du, warum gute DACs per Laserstrahl abgeglichen werden müssen
:)

--
Georg Acher, acher@in.tum.de
http://wwwbode.in.tum.de/~acher
"Oh no, not again !" The bowl of petunias
 
Hallo Dieter,

Einen 10-bit Wandler diskret aufzubauen ist schon recht vermessen.
Hast du dir mal überlegt welche Toleranz die Widerstände
und Ausgangsstufen haben dürfen?
Es soll keine Hi-Tech-Lösung sondern ein Bestandteil für einen Schulversuch
sein. Frage: Was wäre ein leicht beschaffbarer IC-Typ (Reichelt, Conrad) ,
der diese Aufgabe (10-Bit-DA-Wandlung parallel) besser erledigen könnte?

Frage: Gehört das so?

Ganz normal, haben will man das halt nicht.
Dachte ich mir....

vg

Peter
 
Unter http://www.embeddedFORTH.de Heft 8 Seite 18 kurz behandelt.

10 Bit
Für Eigenbau etwas viel. Es gab früher ( 80er Jahre ) Edel-Widerstands-
netzwerke in Dünnfilmtechnik abbgeglichen die da mühsam hinkamen.
6 - 8 Bit diskret aufgebaut mit Widerständen macht schon Sinn,
weil die Ferranti-Wandler die mit 5V betreibbar waren nichtmehr
so handelsüblich sind.

parallelen Port ...
74HC244 dazwischen kann sinnvoll sein, weil der
garantiert wie CMOS an beide Versorgungsspannungen durchschaltet
( keine Sparschaltung mit pullups usw. ). Und der Einfluß des
Innenwiderstand der Fets gering ist, weil er für mehr
als 1mA ausgelegt ist.

(mit 1k und 2k-Widerständen)
Hochohmiger würde den Einfluß der Fets verringern.
Sich entweder über Toleranz gedanken machen oder
wenigstens mit Ohmmeter selektieren.

MfG JRD
 
Peter Rachow <peter.rachow@t-online.de> wrote:
: Hallo Dieter,

:> Einen 10-bit Wandler diskret aufzubauen ist schon recht vermessen.
:> Hast du dir mal überlegt welche Toleranz die Widerstände
:> und Ausgangsstufen haben dürfen?

: Es soll keine Hi-Tech-Lösung sondern ein Bestandteil für einen Schulversuch
: sein. Frage: Was wäre ein leicht beschaffbarer IC-Typ (Reichelt, Conrad) ,
: der diese Aufgabe (10-Bit-DA-Wandlung parallel) besser erledigen könnte?
Wenn es nicht zu schnell sein braucht, wäre PWM eine Option.
BTW: Wenn es nicht Hi-Tech sein braucht, reichten dann nicht auch 7
oder 8 Bit? Diese sollten sich mit 1% MF-Widerständen noch erreichen
lassen. Allerdings würde ich das Netzwerk nicht direkt an den
Parallelport anschließen, sondern über ein 74HC574 Register. Dann
hast du schöne CMOS-Pegel von 0 bzw. 5V. Als Widerstandswerte wären
dann eher 10k und 20k angebracht.
 
Peter Rachow schrieb:

Es soll keine Hi-Tech-Lösung sondern ein Bestandteil für einen Schulversuch
sein. Frage: Was wäre ein leicht beschaffbarer IC-Typ (Reichelt, Conrad) ,
der diese Aufgabe (10-Bit-DA-Wandlung parallel) besser erledigen könnte?
Parallel ist ein Handicap, da wirst an ein Einzelstück am ehesten durch
Musterbestellung bei Maxim drankommen, schau dich mal auf deren Website
(www.maxim-ic.com) um, Übersichtstafel findest du hier:
http://para.maxim-ic.com/compare.asp?Fam=DAC&Tree=DAConverters&HP=ADCDACRef.cfm&ln=


Gruß Dieter
 
1

Peter Rachow schrieb:

nur beobachte ich bei bestimmten Konstellationen folgendes: Wechselt das
Bitmuster von einer Struktur bei der viele Bits gesetzt sind (z. B. die Zahl
"63") auf die nächste Zahl, wo nur ein Bit gesetzt ist (64), so steigt die
Spannung nicht, sondern sinkt um einige mV.
Das liegt vermutlich am Innenwiderstand der Quelle oder an der Toleranz des
Netzwerkes.
Kannst ja mal die Spannungen am Digitalausgang statisch in beiden Zuständen
messen.
Ggf. hilft ein Bufferverstärker zw. Port und Netzwerk.

Allerdings ist 10 Bit schon recht recht optimistisch gedacht.

Gruss Udo
 
"Peter Rachow" <peter.rachow@t-online.de> wrote:

Hi!

ich habe mir für den parallelen Port meines PC einen DA-Wandler gebaut, der
ein R2R-Netzwerk verwendet (mit 1k und 2k-Widerständen). Der Wandler ist für
10 Bit Breite ausgelegt
Wechselt das
Bitmuster von einer Struktur bei der viele Bits gesetzt sind (z. B. die Zahl
"63") auf die nächste Zahl, wo nur ein Bit gesetzt ist (64), so steigt die
Spannung nicht, sondern sinkt um einige mV.

Frage: Gehört das so?
Ja. :)

Wenn Du 10 Bit mit R2R aufbauen willst, dann müssen Deine Widerstände
(besonders die bei den "hohen" Bits) und die Spannungsquellen daran
eben auf ein 1024tel genau sein.

Darum nimmt man für hohe Auflösungen lieber sowas wie delta-sigma. Die
haben dann nur _eine_ Quelle, die ganz schnell ein- und ausgeschaltet
wird. Solche Wandler gibts sollte es auch mit parallelem Dateneingang
geben.

Gruß,
Michael.
 
Rafael Deliano <Rafael_Deliano@t-online.de> wrote in message news:<41234400.D9A3FB16@t-online.de>...

(mit 1k und 2k-Widerständen)
Hochohmiger würde den Einfluß der Fets verringern.
Sich entweder über Toleranz gedanken machen oder
wenigstens mit Ohmmeter selektieren.
Ich würde ein solches Netzwerk auf jeden Fall auch mit
drei gleichen Widerständen aufbauen. Also z.B. 10KOhm
für "R" und 2x10kOhm in Reihe für "2R". Ausserdem ist
es beim Kauf sinnvoll, darauf zu achten, das alle Widerstände
von einer Rolle stammen. Dann sind die Relativtoleranzen
am geringsten. Übrigens nennt sich der beschriebene Fehler
"nicht monoton". Diese Angabe findet man auch in den
Datenblättern der DA-AD-Wandler.
Gruss
Harald
 
10KOhm für "R" und 2x10kOhm in Reihe für "2R".
Das mach ich auch auf Lochraster manchmal: kann man Gurte von
engtolerierten Widerständen mit exotischen Werten verwursteln wie
sie einem Völkner ehedem oder Pollin heute oft in Sortimenten
andrehen.
Wenn man aber weniger Teile verlöten will ist man nicht mit der
üblichen R2R-Schaltung sondern mit der Parallelschaltung
besser bedient:

--R1--+-- 1*R
|
--R2--+ 2*R
|
--R3--+ 4*R
|
--R3--+ 8*R
|

Da hat man natürlich mehr Probleme mit unterschiedlichem
Tempco usw.

MfG JRD
 
Hallo,

ich habe die Hinweise aufgegriffen und die Schaltung modifiziert:

- Treiber 78LS244
- 8-Bit statt 10
- nur Widerstände aus einer Serie (10kOhm Metallfilm), mit Ohmmeter nochmals
ausgemessen und nur Widerstände gewählt, die nahe beieinander liegen..

Die Genauigkeit ist nun ausreichend für meinen Zweck.

Vielen Dank.

vg

Peter
 
"Peter Rachow" <peter.rachow@t-online.de> schrieb im Newsbeitrag
news:cg51fr$c3a$02$1@news.t-online.com...
Hallo,

ich habe die Hinweise aufgegriffen und die Schaltung modifiziert:

- Treiber 78LS244
Hallo Peter,
also der 74LS244(78LS244?) war aber ein echter Fehlkauf. Da ist
der High-Pegel ja sowas von lausig(3,??V), daß ich mir schon gar
nicht vorstellen kann wie du da 8bit-Monotonie geschaffft hast.

Da gehört ein 74HCT244 oder 74ACT244 hin. Der hat dann wirklich
praktisch die 5V als High-Pegel und 0V als Low-Pegel.

- 8-Bit statt 10
- nur Widerstände aus einer Serie (10kOhm Metallfilm), mit Ohmmeter
nochmals
ausgemessen und nur Widerstände gewählt, die nahe beieinander liegen..
Sehr gute Idee die zu vermessen.

Die Genauigkeit ist nun ausreichend für meinen Zweck.
Ich wundere mich.

Gruß
Helmut
 

Welcome to EDABoard.com

Sponsor

Back
Top