Hallo,
es geht zunächst um z.B. den MCP48FVB22http://ww1.microchip.com/downloads/en/DeviceDoc/20005466A.pdf oder jeden
beliebigen anderen 2x DAC. Im Datenblatt ist auf Seite 65 beschrieben,
wie man die Ausgangsspannung zweier DAC-Kanäle kombiniert und deren
Ausgabe errechnet.
Ich stelle mich aber gerade wirklich sehr ungeschickt an, wenn ich
versuche das Gegenteil zu berechnen um das dann in meinen µC zu
implementieren. - Ich würde also gerne eine Ausgangsspannung vorgeben,
und dazu passen die DAC Werte zu erhalten :-/
Irgendwie stehe ich aber auf dem Schlauch :-(
Bei der Ungenauigkeit der DA Wandler läßt sich da zwar ein theoretischer
Wert berechnen, der wird nr leider niemals stimmen können. Bei Änderung
der "Grob"DA kann mehr als 1 LSB Fehler vorkommen, was bedeutet, dass
sich nix über die tatsächtlich Ausgangsspannung sagen läßt. Die
Auflösung läßt sich zwar tatsächlich erhöhen, aber ob es jemand
gebrauchen kann, steht auf einem ganz anderen Blatt.
Pprinzipiell ist mir das bekannt! Darum habe ich auch noch zum Abgleich
einen hochauflösenden ADC (24Bit), der den Ausgang gegenprüfen soll.
Damit, so ist der Plan, will ich dann "Gegensteuern" wenn zwischen
Vorgabe und Ist-Zustand nicht tolerierbare Abweichungen auftreten
sollten.
Die Geschwindigkeit ist, falls das zum tragen kommen sollte, auch
relativ uninteressant. 1-100Hz Ausgabefrequenz sollten locker für meine
Applikation ausreichen und ggf. langsamer wäre auch kein Problem.
Doch aktuell scheitere ich an der Vorgabe des DACs :-/
DACula schrieb:> Ich würde also gerne eine Ausgangsspannung vorgeben,> und dazu passen die DAC Werte zu erhalten
Wo ist das Problem? Du musst doch nur den nächst niedrigeren Wert des
Hi-DAC bestimmen. Dann kannst du die Differenz von dessen Ausgabe und
dem gewünschten Wert nehmen um den Wert des Lo-DAC zu bestimmen, aber
das kannst du auch bleiben lassen, es stimmt ja sowieso nicht, den
Lo-Wert kannst du dir auch beliebig ausdenken.
Georg
Schorsch X. schrieb:> Die> Auflösung läßt sich zwar tatsächlich erhöhen
Auch nicht wirklich - wenn die Ausgabe des ersten DAC nicht monoton ist
(was sehr wahrscheinlich so ist, bei +-1 LSB Fehler) gibt es Werte, die
garnicht erreichbar sind. Was nützt dann die Auflösung?
Georg
Ich plane es an mehrfacher Stelle zu benutzen, also ein universales
DAC-Board.
Einmal brauche ich rund 12Bit, aber sehr genau. Da würde ich mir gerne
per zweiten Kanal den 1 LSB Fehler relativ genau "wegbügeln" wollen. Das
wäre auch die Lösung, bei der ein extra 24Bit ADC theoretisch einen
Abgleich vornehmen sollte.
Und einmal brauche ich rund 18Bit(++) Auflösung. Da würde ich gerne
diese methode als "Low Cost" benutzen und günstige 12Bit DACs benutzen.
Das geht nicht. Wenn der Grobe nicht die "Reinheit" von 18bit bringt,
braucht man nichts mehr zu addieren. Denn dann hast du mehrere
Kombinationen mit demselben Resultat, und daneben Loecher.
Es gibt 18bit DAC zu kaufen glaub ich. Nicht bei Analog Devices fuer
kleines Geld.
Alternativ mit einem 24Bit ADC sebst bauen. Wobei 20 bit von diesen 24
Bit grad noch machbar sein werden.
Joggel E. schrieb:> Wenn der Grobe nicht die "Reinheit" von 18bit bringt,> braucht man nichts mehr zu addieren
Eben. Und wenn er sie bringt, macht der Hersteller gleich einen 18 bit
DAC daraus, die nötige Präzision hat er ja schon im Griff.
Diese Pseudomethode wird zwar immer wieder mal vorgeschlagen, aber setzt
sich nie durch, weil es eben nur Murks ist. Es funktioniert halt nur für
Leute die absolut nicht rechnen können. Oder für beabsichtigten Betrug
mit nicht wirklich vorhandener Auflösung.
Georg
LTC1043 schrieb im Beitrag #6004493:
> Schon gelesen... ?>> https://www.analog.com/media/en/technical-documentation/application-notes/an86f.pdf>> Thanks to Jim Williams
Das ist doch ähnlich zu meinem Vorhaben, oder? 2x16 Bit = 32Bit -> durch
Überlappung zu 20Bit verschmolzen...
Dann schaffe ich mit meinen 2x12Bit vielleicht keine 18Bit, aber 16Bit
sollten ja trotzdem vielleicht drin sein. Damit könnte ich auch noch
leben - vor allem zu dem günstigen Preis.
Nun ja. die 16 Bit schafft man auch mit nur einem 12 bit. Indem man
zwischen Bits zeitlich hin und herspringt. Ja, der benoetigte Tiefpass
mach's etwas langsamer.
Genauso kann mans auch mit einem ADC machen. Lange genug mitteln erhoeht
die Aufloesung auch, vorausgesetzt es ist etwas Rauschen da.
DACula schrieb:> Ich würde also gerne eine Ausgangsspannung vorgeben, und dazu passen die> DAC Werte zu erhalten
Ja reicht das denn nicht wenn Du das Wort Ausgangsspannung durch das
Wort Vorgabespannung ersetzt und die Ausgangsspannung zweier DAC-Kanäle
kombinierst und deren Ausgabe errechnet?
Gesetzt der Fall man benötigt einen 20 BIT DAC und versucht das mit 2x
12 Bit DAC und einen Fehler je DAC von unter 1 LSB zu realisieren, dann
sind die untersten 8 Bit = (20 - 12 Bit) zunächst nicht valide. Es gibt
aber eine Überlappung von 4 Bit, also 16 Kombinationen wo theoretisch
der selbe Wert raus kommen müsste, praktisch das aber nicht tut. Nun
könnte man sich eine Schaltung vorstellen welche lediglich feststellt
welche Kombination den größeren Wert und welche den kleinern Wert
liefert.
z.B. Comparator zwischen Tiefpass gefilterten Signal und direkten
Signal.
Somit lassen sich die 16 Kombinationen nach Größe sortieren und der
hoffentlich optimale Mittelwert von 256 Mittelwerten (oberen 8 Bit)
abspeichern.
Wie monoton oder z.B. Temperatur stabil die Sache ist, müsste man
probieren.
Mit den pca9685 hätte ich gleich 16x 12 Bit PWM DACs mit denen ich dann
Spannungsquellen recht präzise schalten müsste. Da 10 Bit = 1024 ca. 1E3
sind, sind 20 Bit ca. 1/Millionen erforderliche Genauigkeit...