Für meinen aktuellen Testaufbau nutze ich ein NUCLEO-G474R und die
Codegenerierungsmöglichkeiten der STM32CubeIde.
Ich lese mittels ADC1 und ADC2 mit 8kHz zwei Analogwerte ein, deren
dürftige Genauigkeit mich etwas überrascht hat - bei einem Projekt vor
zwei/drei Jahren mit einem STM32F405 (allerdings mit "bare metal"
Programmierung) sind mir derartige Abweichungen nicht aufgefallen.
1 | Multimeter ADC read hex read dec calculated
|
2 | -----------------------------------------------
|
3 | 1,206V ADC1 0x0580 1408 1,12V
|
4 | 1,516V ADC2 0x06F9 1784 1,42V
|
5 | 1,792V ADC2 0x07F8 2040 1,62V
|
Durch Heruntersetzen der Default-ADC-Clock auf ein Achtel konnte ich die
Genauigkeit zwar noch ein gutes Stück verbessern, eine weitere Senkung
der ADC-Clock verbessert die Werte aber nicht mehr.
1 | Multimeter ADC read hex read dec calculated
|
2 | -----------------------------------------------
|
3 | 1,206V ADC1 0x05AF 1455 1,16V
|
4 | 1,516V ADC2 0x0721 1825 1,45V
|
5 | 1,792V ADC2 0x0883 2179 1,73V
|
Die Analogeingänge sind direkt mit einem OP-Ausgang (LM2904) verbunden,
so dass ich hinsichtlich Quellimpedanz wohl keine zusätzlichen
Ungenauigkeiten zu erwarten habe.
Mache ich noch was Grundsätzliches falsch?
Hat jemnd noch Hinweise, was man u.U. verbessern könnte?
Hat schon jemand die unzähligen Angaben zur Genauigkeit im Datenblatt in
einen einzigen Prozentwert umgerechnet?