> Start > Schaltungen
 
VCC messen beim Arduino Mega 2560

Die USB Versorgungsspannung soll ca. 5V betragen, weicht in der Praxis aber häufig deutlich davon ab. Lange Leitungen und USB Hubs können auch mal 4,5 V am Arduino Board liefern. Soll der Arduino Messaufgaben mit dem eingebauten AD Wandler erledigen ist es wichtig die Versorgungsspannung genau zu kennen, weil der AD Wandler Messwert sich hierauf bezieht. Der Messwert 1023 ist also VCC.

Für das Uno Board ist eine Messung mit Hilfe der Internen Referenzspannung im Netz dokumentiert. Für den Mega war aber nichts zu finden, deshalb habe ich hier die 3,3V Spannung zur Messung herangezogen und mit einer Brücke direkt auf den A/D Wandler (hier PIN A14) gelegt.

Da die 10 Bit AD Wandler immer zu VCC messen entspricht das Messergebnis 1023 der VCC Versorgungsspannung.
Bei der Messung der 3,3V Spannung und abweichender VCC ergibt sich also ein "falsches Messergebnis", das zur Berechnung der VCC herangezogen wird.

VCC . 1023
----- = ------
3,3V . Messwert (A/D)

Damit ist VCC = 3,3 V / Messwert (AD) * 1023

Die Messfehler sind:

1. Der Messfehler der AD Wandlung beträgt +-1 Bit und das sind ca. 5V / 1023 * 2 = 9,8 mV.

2. Der 3,3V Regler hat eine Ausgangsspannungsabweichung lt. Datenblatt von max. 1,5% das sind 4,95 mV.
Mit einem Multimeter sollte die 3,30V Spanung bei Zimmertemperatur kontrolliert werden und im Programm angepasst werden.

3. Bei Ausgangsströmen <50mA ändert sich die Ausgangsspannung laut. Datenblatt um 1,5% (5mV) und bei bis zu 150mA um 2,5% ( 8,2mV). Das kann hier vernachlässigt werden wenn: a) kein weiterer Strom aus dem 3,3V Ausgang genommen wird oder b) der abgenommene Strom ziemlich konstant ist und die 3,30V Spannung mit dem Multimeter kontrolliert und im Programm angepasst wird.

4. Über den Temperaturbereich von 10°C bis 30°C ändert sich die Ausgangsspannung laut Datenblatt um ca. 6 mV.

Wir können also in der Praxis mit einem Messfehler von < 16 mV rechnen.

Zusätzliches Mitteln über mehrere Messungen verbessert die Genaugkeit.

Die fertige Arduino Datei zum Download.

Hier der Arduino Programmcode mit Kommentaren:

// Die Versorgungsspannung VCC beim Arduino Mega messen
// Eine Brücke von 3,3V zu A14
// 3.3 V nachmessen mit Multimeter und ggf. anpassen
//
// Matthias Busse 29.3.2014 Version 1.0

void setup(void) {
  Serial.begin(38400); // Serielle Ausgabe
}

void loop(void) {
  float vcc;
  
  vcc = 3.30 / analogRead(14) * 1023;
  Serial.println(vcc,3);
  delay(1000);
}

Das Programm lässt sich auf allen Arduinos verwenden. Es muss ggf. der A14 Pin geändert werden, da z.B. ein Arduino Uno nur 5 A/D Wandler Eingänge hat.

Fragen hierzu kann und werde ich aus Zeitgründen nicht beantworten.
Hilfreiche Links sind: Arduino Mega R3 Schaltungsaufbau, Datenblatt des 3,3V Reglers LP2985-33DBVR.

VCC messen beim Arduino Mega 2560

letzte Änderung 3.2014