Forum: Mikrocontroller und Digitale Elektronik ATmega16 ADC Einstellung


von Poe (Gast)


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 :-)

von Poe (Gast)


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?

von johnny.m (Gast)


Lesenswert?

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

von johnny.m (Gast)


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.

von johnny.m (Gast)


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.

von Poe (Gast)


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ä??

von Poe (Gast)


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?

von johnny.m (Gast)


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...)

von Poe (Gast)


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....

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
Noch kein Account? Hier anmelden.