ADC-Messung am unteren Limit (Atmega2560)

#6742099
Lesenswert?

Moin zusammen,


versuche eine sehr kleine Spannung am unteren Limit zu messen. Auflösung 
ist ja ca. 5mV bei 10Bit und 5V Vcc.

Meine Spannung am ADC-Eingang ist 20mV. Leider zeigt mir der Controller 
immer nur den Wert 2 an, also 10mV.

Woran kann das liegen?

Ja ich habe mit dem Multimeter am ADC-Eingang auch die 20mV 
nachgewiesen.

Es sind noch ca. 2kR vor dem Eingang und ca. 20nF ohne 
Leitungsbetrachtung.

Ich programmieren den Atmega über die Arduino IDE.
https://www.arduino.cc/reference/en/language/functions/analog-io/analogread/

Kann die Messzeit irgendwie verändert werden oder ein Thema sein?!


Gruß,
M.
#6742118
Lesenswert?

Arduino Fanboy D. schrieb:
> Bei einem (dem System innewohnenden) Fehler von 2 Digit doch ganz ok..
>
> Verwendest du denn nicht die interne 1.1V Referenz?
> Warum nicht?

Ich messe über einen sehr großen Dynamikbereich. Die 20mV sind jetzt 
kein Muss, ich wollte es nur verstehen und schauen wie weit ich runter 
komme bei der AD-Messung.

Ok, also unter 2 Digits ist eigentlich unmöglich zu messen wenn ich das 
so höre?!
Gast #6742352
Lesenswert?

Hi

>Der ATmega2560 kann den ADC-Eingang *10 oder *200 verstärken.

Ja, mit Einbußen in der Genauigkeit:

If 1× or 10× gain is used, 8 bit resolution can be expected. If 200× 
gain is
used, 7 bit resolution can be expected.

MfG Spess
Gast #6742448
Lesenswert?

Spess53 schrieb:

> If 1× or 10× gain is used, 8 bit resolution can be expected. If 200×
> gain is
> used, 7 bit resolution can be expected.

Wo genau stammt denn dieses Zitat her? Grundsätzlich stimmt natürlich, 
dass der Einsatz der internen Vorverstärker einen (kleinen) Verlust an 
Genauigkeit bringt, aber er bringt keinen Verlust an Auflösung.

Insbesondere ist an dem Zitat auch suspekt, dass es für den Fall 1x auch 
nur 8 Bit verheißt. 1x heißt nämlich: Kein Vorverstärker...

Im Datenblatt steht unter der Mux-Tabelle folgende Anmerkung:

Note: 1. To reach the given accuracy, 10× or 200× Gain should not be 
used for operating voltage below 2.7V.

Das heißt aber im Umkehhrschluss: Oberhalb von 2.7V gibt es auch mit 
Vorverstärker keine Einschränkungen der Genauigkeit und ohne 
Vorverstärker, also mit Gain 1x gibt es über den vollen Bereich der 
Betriebsspannung keine.
Gast #6742479
Lesenswert?

Hier kommt es auch auf die Schaltung an. Bei vielen Arduino Boards ist 
die AVCC ungefiltert, dann kann man effektiv nur 8 nutzbare Bits 
erwarten. Die unteren beiden liefern nur Rauschen.

In den folgenden App Notes ist beschrieben, wie man das Optimum heraus 
holt:
https://www.mikrocontroller.net/attachment/241743/doc2521.pdf
http://ww1.microchip.com/downloads/en/appnotes/doc8003.pdf
#6742494
Lesenswert?

Stefan ⛄ F. schrieb:
> Bei vielen Arduino Boards ist
> die AVCC ungefiltert, dann kann man effektiv nur 8 nutzbare Bits
> erwarten. Die unteren beiden liefern nur Rauschen.

In der Praxis habe ich gemerkt, daß die LC-Kombination in AVCC genau 
0,nix bringt. Auch ohne erreiche ich stabile 10 Bit. Mit einem 10-Gang 
Poti kann ich alle Werte 0..1023 anzeigen lassen.

In einer Anwendung habe ich den Mittelwert über je 64 Messungen 
programmiert. Als ich dann mal die VCC auf dem Oszi angezeigt habe, habe 
ich mit Entsetzen bis zu 0,5V Störungen drauf gesehen. Die Ursache war 
die Multiplexfrequenz des MAX7219 und ein grauenvolles Layout 
(Fremdfirma). Den ADC lies das kalt und er lieferte stabile 10 Bit. 
Hauptsache die AVCC blieb über der Referenz (4,096V).
Gast #6742689
Lesenswert?

Peter D. schrieb:
> In der Praxis habe ich gemerkt, daß die LC-Kombination in AVCC genau
> 0,nix bringt. Auch ohne erreiche ich stabile 10 Bit. Mit einem 10-Gang
> Poti kann ich alle Werte 0..1023 anzeigen lassen.

Das erklärt, warum einige Arduino Bards derart vereinfacht sind.

Es hängt sicher davon ab, wie stabil VCC ist. Wenn du z.B. einen ESP 
Chip in deiner Schaltung hast, wird es spannend.
Gast #6743024
Lesenswert?

Anja schrieb:

> Auflösung = RMS-Wert des Rauschens.

Die Frage ist: welches Rauschen?

Der Vorverstärker kann natürlich nix am SNR des Quellsignals verbessern, 
im Gegenteil: er wird zwangsweise eigenes Rauschen hinzufügen, alles 
andere wäre eine Verstoß gegen Naturgesetze.

Aber: er kann das Signal so aufpumpen, dass es die Fähigkeiten des ADC 
viel besser nutzen kann und so viel mehr nutzbare Bits produzieren. Und 
das trotz der Tatsache, dass er das Rauschen der Quelle natürlich mit 
aufbläst und sogar selber Rauschen hinzufügt.

Mal ganz abseits von der reinen Mathematik: Wäre es nicht so, würde 
niemand irgendwo einen Vorverstärker benutzen, bevor er das Signal in 
eine ADC einspeist. Die Praxis zeigt aber, dass dies sehr, sehr oft 
getan wird. Also muß da schon ein praktischer Nutzen bestehen, meinst du 
nicht?
Gast #6743038
Lesenswert?

Marten M. schrieb:
> Auflösung
> ist ja ca. 5mV bei 10Bit und 5V Vcc.

Auflösung ist nicht Genauigkeit.

> Ok, also unter 2 Digits ist eigentlich unmöglich zu messen wenn ich das
> so höre?!
Nö.
Aber ohne Kalibrierung und einen sehr sauberen Aufbau geht eben nicht 
viel.
Nach oben wird das beliebig kompliziert.
Deswegen immer ein breites Grinsen wenn hier jemand von 24Bit Auflösung 
faselt.
Gast #6743044
Lesenswert?

c-hater schrieb:
> Anja schrieb:
>
>> aber differentielle Messung.
>
> So what? Ist doch nun wirklich scheißegal. Der einzige Unterschied ist,
> ob das Ergebnis signed ist oder eben nicht. Die Auflösung bleibt gleich
> und auch die Genauigkeit.

Haha, für den Softwerker mag das stimmen.
In der realen Welt sieht das anders aus.
Gast #6743053
Lesenswert?

Prokrastinator schrieb:

> Haha, für den Softwerker mag das stimmen.
> In der realen Welt sieht das anders aus.

Softwerker müssen in erster Näherung davon ausgehen, dass die Hardwerker 
einfach mal ihren Job machen.

Schlimm genug, dass man sehr oft die Fehler der Hardwerker in der 
Software ausbügeln muss, weil's insgesamt billiger wird, das Problem auf 
diese Art zu lösen...
#6743091
Lesenswert?

c-hater schrieb:
> Schlimm genug, dass man sehr oft die Fehler der Hardwerker in der
> Software ausbügeln muss, weil's insgesamt billiger wird, das Problem auf
> diese Art zu lösen...

Du bist also eher Softwerker?! Darauf wäre ich jetzt nicht gekommen, 
aber das ewige Gezanke zwischen den "Software-Nullen" und den 
"Hardware-Nullen" ... man habe ich das gehasst und genossen...
Gruß Rainer
Gast #6743119
Lesenswert?

Rainer V. schrieb:

> Du bist also eher Softwerker?!

Ja, das ist wohl so. Macht mir einfach schon immer mehr Spaß und der 
nachlassende Einsatz an der Hardwarefront ist teilweise auch 
altersbedingt. Die Sehfähigkeiten lassen einfach nach. Das ist schlicht 
nicht gut für die Fehlersuche in den Ansammlungen von "Staub", die 
heutige Hardware ausmacht.

Aber die Schaltpläne und Layouts lassen sich ja problemlos bis in die 
Größenordnung dessen aufblasen, was ich sehen kann. Und da kann ich 
immer noch gut mitreden. Wenn ich muss...

> aber das ewige Gezanke zwischen den "Software-Nullen" und den
> "Hardware-Nullen"

Niemand hat über irgendwelche Nullen geredet. Fehler passieren überall. 
Nur wer garnichts tut, macht keine.

Der Punkt ist aber: Ich habe noch nie erlebt, dass die Hardwerker 
irgendeinen Softwarefehler ausbügeln mussten. Den umgekehrten Fall 
allerdings schon recht oft...
Gast #6743129
Lesenswert?

c-hater schrieb:

> Aber die Schaltpläne und Layouts lassen sich ja problemlos bis in die
> Größenordnung dessen aufblasen, was ich sehen kann. Und da kann ich
> immer noch gut mitreden. Wenn ich muss...

Nein, das mußt Du nicht. Bitte, bitte nicht! Es genügt auch so schon 
vollauf, was Du hier jeden Tag zum Besten gibst.

:((

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