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.
Marten M. schrieb: > Ja ich habe mit dem Multimeter am ADC-Eingang auch die 20mV > nachgewiesen. Nenne doch mal Marke und Typ des Multimeters...
2 Digit können Tolleranz sein und Störungen im Messsignal. Dein Multimeter kann auch eine Tolleranz haben.
Marten M. schrieb: > Leider zeigt mir der Controller > immer nur den Wert 2 an, also 10mV. Bei einem (dem System innewohnenden) Fehler von 2 Digit doch ganz ok.. Verwendest du denn nicht die interne 1.1V Referenz? Warum nicht?
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?!
Marten M. schrieb: > Ok, also unter 2 Digits ist eigentlich unmöglich zu messen wenn ich das > so höre?! Das Datenblatt gibt Auskunft.
Arduino Fanboy D. schrieb: > Verwendest du denn nicht die interne 1.1V Referenz? Mit der 1.1V Referenz komme ich auf einen besseren Wert, liegt auch ca. 3-4digits daneben...
Marten M. schrieb: > Mit der 1.1V Referenz komme ich auf einen besseren Wert, liegt auch ca. > 3-4digits daneben... u.A. weil die Referenz auch bis zu 10% Fehlpeilung hat. Aber diese kann man kompensieren.
Der ATmega2560 kann den ADC-Eingang *10 oder *200 verstärken.
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
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.
c-hater schrieb: > aber er bringt keinen Verlust an Auflösung. Hmm, Auflösung = RMS-Wert des Rauschens. Der Peak/Peak ist dann Faktor 6.6 über dem RMS-Wert (bei gaußscher Verteilung). Also 7 Bits Auflösung sind dann ca 4 rauschfreie (Peak/Peak) Bits. Gruß Anja
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
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).
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.
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?
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.
c-hater schrieb: > Die Frage ist: welches Rauschen? Du hast nicht verstanden, dass das ausschließlich eine Frage für dich selbst ist! Gruß Rainer
Rainer V. schrieb: > Du hast nicht verstanden, dass das ausschließlich eine Frage für dich > selbst ist! Wie meinen?
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.
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.
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...
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
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...
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. :((
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.