wenn Ub sinkt, was passiert mit dem µC ?

Die 1.1V sind in diesem Fall nicht die Referenzspannung des ADCs! Die Referenzspannung ist die Betriebsspannung! Und du misst die 1.1V mit einer variablen Referenzspannung.

Intern wird da einfach die 1.1V mit einem Multiplexer auf den ADC Eingang gelegt.

EDIT: Laut Atmega328 Datenblatt Seite 251 (Seite 269 beim Atmega2560) sind da zwei 1.1V Referenzspannungsquellen drin. Die eine für die Referenzspannung, die zusammen mit Vcc auf einen Multiplexer geht (wo man dann mit analogReference() wählen kann). Und eine zweite die am Eingangsmultiplexer liegt. Letztere wird hier gemessen.

Hallo,

jetzt wird so einiges klarer mit der versteckten zweiten Referenzspannung die gemessen wird. Jetzt wird ein Bild daraus. Danke Dir/Euch für die Erklärung(en).

Ich dachte bisher hier auch irgendwie, dass dazu die gewöhnliche 1,1V Referenz genommen wird. Das wäre rein theoretisch vielleicht auch möglich wenn diese mit dem Eingangsmultiplexer verbunden wäre.

Hallo,

ich kam eben auch an der festen 1,1V Ref gedanklich nicht vorbei ... :)

Hallo,

jetzt habe ich den Faktor (1,1 * 1023 * 1000) nochmal getunt (hab 1,08 genommen) , angelegte Spannung wird jetzt gut genau gemessen bzw. angezeigt. Und jetzt kommt ein unerklärliches Phänomen. Ich trenne mein Netzteil und speise den Arduino per USB. Als Betriebsspannung für den µC messe ich 4884mV. Aber angezeigt bekomme ich jetzt plötzlich mehr, nämlich 4932mV. Auch wenn ich per Schaltnetzteil den Arduino (runde Buchse) speise bekomme ich mehr angezeigt. Schon etwas seltsam.

Mit dem regelbaren Netzteil direkt am 5V Pin liegt der Meßwert immer leicht darunter.

NT 5080mV 5044mV 4790mV 4782mV 4600mV 4565mV 4500mV 4473mV

Sollte das nicht so sein, dass ich immer ziemlich genau das angezeigt bekomme was ich am 5V Pin anlege bzw. dort messe?

Hast du mal probiert was hier unter "improving accuracy" steht? http://provideyourown.com/2012/secret-arduino-voltmeter-measure-battery-voltage/

To do so, simply measure your Vcc with a voltmeter and with our readVcc() function. Then, replace the constant 1125300L with a new constant:

scale_constant = internal1.1Ref * 1023 * 1000

where

internal1.1Ref = 1.1 * Vcc1 (per voltmeter) / Vcc2 (per readVcc() function)

Dann hättest du z.B. 1,1V * 5,080V / 5,044V * 1023 * 1000 = 1133331 und 1,1V * 4,884V / 4,932V * 1023 * 1000 = 1114348

Weiß auch nicht wieso da mal mehr und mal weniger rauskommt. Außer mal etwas rumspielen habe ich damit noch nichts ernsthaftes gemacht.

Hallo,

das ist der Faktor den ich schon Pi * Daum nachjustiert habe, mit der Formel geht das noch genauer. Wenn ich jetzt mit regelbaren NT direkt an den 5V Pin ran gehe, stimmt Ub mit der angezeigten Spannung perfekt überein.

Speise ich den Arduino per USB, ist die angezeigte Spannung wieder höher wie seine Ub. Das kann eigentlich nicht sein. Als Ub messe ich 4870mV und bekomme 4956mV angezeigt. Lege ich 4810mV vom Netzteil direkt an bekomme ich 4806mV angezeigt. Die 4870mV und die 4810mV lege ich bzw. messe ich an gleicher Stelle, was der 5V Pin ist.

Welche Spannung man wie anlegt sollte eigentlich keine Rolle spielen. Da ich mit dem Meßgerät direkt die µC Spannung Ub messe am 5V Pin. Schon etwas seltsam. Aber solange die direkte Fremdversorgung paßt geht das i.O. Falls jemand eine Erklärung hat, nur zu ....

Hallo,

ich bin ja auch blöd. Hab völlig außer acht gelassen, dass die Steckkontakte auch minimale Verluste haben die sich addieren. Direkt am Arduinospannungsregler messe ich 5009mV. Die muß ich nehmen zum fein tunen. Wenn ich mit dem Netzteil direkt rangehe an den 5V Pin, habe ich rückwärts ja auch Verluste und der µC bekommt minimal weniger Spannung und zeigt dann auch weniger an was ich für richtiger empfunden hatte. So schließt sich der Kreis.