Hallo,
Will die Temperatur mittels eines KTY81-120 ermitteln. Hab mir schon
genau überlegt wie ( siehe Anhang ).
Eine Frage hab ich da noch im Tutorial wird Aref als Spannungsquelle für
den Spannungsteiler verwendet.
Wie viel mA kann ich maximal aus Aref bezeiehn?
Da hast du etwas falsch verstanden:
Man kann an Aref eine externe Referenzspannung anlegen (z.B. 4,096V).
Damit wird dann die zu messende Spannung am ADC-Pin verglichen.
Speisen kann man damit nichts.
Es steht jedoch drin: "Note that VREF is a high impedant source, and
only a capacitive load should be connected in a system.".
Ich frage mich, ob im Tutorial wirklich der Pin AREF als Spannungsquelle
gemeint ist, oder ob da (etwas abstrakter) eine extern angelegte
Referenzspannung gemeint ist. Man sollte nicht vergessen, dass etliche
Teile des Tutorials aus AT90 Zeiten stammen, als keine interne Referenz
existierte und AREF immer ein Eingang war!
Jedenfalls ist es ziemlich egal, welche Spannung man dafür verwendet,
solange der ADC nur die gleiche Referenzspannung wie der Spannungsteiler
abkriegt. Also sollte man hier AVCC statt AREF verwenden, und den ADC
auf AVCC als Referenz einstellen.
Im Datenblatt der AVRs steht, dass der AREF-Pin bei Verwendung einer
internen Referenz (Bandgap-Referenz) möglichst nicht ohmsch belastet
werden soll, sondern nur Kapazitiv (100 nF zur Enstörung). AREF ist in
diesem Fall ziemlich hochohmig. Wenn Du da was dranhängst, kann es Dir
passieren, dass die Spannung an AREF im Verhältnis zur tatsächlichen
internen Referenzquelle in die Knie geht.
@A.K.:
Das Zitat aus dem Datenblatt ist nur die halbe Wahrheit...
Zitat Datenblatt ATMega16 (vollständiger):
"[...] VREF can also be measured at the AREF pin with a high impedant
voltmeter. Note that VREF is a high impedant source, and only a
capacitive load should be connected in a system [...]"
Ich verstehe das so, dass VREF hochohmig ist und nicht der Pin AREF an
sich. Nur macht es natürlich i.d.R. wenig Sinn, an AREF irgendwas
dranzuhängen, wenn eine externe Referenz oder AVCC verwendet werden.
Ja, hatte mich auch etwas gewundert, aber dann doch naja egal...
dann schreib ich des nochmal um auf 5V am AVcc.
Macht es was wenn ich AVcc mit der normalen Versorgungsspannung des
ATMEl verbinde. Halt noch einen Kondensator direkt zu AVcc zum
stabilisieren...!?
dieter wrote:
> Guck mal ins Tut.>> Da wird ein Poti von AREF nach GND geschaltet. und der Abgriff an den> ADC-PORT. Scheinbar funzt es also doch.
Langsam.
Im Zweifel gilt immer das Datenblatt.
Wenn das nicht legal ist, dann ist dieser Vorschlag
genauso schnell wieder aus dem Tut entfernt wie er
reingekommen ist.
Das Tut muss ich auf meine Kappe nehmen. Ich habe keine
Referenz dazu, allerdings erinnere ich mich in einem
Posting mal diesen Vorschlag gelesen zu haben. Kurzerhand
hab ich das mal ausprobiert und es hat geklappt. Drum
hab ich es ins Tut mit aufgenommen.
Im Moment sieht es eher so aus als ob das kein guter Rat
ist und aus dem Tut wieder entfernt werden sollte.
> Guck mal ins Tut.> Da wird ein Poti von AREF nach GND geschaltet.> Scheinbar funzt es also doch.
Das funktioniert deshalb, weil der AREF-Pin intern direkt (also
niederohmig) mit dem Ausgang des VREF-Multiplexers verbunden ist und
gleichzeitig mit dem Eingang des DAC. Am AREF-Pin und am Eingang des DAC
liegt also die selbe Spannung an. In diesem Falle ist es dann relativ
egal, ob die Referenzquelle durch das Poti an AREF belastet wird, da der
DAC auch die "in die Knie gegangene" Spannung bekommt.
@Karl Heinz:
Ich habe im Datenblatt (bisher) keine Information gefunden, wie
hochohmig VREF tatsächlich ist. Wenn die Referenz durch das Poti nicht
zu stark runtergezogen wird, könnte es klappen (sprich: wenn das Poti
nicht zu niederohmig ist). Problematisch könnte es bei den AVRs sein,
deren interne Referenz 1,1 V beträgt. Wenn die noch großartig
runtergezogen wird, könnte ich mir vorstellen, dass es dann zu wenig
wird, um noch was zu messen, was nicht Störung heißt.
Es wäre vielleicht sinnvoll, einfach mal bei einem AVR AREF mit
unterschiedlichen Widerständen zu belasten und gleichzeitig mit einem
hochohmigen Multimeter die Spannung zu messen, um den Innenwiderstand
der Quelle zu ermitteln. Ich schau mal, ob ich das die Tage mal
hinbekomme. Ist auf jeden Fall ne interessante Fragestellung.
@Sebastian: Für die Beschaltung von AVCC gibt es einen Hinweis im
Datasheet. Verbindet man es direkt mit VCC, leidet die Genauigkeit der
Messung etwas, daher sollte ein L/C-Glied davor.
johnny.m wrote:
> @Karl Heinz:> Ich habe im Datenblatt (bisher) keine Information gefunden, *wie*> hochohmig VREF tatsächlich ist.
Eben. Ich auch nicht.
Am ganzen Google gibt es keinen Hinweis darauf.
> Es wäre vielleicht sinnvoll, einfach mal bei einem AVR AREF mit> unterschiedlichen Widerständen zu belasten und gleichzeitig mit einem> hochohmigen Multimeter die Spannung zu messen, um den Innenwiderstand> der Quelle zu ermitteln. Ich schau mal, ob ich das die Tage mal> hinbekomme. Ist auf jeden Fall ne interessante Fragestellung.
Das wäre super.
Denn irgendwie gefällt mir die Vorstellung, die interne Ref
auf diese Art benutzen zu können. Ansonsten hat man nämlich
ein Problem: die interne ARef unterliegt ja ganz schönen
Bauteilstreuungen. Nach aussen geführt und angezapft wäre
das aber egal.
Da ich überlege ein PT100 Thermometer zu bauen, würde mich das auch
brennend interessieren.
Da ich auch nicht weiß wieviel Strom der AREF Pin lieferen kann, habe
ich einfach einen OPV als Impedanzwandler angeschlossen.
Ich hab das zwar noch nicht probiert, aber ich nehme schwer an, dass er
einen OP-Eingang treiben kann. (Oder nicht? Ich weiß es nicht.)
Wiesi
johnny.m wrote:
> @Karl Heinz:> Ich habe im Datenblatt (bisher) keine Information gefunden, *wie*> hochohmig VREF tatsächlich ist.
...immerhin steht im Datenblatt des Mega16 (2466N–AVR–10/06) in Tabelle
122 auf Seite 300 eine EINGANGSimpedanz von 32kOhm. Ich würde einfach
mal annehmen, dass die AUSGANGSimpedanz da nicht drunterliegen wird.
Und wie man den Messungen von Senex24 sieht, liegt der Innenwiderstand
merklich unter 10kOhm, allerdings resistiv. Im Vergleich dazu liegt der
Eingangswiderstand eines LM358 mindestens bei 10MOhm. Da ist man dann
direkt auf der sicheren Seite. Und sooo teuer ist ein OpAmp nun auch
nicht, nur 9 cent beim R.
Gruss
Jadeclaw.
@Stefan Wimmer:
Noch mal: Es geht nicht um die Impedanz des AREF-Pins, sondern um die
der Referenzspannungsquelle VREF.
Allerdings widersprechen die Messungen von senex24 auch den angegebenen
32 kOhm Eingangsimpedanz, die der AREF-Pin schon haben soll...
@Christian:
> Wie wärs, wenn man einfach ein OPV als Impedanzwandler an Vref dranhängt...
Klar geht das. Aber das ist zusätzlicher Bauteilaufwand...
Ich denke übrigens generell, wenn man einfach ein Poti einlesen will,
warum dann überhaupt mit der internen Referenz arbeiten und nicht direkt
AVCC als Referenz nehmen? Ich mach das eigentlich immer so.
@Sebastian Kreuzer
Ich persönlich verwende etwas andere Schaltung(sieche Anhang).
R1 auf AVCC und AREF auf Mittelanschluss von Spindelpotentiometer(ca.
5kOhm).
Potentiometer steht natürlich zwischen AVCC und AGND.
R1 sollte Wert zwischen 2,4k und 3k haben.
z.B.
Allgemein:
R1=X,xKohm-> Aref=C*AVCC // C ist Multiplizierungsfaktor.
R1=2,4K -> Aref=0,83*AVCC // AREF ist 83% von AVCC; ADCW bei 0°C -> 312
R1=2,7K -> Aref=0,79*AVCC // AREF ist 79% von AVCC; ADCW bei 0°C -> 300
R1=3K -> Aref=0,755*AVCC // AREF ist 75,5% von AVCC; ADCW bei 0°C -> 289
AREF ist so ausgewählt dass Temperaturänderung von 0,5°C
ADCW Änderung von genau 1LSB bewirkt.
Du kannst C Faktor ins Excel Tabelle Ändern und die Auswirkung auf
Messfehler zu sehen.
Zum Schluss aus Tabelle ADCW-Wert für 0°C finden und von ADCW-Wert für
gemessene Temperatur subtrahieren.
1
// Funktionsbeispiel
2
// Gemessene Temperatur in 0,5°C Schritten
3
// NULL_TEMP aus Tabelle lesen!
4
5
#define NULL_TEMP 289
6
7
unsignedintread_KTY81(unsignedcharinput)
8
{
9
returnread_adc(input)-NUL_TEMP;
10
}
Dass alles hat das Vorteil das Temperaturmessung von AVCC-Schwankungen
vollkommen unabhängig ist.
Branko
Ich frage mich, ob sich der Aufwand (OPV, Wertetabelle,
VRef-Betrachtungen..) im Verhältnis zur erzielbaren Genauigkeit
überhaupt lohnt? Erstemal steht im Dokument ganz unten, daß der Sensor
an sich schon 2 Grad Toleranz hat. Die Nichtlinearität ist kleiner,
oder? Ok, diese Fehler könnten sich addieren, aber angesichts dieser
unumgänglichen Toleranzen kannst Du doch den Spannungsteiler einfach an
VCC hängen, einmal ins Eiswasser und einmal ins kochende Wasser gehalten
zum Probieren, Werte aufschreiben und dann die Temperatur einfach mit
einer Formel statt Tabelle berechnen; wenn es Dir gefällt noch aus einem
Mittelwert aus 10 Messungen oder so?
So, Leute, ich hab jetzt auch mal gemessen (an einem ATMega16) und kann
die Messungen von senex24 bestätigen!
VREF
Ohne Widerstand 2,74 V
mit 100 kOhm 2,74 V
mit 10 kOhm 2,73 V
mit 1 kOhm 2,72 V
Das scheint also entgegen den Angaben im Datenblatt gar nicht sonderlich
hochohmig zu sein (zumindest verstehe ich unter "hochohmig" oder "high
impedant" etwas anderes als ein paar Ohm...).
Was mir allerdings aufgefallen ist, ist die Tatsache, dass VREF
anscheinend nur dann an AREF verfügbar ist, wenn der ADC eingeschaltet
ist (ADEN gesetzt). Das geht aus dem Datenblatt so nicht hervor
(zumindest hab ich nichts zu dem Thema gefunden, auch das BSB schweigt
sich dazu aus). Folglich habe ich erst mal nur Murks gemessen. AVCC an
AREF (REFS1 gelöscht) funktioniert nämlich auch bei ausgeschaltetem ADC.
Das mit dem Poti an AREF sollte folglich auch kein Problem sein. Es ist
schon erstaunlich, wie sehr sich Realität und Angaben im Datenblatt
widersprechen können.
Gruß (v.a. an Karl Heinz, der jetzt wieder ruhig schlafen kann, weil er
das Tut so lassen kann wie es ist;-)
Johnny
So, jetzt hab ich auch die Stelle im Datenblatt gefunden, wo steht, dass
der ADC an sein muss, damit die Referenzspannungsquelle arbeitet
(zumindest dann, wenn weder der Analog Comparator noch die BOD darauf
zugreifen). Hat anscheinend doch seine Richtigkeit...