Forum: Mikrocontroller und Digitale Elektronik STM32F4: Wiederholgenauigkeit der 12-Bit-ADCs?


von Willi W. (willi_w571)


Lesenswert?

Da ich gerade keinen STM hier habe um das auszuprobieren, frage ich 
einfach mal: ich möchte Daten mit dem internen 12-Bit-ADC samplen, zur 
Erhöhung der Genauigkeit akkumuliere ich immer 8 Messwerte. Meine 
Fragen:

Wenn ich das mit zwei identischen Eingangsspannungen direkt nacheinander 
mache, welche Abweichung ist im ermittelten Wert maximal zu etwarten?

Wenn ich das mit zwei identischen Eingangsspannungen einmal mit einem 
neu gestarteten (kalten) Chip und einmal mit einem warmen Chip in einer 
ebenfalls warm gelaufenen Umgebung mache, welche Abweichung ist im 
ermittelten Wert maximal zu etwarten?

von Max M. (Gast)


Lesenswert?

Vermutlich kommen hier nur wieder sinnfreie Antworten wie "Schau ins 
Datenblatt."

Es ist schwierig, genaue Zahlen für die maximale Abweichung anzugeben, 
da dies von verschiedenen Faktoren abhängt, einschließlich des 
spezifischen Mikrocontrollers, der Umgebung und der Messbedingungen.

von Norbert (der_norbert)


Lesenswert?

Mit so etwas Ähnlichem hatte ich mich schon einmal vor ca. 10 Jahren 
beschäftigt.
Beitrag "STM32 ADC Verhalten eigentümlich"

von Willi W. (willi_w571)


Lesenswert?

Norbert schrieb:
> Mit so etwas Ähnlichem hatte ich mich schon einmal vor ca. 10 Jahren
> beschäftigt.
> Beitrag "STM32 ADC Verhalten eigentümlich"

Cool, Danke!

von Johnny B. (johnnyb)


Lesenswert?

Willi W. schrieb:
> zur Erhöhung der Genauigkeit akkumuliere ich immer 8 Messwerte

Du kannst soviel akkumulieren/mitteln wie du willst, die Genauigkeit 
erhöht sich dadurch nicht. Nur die Auflösung wird grösser.

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Vielleicht ist diese Application Note für Dich interessant:
https://www.st.com/resource/en/application_note/an2834-how-to-get-the-best-adc-accuracy-in-stm32-microcontrollers-stmicroelectronics.pdf

Außerdem fand ich unter dem Suchbegriff "stm32 adc best practices" nicht 
nur obige AN, sondern auch sonst noch weitere Seiten, die sich mit dem 
ADC unter STM32 näher beschäftigen und sehr vielversprechend aussahen.
Ist vielleicht auch interessant für Dich:
https://www.google.com/search?client=firefox-b-d&q=stm32+adc+best+practices

Viele Grüße

Igel1

: Bearbeitet durch User
von Joe L. (joelisa)


Lesenswert?

Willi W. schrieb:
> Da ich gerade keinen STM hier habe um das auszuprobieren, frage ich
> einfach mal: ich möchte Daten mit dem internen 12-Bit-ADC samplen, zur
> Erhöhung der Genauigkeit akkumuliere ich immer 8 Messwerte. Meine
> Fragen:
>
> Wenn ich das mit zwei identischen Eingangsspannungen direkt nacheinander
> mache, welche Abweichung ist im ermittelten Wert maximal zu etwarten?

Das Datenblatt schreibt was dazu unter 5.1.1 Minimum and maximum values:
"Based on characterization, the minimum and maximum values refer to 
sample tests and represent the mean value plus or minus three times the 
standard deviation (mean±3Σ)."

bzw unter 5.1.2 Typical values:
"Typical ADC accuracy values are determined by characterization of a 
batch of samples from a standard diffusion lot over the full temperature 
range, where 95% of the devices have an error less than or equal to the 
value indicated (mean±2Σ)."

Egal ob Du das "ausprobierst" oder dich auf die von ST gemessenen Werte 
(Datenblatt) verlässt, musst du noch immer mit Abweichungen von ±3Σ bzw. 
±2Σ vom Mittelwert rechen (im Fall von 5.1.2 sogar nur für 95% der 
getesteten Samples) - also in beiden Fällen, wie für Rauschwerte halt 
üblich, "statistische Angaben".

Deine Frage "welche Abweichung ist im ermittelten Wert maximal zu 
erwarten?" lässt sich damit in dieser absoluten Form nicht beantworten.

Unter Umständen hilft dir aber die "Faustformel zur Umrechnung von 
eff-Rauschen in pp-Rauschen" weiter: UR(pp) = 3..7 * UR(eff).

von Harald W. (wilhelms)


Lesenswert?

Joe L. schrieb:

> Du musst noch immer mit Abweichungen von ±3Σ bzw. ±2Σ vom Mittelwert
> rechnen.

Dazu kommen noch die Fehler der vor dem Analogeingang verwendeten
Bauelemente. So eine Überabtastung kann allerdings die Dimensio-
nierung des Antialiasingfilters vereinfachen.

von Joe L. (joelisa)


Lesenswert?

Johnny B. schrieb:
> Du kannst soviel akkumulieren/mitteln wie du willst, die Genauigkeit
> erhöht sich dadurch nicht. Nur die Auflösung wird grösser.

Das stimmt so - als absolute Aussage - nicht ganz: Durch 
Akkumulieren/Mitteln vermindert sich die Bandbreite des Signals, damit 
auch die Rauschbandbreite und somit das effektive Rauschen.

Ob sich's auswirkt hängt letztendlich an der spektralen Verteilung des 
Rauschens. Nachrichtentechnik halt - aber das versteht eh nicht jeder 
...

von Joe L. (joelisa)


Lesenswert?

Harald W. schrieb:
> Dazu kommen noch die Fehler der vor dem Analogeingang verwendeten
> Bauelemente. So eine Überabtastung kann allerdings die Dimensio-
> nierung des Antialiasingfilters vereinfachen.

... so man denn "geeignet" mittelt, sprich digital Tiefpass-filtert - 
weil man sich sonst beim Dezimieren einen neuen Alias einfängt.

In vielen Fällen bleibt ein Alias-Problem geflissentlich, oft aber auch 
aus Ignoranz, unberücksichtigt.

: Bearbeitet durch User
von Harald W. (wilhelms)


Lesenswert?

Joe L. schrieb:

> ... so man denn "geeignet" mittelt, sprich digital Tiefpass-filtert -
> weil man sich sonst beim Dezimieren einen neuen Alias einfängt.

Das ein Aliasingfilter immer analog sein muss, hatte ich jetzt
als bekannt vorausgesetzt. :-)

von Joe L. (joelisa)


Angehängte Dateien:

Lesenswert?

Harald W. schrieb:
> Joe L. schrieb:
>
>> ... so man denn "geeignet" mittelt, sprich digital Tiefpass-filtert -
>> weil man sich sonst beim Dezimieren einen neuen Alias einfängt.
>
> Das ein Aliasingfilter immer analog sein muss, hatte ich jetzt
> als bekannt vorausgesetzt. :-)

Das muss es nicht! Eine langatmige Erklärung erspare ich mir aber.

Falls es interessiert, schau Dir mal gescheite (!) Sigma/Delta-Wandler 
an, wie z.B. Cirrus CS5321/22, und welcher Aufwand dort mit digitalen 
Antialias-Filtern (CS5322) - wegen der Dezimierung (= digitale 
"Neu"-Abtastung) - getrieben wird, und was damit möglich ist. Siehe auch 
Anlage ...

: Bearbeitet durch User
von Cyblord -. (cyblord)


Lesenswert?

Max M. schrieb:
> Es ist schwierig, genaue Zahlen für die maximale Abweichung anzugeben,
> da dies von verschiedenen Faktoren abhängt, einschließlich des
> spezifischen Mikrocontrollers, der Umgebung und der Messbedingungen.

Also genau das was auch im Datenblatt steht. Dort werden die möglichen 
Fehlertypen übrigens schön gezeigt.

von Harald A. (embedded)


Lesenswert?

Weiß nicht, ob das in einem der verlinkten Seiten oder Dokus klar 
rausgekommen ist, aber der einmalige Aufruf der Calibration (in der HAL 
eine fertige Funktion) sehr wichtig bei den 12bit Wandlern. Tut nicht 
weh, ist aber wirksam.

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
Noch kein Account? Hier anmelden.