Guten Tag, folgender Ausgangssituation: Zur Verfügung steht ein Strommesssensor der ein Strom bis zu 20 A messen kann. Er liefert eine Ausgangsspannung von 0 V - 2 V. Ein 12-Bit ADC liefert die Ergebnisse dieser Messung an dem µC. Auflösung des ADC: Udiff / 4096 = 2 V / 4096 = 488 µV Mein Frage ist: wie genau kann der Strom gemessen werden? I_mess = (20 A * 488 µV) / 2 V = 4,88 mA Ist das richtig? Sorry, falls die Antwort zu selbstverständlich ist... Bin neu auf dem Gebiet.
Das erste, was du dir merken musst, ist:
Das ist elementar wichtig und wird doch immer wieder verwechselt. Mit den Angaben, die du bisher gemacht hast lässt sich ausschließlich die Auflösung bestimmen, nicht die Genauigkeit. Und ja, 4.88 mA wäre die maximale Auflösung oder halt 20 A / 12 Bit ;)
M. K. schrieb: > Das erste, was du dir merken musst, ist: > Auflösung!=Genauigkeit Danke für die Info :) Eine andere Frage: - was erreicht man, wenn der Messbereich vergrößert wird (z. B. von 2 V auf 3 V). Die Auflösung bleibt ja gleich. I_mess = (20 A * 732 µV) / 3 V = 4,88 mA Erzielt man damit mehr Genauigkeit?
Georg schrieb: > Erzielt man damit mehr Genauigkeit? Nein, damit erzielt man nur eine höhere Auflösung. Auflösung und Genauigkeit sind unabhängig voneinander.
Georg schrieb: > Erzielt man damit mehr Genauigkeit? Nein, die Auflösung beträgt immer noch 12 Bit, jedenfalls wenn du die Referenzspannung des ADC immer so wählst, dass dein Signal den kompletten Messbereich deines ADCs ausnutzt.
Und an der Genauigkeit des Wandlers ändert sich natürlich nichts, es sei denn, du nimmst einen anderen Typ ;-)
Wenn du den Messbereich (referenzspannung) des ADC von 2V auf 3V änderst, den Shunt aber unverändert lässt, dann verringerst du die Auflösung (größere Schrittweite) und der maximal messbare Strom erhöht sich auf 30A. Das alles hat aber immer noch nichts mit der Genauigkeit zu tun,.
M. K. schrieb: > Georg schrieb: >> Erzielt man damit mehr Genauigkeit? > > Nein, damit erzielt man nur eine höhere Auflösung. Auflösung und > Genauigkeit sind unabhängig voneinander. Nicht ganz, denn die Mindest-Messabweichung ist 0.5 LSB.
Georg schrieb: >> Auflösung!=Genauigkeit > Danke für die Info :) Generell wird ein A/D ein bit hin und her wackeln. Externe Einflüsse wie Brumm, Rauschen, Masseverschiebungen kommen hinzu. Und natürlich die Genauigkeit des Wandlerbausteines. Verbessern kann man das in der Praxis mit Oversampling: Man hole mehrere Meßwerte in zeitlichem Abstand und errechne den Mittelwert - hier irgendwo im Forum wurde mal eine Applikationsschrift von Atmel zu diesem Thema verlinkt.
Manfred schrieb: > Verbessern kann man das in der Praxis mit Oversampling: Man hole mehrere > Meßwerte in zeitlichem Abstand und errechne den Mittelwert - Gegen eine krumme Wandlerkennlinie hilft das überhaupt nichts. Und der Mittelwert hilft gegen Quantisierungsrauschen nur, wenn dem Messsignal ein ausreichend hohes Rauschen überlagert ist. Sonst hängt der Wandler auf einer Stufe und die schönste Mittelei nützt überhaupt nichts, weil immer der selbe Wandlerwert rein kommt.
THOR schrieb: > Nicht ganz, denn die Mindest-Messabweichung ist 0.5 LSB. Nein, nein und nochmals nein. Die Auflösung hat mit der Genauigkeit nichts zu tun. Das eine fragt, wie gut kann ich etwas messen, das andere fragt, wie gut kann ich etwas anzeigen. Das sind zwei völlig verschiedene Dinge (wenngleich es auch Sinn macht sie aufeinander abzustimmen). Natürlich hat es wenig Nutzen etwas genauer zu messen als man es anzeigen (nutzen) kann. Beispiel: Man kann 1 V auf 1% genau messen und die Auflösung auf 3 Bit setzen. Das sieht natürlich jeder sofort, dass das nicht sehr sinnvoll ist: Warum auf 10 mV genau messen wenn die Auflösung eh schlechter als 100 mV ist? Ein Erhöhen der Auflösung auf 4 Bit erhöht aber die Genauigkeit von 1% schlicht überhaupt nicht. Selbst wenn man die Auflösung auf 40 Bit erhöhen würde wäre die Genauigkeit immer noch nur 1%. Nur weil man die Auflösung erhöht, erhöht sich dadurch die Genauigkeit mitnichten. Deshalb macht es auch keinen Sinn die Auflösung wesentlich besser zu machen als die Genauigkeit. Die Auflösung zu erhöhen suggeriert schlimmstenfalls, dass die Genauigkeit besser wird was aber natürlich nicht der Fall ist.
M. K. schrieb: > Deshalb macht es auch keinen Sinn die Auflösung wesentlich > besser zu machen als die Genauigkeit. Jeder Taschenrechner macht das. Da werden 3-stellige, fehlerbehaftete Messwerte eingetippt und als Ergebnis kommt eine 10-stellige Zahl raus ;-)
Gegeben: - Ein Stromsensor mit 2 V / 20 A A: Wie genau ist der Sensor? - Ein 12-Bit ADC B: Wie genau ist der ADC (Offset und Linearität)? - Eine Referenzspannung von 2 V (oder 3 V) C: Wie genau ist die Referenzspannung? Gesucht: Die Genauigkeit, (Übereinstimmung von Messwert und vorliegendem Strom), Rauschfreiheit, oder nur die Auflösung (Erfassung von Stromänderungen)? Die Antwort: Kann dir keiner geben, wenn A, B und C nicht bekannt sind. Vielleicht erzählst du einfach, welches Messproblem du mit welchen vorhandenen Bauelementen mit welcher zeitlichen Auflösung (!) lösen möchtest.
M. K. schrieb: > Das eine fragt, wie gut kann ich etwas messen, das andere > fragt, wie gut kann ich etwas anzeigen. Mit "etwas anzeigen" hat beides gar nichts zu tun.
Georg schrieb: > Auflösung des ADC: > Udiff / 4096 = 2 V / 4096 = 488 µV Ich glaube, dass ich es schon einmal erwähnte: Der 12-Bit Wandler, kann zwar 4096 Messwerte ausgeben, aber das sind ausser der 0 nur 4095 Intervalle bzw. der höchste Messwert ist 4095. Deshalb ist die Auflösung 2V/4095 = 488,4µV. Georg schrieb: > was erreicht man, wenn der Messbereich vergrößert wird (z. B. von 2 V > auf 3 V). Evtl. geringfügig weniger elektrisches Rauschen. Du solltest aber daran denken, dass von einem Widerstand, an dem bei 20A 3V abfallen, 60W Verlustwärme abzuführen sind. Unter dieser Wärmentwicklung kann die Genauigkeit des Widerstandes und auch die Stabilität der ganzen Apparatur leiden.
Hp M. schrieb: > ausser der 0 nur 4095 Intervalle bzw. der höchste Messwert ist 4095. > Deshalb ist die Auflösung 2V/4095 = 488,4µV. Entscheidend für die Auflösung ist aber nicht die höchste Zahl, sondern die Anzahl der Werte, in die der Messbereich eingeteilt wird. Die Null ist auch ein gültiger Wert, deshalb sind es 4096 Werte und 2V/4096 wäre richtig! Anders betrachtet: Wenn man 2V mit einem 2-Bit Wandler messen würde, bekäme man nach Deiner Rechnung 0,666 Volt Auflösung heraus - wie soll denn da die Zuordnung der Spannungen zu den Ausgangswerten des AD-Wandlers aussehen?
Hp M. schrieb: > ... aber das sind ausser der 0 nur 4095 Intervalle Eben, du sagst es richtig: Es sind insgesamt 4096 Werte. Jeder mögliche Ausgangswert repräsentiert ein Intervall mit ungefähr einer Breite von 1/4096. Guck dir mal eine Wandlerkennlinie an.
Moment mal. Wenn ich 4096 Werte habe liegen die tatsächlichen Spannungen annähernd immer zwischen den Werten. Also in den Intervallen. Ich habe 4095 Intervalle.
Felix U. schrieb: > M. K. schrieb: >> Das eine fragt, wie gut kann ich etwas messen, das andere >> fragt, wie gut kann ich etwas anzeigen. > Mit "etwas anzeigen" hat beides gar nichts zu tun. Doch, die Auflösung hat nur den Zweck der Anzeige. Du implizierst grade nur, dass diese Anzeige nur für den Menschen ist. Muss sie aber nicht sein, diese Anzeige, von der ich sprach, kann auch für einen Computer sein damit er die Daten weiter verarbeiten kann. Stefan U. schrieb: > Moment mal. > Wenn ich 4096 Werte habe liegen die tatsächlichen Spannungen annähernd > immer zwischen den Werten. Also in den Intervallen. Ich habe 4095 > Intervalle. Ja, W.A. hats schon richtig gesagt, sagte immerhin ungefähr 1/4096. Genau wären es 1/4095. Allgemein ist es
mit n als Auflösung in Bit.
Stefan U. schrieb: > Moment mal. > Wenn ich 4096 Werte habe liegen die tatsächlichen Spannungen annähernd > immer zwischen den Werten. Also in den Intervallen. Ich habe 4095 > Intervalle. Stell dir mal einen 1-Bit-Wandler (=Schmitt-Trigger) für 5V vor. Er hat 2 Ausgangswerte und 2 Intervalle.
batman schrieb: > Stell dir mal einen 1-Bit-Wandler (=Schmitt-Trigger) für 5V vor. Er hat > 2 Ausgangswerte und 2 Intervalle. Ahhh, nein. Er hat zwei Ausgangswerte aber nur ein Intervall. Die Ausgangswerte sind 0 und 1, das Intervall ist {0,1}. Dazwischen gibts doch nix darstellbares.
Beitrag #5149536 wurde von einem Moderator gelöscht.
Dann nochmal ganz konkret für 5V: Intervall 1, Ausgangswert 0 : von 0 bis einschließlich 2,5V Intervall 2, Ausgangswert 1 : über 2,5V bis 5V. Es gibt 1 Intervallgrenze aber jedes Intervall hat 2 Grenzen.
batman schrieb: > Dann nochmal ganz konkret für 5V: > Intervall 1, Ausgangswert 0 : von 0 bis einschließlich 2,5V > Intervall 2, Ausgangswert 1 : über 2,5V bis 5V. > > Es gibt 1 Intervallgrenze aber jedes Intervall hat 2 Grenzen. Beispiel: Serielle Schnittstelle RS232: -15...-3 V : 1, 3V...15V: 0, -3V...3V nicht erlaubter Bereich. Zwei Ausgangswerte, 3 Intervalle. Du siehst deinen "Fehler"? Aus dem gleichen Grund werden auch immer wieder Auflösung und Genauigkeit miteinander verwechselt.
Jetzt willst du mich aber auf den Arm nehmen? Beim ADC gibt es keine "unerlaubten" Intervalle im Meßbereich. Jeder (Ausgangs-)Wert liegt auf genau einem Intervall, also gibt es genau soviele Intervalle wie Werte.
batman schrieb: > Jetzt willst du mich aber auf den Arm nehmen? Nein, er ist einfach nur nicht einsichtig. Hat sich das einmal falsch gemerkt, und kommt jetzt NIE wieder runter davon. Und wenn der Fehler nicht so klein wäre, den er sich damit einbaut, wäre ihm das schon dutzende von Malen auf die Füße gefallen.
Stefan U. schrieb: > Wenn ich 4096 Werte habe liegen die tatsächlichen Spannungen annähernd > immer zwischen den Werten. Also in den Intervallen. Ich habe 4095 > Intervalle. Nein, es ist umgekehrt: die Wandler-Ausgangswerte repräsentieren die Intervalle selbst, nicht deren Grenzwerte! Ein 2-Bit Wandler hat 4 Ausgangswerte = 4 Intervalle und demzufolge 5 Intervallgrenzen, z.B. bei 1.0 als Messbereich als Grenzen 0 - 0,25 - 0,5 - 0,75 - 1. Auch ein 12 Bit Wandler hat 4096 Intervalle und 4097 Intervallgrenzen. Die Grenzen des untersten und des obersten Intervalls bei den üblichen SAR-Wandlern liegen allerdings theoretisch bei +/- unendlich. Bei einem differenziellen Wandler wären diese Grenzwerte am Rand bzw. außerhalb des Messbereichs aber tatsächlich reale Werte und würden einen Über- oder Unterlauf auslösen.
Thomas E. schrieb: > Messbereich als Grenzen 0 - 0,25 - 0,5 - 0,75 - 1 für mich sind das jetzt aber 5 werte? wie codierst du das mit 2 bit?
Jeder (gültige) Eingangswert liegt auf einem der 4 Intervalle und wird mit 0,1,2 oder 3 als Ausgangswert dargestellt. Der obere Grenzwert liegt streng genommen nicht mehr im gültigen Meßbereich, sondern außerhalb, so wie Werte unter Null. Vielleicht kommt daher die Verwirrung.
batman schrieb: > Jetzt willst du mich aber auf den Arm nehmen? > Beim ADC gibt es keine "unerlaubten" Intervalle im Meßbereich. RS232 ist auch "nur" ein AD-Wandler. Arduino F. schrieb: > Nein, er ist einfach nur nicht einsichtig. Richtig, ich bin nicht einsichtig weils einfach falsch ist. Ihr setzt hier doch grade die Intervalle des Messergebnis mit den Intervallen der Auflösung gleich. Das ist schlicht und ergreifend falsch und führt nur dazu, dass man meinen könnte man könne durch verbessern der Auflösung die Genauigkeit erhöhen. BTT: Auflösung und Genauigkeit sind unabhängig voneinander. Das Verbessern des Einen verbessert nicht automatisch das Andere. Arduino F. schrieb: > Und wenn der Fehler nicht so klein wäre, den er sich damit einbaut, wäre > ihm das schon dutzende von Malen auf die Füße gefallen. Nö, wir quatschen nur von unterschiedlichen Dingen, daher kommt das Missverständnis zwischen uns.
Thomas E. schrieb: > Anders betrachtet: Wenn man 2V mit einem 2-Bit Wandler messen würde, > bekäme man nach Deiner Rechnung 0,666 Volt Auflösung heraus - wie soll > denn da die Zuordnung der Spannungen zu den Ausgangswerten des > AD-Wandlers aussehen? 0 0,67 1,33 2 Würde man ein Intervall von 2/4 = 0,5 anehmen, wäre die Folge: 0 0,5 1 1,5 und man würde die "2" nie erreichen.
Ist auch richtig so, weil die 2V eben fieserweise außerhalb des Meßbereichs des 0-2V ADC liegen. :) Der endet bei 1.9999999999999999999999999999999999999999....V
batman schrieb: > Ist auch richtig so, weil die 2V eben fieserweise außerhalb des > Meßbereichs des 0-2V ADC liegen. :) > > Der endet bei 1.9999999999999999999999999999999999999999....V Bei dem was Harald schrieb endet er bei 1.5 V, bei dem oben genannten 12 Bit Wandler endet er bei 1,99951171875 V Aber: Arduino F. schrieb: > Und wenn der Fehler nicht so klein wäre, den er sich damit einbaut, wäre > ihm das schon dutzende von Malen auf die Füße gefallen. demnach muss das ja falsch sein...
Na was schrieb denn Harald genau? Eine Folge von 4 Zahlen, die man wohl als Grenzen von 3 Intervallen interpretieren soll. Die genaue Zuordnung Ein/Ausgabewerte fehlt - da wäre der Fehler wohl schon aufgefallen. Damit ergeben sich 3 Eingangsintervalle für einen ADC mit 4 Ausgangswerten. Suboptimal. Es ist immer dasselbe: Je vager die Ausdrucksweise, desto spektakulärer das Resultat. Ich laufe mal eben über das Wasser (weggelassen: aufm Schiff). :)
zum Thema Oversampling und Atmels Applikationsschrift: - in ausschließlich dt. Foren wird diese "Wunderwaffe" Oversampling immer wieder irreführend besprochen, aber offensichtlich ohne diese auch im Original zulesen und - auch wichtig, zu verstehen! - richtig ist, resolution != accuracy, was ständig verwechselt wird - Oversampling KANN nur die resolution verbessern - ABER NUR für PERIODISCHE Signale, was auch immer ausgeblendet wird, sonst wäre interpolieren Zauberkunst oder Woodoo Es gilt auch weiterhin: Wer misst misst Mißt! Sprich das Meßverfahren bestimmt im Wesentlichen die Genauigkeit und nicht die Anzeige. Die vielen schönen Körperwaagen mit digitaler Anzeige und zwei Kommastellen haben immer noch die gleiche miese Toleranz von oft +-300g. dk4ug
Der Messbereich eines ADC liegt in der Regel zwischen 0 Volt und der Referenzspannung MINUS ein Intervall. Wenn du 2V Referenzspannung bei 12Bit Auflösung hast, kannst du höchstens 1,99951171875V messen. Alle Spannungen darüber werden den Wert 4095 liefern, was diesen 1,99951171875V entspricht. Also hast du nicht 4096 mögliche Messergebnisse, sondern 4095, entsprechend 4095 Intervallen.
Stefan U. schrieb: > Also hast du nicht 4096 mögliche Messergebnisse, sondern 4095, > entsprechend 4095 Intervallen. Sehe ich auch so, soll aber falsch sein, s.o. batman schrieb: > Na was schrieb denn Harald genau? Eine Folge von 4 Zahlen, die man wohl > als Grenzen von 3 Intervallen interpretieren soll. Ach, jetzt sinds auf einmal doch nur 3 Intervalle und keine 4 mehr? Oder nur vertippt?
dk4ug schrieb: > zum Thema Oversampling und Atmels Applikationsschrift: > > - in ausschließlich dt. Foren wird diese "Wunderwaffe" Oversampling > immer wieder irreführend besprochen, aber offensichtlich ohne diese auch > im Original zulesen und - auch wichtig, zu verstehen! > > - richtig ist, resolution != accuracy, was ständig verwechselt wird > - Oversampling KANN nur die resolution verbessern So weit, so gut. > - ABER NUR für PERIODISCHE Signale, was auch immer ausgeblendet wird, > sonst wäre interpolieren Zauberkunst oder Woodoo Das ist jedoch falsch! Ich habe die versch. AppNotes schon vor vielen Jahren intensiv studiert, die von dir getroffene Aussage ist nicht darin. Richtig ist: Der Messwert kann so stabil / 'level' wie nur möglich sein. Die Referenzspannung muss dann zB. entweder (vorzugsweise perfektes) Rauschen oder einen leichten Sägezahn überlagert haben. Ist übrigens in der passenden AppNote sogar per einfacher* Schaltung beschrieben. * Die kann man jedoch deutlich verbessern.
Stefan U. schrieb: > Also hast du nicht 4096 mögliche Messergebnisse, sondern 4095, > entsprechend 4095 Intervallen. nein, inklusive 0 sind das dann 4096 Messwerte. MHO Gerhard
Ihr seid ja lustig..... Ihr 1024 und 4096 Verweigerer, ihr ... Da muss euch ein Arduino Jünger zeigen, wie es geht? Ihr ... Hier mal bitte lesen, üben und verstehen: (Auch gerne mit Papier und Bleistift) Karl H. schrieb: > Ich mach dir ein Beispiel für einen 2 Bit ADC, der sich so verhält wie > der ADC im AVR. > > 2 Bit - d.h. der ADC kann 4 verschiedene Werte liefern. > Weiters nehme ich als Referenzspannung 4 Volt an. Die Zuordnung sieht > dann so aus > > Volt | ADC-Wert > -------+----------- > 0 - 1 | 0 > 1 - 2 | 1 > 2 - 3 | 2 > 3 - 4 | 3 > > Der ADC liefert 4 verschiedene Werte. Wenn du die in eine Spannung > umrechnen willst, wie rechnest du das dann? > > Referenzspannung * ADC_Wert / 4 > > oder > > Referenzspannung * ADC_Wert / 3 > > Man beachte: Wenn der ADC einen Wert von 3 liefert, dann heißt das > NICHT, das die Spannung tatsächlich 4 Volt war. Es bedeutet nur, dass > die Spannung sich im Bereich 3-4 Volt (eben im letzten Messintervall) > war. Auch bei einer Eingangsspannung von 3.1 Volt würde in diesem > Beispiel der ADC schon eine 3 auswerfen.
... dann bitte Abschnitt 2.1 Sampling frequncy und 3.1 Oversampling and decimation der Atmel Schrift lesen! Ich sagte doch schon, ... in dt. Foren wird Woodoo praktiziert, in den englischen Foren zu dem gleichen Thema wird alles korrekt besprochen. Ok, vielleicht bin ich im Vorteil, weil ich diese Themen 5 Jahre studiert habe ... Zur weiteren Erhellung empfehle ich: - Microchip AN1152 Achieving Higher ADC Resolution Using Oversampling ... ist vielleicht klarer in der Darstellung?! - Lars Bengtsson, EMBEDDED MEASUREMENT SYSTEMS, chapter 3 https://gupea.ub.gu.se/bitstream/2077/32648/1/gupea_2077_32648_1.pdf ... richtig gut und auch zum Thema Zeitmessung interessant! Nochmals, Oversampling macht nur für AC Signale Sinn, wer dass nicht versteht hat vielleicht ACDC Musik zu laut gehört und schon schaden genommen. Ich hoffe weiterhin, für uns alle das Beste. dk4ug
dk4ug schrieb: > Zur weiteren Erhellung empfehle ich: > > - Microchip AN1152 Achieving Higher ADC Resolution Using Oversampling > ... ist vielleicht klarer in der Darstellung?! Und Du meinst, dass man einen englischen Text schneller kapiert? Wir sind hier in einem deutschen Forum. Aber vielleicht könntest Du den englischen Text mit allen seinen Feinheiten gleich fachgerecht übersetzen. Das wäre eine echte Hilfe.
dk4ug schrieb: > ... dann bitte Abschnitt 2.1 Sampling frequncy und 3.1 Oversampling and > decimation der Atmel Schrift lesen! > > Ich sagte doch schon, ... in dt. Foren wird Woodoo praktiziert, in den > englischen Foren zu dem gleichen Thema wird alles korrekt besprochen. > > Ok, vielleicht bin ich im Vorteil, weil ich diese Themen 5 Jahre > studiert habe ... > > Zur weiteren Erhellung empfehle ich: > > - Microchip AN1152 Achieving Higher ADC Resolution Using Oversampling > ... ist vielleicht klarer in der Darstellung?! > - Lars Bengtsson, EMBEDDED MEASUREMENT SYSTEMS, chapter 3 > https://gupea.ub.gu.se/bitstream/2077/32648/1/gupea_2077_32648_1.pdf > ... richtig gut und auch zum Thema Zeitmessung interessant! > > Nochmals, Oversampling macht nur für AC Signale Sinn, wer dass nicht > versteht hat vielleicht ACDC Musik zu laut gehört und schon schaden > genommen. > > dk4ug Nur weil man etwas oft wiederholt wird es nicht weniger falsch. Lies die Atmel AppNotes AVR121 durch und VOR ALLEM: Bau doch mal die erforderliche Minimalhardware, schreib' ein wenig Software und teste es selbst! Ich habe das getan und bin reproduzierbar in der Lage aus einem 10bit ADC 12/13/14bit Auflösung heraus zu holen. Bei einer festgenagelten Eingangsspannung. Und dann ändere ich die Eingangsspannung um weniger als ein mV und sehe die zum PC übertragenen Werte welche sich dementsprechend ändern. PS. Ich kann nicht ausschließen das ich einiges an Software geschrieben habe während ich AC/DC gehört habe, ändert aber am Ergebnis nichts ;-)
Nehmen wir 4.096V Referenz, wie groß ist ein 'Schritt'? 10 bit 4,00 mV 11 bit 2,00 mV 12 bit 1,00 mV 13 bit 0,50 mV 14 bit 0,25 mV
Das heißt, um die 14-bit Auflösung zu bestätigen, wurde nicht um 1 mV, sondern um 0.25 mV geändert?
batman schrieb: > Ich laufe mal eben über das Wasser ..und ich fahre manchmal (eher selten) über eine rote Ampel.
Ich habe mehrere Versuchsreihen gemacht. Die erste war über einen Zeitraum von vielen Minuten die Spannung über einem Kondensator (welcher mit 100µA geladen wird) zu messen. Dies entspricht der sich verändernden Eingangsspannung. Dabei habe ich mit 256 fachem Oversampling gearbeitet. Bei 16MHz / 128 = 125kHz braucht der ADC 13 ADC-Takte = 104µs pro Messung. das ergibt 9615 Einzelmessungen pro Sekunde und 37 1/2 Oversample-Messungen pro Sekunde. Die wurden live zum PC für die Auswertung übertragen und aufgezeichnet. Damit konnte dann wunderbar die Qualität der Linearität mathem. überprüft werden. Eine weiterer Test war eine Kombination aus zwei großen Festwiderständen (47kΩ) und einem kleinen Poti (100Ω) um einen sehr geringen Spannungsbereich einstellbar zu machen. Dies entspricht festen Eingangsspannungen. Auch diese sehr geringen Unterschiede verschiedener Festwerte konnten gut gemessen werden.
Der Kondensator im ersten Test hatte dann um die 11 mF? (Entschuldigung, ich bin ziemlicher Laie auf diesem Gebiet, sonst würde ich ja nicht fragen)
Müsste sogar noch mehr gewesen sein. Viele dicke ElKos parallel. Messreihe dauerte so ca. 10 Minuten. Nach jedem Messvorgang musste man die Dinger für einige Minuten mit einem 1Ω Widerstand 'kurzschließen', sonst bauen sie ohne Strom von selbst wieder einige Spannung auf. War 'ne interessante Erfahrung. Hab gerade noch mal in den Sourcecode geschaut, in der ISR wurden immer 64 Werte aufsummiert und dann in ein uint16_t Werte[4] Ringpuffer geschoben. Die vier wurden dann immer summiert. Ergab eine Datenrate von ca. 150 sehr großen Werten pro Sekunde. Bei 10 Minuten/90000 Werten hat sogar GNUplot ein wenig Zeit für die Kurven gebraucht. ;-)
Norbert schrieb: > Ich habe das getan und bin reproduzierbar in der Lage aus einem 10bit > ADC 12/13/14bit Auflösung heraus zu holen. Bei einer festgenagelten > Eingangsspannung. Und dann ändere ich die Eingangsspannung um weniger > als ein mV und sehe die zum PC übertragenen Werte welche sich > dementsprechend ändern. Das kann nur funktionieren, wenn deine Eingangsspannung effektiv nicht richtig - bezogen auf die Auflösung deines 10 Bit-ADC - festgenagelt ist, sondern ausreichend Rauschen überlagert ist. Sonst würde auch bei beliebig vielen Samples der gemittelte Wert immer schön auf den 10-Bit Stufen des ADC hängen. Das Rauschen kann dabei natürlich auch von S&H, ADC oder Referenz kommen ...
Wolfgang schrieb: > Das kann nur funktionieren, wenn deine Eingangsspannung effektiv nicht > richtig - bezogen auf die Auflösung deines 10 Bit-ADC - festgenagelt > ist, Das Rauschen kann auf dem Eingangssignal sein - oder auf der Referenzspannung. Beides funktioniert Norbert schrieb: > Die Referenzspannung muss dann zB. entweder (vorzugsweise perfektes) > Rauschen oder einen leichten Sägezahn überlagert haben.
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.