Arduino VoltAmmeter: Unterschied zwischen den Versionen
Zeile 68: | Zeile 68: | ||
log permanent OFF | 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= | =Referenzen= |
Version vom 6. Jänner 2013, 11:51 Uhr
For the English version go to Arduino voltammeter
Allgemeines
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/
ArduinoAmmeter.zip (118KB) [info] 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, 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 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 |
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
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.