Die Versorgungsspannung VCC mit dem Arduino Mega 2560 messen.

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.
VCC kann also bei reinem USB Betrieb auch mal 4,5V sein. Der A/D Wandler Messwert 1023 bezieht sich auf 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.

\frac{VCC}{3,3V} = \frac{1023}{Messwert(A/D)}

 

Damit ist   VCC = \frac{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 einem Ausgangsstrom <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 Genauigkeit etwas.

Die Hardware

Eine Drahtbrücke von 3,3V zum A14 Eingang.

Die Software

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) {
  double 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.

von Matthias Busse

Hilfreiche Links

Arduino Mega R3 Schaltungsaufbau
Datenblatt des 3,3V Reglers LP2985-33DBVR.

4 Gedanken zu „Die Versorgungsspannung VCC mit dem Arduino Mega 2560 messen.

  1. Pingback: 5A Strom Sensor ACS 712 mit dem Arduino auslesen | Shelvin – Elektronik ausprobiert und erläutert

  2. Pingback: Die Auflösung des ADC vom Arduino Uno erhöhen auf 16 Bit | Shelvin – Elektronik ausprobiert und erläutert

  3. Manfred

    Rückrechnen der Referenzspannung aus einer bekannten Messgröße – die Lösung ist so simpel, dass ich sie einfach genial finde.

    Bitte weiter so!

    Antworten
  4. Pingback: In Processing den COM Port auswählen und Werte vom Arduino einlesen. | Shelvin – Elektronik ausprobiert und erläutert

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.