Hallo, gibt es eine minimale, real nutzbare Eingangsspannung für den ADC im Attiny861A im unipolaren differentiellen Mode mit 32facher Verstärkung und 2,56V-Referenzspannung? Offset- und Verstärkungsfehler würde ich jetzt mal ignorieren, weil man dies rauskalibrieren kann. Rein theoretisch müsste es ja 2,56V / (1024 * 32) = 78,125µV sein oder? Ist das praktisch gesehen ein realistischer Wert? Danke und Grüße, Nico
Gehe in der Praxis davon aus, dass das Rauschen die unteren beiden Bits verzerrt. Also ca. 320µV. Wenn die Abtastrate ausreicht, kannst du viele Messungen machen und davon den Mittelwert verwenden. Dadurch filterst du das Rauschen raus.
Hi
>Ist das ein praktischer Erfahrungwert?
Meinst du die Verstärkung 32 macht das Ergebnis genauer? Irgendwie habe
ich im Hinterkopf, das bei V=20 nur noch 8 Bit übrigbleiben. Vielleicht
finde ich die Quelle wieder.
MfG Spess
> Vielleicht finde ich die Quelle wieder.
19.6 ADC Characteristics
Table 19-8. ADC Characteristics, Differential Channels (Unipolar Mode).
Hi >19.6 ADC Characteristics >Table 19-8. ADC Characteristics, Differential Channels (Unipolar Mode). Ups, das ist ja noch schlimmer als ich das in Erinnerung hatte. MfG Spess
Was meint ihr? Die Auflösung ist doch 10Bit. Gain- und Offset-Error bekommt man doch durch Abgleich hin! Ich will Strom über einen Shunt messen und habe sehr kleine Spannungen zu messen.
Nico ... schrieb: > Was meint ihr? Die Auflösung ist doch 10Bit. Gain- und Offset-Error > bekommt man doch durch Abgleich hin! > Ich will Strom über einen Shunt messen und habe sehr kleine Spannungen > zu messen. Was hälste von sowas ? AD654JNZ
Wenn die Spannung wirklich klein ist, sollte man die eher mit einem externen Verstärker Verstärken. Ein MCP6V31 oder ähnliches würde sich anbieten. Den Offset kann man im unipolaren Mode nicht unbedingt so einfach abgleichen, der kann ggf. negativ sein. Außerdem kann der Offset von der Temperatur abhängen.
Interessanter Baustein, aber ich würde gerne den Tiny nehmen da dieser eh vorhanden ist!
Hi >Was meint ihr? Die Auflösung ist doch 10Bit. Gain- und Offset-Error >bekommt man doch durch Abgleich hin! >Ich will Strom über einen Shunt messen und habe sehr kleine Spannungen >zu messen. Hast du das schon mal gemacht? Also Offset-, Gain-, nichtlineare Verhalten kompensieren: http://www.atmel.com/Images/Atmel-8456-8-and-32-bit-AVR-Microcontrollers-AVR127-Understanding-ADC-Parameters_Application-Note.pdf http://www.atmel.com/Images/doc2559.pdf MfG Spess
Ulrich H. schrieb: > Wenn die Spannung wirklich klein ist, sollte man die eher mit einem > externen Verstärker Verstärken. Ein MCP6V31 oder ähnliches würde sich > anbieten. > > Den Offset kann man im unipolaren Mode nicht unbedingt so einfach > abgleichen, der kann ggf. negativ sein. Außerdem kann der Offset von der > Temperatur abhängen. Einen negativen Offset kann man doch sehr gut kompensieren durch Addition! Oder?
spess53 schrieb: > Hi > >>Was meint ihr? Die Auflösung ist doch 10Bit. Gain- und Offset-Error >>bekommt man doch durch Abgleich hin! >>Ich will Strom über einen Shunt messen und habe sehr kleine Spannungen >>zu messen. > > Hast du das schon mal gemacht? Also Offset-, Gain-, nichtlineare Aber die Auflösung ist 10Bit, richtig? Offset lässt sich durch Addition und Gain durch Multiplikation kompensieren. Nichtlineare Fehler sind natürlich schwierig.
Hi
>Aber die Auflösung ist 10Bit, richtig?
Mit einem Fehler von fast 3 Bit. Macht bei mir 7 Bit Genauigkeit. Aber
ich will dich nicht abhalten. Probier es einfach aus. Man lernt nicht
durch theoretische Berechnungen sondern durch Praxis.
MfG Spess
Nico ... schrieb: > Interessanter Baustein, aber ich würde gerne den Tiny nehmen da dieser > eh vorhanden ist! Den Tiny kannste ja trotzdem nehmen, es ist dann nur noch ein Taktzähler.
Ich messe mit dem Tiny25/45/85 die Thermospannung in meinem Lötkolben, so das ich sagen kann, das er schon sehr kleine Spannungen erkennt. Allerdings ziehe ich mittels Widerständen die Differenzeingänge etwas von der GND Rail weg, da ich dem eingebauten Opamp echtes Rail-To-Rail nicht zutraue. Wie genau das ist? Keine Ahnung, die gemessenen Spannungen stimmen allerdings recht gut mit den Spannungen überein, die ein Thermoelement dieses Types bei gegebener Temperatur liefern soll. Der Offsetabgleich sollte allerdings vorher gemacht werden.
Nico ... schrieb: > Aber die Auflösung ist 10Bit, richtig? Offset lässt sich durch Addition > und Gain durch Multiplikation kompensieren. Nichtlineare Fehler sind > natürlich schwierig. Das Signal rauscht, die Referenz rauscht. Alleine durch die Referenz (wenn du hier VCC verwendest) bekommst du ein paar LSB Rauschen rein. Da berauscht sich der µC nämlich selber. Und das kann man durch keine Maßnahmen untebinden. Weil der Tiny vermutlich keinen Anschluss für eine externe Referenz oder AVDD hat, kann man auch wenig tun. Wenn du auf sagen wir 4LSB Pkpk rauschen hinkommst, hast du schon sehr sauber gearbeitet. Sogar 6LSB sind nicht unüblich. Das wären dann 2-3Bit Verlust an Auflösung NUR durch das Rauschen. Bei extrem kleinen Spannungen kommt dazu, das der Offset eventuell zu einem Überlauf des Messwertes führt - sehr kleine Ströme werden dadurch fallweise groß. --> Spannung direkt am Shunt klappt nur bei großen Shunts und höheren Spannungen. Z.b. 100mV bei Nennstrom oder so. Besser man tut das analog vorbehandeln. Schau dir mal den INA138 an. PS: Vorsicht mit Rail2Rail, das ist meistens nur Marketinggewäsch. Das muss man auf dem Steckbrett ausprobieren. Auf Tuchfühlung mit GND gibs die lustigsten Nebeneffekte ;-)
Ich nutze die interne 2,56V-Referenz mit externem Pufferkondensator, die scheint bis jetzt sehr stabil zu sein. Die maximale Differenzspannung beträgt 60mV und liegt zwischen 0,1V und 2,4V. Ich würde gerne 1mV Differenzspannung minimal messen können. Ich werde das einfach mal auf den Steckbrett testen. Danke erstmal für alle Ideen und Hilfestellungen!
Nico ... schrieb: > Die Auflösung ist doch 10Bit. Selbst bei hochwertigen, externen AD-Wandlern kann man das letzte Bit normalerweise vergessen. Bei den µC-Wandlern werden eher die letzten 2...3 Bit "wackeln". > Gain- und Offset-Error bekommt man doch durch Abgleich hin! ...und was machst Du mit der Gain- und Offsetdrift?
WehOhWeh schrieb: > das ist meistens nur Marketinggewäsch. > Das muss man auf dem Steckbrett ausprobieren. ...das man Präzisionsschaltungen auf Steckbrettern testen kann ist auch nur Marketinggewäsch.
Die 10 Bit Wandler im AVR sind eigentlich schon so, dass man bei gutem Layout und Aufbau auch stabile Werte bekommt, auch ohne den µC für die Messung in den Stromsparmode zu versetzen. Je nach Spannung halt ein Schwanken zwischen 2 Werten, oder auch nicht. Der Einfluss der Ref. Spannung wird durch die Verstärkung davor auch nicht größer. Das Problem ist eher das Rauschen der Verstärkungsstufe. Das kann man aber durch mitteln genügend vieler Werte durchaus zuverlässig unterdrücken. Wenn man also für einzelne Werte Schwankungen um 5 LSB hat, sollte man für den Mittelwert von z.B. 25 Werten das Rauschen schon bis auf etwa 1 LSB runter bekommen. Für langsame Messungen ist das Rauschen also nicht so sehr das Problem - in Grenzen hilft es sogar, wenn man Oversampling nutzen will. Der 2. Punkt ist ggf. die Unterdrückung von 50 Hz und 100 Hz Störungen - hier ist das Mitteln von vielen Werten über ein Zeitintervall von 20 ms sehr effektiv, weil damit diese Frequenzen fast perfekt unterdrückt werden. Sofern man die Zeit hat, sollte man also die passende Zahl von Werten mitteln um auf 20 ms oder ein Vielfaches davon zu kommen. Also etwa bei 125 kHz ADC-Takt und damit 9,6 kHz Abtastrate im free running mode 192 oder besser 577 (gibt recht gut 60 ms) Werte mitteln. Damit kann man sogar etwas mehr als 10 Bit Auflösung erwarten, und man ist vor allem durch die Nichtlinearität und den Offset begrenzt.
spess53 schrieb: >>Aber die Auflösung ist 10Bit, richtig? > > Mit einem Fehler von fast 3 Bit. Macht bei mir 7 Bit Genauigkeit Da hast du dich aber wohl vertan. Ein Fehler von 3 Bit bedeutet 3*LSB, d.h. ca. 3 Promille. Oder was kommt bei dir heraus, wenn in der Table 19-8 ein Gain-Error von 15 Bit steht?
Hermann schrieb: > Oder was kommt bei dir heraus, wenn in der Table 19-8 ein Gain-Error von > 15 Bit steht? 1 ENOB? ;D -- Um das vielleicht nochmal zu erklären: Die Angabe n LSB heißt nicht: n untere Bits. Sondern n mal das niederwertigste Bit [die Wertigkeit vom niederwertigsten Bit].
:
Bearbeitet durch User
Ich hatte mal guten Mutes die Differenzmessung getestet (Verstärkung 1). Habe dabei feststellen müssen, dass man da einige Abstriche machen muss. Nach Abgleich der Verstärkung und des Offsets blieb eine Nichtlinearität übrig, die ich nicht erwartet hatte. Und -wie schon angesprochen- muss man bei Rail2Rail auch Abstriche machen (besonders im oberen Bereich). Das Ergebnis war, dass ich als Rohwert von 20 bis 1010 zugelassen habe. Die Nichtlinearität war in dem Bereich ca. 3 LSB. Geht man über 1010 hinaus, wird die Nichtlinearität schnell recht groß. Bei 1022 habe ich -10 LSB gemessen. Ich habe aber keine Erfahrung, wie stabil das ist - Langzeit und Temperatur. Ich habe mir angewöhnt, alle ADC-Messungen über einen digitalen Tiefpass zu glätten. Damit ist das Rauschen weg und man gewinnt noch etwas Genauigkeit, da das letzte klappernde Bit noch gewichtet wird.
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.