Forum: Mikrocontroller und Digitale Elektronik atmega8 ADC - AREF < 1.2V


von Simon (Gast)


Lesenswert?

Hi!

Ich habe folgendes Problem:
Ich möchte mit dem Atmel mega8 Spannungen von 0 - 0.5V messen.
Genauigkeit ist relativ egal, ob ich 0,2V oder 0,25V ist nicht
wichtig. Auf den genauen Wert kommts auch nicht an, muss nur
die tendenz (größer/kleiner) wissen.

Ich habe nun versucht den ADC des atmels zu benutzen.
Dazu habe ich AREF auf 2V gelegt und kann dann auch von 0-2V messen.
Wenn ich jetzt aber AREF kleiner mache, dann messe ich
bei AREF < 1.2V nur noch 0x3FF.
(am ADC input liegen aber nur 0,1V an)
[ADMUX = (0<<REFS1) | (0<<REFS0) | (1<<MUX0);]

Nun die Frage: Wie klein darf AREF sein ?
Hat jemand sowas schonmal erfolgreich gemacht ?
Ich habe dazu im Internet/den Appnotes nirgendwo was gefunden...

Beschaltung:
- AVcc = 5V
- Vcc  = 5V
- messen mit Pin ADC1
- AREF  2V geht
- AREF < ~1.2V geht nicht

Danke schonmal ;)

Bye, Simon

von Gast (Gast)


Lesenswert?

S. 245 VRef Min. 2.0V Max AVcc
Gruß

von Simon (Gast)


Lesenswert?

Hi!
Oha das hab ich irgendwie übersehen.. Hab nur nach aref gesucht.
Vielen Dank!

Gruss, Simon

von littlecb (Gast)


Lesenswert?

Hallo simon, du kannst doch auch das signal, dass du messen möchtest mit
einem OPV Verstärken und an dein VREF anpassen und im Controller
zurückrechnen. Auch wenn du keine hohe Genauigkeit brauchst wie du
sagst, so würde ich da wohl machen, wenn ich kleine Signale messen
möchte.

Also ... best regard
CB

von Daniel W. (daniel2008)


Lesenswert?

@Simon:

Mich würde mal interessieren, mit welcher Spannung Du den ATMEGA8
versorgt hast, als er ab AREF=1,2V (und drunter) nur noch Blödsinn
digitalisierte.
Ich habe ein Exemplar, das bei Ub=5V und AREF=1,2V noch zuverlässig und
fast bis runter zu 1,1V immer noch richtig digitalisierte.
Bei geringeren Werten für AREF das gleiche wie bei Dir: ausgelesener
Wert am Anschlag.

Ich könnte mir vorstellen, dass die minimale Spannung an AREF bei
geringeren Betriebsspannungen als 5V weniger weit unterhalb der im
Datenblatt angegebenen Grenze liegen darf.

Schade, dass Atmel keine Kennlinie für Vref an Aref in Abhängigkeit der
Versorgungsspannung angibt, denn dann könnte man den ADC in einigen
Anwendungsfällen mir Rückendeckung vom Datenblatt sicher noch ein wenig
weiter ausreizen. Wobei in jeder Situation nutzbare Referenzspannungen
von 1V oder noch drunter natürlich noch schöner gewesen wären :-/
Gibt's ja AFAIK, nur eben nicht beim MEGA8.

Bzw. es wäre den meisten sicherlich auch schon geholfen, wenn man die
zu Vergleichende Bezugsspannung am negativen Eingang des internen OP
einfach ein wenig höher als GND legen könnte. Der nötige Pin dafür ist
aber leider nicht vorhanden :-(

AGND einfach höher zu legen geht vermutlich auch nicht, oder hat das
schonmal jemand ausprobiert? (lt. Datenblatt sind +/- 0,3V bezogen auf
GND erlaubt für AGND)



Ein klein wenig unter den angegebenen 2,0V für AREF geht sicherlich
immer, aber natürlich auf eingene Gefahr und nicht im professionellen
umfeld, bzw. bei Serienprodukten.

Aber wer's für seine Bastelei ein klein wenig genauer möchte, der kann
ja ruhig z.B. auf AREF=1,5V runtergehen, sofern sein Exemplar des
ATMEGA8 denn damit noch zuverlässig sinnvolle Werte digitalisiert.


Ich hatte genau das gleiche Problem, glaube allerdings, dass Atmel die
Untergrenze von 2V erst in der letzten Revision des Datenblatts auf
S.245 ergänzt hat und vorher schlichtweg nichts dazu angegeben hatte...
(ich hatte leider die vorletzte Version des Datenblatts) :-(
Außerdem wurde korrigiert, dass beim Mega8 ADC4 und ADC5 sehr wohl 10
statt 8 Bit können. (Ich habe diese beiden Dinge auch schon gestern ins
AVR-Wiki hier eingetragen :-)

von Daniel W. (daniel2008)


Lesenswert?

Oops, die Frage nach der Betriebsspannung, die Du genutzt hat, hat sich
erledigt... lesen müsste man können ;-)

Hat evtl. jemand ein Exemplar, das bereits mit 1,4 oder 1,5 V an AREF
nicht mehr richtig digitalisiert?

Wäre cool, wenn Atmel mal eine ATMEGA8-Enhanced-ADC-Version rausbringen
würde, die ab 0,5V AREF anfängt :-)
Oder eben eine Version mit Aref- und Aref+ Pin, die wäre dann aber
nicht mehr als Ersatz für alte Atmega8s nutzbar.

von Axel R. (Gast)


Lesenswert?

Hallo Simon,
kannst Du nicht den "Differential Mode" aktivieren und von aussen
0.5Volt an deinen (übers MUX Register eingestellten) negativen Eingang
legen? Vielleicht funktioniert das ja...

Gruß
Axel

von Andi K. (Gast)


Lesenswert?

Wenn es nicht so genau sein soll, dann kann man auch mit AVCC als
Referenz messen.

Z. B. 0,5V = 1/10 von 5V
1/10 von max. 1023 des ADC = 102

102 wäre also Dein Limit in der Software für 0,5V
51 sind dann 2,5V

Soll es doch genauer aber nicht so schnell sein, kann man auch mehrere
ADC-Werte aufaddieren, vielfaches einer 2er-Potenz (8, 16 32 etc.) und
das dann durch diese 2er-Potenz teilen.
Dadurch ergibt sich dann auch ein Mittelwert.

MfG
Andi

von Felix A. (felack)


Lesenswert?

Hallo Simon,

so einen AVR gibt es bereits, der kann ab 125 mV messen. Das ist der
ATtiny26 der hat intern einen zuschaltbaren 20-fach-Verstärker. Das
heißt, wenn du 125 mV anlegst, dann 20-fach verstärkst hast du bei 2,5
V Referenzspannung die volle Auflösung für die 125 mV.

Lies mal im Datenblatt Attiny26 ab Seite 94 nach.

felack

von Karl (Gast)


Lesenswert?

Kann sein, dass ich so eine ähnliche Problematik  auch bald habe, denn
ich möchte mir ein Bleiakku-Ladegerät basteln, das die Batteriespannung
und den Ladestrom an einem Shunt mist. Und da fallen ja auch nur paar
Millivolt ab.


Könnte man nicht einfach einen OP-Amp mit
Spannungsverstärkungsbeschaltung davor stellen?
Wäre doch nur ein 8-Pin IC und paar Widerstände?

von TravelRec. (Gast)


Lesenswert?

Ein externer OpAmp ist (meine Meinung) immer die bessere Variante,
wenn´s genau sein soll. Allerdings muß es dann schon ein Rail to Rail
OP sein oder man braucht halt ´ne negaive Hilfsspannung von ein paar
Volt. Wichtig ist ein eng tolerierter Spannungsteiler über dem OP mit
möglicht geringem Temperaturkoeffizienten.

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.