Arduino VoltAmmeter

Aus Happylab
Zur Navigation springen Zur Suche springen

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 Volt-Amperemeters mit Arduino Mikrokontroller. 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 ausgetauscht werden. Im angehängten File ArduinoAmmeter.zip findest du den Arduino Code (.pde File), die DS1307 Library und das Fritzing Schema.

Filezip.gif ArduinoAmmeter.zip (118KB)
Version vom 05.02.2012

Widerstandswerte

Die Werte der einzelnen Widerstände sind in der Breadboarddarstellung (v.l.n.r.) 100K 10K, 0.47 Ohm, 220 Ohm, 100K, 2.2K (2mal). In der Folge seien sie mit R1, R2, R3, R4, R5, R6 und R7 referenziert. Mit diesen Werten kann man eine Spannung von maximal 55 Volt und einen Strom von maximal 10.6 Ampere messen. Für andere Spannungsbereiche wählt man ein anderes R2 wählen, für andere Stromstärken ein anderes R3.

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 Zip-Archiv ArduinoAmmeter.zip ist ein Libre Office Calcfile enthalten 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

Wählt man andere Widerstände, muss das im Arduinosourcecode entsprechend angepasst werden. Der Widerstand R2 entspricht der Variable V10K_RESISTOR, der Widerstand R3 der Variablen I0_47_RESISTOR.

Auch 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

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.