Forum: Mikrocontroller und Digitale Elektronik interne Referenz messen, Fehler


von ADC_Tester (Gast)


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

von Spess53 (Gast)


Lesenswert?

Hi

>   A = A + Getadc(8)              'interne Referenz messen

Wie kommst du auf Kanal 8? Die interne Referenzspannung liegt auf Kanal 
14.

MfG Spess

von ADC_User (Gast)


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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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!

von ADC_Tester (Gast)


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

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.