Hallo Arduino Nutzer!
Ich versuche mit meinem Arduino Uno Spannungen zu messen. Zum einen ca. 12 V und zum anderen 0-4 V. Aufbau mit Spannungsteiler ist klar und funktioniert auch. Allerdings sind meine Messungen zu ungenau (bei 12 V habe ich im Mittel ca. 0,3 V Abweichung). Die Verstärkung durch den Spannungsteiler habe ich abgeglichen (Bauteiltoleranzen der Widerstände berücksichtigt). Temperatureinflüsse schließe ich aus, da Messungen bei konstanter Temperatur. Die Fehlerquelle scheint die Umrechnung von Bit in Volt zu sein.
Es muss ja mittels Schlussrechnung bzw. Geradengleichung von Bit in Volt umgerechnet werden. In sämtlichen Forumsbeiträgen wird die Referenzspannung dazu mit 5 V angegeben. Also 1023 Bit entsprechen 5 V. Somit ergibt sich die gesuchte Spannung U=Bit*5/1023 oder mit dem map-Befehl. Sind das allerdings wirklich immer 5 V? Müsste das nicht die aktuelle Boardspannung des Arduino sein? Ich habe folgende Code zur Ermittlung der Boardspannung verwendet.
long readVcc() { long result; // Read 1.1V reference against AVcc
ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); delay(2); // Wait for Vref to settle
ADCSRA |= _BV(ADSC); // Convert
while (bit_is_set(ADCSRA,ADSC)); result = ADCL; result |= ADCH<<8; result = 1126400L / result; // Back-calculate AVcc in mV
return result; }
void setup() { Serial.begin(9600); }
void loop() { Serial.println( readVcc(), DEC ); delay(1000); }
Damit wurde die Boardspannung mit 4,36 V berechnet. Mit zwei unterschiedlichen Multimetern betrug die Boardspannung allerdings 4,53 V. Verwende ich die 4,53 V in der Schlussrechnung ist das Ergebnis deutlich genauer.
Nun zu meinen Fragen:
Schlussrechnung mit 5 V oder aktueller Boardspannung?
Kann ich nach einmaligen Messen der 4,53 V ausgehen, dass diese Boardspannung bei meinem Arduino immer gleich bleibt (auch bei leicht schwankender Versorgungsspannung) und diesen Wert als Konstante in meine Schlussrechnung nehmen?
Warum kommt es bei obigem Code zu solcher Abweichung der Boardspannung?
Gibt es alternativen zur Ermittlung der exakten Boardspannung?
Bin für Tipps dankbar! LG