Spannungsmessung
Na, die Spannungsmessung ist doch einfach. Einfach die Spannung an einen A-Eingang halten, analogRead aufrufen und schon hat man seinen Wert. HALT, STOP, nicht so schnell.
Im Prinzip schon aber es gibt ein paar Details zu beachten.
- Die Spannung darf nur im Bereich von 0 - +5V liegen. Bei größeren Spannungen ist ein Vorteiler aufzubauen.
- Natürlich gehen nur Gleichspannungen.
- Die 5V Referenz ist nicht gerade berauschend. Deswegen würde ich immer wenn man es genauer haben will, die intere Referenz von 1.1V benutzen. Dazu ist es jedoch nötig, das das zu messende Signal im Bereich von 0V-1V liegt.
- Man kann auch selber eine Referenzspannung hinterlegen. Diese darf aber nur im Bereich 0-Vcc liegen.
Der AD Wandler arbeitet mit einer Genauigkeit von 10Bit. D.h. die angelegte Spannung wird folgendermassen umgerechnet:
ADC = Vin * 1024 / Vref
int sensorPin = A0; // analoger Eingang void setup() { analogReference(INTERNAL); Serial.begin(19200); } void loop() { // Sensorwert lesen int sensorValue = analogRead(sensorPin); float value = sensorValue * 1.1 / 1024.0; Serial.print("Wert:"); Serial.println(value); }
Will man größere Spannungen messen muss man eine Spannungsteiler aufbauen.
Der sieht so aus:
Die gemessene Spannung ist dann gleich:
Ua= V * R2 / (R1 + R2)
In diesem konkreten Beispiel ist Ua= V * 0,1
Wenn man es genau haben will sollte man für die Widerstände sog. Messwiderstände verwenden. Die haben normalerweise eine Toleranz von 0,1%.