STM32 ADC Calibration

OP #5377203
Lesenswert?
• ▲
▼
Ich möchte ADC-Messung mit einem STM32F042 möglichst genau hinbekommen. 
Aktuell messe ich multichannel mit DMA.

Es funktioniert auch alles soweit, allerdings misst mein ADC bei 2 
Messeingängen mit Pull-up (an die später NTC's kommen sollen) jeweils um 
die 4030 (bei 12Bit). Meine Versorgungsspannung auf dem PCB ist per LDO 
bei (laut Multimeter) genauen 3,300 Volt. Die NTC Messeingänge liegen 
laut Multimeter auf 3,294 V.

Ich habe versucht die ganze Messung über Vref genauer zu machen.
Wie in dem Thread Beitrag "STM32 ADC Calibration" habe ich 
die Formel aus dem Reference Manual benutzt.

V=(3300V*V_ref_cal)/(V_ref_data)


Mein V_ref_cal ist 1525 und mein V_ref_data vom ADC ist um die 1460, 
sodass ich auf Vdd von ~3440 mV komme, obwohl ich mehrfach gemessen habe 
und es laut multimeter ziemlich genaue 3,3V sind.

Messen tut der ADC außerdem auch über die maximalen 239,5 Zyklen.

Ist diese Abweichung normal? Kann ich was tun, um die ADC Messung 
möglichst genau zu machen, außer ein offset oder ein gain händisch drauf 
zu addieren/multiplizierenn?
Gast #5377218
Lesenswert?
• ▲
▼
3,3 V / 4096 = 0,0008056640625 Volt pro Stufe

3,294 V / 0,0008056640625 = 4088

Das wäre der erwartete Messwert gewesen - im Idealfall.
Bekommen hast du aber den Wert 4030. Die Abweichung beträgt also

4088 - 4030 = 58

58 von 4096 sind 1,4%

Schau mal ins Datenblatt, welche maximale Abweichung dort versprochen 
wird. Ich bin (von anderen µC) größere Abweichungen gewohnt.
Gast #5377505
Lesenswert?
• ▲
▼
Wenn man "genau" messen will, ist die Betriebspannung als Referenz 
unbrauchbar. Falls der STM einen Ref-Eingang hat, solltest du den 
benutzen und temperaturstabile 2,5V in etwa anlegen.Eine Kalibration des 
ADC's erst einige Sekunden nach Hochlaufen durchführen, damit sich die 
Referenzspannung stabilisieren kann.

Grüsse
Gast #5377587
Lesenswert?
• ▲
▼
> Wenn man "genau" messen will, ist die Betriebspannung
> als Referenz unbrauchbar.

So Pauschal würde ich das nicht sagen. Denn wenn der Sensor eine 
Ausgangsspannung liefert, die ebenfalls relativ zur Betriebsspannung 
ist, dann eignet diese sich sogar ideal als Referenz.

Eine Klassiker wäre hier zum Beispiel die Temperaturmessung mittels NTC:
1
                    NTC 10k
2
                +---[===]---+
3
                |           |
4
GND |---[===]---+---[===]---+---o VCC
5
         10k    |    100k
6
                |
7
              zum ADC

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.