NUCLEO-G474R, STM32G474. STM32CubeIde, Optimierung ADC-Genauigkeit

#6203272
Lesenswert?

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?
Angehängte Dateien:
Beitrag #6203416 wurde von einem Moderator gelöscht.
Gast #6203831
Lesenswert?

Stell deine ADC sample time mal auf mehr als 2.5 Zyklen...

Das SH hat vermutlich nicht genug Zeit um sauber geladen zu werden. Bei 
den 8KHz die du willst kannst du das vermutlich auf den Maximalwert 
stellen.

Um deine Frage zu beantworten ja du machst grundsätzlich etwas falsch, 
du hast dich offensichtlich nicht mit der Funktionsweise des ADCs 
auseinander gesetzt.
#6204009
Lesenswert?

Nach Einbau der Kalibrierung erhalte ich gute Werte!
1
    Multimeter  ADC  read hex  read dec  calculated
2
    -----------------------------------------------
3
      1,206V   ADC1   0x05E5     1509       1,20V
4
      1,516V   ADC2   0x0765     1893       1,51V
5
      1,792V   ADC2   0x08C3     2243       1,79V

Nicht so recht einleuchten mag mir, warum der Code Generator der Klicki 
Bunti das nicht in die ADC_Init() einbaut, wenn ohne doch nichts geht 
bzw. wenigstens ein Häckchen dafür vorhanden ist, mit dem man das 
erzwingen kann.

Thx für die Hinweise.
Beitrag #6204060 wurde von einem Moderator gelöscht.
Beitrag #6204202 wurde von einem Moderator gelöscht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren