DIY Amp / Watt timräknare Volt - Arduino (1 / 9 steg)
Steg 1: spänningsavdelare
UPPDATERING 9/9/2014!
Arduinoen kan acceptera upp till 5v på en analog ingång. Vår spänning kan variera så mycket som 20vdc i vissa situationer (öppen krets pv spänning), så vi har utformat en spänningsdelare som skulle ge 5v på 20v batterispänning, och mindre på olika lägre spänningar. Se http://en.wikipedia.org/wiki/Voltage_divider för mer information om spänningsavdelare.
Först besöker vi vår vänliga Spänningsavdelare kalkylator. I-ingång 20v som input, 5v som utdata och 10k för R2 (experimentera med < 10 k motstånd tills du får ett troligt par). Det här beräknar en R1 på 30K.
R1 = 30 k ohm
R2 = 10 k ohm
Vout = (R2 / (R1 + R2)) * Vin
Vout = (10000 / (30000 + 10000)) * 20v
Vout = (10000 / 40000) * 20v
Vout =.25 * 20v
Vout = 5v
Ratio = Vin / Vout
Ratio = 4
Eftersom Arduino har en 10-bitars ADC, utgångar 0-1023 (1024 steg) för en 0-5v ingång. Det är 0.00488v / steg.
Med en spänningsdelare med R1 = 30 k Ohm och R2 = 10k Ohm, ett 12v batteri skulle beräkna följande:
12V / Ratio = 3v på A4 stift.
3V /.00488 = 615 (ADC läsning - runda upp)
så A4 pin spänning =.00488 * ADC läsning (615 i detta fall) eller 3.00 volt.
Sedan batteriets spänning = A4 pin spänning * förhållandet (3 * 4 = 12)
Koden för att läsa att värdet är som följer:
ADCVal = analogRead(batMonPin); Läs spänningen på avdelaren på stift A4
pinVoltage = ADCVal * 0.00488; Beräkna spänningen på PIN-koden A/D
En läsning av 1 för A/D = 0.00488mV
om vi multiplicerar den A/D behandlingen av 0.00488 sedan
vi få spänningen på PIN-koden.
batteryVoltage = pinVoltage * förhållandet; Använda förhållandet beräknas för spänningsavdelaren
att beräkna batterispänningen, Ratio = Vin / Vout
Mer information på http://arduinotronics.blogspot.com/2012/04/voltage-monitor.html
UPPDATERING:
Förbättrad spänning behandlingen krets och skiss på AC Volt mätare (fungerar med DC också). Rock solid spänningsmätning, och mycket exakt.