mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ADC Offset auf einzelnen Kanälen automatisch kompensieren?


Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich messe 5 V Eingangsspannung über Spannungsteiler gegen die interne 
2,56 V Referenzspannung.
Dabei sind fünf von den acht Kanälen tatsächlich im Leerlauf dezimal 0,
drei sind jedoch bei dezimal 76/77.
5,1 V entspricht bei fünfen dezimal 487/488, bei dreien dezimal 529;
0 V   entspricht bei fünfen dezimal 0,       bei dreien dezimal 64.

Kann man diesen Offset irgendwie automatisch erfassen und somit die 
Werte kalibrieren? Ich meine, daß die Widerstandsstreuuung in 
verschiedenen gleichartigen Schaltungen auch verschiedene Spannungen 
erzeugt. Geht daß irgendwie automatisch, ohne daß man bei jedem 
Systemreset die Sensoren ausstecken muß und auf allen Kanälen einmal 
wandelt, in ein Array schreibt, Sensoren einsteckt und schließlich die 
zyklischen AD-Werte mit der Erstwandlung kompensiert?

Kompliziert ausgedrückt, hoffentlich versteht's jemand.

Stefan

Autor: Bernd Rüter (Firma: Promaxx.net) (bigwumpus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du jetzt keinen richtigen systematischen Fehler eingebaut hast, 
dann kann man mit analog-Schaltern schon viel machen. Da gibt es den 
ehrwürdigen 4051, mit dem Du den Multiplexer des uC eigentlich komplett 
ersetzen kannst, und auf festen Eingängen einen festen Pegel schaltest, 
den Du dann mißt und verrechnest.
Damit wäre ein Fehler im Multiplexer und im AD-Wandler auszumerzen, aber 
ich denke, daß Dein Fehler schon weit vorher im Aufbau liegt.

Autor: Christian Rothe (crothe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das klingt in der Tat komisch. Du hast einen Wandler mit 8 Kanälen, die 
gleichzeitig messen, oder wird gemultiplext und die Kanäle nacheinander 
gemessen? Wenn multiplex, dann im Wandler selbst, oder durch eigene 
externe Beschaltung? Was auf jeden Fall auffällt, ist eine 
Nichtlinearität bei den Offsett-behafteten Kanälen. 488+64=552 und nicht 
529. Wie sieht es denn mit der Eingangsaussteuerung aus? Man sollte 
generell sehen, dass die Eingangsteiler das maximal zu messende Signal 
möglichst dicht unter der Aussteuerungsgrenze platzieren. Bei kleinen 
Aussteuerungen hat man immer eine höhere Ungenauigkeit. Wieviele Bit 
wandelt er denn und wie groß kann das zu messende Signal werden? So wie 
ich es sehe wandelst Du mit mindestens 9 Bit und hast dabei nur ca. 
halbe Aussteuerung, also die 5V auf ca. 1,25V runtergeteilt.
Warum ich das alles erzähle: es scheint mir so als sei der Wandler von 
recht geringer Qualität. Selbst wenn Du einen einmaligen oder auch 
regelmäßigen Offset-Abgleich einbaust, würde mich der Linearitätsfehler 
beunruhigen. Ich würde von einem 'guten' und einem 'schlechten' Kanal 
mal eine Aussteuerungskennlinie aufnehmen um das 'Übel' abschätzen zu 
können. Wenn Du dann noch mit dem dabei herausgefundenen Fehlern leben 
kannst musst Du wie von Bernd gesagt das Meßsignal über einen 
Multiplexer zuführen und diesen in kontinuierlichen Zeitabständen gegen 
Masse schalten (statt auf das Meßsignal). Nun kann der Offset als 
Korrekturwert geschpeichert und bei den Richtigen Messwerten addiert 
werden. Achtung, jetzt misst Du nicht mehr kontinuierlich, also nicht 
Lückenlos. Das ist im privaten Bereich jedoch meist egal.

Gruß
Christian Rothe

www.Rabenkopf-Studio.de

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Au Mann, ich hab die Lösung gefunden. Das JTAG-Interface-FuseBit war 
gesetzt und damit sind genau die drei PullUps angezogen worden.

Stefan

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.