Arduino VoltAmmeter

Version vom 15. Juli 2014, 19:41 Uhr von HannesH (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

For the English version go to Arduino voltammeter

Allgemeines

 
Ammeter auf Steckplatine gemessen wird die Spannung des Batterieblocks und der Strom der durch die LED fließt
 
Ammeter Schaltplan

Im folgenden beschreibe ich den Bau eines Voltmeter und Amperemeter mit dem Arduino Mikrocontroller; in einer gemeinsamen Schaltung und Messung. Diese Messungen passieren gleichzeitig und können auf permanent gestellt werden, d.h. man erhält einen Log für Spannung und Strom. In Darstellung Ammeter auf Steckbrett ist am Eingang der Schaltung ein Batterieblock und beim Ausgang eine LED mit einem Vorwiderstand angeschlossen. Diese Komponenten können durch andere Stromquellen beziehungsweise andere Verbraucher ersetzt werden. Im angehängten File ArduinoAmmeter.zip findest du den Arduino Code (.pde File), die DS1307 Library und das Fritzing Schema; http://fritzing.org/

Widerstandswerte

Die Werte der einzelnen Widerstände sind in der Breadboarddarstellung (v.l.n.r.) 100K, 50K(10K/6.8K), 47(0.47/4.7) Ohm, 220 Ohm, 100K, 2.2K (2mal). In der Folge seien sie mit R1, R2, R3, R4, R5, R6 und R7 referenziert. Die Werte von R2 und R3 hängen ab in welchen Bereichen gemessen wird und können der Tabelle unten entnommen werden. Auch der Arduinocode muss entsprechend angepasst werden; R2 ist im Code V10K_RESISTOR und R3 ist I0_47_RESISTOR

Folgende Tabelle gibt an mit welchem R2 welche maximale Spannung gemessen werden kann und mit welchem R3 man bis zu welcher Stromstärke gehen darf. Die Wahl von R2 und R3 ist dabei gegenseitig unabhängig. Im Archiv ArduinoAmmeter.zip ist auch ein Libre Office Calcfile, mit dem beliebige Werte berechnet werden können.

R2 U_max R3 I_max
50K 15V 0.47 Ohm 10.6A
10K 55V 4.7 Ohm 1060mA
6.8K 79V 47 Ohm 106mA


Der Wert der Widerstände R6 und R7 (jeweils 2.2K) ist ein gutmütiger, wenn man statt dessen etwa 4.7K Widerstände verwendet funktioniert das timing ebenso gut. Hier braucht im Arduino Code nichts angepasst werden.

Der zeitliche Log

 
Zeitgeberbaustein DS1307

Die Zeit bestimme ich mit dem DS1307 Baustein. Man kann diesen Baustein und die damit verbundenen Kabel und Widerstände auch weglassen, wenn man nur eine adhoc Messung von Spannung und Strom benötigt; dann steht im Zeit-Datums-Teil jeweils 0.

BEISPIEL (aus SERIAL MONITOR)

log permanent on

V=5.86;mA=10.27;R_v=523.30;mW=60.14;time=19:2:58;day=5;monat=2

V=5.86;mA=10.27;R_v=523.30;mW=60.14;time=19:2:59;day=5;monat=2

V=5.86;mA=10.27;R_v=523.30;mW=60.14;time=19:3:0;day=5;monat=2

V=5.86;mA=10.27;R_v=523.30;mW=60.14;time=19:3:1;day=5;monat=2

log permanent OFF

Genauigkeit

Die Messung ist leider nicht allzu genau. Unter folgendem Link gibt es eine Diskussion und Vorschläge um die Genauigkeit zu erhöhen http://arduino.cc/forum/index.php/topic,140203.0.html

Referenzen

Die Messschaltung ist eine Adaption des Blog von Renato http://rexpirando.blogspot.com/2011/03/arduino-volt-ammeter-part-1-breadboard.html die ihrerseits in der grundsätzlichen Idee von der Seite http://electronics-diy.com/70v_pic_voltmeter_amperemeter.php inspiriert wird.