Hallo, ich abe mal eine Frage bezüglich Genauigkeit von ADCs. Speziell geht es bei mir um einen AD7891 von Analog Devices. Mein Problem besteht darin, das der Wandler bei kurzgeschlossenem Eingang (VINA und VINB auf GND) trotzdem Spannungen bis zu 60mV ausgibt und zwar positiv wie auch negativ. Nun weiß ich ja, dass so ein Wandler fehlerbehaftet ist. Muss ich denn alle möglichen Fehler, die auftreten können (Zero Error, Nichtliniearität usw.) addieren um, eine verlässliche Aussage über die Ungenauigkeit zu bekommen? Wie ist das mit dem Offset- Fehler: ist der konstant für alle Messungen oder auch stochastisch? Das frage ich deshalb weil ich mal positive und mal negative Werte angezeigt bekomme,wobei doch ein Offset immer präsent ist nach meinem Dafürhalten, aber ich kann mich irren. Gruß, Alex
@ Alexander Heß (ill_son) >bei mir um einen AD7891 von Analog Devices. 12 Bit ADC mit acht differentiellen EIngängen. >Mein Problem besteht darin, das der Wandler bei kurzgeschlossenem >Eingang (VINA und VINB auf GND) trotzdem Spannungen bis zu 60mV ausgibt >und zwar positiv wie auch negativ. Dann ist was faul. Das wären bei 5V Betriebsspannung 50 LSB! Du fängst dir wahrscheinlich Störungen duch einen miesen Aufbau ein. Woher kommt deine Referenzspanung? >können (Zero Error, Nichtliniearität usw.) addieren um, eine >verlässliche Aussage über die Ungenauigkeit zu bekommen? Wie ist das mit Nein, geht so einfach nicht. >dem Offset- Fehler: ist der konstant für alle Messungen oder auch >stochastisch? Konstant, kann aber über lange Zeit (Stunden, Tage) leicht driften. MFG Falk
so schaut's aus. Steckbrett und ca. 5cm Drähtchen zum ADC, der sich auf einer Adapterplatine von Conrad aufgelötet befindet. Allerdings sind die Kutzschlüsse der Eingange direkt auf der Platine nahe der Pins angebracht. @ Falk Die Unterschiede treten von einer Messung zur nächsten auf (ca 20 sek.) Zeit zum Messen ist auch genug, das alles geht quasistatisch (Zeit zwischen den Messungen > 1ms). Alex
Die ueblichen dicken 10uF//100nF neben dem ADC sind vorhanden ? Ein 12bitter sollte auf ein paar LSB stabil sein, allerdings im geplanten Layout.
noch eine Ergänzung vielleicht. Es handelt sich um den AD7891-1, der für den Messbereich -+10V konfiguriert ist.
@ Falk: Referenz ist on chip, hatte ich vergessen. Die ist aber bis auf wenige mV genau 2,5V und mit nem kleinen C gegen GNDREF gepuffert.
Muss ich morgen machen, weil keine Kamera dabei, bin nicht daheim. Ich kann's aber mal kurz beschreiben: Controller und alles, was es braucht, damit er controllert befindet sich als Modul auf einer ordentlichen industriell gefertigten Platine, die in einem Steckbrett steckt. Von diesem geht ein etwas wüster Drahtverhau auf eine Adapterplatine, auf die der ADC aufgelötet ist. Wie sieht das jetzt mit diesen Kondensatoren für den ADC aus (100uF /10 uF)? Gruß, Alex
>Dann ist was faul. Das wären bei 5V Betriebsspannung 50 LSB! Du fängst >dir wahrscheinlich Störungen duch einen miesen Aufbau ein. Bei einem 12-bit Ergebnis 50LSB zu verlieren ist in der Tat ziemlich kritisch... Da ist dann aber nicht nur der Aufbau dran schuld. Wohnst du evtl über einem Umschaltwerk??? mfg Reiner
Moderne ADCs wollen 10uF//100nF und dies zwar fuer den DVcc, sowie fuer den AVcc. Ich hab das Datenblatt des AD7891 noch nicht angeschaut ... doch, figur 16. Dacht ich's mir.
Das mit den Cs werde ich morgen gleich testen. Wenn ich an die Kamera denke, mach ich ein Bild - und wer lacht, wird erschossen. Vielen Dank erst mal, ihr seid Klasse. Gruß, Alex PS.: Nein ich wohne nicht neben einem Umspannwerk ;-)
Hi, >sechszweidrei schrieb: >Moderne ADCs wollen 10uF//100nF und dies zwar fuer den DVcc, sowie fuer >den AVcc. Ich hab das Datenblatt des AD7891 noch nicht angeschaut ... >doch, figur 16. Dacht ich's mir. die Elkos sind jetz eingelötet und siehe da, die Wete sind schon deutlich geringer geworden (weniger als die Hälfte) sind jetzt auch nur noch im positiven Bereich, so dass ein statischer Offset erkennbar ist. Ich hab mal 500 Messungen gemacht und der Mittelwert lag bei 22,6mV, das entspricht etwas mehr als vier LSB. Die Varianz der Werte beträgt etwas weniger als 3mv, was ja nicht mal ein LSB ist. Sieht also schon deutlich freundlicher aus. Das Foto stell ich mal noch rein, wenn ich im Laufe des Tages dazu komme. Was sagtihr zu den Ergebnissen, ist einigermaßen okay, beziehungsweise, kann man das statistisch überhaupt so betrachten??? Gruß, Alex
@ Alexander Heß (ill_son) >Ich hab mal 500 Messungen gemacht und der Mittelwert lag bei 22,6mV, das >entspricht etwas mehr als vier LSB. Die Varianz der Werte beträgt etwas ??? 12 Bit AD-Wandler 5V / 4096 = 1,22mV 22,6mV -> 18,5 LSB >weniger als 3mv, was ja nicht mal ein LSB ist. Sieht also schon deutlich Doch, 2,4 LSB. Das Passt schon eher als Rauschen eines 12 Bit ADC mit Steckbrettaufbau. Der Offset ist bissel hoch. MFG Falk
@falk >12 Bit AD-Wandler > >5V / 4096 = 1,22mV > >22,6mV -> 18,5 LSB kann mir mal einer erklären, wie man bei 12 bit auflösung 18,5bit verlieren soll??? mir scheint, der herr brunner ist sich dem begriff des LSB nicht bewusst... mfg reiner
Naja - auch wenn der "herr brunner" selbst immer andere Leute auf Correctness hinweist - jeder sollte wohl wissen, was er meinte ;-)
Hi; der ADC hat einen Eingangsbereicht von +- 10V, siehe oben oder datasheet. Macht bei 20V/4096 4,88 mv/LSB. So kommen meine Werte zustande. Nochmal zur Frage: kann (darf) ich das grob erstmal so auswerten, wie getan? Gruß, Alex
reiner wrote: > kann mir mal einer erklären, wie man bei 12 bit auflösung 18,5bit > verlieren soll? Du verlierst nicht 18,5 bits sondern 18,5 * 1 LSB. Das ist gängige Terminologie bei ADC-Fehlerbetrachtungen.
@alex
auch dir scheint der begriff des LSB nicht ganz klar zu sein.
LSB steht für Least Significant Bit und meint das unterste Bit in deinem
Wandlerergebnis... das entspricht in deinem Fall einer auflösung von
>Macht bei 20V/4096 4,88 mv
das 2.-niedrigste bit entspricht der doppelten spannung, das 3. der
vierfachen des LSB usw...
das bedeutet für 20mV Messfehler (4,88mV, 9,76mV, 19,52mV... ) einer
ungenauigkeit von etwas mehr als drei LSB...
mfg reiner
na das ist doch gar nicht so schlecht. der bipolar zero error ist mit 3 LSB angegeben. Dass LSB least significant bit heiß, ist mir schon klar. Allerdings dachte ich, dass eine fehlerangabe von z.b. 4LSB im datenblat bedeutet: 4*LSB, im konkreten fall: 4*(20V/4096). irre ich mich da oder nicht. noch eine frage. ist es legitim, vor beginn einer messung durch kurzschließen der eingänge und durchführen von vielen (>200) messungen und mittelwertbildung, den statischen offset zu bestimmen und den dann im messergebnis durch subtraktion zu berücksichtigen. das habe ich nämlich gemacht und erstaunlich genaue werte raus bekommen. danke, alex
Laut der Aussage von Jörg Wunsch scheint die verwendung von x*LSB auch verwendet zu werden. Inhaltlich ist das aber unsinnig bzw nicht wirklich aussgaefähig und angaben in datenblättern der ADC-Hersteller beziehen sich definitiv nicht auf solche angaben. ich bin mir nicht ganz sicher, ob es sinn macht den adc in dem bereich zu kalibirieren in dem du am ungenauseten misst (bipolar zero error). die genauigkeit außerhalb dieses bereichs ist möglicherweise viel größer, so dass du auch dort eine kalibrierung vornehmen solltest, also z.B bei 5V. Den dort gemessenen und gemittelten Offset kannst du dann weiter nutzen. ich hoffe das ist das, was du wissen wolltest... ;) mfg reiner
Alexander Heß wrote: > Allerdings > dachte ich, dass eine fehlerangabe von z.b. 4LSB im datenblat bedeutet: > 4*LSB, im konkreten fall: 4*(20V/4096). irre ich mich da oder nicht. Genau so ist es auch, d. h. so sind die typischen ADC-Datenblätter aufgebaut.
@ reiner wenn ich bei 5V kalibrieren möchte, benötige ich allerdings eine 5V Referenz. Wenn ich die Eingänge kurzschließe, hab ich aber genau null Volt (vorausgesetzt, die Kurzschlussleitung ist nicht sonst wie lang). Außerdem (so dachte ich, aber ich kann mich irren) ist der statische Offset doch konstant, mal von der Temperaturabhängigkeit abgesehen). Korrigiere mich bitte, wenn ich mich irre. Danke, Alex
mit kurzschließen meintest du, dass du die ADC-inputs nach gnd verbindest, oder? womit du recht hast ist, dass der statische offset über den gesamten spannungsbereich nahezu konstant sein wird. was allerdings wenig sinnvoll erscheint, ist zu versuchen dieses offset im ungenauesten Wertebereich messen zu wollen. mir fällt leider grad kein wirklich sinnvoll passender vergleich dazu ein, aber du versuchst ja auch nicht die genauigkeit eines geodreiecks mit einem Tafellineal zu bestimmen. und in deinem fall gibt die auflösung um den nullpunkt herum halt keine exakten werte. hoffe das war einigermaßen plausibel... ;) mfg reiner
da gebe ich dir recht. wenn ich aber 'ne referenz benutze, muss ich wieder sicherstellen, wie genau die ist, um zu wissen, wie hoch am ende der offset ist. das kann ich im labor mit 'nem geeichten messgerät tun. wenn ich aber draußen im feld bei minus zehn grad den adc vor der messung kalibrieren will, muss die referenz nicht mehr dieselbe wie im mollig warmen labor sein. du siehst, das ist gar nicht so einfach ;-) worauf ich anfangs hinaus wollte, war zu erfahren, ob ich das überhaupt einfach so machen kann - mittelwert bestimmen und dann rausrechnen, oder ob ich es mir da etwas zu leicht mache. Gruß, Alex
fertige referenzen für sämtliche spannungen und große temperaturbereiche gibt es wie sand am meer, aber du hast recht, es ist immer eine frage des aufwands. aber eine mittelwertbildung von messwerten zur kalibrierung als solches ist durchaus legitim. wenn dir eine auflösung von 10bit genügt, kannst du einfach mit 12 bit messen und die unteren beiden einfach wegshiften, möglicherweise fällt das offset dann eh nicht mehr ins gewicht. kommt natürlich immer drauf an was du erreichen möchtest. ach ja, und noch ein kleiner tipp zum thema adc (falls noch nicht genannt): ein adc-eingang hat immer eine bestimmte eingangskapazität, die man im datenblatt nachlesen kann. bei jeder wandlung wird diese kurzzeitig parallel zur messgröße geschaltet. da das laden eines leeren kondensators immer mit "hohen" strömen verbunden ist, kann es sein, dass die messgröße spannungsmäßig einbricht (wenn auch nur kurz). deshalb schaltet man bei jedem ADC einen sogenannten Tank-kondensator zwischen input und ground. die größe dieses Cs berechnet sich aus C_tank = C_adc * Anzahl der Stufen (2^12 in deinem Fall) soll heißen: 10pf im ADC ergeben 10pf * 4096 = ca 40nF (47nF) mfg reiner
da muss ich nochmal kurz nachhaken. zwischen input und gnd meint den eingang des ADC? wenn ich also acht eingänge habe, muss ich an jedem einen sogenannten tankkondensator vorsehen? danke, Alex
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.