Gast
#3009929
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