interne Referenz messen, Fehler

Gast #3009929
Lesenswert?

Ich möchte mit meinem Atmega8 die Betriebsspannung (=Batteriespannung) 
ohne zusätzliche Beschaltung messen und ausgeben. Habe etwas 
herumprobiert, aber irgendwie stimmt das Ergebnis nicht. Wenn ich es 
zurückrechne komme ich auf 1,66V interne Referenzspannung, es sollten 
aber nur 1,23V sein. Kann es am Steckbrettaufbau liegen? An Vref ist ein 
100nF gegen GND, AVCC hängt einfach an der Versorgung.
Achso, wenn ich den Multiplikator korrigiere, also 14,6198 für 5V, passt 
es natürlich bei den 5V, aber bei Ub = 4V zeigt er mir nur 3,2V an.
Scheinbar ist die Referenzspannung fürn A****, oder wo liegt der Fehler?


$regfile = "m8def.dat"
$crystal = 16000000
$hwstack = 64
$swstack = 64
$framesize = 64

Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , 
Db7 = Portd.7 , E = Portb.0 , Rs = Portd.0
Config Lcd = 16 * 2
Cursor Off Noblink
Cls
Waitms 100


Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc

Dim Z As Byte
Dim A As Word
Dim B As Single
Config Single = Scientific , Digits = 2    '2 Stellen nach dem Komma

Do

 For Z = 1 To 50                  'Mittelwert (Test)
   A = A + Getadc(8)              'interne Referenz messen
 Next Z

A = A / 50
B = A
B = 12.5952 * B                   'Vavcc = Vint * 1024 / ADC
B = B / 1000

Locate 1 , 1
Lcd A , "   "                     'Anzeige ADC-Wert
Locate 2 , 1
Lcd B ; " V"                      'Anzeige Batteriespannung
Wait 1                            'nur zum test
A = 0

Loop
Gast #3009935
Lesenswert?

ADC_Tester schrieb:
> Scheinbar ist die Referenzspannung fürn A****, oder wo liegt der Fehler?

Du hättest das Datenblatt lesen sollen.

Dort steht: "The minimum value represents GND and the maximum value 
represents the voltage on the AREF pin minus 1 LSB", d.h. die 
Eingangsspannung muss zwischen Gnd und AREF liegen.
Gast #3011683
Lesenswert?

ADC_User schrieb:
> Du hättest das Datenblatt lesen sollen.
>
> Dort steht: "The minimum value represents GND and the maximum value
> represents the voltage on the AREF pin minus 1 LSB", d.h. die
> Eingangsspannung muss zwischen Gnd und AREF liegen.

Die zu messende Referenzspannung beträgt 1,23V, AREF = VDD = 2,7 - 4V, 
je nach Ladezustand der Batterie. Also passt das.

Lothar Miller schrieb:
> Und wenn du dann schon das Datenblatt in der Hand hast, dann solltest du
> dir nochmal den Abschnitt mit den 1,23V durchlesen: die Referenz ist
> zwar stabil aber alles andere als genau!

Für diese Anwendung ist es doch nur wichtig das die Spannung stabil ist.
Genauigkeit erreicht man durch Kalibrierung. Das muss man zwar für jeden 
Chip einzeln durchführen, ist dann aber auch sehr genau.

Spess53 schrieb:
> Wie kommst du auf Kanal 8? Die interne Referenzspannung liegt auf Kanal
> 14.

Danke. Keine Ahnung woher die 8 kam, hatte das falsch notiert.
Die Berechnung war auch falsch. Es muss natürlich 1259,52 / ADC heißen.
Jetzt stimmt die Anzeige :)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren