www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega16 ADC Einstellung


Autor: Poe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich will fürs nächste Projekt von Atmega163 auf Atmega16 wechseln.

Unter anderem soll eine Temperaturdiode ausgelesen werden, ( 0,46V, 2mV
Temperaturgang).

Die Diode sitz mit einer Seite durch Hardware gezwungener Maßen auf
GND, also dachte ich mir gar nicht erst großartige Schaltung vorzusehen
sonden die Spannung direkt einzulesen und alles in Software zu machen.



Ich wollte eingentlich folgendes machen: Diodenspannung x 10 und dann
A/D wandeln, Rest ( 0°C Abgleich usw) in Software. Nur wird dann

Nun geht die interne Verstärkung des ADCs nur für die Differenzeingänge
zu codieren. ( ADMUX Bit 4:0 )


Wenn ich dann 5V Referenzspannung nehme bekomme ich eine Auflösung von
0,0048V , der Temperaturgang liegt verstärkt bei 0,02V/K, hab ich also
grob ein 1/4 K Auflösung, ein 1/2 K benutze ich, ist realitätsnaher.

*Kann ich im Differenzialmodus auch mit GND arbeiten? also U(Diode) an
ADC1 und GND an ADC0, ( MUX: 01001 )

*Und dann steht da das das Differenzialverfahren für die PDIP Variante
nicht garantiert ist. Hat da jemand Erfahrung mit? Weil ich nun mal
PDIP nutze...

Ich bin nicht so der Schaltungsentwickler und mit der Lösung bräuchte
ich überhaupt keine zusätzlichen externen Komponenten....

Wenn jemand eine andere Idee hat höre ich die aber auch gerne :-)

Autor: Poe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, hab mich nochmal durchs Datenblatt geackert


die Differenzialeingänge machen +/-511 LSB, also hätte ich nur 1mV
Auflösung, geht zur Not noch. ODER sehe ich da was falsch??
Ich verstehe aber nicht wieso im Datenblatt 8Bit Auflösung steht....

Also das mit GND sollte funktionieren...

ABER: Ich lese da was von empfohlenen 4kHz für den ADC bei GAIN
Betrieb. Wie soll das denn gehen. Da kann man ja nicht mal mit 1MHZ
takten !!

Und könnte mal jemand einen Blick auf die Tabelle Datenblatt ATmega16
Seite 216 werfen. Da sind doch völlig unsinnige Input Channel
Variationen aufgeführt. Und nur bei einigen von diesen steht (1) das
sie nicht für PDIP garantiert werden können.
Kann mir das eventuell mal jemand erklären der weiß was die meinen?

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die 4 kHZ beziehen sich auf die Bandbreite der Eingangsverstärker und
nicht auf den ADC-Takt!

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...Ach ja, und die 8 Bit Auflösung beziehen sich nicht generell auf die
Differenz-Eingänge sondern nur auf die Differential Gain Inputs. Wenn
Du ohne Verstärkung arbeitest, dann hast Du selbstverständlich (sofern
die sonstigen Konfigurationen wie Takt usw. korrekt eingestellt sind)
die vollen 10 Bit Auflösung.

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...Und noch was: So wie ich das sehe bezieht sich das 'not tested for
devices in PDIP package...' nur auf die differential gain inputs mit
200-facher Verstärkung! Das ist im Datenblatt etwas unklar ausgedrückt
und wird tatsächlich erst in der besagten Tabelle auf Seite 216
wirklich klar und deutlich gemacht. Die anderen sollten alle auch in
der PDIP-Version laufen.

Autor: Poe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aha, Danke für die Aufklärung zu der Bandbreite. Kann ich also bei 4Mhz
ganz normal mit Teiler 32 arbeiten.

Das mit "testet for... " sehe ich auch so.

Was ich im Moment noch nicht verstehe ist die Sache mit der Auflösung
bei Differentialbetrieb.
Ich lese das jetzt nochmal im ganzen, vieleicht kapier ichs dann, und
wenn nicht bitte ich hier nochmal um Erklärung für Dummies.
Auf Seite 214 steht doch die Formel für ADC=...  , irgendwie kommt da
nur Mist bei mir raus wenn ich proberechne.
Vpos=4V,Vneg=0V,Vref=5V, Gain=10 -> ADC=4096  Hä??

Autor: Poe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm. Ok, bissl was kann ich nachvollziehen, vileicht ist es sogar richtig
:-)

VCC= 5V

Vref=5V, Vpos=5V, Vneg=0V, Gain=1
->Diff= +5V, dies entspricht +512 LSB

Vref=5V, Vpos=0V, Vneg=5V, Gain=1
->Diff= -5V, dies entspricht -512 LSB

Aber 512LSB sind doch 9Bit und nicht 8Bit?

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, das sind -512...+511 und das sind 10 Bit. Und das ganze ist ja
auch bei Verstärkung 1 (also differential input ohne gain). Sobald Du
eine Verstärkung benutzt (also einen differential gain input) geht
die Auflösung in den Keller (zumindest sagt der Hersteller, dass man
dabei nur noch mit 8 bzw. 7 Bit vernünftig arbeiten kann, weil für die
zwei bzw. drei LSB keine Garantie mehr übernommen werden kann. Kannst
ja selber ausprobieren, wie sich die LSB verhalten...)

Autor: Poe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah... "CAN BE EXPECTED" hätte ich mal richtig übersetzen sollen.

Das ganze arbeitet also durchaus mit 10Bit, nur für die unterten Bits
wird in Folge des zusätzlichen Verstärkers die Genauigkeit nicht mehr
sichergestellt.
Es kommt also auf einen Versuch an und die strikte Beachtung der noise
und design Hinweise.

Danke Leute....

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.