www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik gain error bei AVR Diffential Inputs


Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: HansHans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Hast du bedacht das bei Gain x10 die Auflösung nur noch 8 Bit ist ?
(bei 200 nur noch 7 Bit )

Autor: Robert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm lieber einen externen OP-Amp. Op07, TS912, MC33272 liefern gute
Ergebnisse und sind einfach zu beschalten.

Grüße Robert

Autor: Branko Golubovic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Branko Golubovic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@HansHans
ADC Auflösung ist bei jeder Verstärkung 10bit(seite 328)

Branko

Autor: D. W. (dave) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Branko Golubovic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@David W. (Dave)

Welche Referenzspannung verwendest du?
Für Differential Inputs ist  Vrefmax=AVCC-0,5V d.h.
AVCC als Vref Quelle ist ausgeschlossen.

Autor: HansHans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Branko Golubovic
S 325 Tabele 136
Differential Conversion  8 bzw 7 bit (bei x200)

Autor: D. W. (dave) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: HansHans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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

Autor: Branko Golubovic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: D. W. (dave) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ;)

Autor: Branko Golubovic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.