Hallo, kurze Frage: Ich würde gerne möglichst einfach einen ADC kalibrieren. Meine Idee war folgende. Ich lasse den ADC mithilfe einer Referenzspannungsquelle zwei Werte messen. z.B. einmal 10V und einmal 1V. Angenommen für 10V kommt der Wert 400 raus und für 1 V der Wert 20 z.B. (weil er wahrscheinlich ja Offset und Gainfehler hat). Kann ich dann einfach sagen, ich merke mir die zwei Werte 10V=400 und 1V=20 und rechne dann für die spätere Messung die Spannung mithilfe linearer Interpolation mithilfe dieser zwei Referenzwerte aus. Kann man das so machen?
Miss doch noch nen dritten Punkt, dann kannst du Aussagen über die Linearität treffen.
Kann man so machen! Man sollte natürlich prüfen, ob weitere Faktoren die Linearität zwischen diesen Punkten beeinflussen. Z.B. habe ich schon so manches mal gesehen, dass man versucht, die max. ADC-Eingangsspannung mit einer parallel geschalteten Z-Diode begrenzen zu wollen. Dabei hat der Designer vergessen, dass eine Z-Diode auch schon deutlich vor der Zener-Spannung leitend wird und die Linearität verbiegt.
Hallo, bist zu ISO zertifiziert für eine Kalibrierung ? Nein, dann ist es doch eher ein Abgleich.
Gustav schrieb: > Kann ich dann einfach sagen, ich merke mir die zwei Werte 10V=400 und > 1V=20 und rechne dann für die spätere Messung die Spannung mithilfe > linearer Interpolation mithilfe dieser zwei Referenzwerte aus. Die beiden Punkte möglichst weit auseinander wählen. Daraus die Steigung berechnen. Einmalig. Die Steigung, ist einer dieser Brüder, die ich gerne ins EEProm stopfe. In meiner kleinen AVR Welt ist dieses Verfahren vollkommen ausreichend. Ich nenne es "2 Punkt Kalibrierung".
Karl M. schrieb: > bist zu ISO zertifiziert für eine Kalibrierung ? > Nein, dann ist es doch eher ein Abgleich. Versuchst Du jetzt das Theater mit der Eichung auf die Kalibrierung zu übertragen? Das erklär doch mal seit wann man zum Kalibrieren zertifiziert sein muß und nach welcher ISO? Und warum die auf de TE zutreffen sool.
Arduino F. schrieb: > In meiner kleinen AVR Welt ist dieses Verfahren vollkommen ausreichend. > Ich nenne es "2 Punkt Kalibrierung". Ja, ok. Atmel hat dazu, ADC, auch noch einige Application Notes verfasst.
OK, dann wollen wir mal richtig klugscheißen: Die ISO interessiert sich nur für die Dokumentationspflicht der Kalibrierung. Wer die Kalibrierung durchführt ist dem Zertifizierer egal, Hauptsache, es gibt ein Dokument darüber, was den Prozess möglichst widerspruchsfrei beschriebt. Wie der Prozess im Detail abläuft, wird von der QS als Stabsstelle definiert, nicht von der ISO. Du kannst dir also auch ein HP3458A hinstellen mit nem roten Aufkleber "nicht kalibrierpflichtig" und ein Zollstock aus dem 19 Jahrhundert jedes Jahr in Paris gegen das Urmeter prüfen lassen.
Gustav schrieb: > Kann ich dann einfach sagen, ich merke mir die zwei Werte 10V=400 und > 1V=20 und rechne dann für die spätere Messung die Spannung mithilfe > linearer Interpolation mithilfe dieser zwei Referenzwerte aus. > > Kann man das so machen? Nein!
Gustav schrieb: > Kann man das so machen? Das ist nur eine Näherung, Linearitätsfehler werden damit nicht erfasst. Ein vollständige Kalibrierung ist nicht wesentlich komplexer umzusetzen, erfasst aber auch die Linearitätsfehler. Im Prinzip läuft das so ab: steuerbare Spannungsquelle durchfährt den gesamten Messbereich, µC ruft bei jeder Änderung des Messwertes der ADC die aktuelle Spannung von der Quelle ab und baut aus den Werten eine vollständige Lookup-Tabelle auf. Vorteile: - auch Linearitätsfehler kompensiert - Umrechnung von ADC-Messwert auf physikalische Größe zur Laufzeit entfällt (Tabelle enthält bereits die entsprechende Größe) Nachteil: - Speicherplatz für Tabelle erforderlich Um den Nachteil loszuwerden, kann man dann aus der Tabelle z.B. die Koeffizenten für ein Polynom zweiten oder dritten Grades ermitteln, was die Werte besser annähert als ein einfacher linearer Zusammenhang. Damit ist man dann die Tabelle los, muss aber wieder zur Laufzeit rechnen. Also der klassische trade-off zwischen Performance und Speicherplatzverbrauch. Muss man je nach Anwendung immer wieder neu entscheiden. Dabei sollte man beachten, dass die Rechnerei nicht nur Performance kostet, sondern auch Speicherplatz für den Code, der sie ausführt. U.u. ist die Tabelle auch bezüglich des Speicherplatzbedarfs das kleinere Übel...
Gustav schrieb: > kurze Frage: Ich würde gerne möglichst einfach einen ADC kalibrieren. Die Linearität moderner AD-Wandler ist heutzutage so gut, das man schon recht spezielle Meßtechnik braucht, um Abweichungen festzu- stellen. Normalerweise sollte es reichen, Nullpunkt und Vollaus- schlag richtig einzustellen.
c-hater schrieb: > Das ist nur eine Näherung, Linearitätsfehler werden damit nicht erfasst. Eh man da Aufwand treibt, sollte man erstmal prüfen, ob das ausreichend ist. Und wenn die Schaltung nichtlinear ist, muß man erstmal prüfen, warum sie das ist und vor allem, ob das langzeitstabil ist! Einfach so ein Mehrpunktabgleich ohne Sinn und Verstand ist Quatsch. Es ist auch ein Unterschied, ob ich einen 10Bit-ADC kalibriere oder einen 24Bit-ADC.
Die Linearitaet eine Wandlers ergibt sich aus dem Datenblatt. Wenn man sich nun fuer etwas interessiert, so misst man Null und die Referenz. Das war's dann. Wenn man der Linearitaet des Wandlers nicht traut weil die Analogik vornedran schlecht ist, wird man eh Schwierigkeiten haben, die Linearitaet zu messen.
Zum Lineasieren eines ADC kannst du eine Spannungsquelle (z.B. Batterien) mit einen Widerstandsteiler (z.B. 20 Widerstände oder mehr gleichen Wertes) verwenden und die korrespondierenden Spannungen abgreifen. Die Summe aus den zwei korrespondierenden Spannungen muss immer wieder die Gesamtspannung der Spannungsquelle ergeben. http://www.eevblog.com/forum/projects/oshw-24bit-adc-measurement-system-for-voltage-references/msg427526/#msg427526 (siehe resistor divider)
Mostpfeife schrieb: > Die Linearitaet eine Wandlers ergibt sich aus dem Datenblatt. Nein, das tut sie leider nicht. Im DB wird nur der maximal zu erwartende Fehler der Linearität stehen, keinesfalls aber der konkrete Verlauf der Kurve. Wenn man mit dem Maximalfehler leben kann, dann reicht natürlich ein Zweipunkt-Abgleich. Dasselbe gilt übrigens auch genauso für Nullpunkt und Steigung. Wenn man auch mit diesem Fehlern, deren Maximalwerte typischerweise ebenfalls im DB stehen, leben kann, dann braucht man garnicht abgleichen... Du siehst, wohin dein Einwand in letzter Konsequenz führt?
Gustav schrieb: > kurze Frage: Ich würde gerne möglichst einfach einen ADC kalibrieren. Ach. Kannst du mir mal verraten, wozu sowas nötig sein sollte? Guck ins Datenblatt des ADC, das reicht für gewöhnlich. Grund: Du meinst etwas ANDERES, aber du hast dies nicht gesagt. Also: Ich vermute, du hast irgend einen Meßumformer (was auch immer für ein Ding) mit angeschlossenem ADC. Also sowas wie: Spannung rein, ADC-Wert raus Druck rein, ADC-Wert raus Flughöhe rein, ADC-Wert raus Konfektionsgröße rein, ADC-Wert raus oder so ähnlich. Logischermaßen muß sowas irgendwie kalibriert werden. Und das besteht nicht im Anbeten von ISO-Papieren oder so ähnlich, es ist auch kein hoheitlicher Akt wie z.B. das Wirken eines Eichamtes, sondern es besteht schlicht und simpel daraus, daß man: a) für eine Einpunkt-Kalibrierung: 1 bekannte Eingangsgröße anlegt und ihr den daraus entstehenden ADC-Wert zuordnet b) für eine (wesentlich üblichere) Zweipunkt-Kalibrierung: 2 bekannte Eingangsgrößen anlegt und den jeweilig daraus entstehenden ADC-Werten zuordnet. Der Rest ist Mathematik, die übliche Formel y=a*x+c kennt ja jeder noch - oder etwa nicht??? Den Fall c) nämlich Dreipunkt-Kalibrierung lassen wir hier mal außen vor, das scheint den Disputanten hier ohnehin zu hoch zu sein. Bei Temperaturmessungen z.B. ist sowas manchmal nötig, siehe Steinhart-Hart-Formel. Also zum Prinzip: Kalibrieren heißt, anhand bekannter Vorgaben die Ergebnisse richtig zuzuordnen. W.S.
Arduino F. schrieb: > Die beiden Punkte möglichst weit auseinander wählen. > Daraus die Steigung berechnen. Einmalig. Dann wären der Nullpunkt und der Endpunkt am besten geeigenet. Ist das wirklich so?
DaC schrieb: > Dann wären der Nullpunkt und der Endpunkt am besten geeigenet. Ist das > wirklich so? Jain. Es kann auch günstig sein, im erwarteten Arbeitspunkt bzw. Arbeitsbereich zu kalibrieren.
>>Mostpfeife schrieb: >> >> Die Linearitaet eine Wandlers ergibt sich aus dem Datenblatt. >> >Nein, das tut sie leider nicht. Im DB wird nur der maximal zu >erwartende Fehler der Linearität stehen, keinesfalls aber der >konkrete Verlauf der Kurve. Nun, falls die als Maximum spezifizierte Nichtlinearitaet nicht gut genug ist, nimmt man einen Besseren. Man linearisiert sicher keinen Wandler. Genauswenig wie man bei OpAmps Offsetabgleiche macht.
Zwölf M. schrieb: > Nun, falls die als Maximum spezifizierte Nichtlinearitaet nicht gut > genug ist, nimmt man einen Besseren. Man linearisiert sicher keinen > Wandler. Na da spricht ja der Flachmann... Natürlich macht man das, wenn es nützlich erscheint! Und nützlich ist es z.B. immer dann, wenn der Speicher für die Tabelle + zzgl. des Aufwandes für die Kalibrierung immer noch billiger ist als ein besserer Wandler... Wobei man die Gesamtkosten für den besseren Wandler im Blick haben muss. Die gehen deutlich über seinen Einkaufspreis hinaus! Aber wenn du irgendwann mal erwachsen bist, begreifst du das vielleicht auch...
Marek N. schrieb: > Zollstock Wenn wir hier schon kleine Rosinen ausscheiden, dann richtig. Das Ding ist ein Gliedermaßstab.
Willst du abgleichen oder kalibrieren? Das ist ein was ganz anderes! https://de.wikipedia.org/wiki/Kalibrierung
Bei welcher Art Wandler wuerde es sich lohnen eine Linearisierung durchzufuehren ?
Thomas R. schrieb: > Willst du abgleichen oder kalibrieren? Die begriffliche Trennung von Kalibrierung und Abgleich erfolgt üblicherweise nur bei manuellem Eingriff. Hier, oder z.b. beim setzen des Nullpunkts einer elektronischen Waage ist es weltfremd, auf dem Begriff rumzureiten.
Mostpfeife schrieb: > Bei welcher Art Wandler wuerde es sich lohnen eine Linearisierung > durchzufuehren ? Bei einem selbstgebautem. Der wird immer deutlich schlechter sein als der billigste, integrierte.
Und in welchem Anwendungsfall wuerde ich einen selbstgebauten Wandler verwenden wollen ?
Zwölf M. schrieb: > Und in welchem Anwendungsfall wuerde ich einen selbstgebauten Wandler > verwenden wollen ? Für Lernzwecke.
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.