Hallo zusammen, ich bräuchte Eure Hilfe, mir fehlt der Ansatz. Es geht um folgendes: Ich habe ein DAC mit 16bit Auflösung. Nun möchte ich eine Spannung erzeugen diese aber kleiner als eben 2.5V / 2^16 auflösen. Hab folgendes vor: zwei DACs mit zwei Widerstände miteinander verbinden. DACA –R1 – Spannungsabgriff – R2 – DACB R1 hat den Wert 100Ohm R2 100kOhm. Frage: Wie komm ich jetzt von meiner Wunsch Spannung am Spannungsabgriff auf meine jeweilige Spannungen an den DACs. Hätte jemand einen Lösungsansatz? (Und ja mir ist das mit Genauigkeit ect. durchaus bewusst, es geht hier nur um die Mathematische Umsetzung). Besten Dank vorab.
Ich würde einen 24 Bit DAC nehmen. Der zweite DAC bringt dir nur 1 Bit mehr Auflösung! Elch schrieb: > zwei DACs mit zwei Widerstände miteinander verbinden. Der zweite DAC braucht eine galvanisch getrennten Stromversorgung und die Ansteuerung muss dementsprechend auch galvanisch getrennt sein. Dann addieren sich die Spannungen der beiden DACs einfach. Wie gesagt, nimm einen 24 Bit DAC. Aber denk daran - schon 16 bit bei 5V sind 70µV pro Schritt. Der Output-Ripple eines typischen Spannungsregler (auch Linearregler) liegt bei 10mV (!!!). Überleg dir deine Spannungsversorgung gut.
Theoretisch kannst du mit 2 Stück 16-Bit-DACs einen 17-Bit-DAC machen, indem du gleichgrosse Widerstände verwendest, z.B. je 1000 Ohm . Ausgabe am 1. DAC z.B. Wert 1234 , am zweiten 1235 , dann ergibt sich der Zwischenwert. Die beiden Widerstände sollten deutlich grösser als der Ausgangswiderstand des DAC sein. Praktisch geht das kaum, da die Widerstände 0,001% Genauigkeit bräuchten. Wirtschaftlich mach es auch keinen Sinn, da es DACs mit höherer Auflösung bereits gibt. (ok, bereite beantwortet, aber meine Antwort ausführlicher). Gruss
Elch schrieb: > Ich habe ein DAC mit 16bit Auflösung. Nun möchte ich eine Spannung > erzeugen diese aber kleiner als eben 2.5V / 2^16 auflösen. Das ist keine irgendwie sinnvolle Aufgabenbeschreibung. Denn natürlich kann ein 16-Bit DAC zumindest im Prinzip eine Spannung besser als 2.5V/2^16 auflösen. Wenn man ihn mit 1V Referenzspannung betreibt, z.B. 1V/2^16. Oder man vermindert das Ausgangssignal eines DAC mit 2.5V Referenz mit einem Spannungsteiler auf 1/1000, dann kriegt man 2.5mV/2^16. Also nochmal: welchen Spannungsbereich willst du ausgeben können mit welcher Auflösung? Bedenke, daß es außer der Quantelung durch den DAC auch Fehler wie Offset(drift) und Rauschen gibt.
Kannst du dein DAC vielleicht als IDAC schalten ? Das koennte dich vielleicht andere moeglichkeiten geben... Vielleicht off-topic weil es fuer PSOC geschrieben ist aber diese tutorial koennte dich mehr ideeen geben : "This tutorial demonstrates how to increase the standard internal 8-bit DAC to as much as 12-bits of resolution." http://www.cypress.com/video-library/PSoC/how-increase-dac-resolution-psoc-3-and-psoc-5/106711
Elch schrieb: > Wie komm ich jetzt von meiner Wunsch Spannung am Spannungsabgriff auf > meine jeweilige Spannungen an den DACs. Ganz einfach per Superposition. Denk Dir hinter jedem DAC einen Spannungsteiler, einmal 100k/100,1k und einmal 0,1k/100,1k. Und dann addiere beide Spannungen.
Klassiker: AN86 von Linear "A Standards Lab Grade 20-Bit DAC with 0.1ppm/°C Drift" Zwei 16-Bit DACs und ein LTC2400, dessen Linearitätsfehler korrigiert werden, in einer Regelschleife http://www.analog.com/media/en/technical-documentation/application-notes/an86f.pdf
Arc N. schrieb: > AN86 von Linear "A Standards Lab Grade 20-Bit DAC with 0.1ppm/°C Drift" > Zwei 16-Bit DACs und ein LTC2400, dessen Linearitätsfehler korrigiert > werden, in einer Regelschleife > http://www.analog.com/media/en/technical-documentation/application-notes/an86f.pdf Danke. Pures Gold.
Elch schrieb: > Ich habe ein DAC mit 16bit Auflösung. Nun möchte ich eine Spannung > erzeugen diese aber kleiner als eben 2.5V / 2^16 auflösen. Brauchst du wirklich alle 2^16+ Schritte, in Abständen von 1/(2^16), die du "aus dem Stand" anspringen willst? Bekommst du Feedback und brauchst nur eine beliebig hohe Auflösung? Oder brauchst du nur ein paar sehr genaue Werte? Wenn du Feedback hast kannst du die zwei DACs einfach "parallel" schalten (entweder mit einem ordentlichen Summierer, oder halt über 1k und 100k) und beim niedrigeren DAC nur die obersten n Bits ansteuern. Durch trimmen könntest du die Ausgänge so hindrehen, dass der Ausgangsbereich des zweiten DAC genau in ein (oder sontiges ganzzahliges Vielfaches) LSB passt. Das funktioniert dann, je nach Schaltung, zumindest bei genau der Spannungsversorgung und Raumtemperatur. Alternativ, wenn du nur bestimmte fein aufgelöste Spannungen ausgeben willst, kannst du auch mit einem 24-Bit ADC die kombinierte Ausgangsspannung messen und über eine Art skuzessiver Approximation die beiden DACs nacheinander einstellen bis du nah genug an deinem Wunschwert bist. Aber auch ich sage dir - 20 Bit bei 2.5V sind 2.4µV LSB. Da nicht im Rauschteppich (Spannungsversorgung, Widerstandsrauschen, Thermospannungen, Temperaturdrifts) unterzugehen erfordert viel Knowhow im Schaltungsdesign. Linear (jetzt Analog) hat da sehr spannende Appnotes, z.B. die schon genannte AN86 oder auch AN74, oder https://m.eet.com/media/1146038/21715-74453.pdf,
Die größten Probleme dürften wohl INL und auch DNL der DACs bereiten. In einer Schleife (wie schon angesprochen) lässt sich das aber machen. Ansonsten habe ich sehr gute Erfahrungen mit dem AD5791 gemacht.
Dir fehlt noch viel praktische Erfahrung in diesem Gebiet, denn nicht alles was theoretisch geht, ist in der Praxis machbar. Du hast noch ganz andere Probleme - außer den schon angesprochenen: Die Referenz-Spannung! Die wird nämlich auch nicht so stabil/genau sein, falls du wirklich absolute Genauigkeit möchtest. Eine extrem hohe absolute Genauigkeit (+Langzeitdrift!) ist nur mit komplexen, unter temperaturgeregelten Bedingungen erreichbar, da jede Referenz einen Temperaturkoeffizienten hat. Selbst wenn du nur relative Auflösung bräuchtest: - Im µV-Bereich hast du es überall auf der Platine mit Thermoelementspannungen zu tun - selbst bei einem Kupfer-Lötzinn-Kupfer-Übergang kann man mit etlichen µV/°C rechnen. - Und schau' dir mal das Peak-Peak-Rauschen (0,1...10Hz) von guten OPAs an! Dieses Rauschen lässt sich prinzipiell nicht wegsieben! - OPAs haben einen Bias- und Offsetstrom, der sich mit Temperatur und Common-Mode-Spannung ändert. Mit einigen nA an 1K bist du wieder bei etlichen µV. (CMOS-OPAs haben pA-Eingangsstrom, dafür PP-Rauschen, dass dir schlecht wird) Ich versuche mit einem 18Bit-DAC stabile µV hinzubekommen, trotz geheiztem Gehäuse für die ganze Schaltung und mit den besten ferfügbaren ICs komme ich kaum unter 10µV Stabilität herunter. PS: Auch mit der DAC-Messung hast du die Fehler der Referenz, die Thermospannungen und das Peak-Peak-Rauschen (auch der Referenz!). Mein 6-1/2-stelliges Messgerät zeigt nie Null an und nie den gleichen Wert, wenn man die kurzgeschlossenen Kabel ein- und aussteckt oder umtauscht! Audio-DACs gibts mit 24Bit (LOL), dafür aber nur für den Audio-Frequenzbereich und kaum absolute Genauigkeit... Fazit: => ~100µV sind mit besten Bauteilen noch einfach machbar => ~10µV mit höchstem Aufwand und Wissen => < / = 1µV schaffen nur die Cracks der großen Firmen wie Keithley, Agilent & Co. ==> sei zufrieden mit deinen 16Bit! Alles andere ist Selbstver****ung!!!
Alexxx schrieb: > => < / = 1µV schaffen nur die Cracks der großen Firmen wie Keithley, > Agilent & Co. Jo, aber deren Veröffentlichungen sind echt faszinierend! Was es da alles für Tricks gibt... Alexxx schrieb: > Du hast noch ganz andere Probleme - außer den schon angesprochenen: > Die Referenz-Spannung! Auch ne gute App note: http://www.analog.com/media/en/technical-documentation/application-notes/an82f.pdf Absurd was sich da alles bemerkbar macht. (Mechanische) Spannungen auf der Platine oder wortwörtlich der sanfteste Lufthauch über der Platine bringen schon Spannungsrauschen oder -sprünge im µV-Bereich.
@bla
>> Jo, aber deren Veröffentlichungen sind echt faszinierend! Was es da
alles für Tricks gibt...
Kannst du da Links posten? Würde mich sehr interessieren.
Mit einem 6.5 Digit DMM kann man nicht vernünftig hochgenaue Schaltungen im µV-Bereich entwickeln, da die DMMs selbst zu wenig Auflösung haben bzw zuviel Thermodrift aufweisen. IBias/IOffset ändert sich mit der Common-Mode-Spannung -> Spannungsversorgung der OPs dem Eingangssignal nachführen wie es in den alten Datron 1271/1281-DMMs gemacht wurde um die Common-Mode-Spannung konstant zu halten (siehe hier: http://www.proaudiodesignforum.com/images/pdf/Bootstrapping_Your_Op_Amp_Yields_Wide_Voltage_Swings_King_Watkins_EDN_May_13_1999.pdf oder hier: http://www.ko4bb.com/manuals/10.0.5.203/Datron%201281%20Service%20Manual%20(1989-01)%20drawings.pdf Seite 24) Wo möglich Auto-Zero-OPs verwenden (wenn man sich des starken I-Bias-Rauschen bewusst ist und möglichweise filtern kann, siehe auch Art of Electronics Edition 3) um 1/f-Rauschen und Offsetdrift zu vermeiden. Langzeitstabilität gefordert -> LM399 oder LTZ1000 verwenden mit passender Buffer-Beschaltung für DACs die kurzzeitig hohe Stromspitzen ziehen Thermodrift -> Das ganze Gerät thermisch mit ner Heizung stabilieren, Kupfer-Tellur-Bananenbuchsen verwenden (Pomona 3770) wenn das Signal aus dem Gehäuse geführt wird Wenn man sichs einfach machen will -> AD5791 auf EvalBoard fertig kaufen inclusive LTZ1000-Board.
Elch schrieb: > es geht hier > nur um die Mathematische Umsetzung Rechnerisch kannst du schon die 1LSB-Stufe eines 16bit DAC mit einem zweiten weiter unterteilen - aber wenn du z.B. 20 Bit erreichen willst, müsste der "Hi"-DAC selbst schon auf 20 bit genau sein. Das ist er ganz sicher nicht, warum sollte man ein so überspezifiziertes Teil entwickeln? Wenn man 20 Bit Genauigkeit kann, verkauft man eben einen 20 Bit DAC. In der Praxis muss man froh sein, wenn die Ausgangsspnnung monoton verläuft, m.a.W. der Abstand von einer Stufe zur nächsten kann zwischen 0 und 2 LSB schwanken. Das weiter zu unterteilen ist ziemlich sinnlos. Georg
georg schrieb: > Wenn man 20 Bit Genauigkeit kann, verkauft man eben einen 20 > Bit DAC. Nur sind die erheblich teurer als 2 gute 16Bit-DACs und ein 24Bit-ADC nach dem Summationspunkt mit dem man die Kalibrationstabelle im EEPROM erstellt.
Alexxx schrieb: > Du hast noch ganz andere Probleme - außer den schon angesprochenen: > Die Referenz-Spannung! Die Referenz ist aber in erster Näherung nur relativ dabei. Wenn die bei FS stabil genug ist, dann ist sie das auch nach dem DAC. Der ändert daran nichts. Alexxx schrieb: > trotz > geheiztem Gehäuse für die ganze Schaltung und mit den besten ferfügbaren > ICs komme ich kaum unter 10µV Stabilität herunter. Das ist aber wirklich machbar. Voltnut schrieb: > Mit einem 6.5 Digit DMM kann man nicht vernünftig hochgenaue Schaltungen > im µV-Bereich entwickeln, da die DMMs selbst zu wenig Auflösung haben > bzw zuviel Thermodrift aufweisen. Das sehe ich anders. Natürlich ist ein 8,5 stelliges DMM bei vielen Dingen komfortabler, aber das DMM selbst ist oft weniger kritisch als die Wahl der Messverbindung usw. Das wichtigste Handwerkszeug zum Entwickeln solcher Schaltungen sind: Bleistift, Papier und Taschenrechner. Viele der Größen, die sich am Ende zu echten Problemen summieren sind ohnehin nicht direkt messbar. Da muss man dann rechnen und sich Methoden überlegen seine Überlegungen zu verifizieren. Mit etwas Verstand kommt man dann auch ohne 8,5 stellige Multimeter aus (oft auch ohne 6,5 Stellen). Wenn es an Langzeitstabilität geht, dann braucht es hingegen meist schon ein 8,5 stelliges Gerät oder aber eine andere Art von stabiler Referenz gegen die man messen kann. Voltnut schrieb: > Wo möglich Auto-Zero-OPs verwenden Es gab hier irgendwo im Forum erst kürzlich einen Beitrag bei dem es um Präzisionsgeschichten ging. Nach kurzer Rechnung war klar, das hierbei als OP ein LM358 völlig ausreichend ist. Fazit: Man muss rechnen. Erst dann sieht man wo das Problem liegt und ob es eine Lösung gibt. Einen OP der alles sehr gut kann gibt es nicht. Voltnut schrieb: > Wenn man sichs einfach machen will -> AD5791 auf EvalBoard fertig kaufen > inclusive LTZ1000-Board. Auf das EvalBoard kann man direkt eine LTZ1000 einbauen (oder war das so gemeint?). georg schrieb: > Rechnerisch kannst du schon die 1LSB-Stufe eines 16bit DAC mit einem > zweiten weiter unterteilen - aber wenn du z.B. 20 Bit erreichen willst, > müsste der "Hi"-DAC selbst schon auf 20 bit genau sein. Das ist auch meine Erfahrung. Sowas funktioniert nur mit einer Rückkopplung. Sei es durch etwas in Deiner Applikation oder so wie in dem Paper von Jim Williams beschrieben. Je nachdem was Du vor hast ist es sinnvoll die DACs mit etwas überlapp auszulegen, damit die Schaltung zumindest Abschnittsweise monoton bleibt.
Peter D. schrieb: > Nur sind die erheblich teurer als 2 gute 16Bit-DACs und ein 24Bit-ADC > nach dem Summationspunkt mit dem man die Kalibrationstabelle im EEPROM > erstellt. Das würde ich bezweifeln. Wenn es so einfach wäre, warum packt z.B. LT nicht einfach zwei solcher DACs zusammen mit einem ihrer ADCs und etwas Speicher in ein Gehäuse?
Die Chiphersteller werden dafür sorgen dass sie ein möglich breites Produktportfolio haben und keine Chips herstellen die auf einen Schlag durch einen enormen Vorteil und niedrige Preise den Großteil ihrer sonstigen ICs obsolet machen bzw. werden sie keine hochspezialisierten Chips herstellen wie beim AN86-Beispiel, die sie nur in sehr kleinen Stückzahlen los werden. Siehe Maxim: viele spezielle ICs, die nicht langfristig verfügbar sind und die deshalb von nur wenigen Entwícklern berücksichtigt werden. Richtig gute Analogentwickler würden einfach für sie passsende ICs wählen, diese koppeln und von neueren, besseren, ICs profitieren. Ich beziehe mich beim AD5791-Board auf die aktuelle Version, wo die Referenzen separat als Tochterplatine auf das AD5791-Grundboard aufsteckbar sind.
Philipp C. schrieb: > Wenn es so einfach wäre, warum packt z.B. LT > nicht einfach zwei solcher DACs zusammen mit einem ihrer ADCs und etwas > Speicher in ein Gehäuse? Vermutlich hat LT keine geeigneten Bauteile. Ich verwende DACs von TI und nen ADC von AD. Davor hatte wir einige Zeit den DAC1220 im Einsatz, der sieht aber auch nur auf dem Papier gut aus. Die 2*16Bit Lösung ist in allen Parametern deutlich besser. Den AD5791 gab es erst viel später. Ich kann daher nicht mehr eine gut funktionierende Lösung durch eine teuere ersetzen.
Voltnut schrieb: > Die Chiphersteller werden dafür sorgen dass sie ein möglich breites > Produktportfolio haben und keine Chips herstellen die auf einen Schlag > durch einen enormen Vorteil und niedrige Preise den Großteil ihrer > sonstigen ICs obsolet machen bzw. werden sie keine hochspezialisierten > Chips herstellen wie beim AN86-Beispiel, die sie nur in sehr kleinen > Stückzahlen los werden. Siehe Maxim: viele spezielle ICs, die nicht > langfristig verfügbar sind und die deshalb von nur wenigen Entwícklern > berücksichtigt werden. Naja, ein AD5791BRUZ kostet einzeln bei Digikey 87€ netto. Das ist ja nun nichts für billige Elektronik. Und sie werden sicherlich in diesem Segment versuchen das bestmögliche liefern zu können. Voltnut schrieb: > Richtig gute Analogentwickler würden einfach für sie passsende ICs > wählen, diese koppeln und von neueren, besseren, ICs profitieren. Das Problem einer solchen Kopplung ist, dass man jede Schaltung einzeln vermessen muss und der EEPROM Inhalt nur exakt für diese eine Schaltung passt. Dafür ist teures Equipment für sehr lange Testzeiten notwendig. Der vermeintlich günstige Preis der Komponenten wird dabei von den Testkosten aufgefressen. Somit ist das eher etwas für extrem kleine Stückzahlen oder Bastler. Übrigens gibt es sehr wohl solche fertigen Schaltungen von den Herstellern. Z.B. den AD1139. Das ist eine Hybdridschaltung. Das Teil kostet bei Mouser aktuell 920€ (natürlich auch weil es alt ist). Voltnut schrieb: > Ich beziehe mich beim AD5791-Board auf die aktuelle Version, wo die > Referenzen separat als Tochterplatine auf das AD5791-Grundboard > aufsteckbar sind. Ah, dann habe ich wohl ein älteres. Da kommt die LTZ1000 (undokumentiert) direkt rauf.
Peter D. schrieb: > Vermutlich hat LT keine geeigneten Bauteile. Das halte ich mal für sehr gewagt. LT hat seit Jahren den LTC2400 als sehr guten ADC. Die haben mit LT5400 die Möglichkeit sehr gut gematchte Widerstände zu machen und ohne jetzt nachgesehen zu haben behaupte ich auch mal, dass die brauchbare 16bit DACs haben. Ähnliches gilt für AD. Mittlerweile ist es ja auch noch nur eine Firma.
Philipp C. schrieb: > LT hat seit Jahren den LTC2400 als > sehr guten ADC. Der LTC2400 ist zwar alt und günstig, aber nicht gerade einfach zu benutzen. Unterhalb 2,5V liefert er Strom, darüber zieht er Strom. Wenn man mal mit dem Oszi den Eingangsstrom anschaut, gibt das in jedem Wandlertakt ein lustiges auf und ab. Er braucht am Eingang einen Impedanzwandler, der quasi nahe 0Ω hat, sonst gibt es Lottozahlen. Heutzutage gibt es bessere 24Bitter mit integriertem Eingangsverstärker, die auch nicht so sehr rumpeln. Vorzugsweise haben die auch getrennte GND für Signal, Versorgung und Daten. Das macht das Layout erheblich einfacher.
:
Bearbeitet durch User
Das war ja nur ein Beispiel für einen ADC der so etwas leisten könnte und seit Jahren im Programm ist. Hast Du da einen netten ADC parat der am besten auch gleich noch linearer ist als der LTC2400?
Der AD7194 funktioniert ganz gut. Mit 8/16 Eingängen und PGA. Nur selber löten kann ich sowas kleines nicht mehr.
Peter D. schrieb: > Der AD7194 funktioniert ganz gut. Danke! Aber wenn es um Präzision geht sieht der auf den ersten Blick nicht besser aus als der LTC200. Vom INL sind die gleich spezifiziert (was ja noch nichts heißen muss), aber vom TK ist der LTC2400 mit 0,01ppm/K auf FS spezifiziert und der AD7194 100x schlechter. Was das Löten angeht so ist der LTC2400 im SO-8 wirklich nett :).
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.