Hallo Leute, ich war auf der Suche nach einem "günstigen" DAC mit seriellem Interface und min. 12Bit Auflösung. Geschwindigkeit ist relativ egal, da er nur eine Sollwertvorgabe macht die nicht unter einer Sekunde verändert wird. Also zurück zum Problem. ADCs mit größer 10Bit sind relativ teuer, von 12 Bit und drüber ganz zu schweigen. Meine Idee wäre es jetzt, einfach zwei 8Bit DACs mit einer Referenz von jeweils 1,024V über einen Summierverstärker zu jagen bei einer verstärkung von 1V/V. Die Lösung kostet nur gut 1/3 eines 12Bit DACs. Ist sowas "galant" oder wird soetwas auch wo anders gemacht?
Oh mist... So komm ich ja nur auf 9 Bit :-( Dann muss da noch ein Muxer zu...
Hannes schrieb: > Die Lösung kostet nur gut 1/3 eines 12Bit DACs. Also nur €0.31? ;) http://www.reichelt.de/ICs-MCP-3-5-/MCP-4726A0T-E-CH/3//index.html?ACTION=3&GROUPID=5472&ARTICLE=109763&SEARCH=mcp%20dac&OFFSET=500&WKID=0&
Hannes schrieb: > Meine Idee wäre es jetzt, einfach zwei 8Bit DACs mit einer Referenz von > jeweils 1,024V über einen Summierverstärker zu jagen bei einer > verstärkung von 1V/V. Die Lösung kostet nur gut 1/3 eines 12Bit DACs. Und was du an Auflösung gewinnst, verlierst du an Genauigkeit. Bleib bei 10bit oder nimm gleich einen anständigen 12bit ADC.
Einen zwei Kanal 8 Bit DAC hätte ich im µC. Aber wie ich bereits festgestellt habe, verdoppet sich ja nicht die Auflösung, sondern ich bekomme immer nur 1 Bit mehr :-(
Hannes schrieb: > Einen zwei Kanal 8 Bit DAC hätte ich im µC. > > Aber wie ich bereits festgestellt habe, verdoppet sich ja nicht die > Auflösung, sondern ich bekomme immer nur 1 Bit mehr :-( Ein Bit mehr = Verdopplung.
cyblord ---- schrieb: > Ein Bit mehr = Verdopplung. Okay, Formulierungsfehler! ich würde statt den 256 Schritten 512 bekommen. Brauche aber mehr als 1024. Ja ich hab bereits eingesehen das das ganze ad absurdum von mir war... :-(
Hannes schrieb: > Aber wie ich bereits festgestellt habe, verdoppet sich ja nicht die > Auflösung, sondern ich bekomme immer nur 1 Bit mehr :-( Mit unterschiedlichen Referenzspannungen könnte vielleicht mehr gehen. Aber bis 12 Bit kommst Du vermutlich nicht. Allerdings habe ich diese Idee jetzt nicht tiefer durchdacht ... Gruß Dietrich
Man kann den ersten 8bit DAC mit Eins, den zweiten DAC mit 1/256 gewichten und erhaelt 16 bit. Allerdings ist der Output dann nicht mehr monoton... die Frage ist nun, erreicht man monotone 12 Bit ? 10 Bit ?
Hannes schrieb: > da er nur > eine Sollwertvorgabe macht die nicht unter einer Sekunde verändert wird. Dann bietet sich doch eine PWM mit RC-Filter geradezu an. Billiger gehts nicht.
Hannes schrieb: > Also zurück zum Problem. > ADCs mit größer 10Bit sind relativ teuer, von 12 Bit und drüber ganz zu > schweigen. ist das teuer ? http://www.idealo.de/preisvergleich/MainSearchProductCategory.html?q=LTC1655 ich finde nicht wenn mans braucht !
Hallo Hannes, Atmel hat interessante Ansätze in den Apllikationsbeispielen "AVR400" und "AVR401". Dort wird der Analogkomparator eines µC, mit ein paar externen Bauteilen, zum A/D-Wandler. Ich habe das vor Jahren mal aufgebaut, und dann mit einem geeichten Kalibrator überprüft. Die Schaltung war erstaunlich genau. Nur in den unteren und oberen ca. 5% des Messbereichs waren die Meßwerte nicht linear. Da dieser A/D-Wandler hauptsächlich aus Software besteht, bist du nicht an die 6- oder 8-Bit Auflösung gebunden. Für höhere Auflösungen dauern die Messungen nur länger. Schau es dir, bei Interesse, einfach mal an. Gruß. Tom
TomA schrieb: > Da dieser A/D-Wandler hauptsächlich aus Software besteht, bist du nicht > an die 6- oder 8-Bit Auflösung gebunden. Für höhere Auflösungen dauern > die Messungen nur länger. Ich glaube er möchte einen DAC und keinen ADC, auch wenn er oben beides vermischt.
Hallo Christoph, danke für den Hinweis, ich dachte Hannes sucht einen ADC. Für einen DAC ist es ja noch einfacher: Ein R2R-Netzwerk mit 12 Eingängen und nachgeschalteten Impedanzwandler (OP) sollte genügen! Gruß. Tom
TomA schrieb: > Ein R2R-Netzwerk mit 12 > Eingängen Klar, mit idealen uC-Ausgängen und idealen Widerständen kein Problem.
Christoph H. schrieb: > Ich glaube er möchte einen DAC und keinen ADC, auch wenn er oben beides > vermischt. mein Fehler hihi http://www.analog.com/static/imported-files/data_sheets/AD7701.pdf aber auch nicht so teuer !
Hallo Tom, ist nicht so schlimm, denn Hannes will ja seriellen Anschluß. Also zwei 8Bit-Schieberegister mit einer stabilen Versorgung als Referenz mit 1%igen Widerständen reichen dafür sicher und kosten nicht die Welt. Mit Versorgung 4,096V am Schieberegister, bei 12Bit-Auflösung, ergibt sich eine Schrittweite von 1mV - das ist noch gut handhabbar. Kleinere Ausgangsspannungen kann er durch Spannungsteiler herunterteilen, was gleichzeitig den Rauschanteil heruntersetzt. Gruß. Tom :)
TomA schrieb: > Also zwei 8Bit-Schieberegister mit einer stabilen Versorgung als > Referenz mit 1%igen Widerständen reichen dafür sicher und kosten nicht > die Welt. 1% ergibt nur knapp 7Bit. Für 12Bit brauchst Du 0,02% Widerstände, die Fehler der Schaltstufen nicht mit eingerechnet. Das wird teuer.
Hannes schrieb: > ich war auf der Suche nach einem "günstigen" DAC mit seriellem Interface > und min. 12Bit Auflösung. Hannes schrieb: > Einen zwei Kanal 8 Bit DAC hätte ich im µC. Peter Dannegger schrieb: > Dann bietet sich doch eine PWM mit RC-Filter geradezu an. Man kann auch einen n-Bit-DAC mit einer m-Bit-Software-PWM kombinieren, indem man den DAC periodisch mit einem durch die m Bits vorgegebenen Tastverhältnis zwischen zwei benachbarten Analogwerten hin und her schaltet. Durch dieses Konstrukt wird ein n+m-Bit-DAC nachgebildet. Die Monotonie ist dabei garantiert. Das setzt natürlich voraus, dass man einen schnellen Zugriff auf den Hardware-DAC hat, was aber bei im µC integrierten DACs meist der Fall ist. Da die Amplitude des auf diese Weise generierten PWM-Signals nur 1/2**n der Amplitude eines reinen (bspw. mittels einer Hardware-PWM-Einheit generierten) PWM-Signals beträgt, ist die Restwelligkeit bei gleicher PWM-Frequenz und gleicher Zeitkonstante des nachgeschalteten Tiefpassfilters ebenfalls um den Faktor 2**n niedriger. Um mit einer reinen PWM die gleiche Restwelligkeit zu erhalten, muss die deren Frequenz um den Faktor 2**n höher liegen. Beispiel: Ein µC habe einen Prozessor- und I/O-Takt von f0=16777216Hz (2**24). Es soll damit auf zweierlei Weise ein 12-Bit-DAC realisiert werden. Alternative 1: Man lässt einen mit f0 getakteten 12-Bit-Zähler/Timer ein reines PWM-Signal generieren. Dieses hat den Spitze-Spitze-Wert û = VCC und die Frequenz f = f0 / 4096 = 4096Hz. Alternative 2: Man benutzt einen 8-Bit-Hardware-DAC und generiert damit wie oben beschrieben softwaremäßig ein PWM-Signal mit dem Spitze-Spitze-Wert û = VCC/256 und der Frequenz f = 256Hz. Das Tastverhältnis wird dabei in 16 Stufen variiert, so dass der kürzeste zu erzeugende Impuls eine Länge von 1s/(256·16) hat, was 4096 Taktzyklen von f0 entspricht und somit kein Rechenzeitproblem darstellen sollte. In beiden Fällen ist die Restwelligkeit r = û·p·(1-p)/(f·τ), wobei p das Tastverhältnis und τ die Zeitkonstante des Tiefpassfilters ist. Setzt man für beide Alternativen die Werte û und f ein, stellt man fest, dass r in Alternative 2 (der Kombination aus DAC und Software-PWM) um den Faktor 16 geringer ist. Wenn der Controller sonst nicht viel zu rechnen hat, kann man die Software-PWM-Frequenz noch um den Faktor 16 erhöhen und damit die Restwelligkeit nochmals um den Faktor 16 verbessern. Oder man lässt die PWM-Frequenz bei 256Hz und variiert das Tastverhältnis in 256 stat nur 16 Stufen. Das Ergebnis ist ein 16-Bit-DAC, dessen Restwelligkeit immer noch um den Faktor 16 besser als die der reinen 12-Bit-PWM-Lösung ist. Die Erweiterung der Auflösung eines Hardware-DACs mittels Software-PWM ist also durchaus eine überlegenswerte Alternative zu einem reinen PWM-DAC.
:
Bearbeitet durch Moderator
Einige µCs haben einen 12 Bit ADC. Man könnte die beiden 8 Bit DACs zu so zusammenaddieren, das man etwa 14 Bit Auflösung, aber mit saumäßigen Fehlern bekommt. Den passenden Wert könnt man durch nach messen mit dem ADC suchen durch annähern. Voraussetzung wäre aber das die 8 Bit DACs auch eine genügend geringes Rauschen haben. Das ist allerdings bei den µC internen eher nicht der Fall. Entsprechend wären die DACs dann auch nicht zur Erweiterung per PWM geeignet. Es gib auch einigermaßen erschwingliche 12 BIT DACs, wenn auch mit nicht so guter Genauigkeit. Etwa MCP4921. ggf. müsste man auch da den ADC zum nachmessen bemühen. Zum zusätzlichen Filtern des PWM Signals läßt sich auch eine S&H Stufe (CMOS Schalter + Kondensator + Pufferverstärker reicht aus) nutzen, die Synchron mit dem PWM Signal abtastet. Das wird zwar etwas nichtlinear, aber dafür ist die Rippelunterdrückung sehr gut. Wenn man beim PWM Signal eine etwas längere Periode vorsieht und erst im festen Teil abtastet, hält sich auch der Fehler in Grenzen.
Mein Gott, die Idee, aus zwei billigen 8 Bit DACs ein tollen 10 oder 12 Bit DAC zu machen ist so alt wie unbrauchbar. Es gibt ECHTE 10-16 Bit DACs für verdammt wenig Geld, die WIRKLICH das leisten, was der Name verspricht. Problem gelöst. Wir leben nicht mehr in den 70ern, wo jeder Transistor ein Heidengeld gekostet hat und möglichst dreifach genutzt werden musste. 95 der hier genannten Selbstbaulösungen sind größer, stromhungiger, TEURER und schlechter als ein gescheiter IC vom Profi. Klingt komisch, ist aber so.
Hannes schrieb: > Einen zwei Kanal 8 Bit DAC hätte ich im µC. Es gibt kleine uC ab 4 EUR mit 12-bit DAC z.B. LPC1517
Microchip MCP4822: 12 bit, 2 Kanäle, einfache Ansteuerung (SPI) Kostet nicht die Welt (3 Euro/Stk. in kleinen Stückzahlen) http://de.farnell.com/microchip/mcp4822-e-p/12bit-dac-spi-vref-dual-pdip8/dp/1439413
Es kommt auf die Anwendung an, was man vom DAC verlangt. Die Auflösung ist da nur ein Parameter. Je nach Typ unterscheiden sich die DACs noch recht deutlich in den Eigenschaften: Die dynamischen Typen im µC oder einig Audio Wandler haben z.B. realtiv viel Rauschen, so bis in die Größenordnung 1 LSB. Dazu kommt ggf. noch eine merklich Drift beim Skalenfaktor bei Audio Wandlern. Für so etwas wie die Einstellung der Spannung am Netzgerät ist so etwas eher unbrauchbar, zumindest ohne extra Filter.
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.