In diesem Beitrag möchte ich zeigen, wie man mit einem Arduino die Spannung bis 5V messen kann.
Rückblick
In dem Beitrag Arduino Lektion 4: LED mit Fotowiderstand habe ich gezeigt, wie man den Wert eines Fotowiderstandes ausliest und diesen über eine Leuchtdiode „visualisiert“. Was wir eigentlich gemacht haben, ist die Spannung, welche der Fotowiderstand durchlässt zu messen und diesen Wert dann auf eine PWM Signal zu mappen.
Alternativ können wir auch eine kleine Schaltung mit einem Drehpotentiometer aufbauen, in welchem wir die Spannung von 5V (welche der Arduino über den Pin 5V liefert) anschließen und manuell mit einem Schraubendreher verändern können.
Je nach Qualität des Mikrocontrollers kann der Wert leicht unter oder über dem Wert von 5V liegen. Wenn man jedoch keinen Klon, sondern einen originalen Arduino UNO verwendet, liefert dieser fast genau 5V.

Sketch
In dem nachfolgenden Sketch lese ich den Wert vom analogen Pin A0 aus und mappe diesen zunächst auf das mögliche PWM Signal (0..255) und danach auf einen Wert zwischen 0 und 50 für die Berechnung der Spannung.
Ich wähle hier bewusst die Werte von 0 bis 50, damit ich später diesen durch 10 dividieren und somit einen Gleitkommawert erhalte.
#define rotaryResistor A0 #define led 9 void setup() { Serial.begin(9600); pinMode(rotaryResistor, INPUT); pinMode(led, OUTPUT); } void loop() { int resistorValue = analogRead(rotaryResistor); int ledValue = map(resistorValue, 0, 1023, 0, 255); analogWrite(led, ledValue); double v = map(resistorValue,0,1023,0,50); Serial.print(v/10, 2); Serial.println("V"); delay(100); }
messen von Spannungen größer als 5V
Möchte man Spannungen von mehr als 5V messen, so muss man sich einer Spannungsteilerschaltung bedienen.
Im Nachfolgenden zeige ich dir den Schaltplan, wenn die Eingangsspannung „VCC“ bis zu 25V ist.
In diesem Fall wird an „S“ & „-“ eine Spannung von maximal 5V ausgegeben, welche wir dann wiederum mit unserem Arduino am analogen Eingang messen können.
Aufbau der Schaltung mit einem Breadboard
benötigte Bauteile für die Schaltung
Zunächst wollen wir die Schaltung auf einem Breadboard aufbauen. Dieses hat den Vorteil das wir noch ein paar Modifikationen vornehmen könnten.
- 1x Breadboard mit min. 170 Pin,
- 4x Breadboardkabel, 10 cm, männlich – männlich,
- 1x 30 kOhm, Kohleschicht bzw. Metallschicht Widerstand
- 1x 7,5kOhm, Kohleschicht bzw. Metallschicht Widerstand
- eine 9V Blockbatterie zum Messen
Aufbau


Aufbau der Schaltung auf einer Lochrasterplatine
benötigte Bauteile für die Schaltung
Nachdem wir im ersten Schritt die Schaltung auf dem Breadboard erstellt und getestet haben, wollen wir diese auf eine Lochrasterplatine „verewigen“. Dazu benötigen zusätzlich eine kleine Lochrasterplatine.


Wenn man nun die fertige Platine an den Arduino UNO anschließt (gelb > analog Pin A0, schwarz > GND) kann man sich auf dem seriellen Monitor der Arduino IDE die Spannung anzeigen lassen.
Mit dieser Schaltung sind wie bereits erwähnt Spannungen bis maximal 25V möglich!
alternative, ein fertiger Sensor
Einfacher geht es natürlich mit einem fertigen Spannungssensor.
Diesen Sensor habe ich bereits im Beitrag Arduino Lektion 54: Spannungssensor vorgestellt.
Und wenn ich ganz ehrlich sein soll, habe ich mir die Schaltung von genau diesem Sensor entnommen und nachgebaut.
Der Sensor kostet bei ebay.de knapp 4€ inkl. Versandkosten (Dieses mal ist es sogar, egal, ob man die Ware aus China oder Deutschland liefern lässt.).
Kann man auch negative Spannung messen ? Ich will eine Spannung von +- 12 Volt messen. Meine Spannungsquelle liefert über Festspannungsregler (7812 und 7912) eine unipolare Spannung. Ich habe ein 10 KOhm Potentiometer. Links ist 12V+ angelötet Rechts ist 12V- Angelötet. Mit dem mittleren Anschluss gehe ich zum Multimeter (+Eingang) den gemeinsamen – Schliesse ich an COM an. Drehe ich nun am Poti kann ich sowohl die negative als auch die positive Spannung am Multimeter anzeigen lassen.
Kann ich das auch mit einem Arduino machen und an einem Display anzeigen lassen?
Gruß Andi