Wie genau stimmt die Verstärkung bei den AVRs ? Ich messe einen Strom und schalte bei überschreiten eines bestimmten Wertes die Verstärkung von 10x auf 1x bei den differential Inputs. Dabei springen die Werte dann um etwa 5LSBs nach unten, was eigentlisch ziemlich viel ist. Den Offset Fehler habe ich bereits kompensiert.
Hi, Hast du bedacht das bei Gain x10 die Auflösung nur noch 8 Bit ist ? (bei 200 nur noch 7 Bit )
Nimm lieber einen externen OP-Amp. Op07, TS912, MC33272 liefern gute Ergebnisse und sind einfach zu beschalten. Grüße Robert
Hallo Benedikt! Laut Datenblatt (ATmega128 seite 328)ist gain error: G=1x 1,5% G=10x 1,5% G=200x 0,5% Wenn dieser Fehler für dich zu gross ist,dann kannst du den ermitteln und kompesieren. @HansHans ADC Auflösung ist bei jeder Werstarkung 10bit(seite 328) Grüße Branko
@HansHans ADC Auflösung ist bei jeder Verstärkung 10bit(seite 328) Branko
Aber die Auflösung, die man bei dem internen Gain von 200x noch reell hat, sind 7bit (steht auch im Datenblatt). Ich habe letzte Woche versucht, den Betriebsstrom meiner Schaltung mit dem AVR selbst zu messen. Raus kamen immer Werte so 10-20% zu hoch. Fehler können sowohl der AVR wie auch der Steckbrett-Aufbau gewesen sein.
@David W. (Dave) Welche Referenzspannung verwendest du? Für Differential Inputs ist Vrefmax=AVCC-0,5V d.h. AVCC als Vref Quelle ist ausgeschlossen.
@Branko Golubovic S 325 Tabele 136 Differential Conversion 8 bzw 7 bit (bei x200)
Ich habe die Interne genommen (2,569V) und hab ihn mit 5,0V versorgt. Ich kann ihn ja aus praktischem Grund auch nicht in Noise-Canceller schalten, wäre unlogisch.
@Branko Golubovic Habe mir noch mal das Datenblatt vom M128 neu heruntergeladen, und da steht tatsächlich im Gegensatz zu meinem alten Blatt, bei allen Gain 10 Bit, somit hast du also recht . Ich habe das damals nur beim mega16 verwendet und bei diesem steht auch heute noch 10/8/7 Bit (x1/x10/x200) heißt das jetzt also auch das es diesbezüglich alte und neu m128 gibt ? Gruß HH
@HansHans <heißt das jetzt also auch das es diesbezüglich <alte und neu m128 gibt ? Das weiß ich nicht,vielleicht hilft dir folgender Beitrag dein ATmega zu erforschen: http://www.mikrocontroller.net/forum/read-4-260506.html#new @David W <Ich habe letzte Woche versucht, den Betriebsstrom meiner Schaltung mit <dem AVR selbst zu messen. Raus kamen immer Werte so 10-20% zu hoch. <Fehler können sowohl der AVR wie auch der Steckbrett-Aufbau gewesen <sein. Ich nehme an,du misst Beriebsstrom mit dem du den Spannungsabfall an einem Shunt-Widerstand misst.Egal in welchem Zweig sich dieser Widerstand befindet(GND oder VCC),die Spannung auf einen Analogeingang ist um Spannungsabfall zu hoch oder zu nidrig als fur ADC spezifiziert(GND<=Vin<=AVCC). ODER: Du nimmst Rshunt 0,1 Ohm oder weniger und G=200. Damit hast du ADC Spezifikation nicht viel verfelt, weil dann der Spannungsabfall weniger als 10mV ist. Grüß Branko
Oder ganz einfach: Je einen Spannungsteiler von Vcc gegen GND, einmal vor und einmal hinter dem Shunt. Dann teilt man zwar auch das Messsignal, aber die Spannung liegt im messbaren Bereich. Das Problem mit dem gain Error habe ich mit einem zusätzlichen 12bit AD Wandler umgangen. Jetzt brauche ich keine Messbereichsumschaltung mehr.
Das stimmt glaub alles :) Aber solange es bei 10-20% bleibt, reicht mir das sogar. Aber dass der m128 nun 10bit beim Gain schafft, glaube ich immer noch nicht ;)
@David W <Aber dass der m128 nun 10bit beim Gain schafft, glaube ich immer noch <nicht ;) In ADCH und ADCL Registerpaar steht auf jedem Fall 10bit breite Ergebnis.Ich verwende ein ATmega32 bei G=200 für Temperaturmessung mit einem K-TYPE Thermoelement.Funktioniert einwandfrei bis Temperaturen von 500°C.Alerding ist wegen Störungsunterdrükung eine Aufsummierung von 16 bis 32 Messergebnise notwendig. Und in ATmega32 Datenblatt steht:G=200,Gain error 0,2%.Beachtlich!
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.