DIY Amp / Watt Volt urenteller - Arduino (6 / 9 stap)

Stap 6: Broncode

Alle de code, schema's en foto's samen met discussie is verkrijgbaar bij http://tech.groups.yahoo.com/group/arduinohome/files/volt%20amp%20watt%20hour%20meter/ en http://forum.pololu.com/viewtopic.php?f=3&t=5415

#include

/ * Deze schets wordt beschreven hoe u verbinding maken met een ACS715 huidige zin drager
(http://www.pololu.com/catalog/product/1186) aan de Arduino,
en lees stroom die via de sensor.

*/

LiquidCrystal lcd (7, 8, 9, 10, 11, 12);

/*

VCC op dragerraad Arduino + 5v
GND op dragerraad met Arduino GND
Op dragerraad aan Arduino A0

De macht lugs invoegen het ladingen positieve lood circuit,
pijl op carrier board punten om te laden, andere lug verbindt met
positieve voeding

Voltage Divider

9 k Ohm uit + tot A4
3 k Ohm vanaf A4 met Gnd

*/

int Vin = 20;

int Vout = 5;

int verhouding = Vin / Vout; Berekend op basis van Vin / Vout

int batMonPin = A4; invoer pin voor de spanning divider
int ADCVal = 0; variabele voor de A/D-waarde
zweven pinVoltage = 0; variabele voor de berekende spanning
zweven batteryVoltage = 0;

int analogInPin = A0; Analoge invoer pin die de dragerraad uit is verbonden met
int sensorValue = 0; waarde van de de dragerraad van de leest
int outputValue = 0; uitvoer in milliampère
niet-ondertekende lange msec = 0;
zweven tijd = 0,0;
int-steekproef = 0;
zweven totalCharge = 0,0;
zweven averageAmps = 0,0;
zweven ampSeconds = 0,0;
zweven ampHours = 0,0;
zweven wattHours = 0,0;
zweven ampère = 0,0;

int R1 = 9000; Weerstand van R1 in ohm
int R2 = 3000; Weerstand van R2 in ohm

int verhouding = 0; Berekend op basis van Vin / Vout

VOID Setup {}
seriële communicatie 9600 bps te initialiseren:
Serial.begin(9600);
LCD.begin (20, 4);
}

void loop {}

int sampleADCVal = 0;
int avgADCVal = 0;
int sampleAmpVal = 0;
int avgSAV = 0;

voor (int x = 0 x < 10; x ++) {/ / doorlopen lus 10 x

Lees de analoge waarde:
sensorValue = analogRead(analogInPin);
sampleAmpVal = sampleAmpVal + sensorValue; monsters bij elkaar optellen

ADCVal = analogRead(batMonPin); Lees de spanning op de scheidingslijn
sampleADCVal = sampleADCVal + ADCVal; monsters bij elkaar optellen

vertraging (10); ADC regelen voordat de volgende monster laat

}

avgSAV = sampleAmpVal / 10;

omzetten in milli-ampère
outputValue = (((lange) avgSAV * 5000 / 1024) - 500) * 1000 / 133;

/ * sensor output ongeveer 100 in rust.
Analoge Lees produceert een waarde van 0-1023, hetgeen neerkomt op 0v naar 5v.
"((lange) sensorValue * 5000 / 1024)" is de spanning op de sensor de uitvoer in millivolts.
Er is een verschuiving van de 500mv aftrekken.
De unit produceert 133mv per amp stroom, dus
verdelen door 0.133 mv omzetten in ma

*/

avgADCVal = sampleADCVal / 10; delen door 10 (aantal monsters) om een gestage lezing

pinVoltage = avgBVal *. 00488; Bereken de spanning op de A/D-pin
/ * Een lezing van 1 voor de A/D = 0.0048mV
Als we de A/D-lezing te met 0.00488 dan vermenigvuldigen
We krijgen de spanning op de pin.

Ook, afhankelijk van de bedrading en
Wanneer spanning wordt gelezen, onder
zware lasten spanning weergegeven kan worden
goed onder spanning bij levering. monitor
bij laden of te leveren en te beslissen.
*/

batteryVoltage = pinVoltage * verhouding; Gebruik de verhouding berekend voor de spanning divider
voor het berekenen van de accuspanning

Ampère = (float) outputValue / 1000;
zweven watt = ampère * batteryVoltage;

Serial.Print ("volt =");
Serial.Print(batteryVoltage);
Serial.Print ("\t stroom (Ampere) =");
Serial.Print(amps);
Serial.Print ("\t vermogen (watt) =");
Serial.Print(Watts);

voorbeeld = monster + 1;

msec = millis();

tijd = (float) msec / 1000.0;

totalCharge = totalCharge + versterkers;

averageAmps = totalCharge / monster;

ampSeconds = averageAmps * tijd;

ampHours = ampSeconds/3600;

wattHours = batteryVoltage * ampHours;

Serial.Print ("\t tijd (uren) =");
Serial.Print(time/3600);

Serial.Print ("\t Amp Hours (ah) =");
Serial.Print(ampHours);
Serial.Print ("\t Watt-uur (wh) =");
Serial.println(wattHours);

lcd.setCursor(0,0);
LCD.Print(batteryVoltage);
LCD.Print ("V");
LCD.Print(amps);
LCD.Print ("A");

lcd.setCursor(0,1);
LCD.Print(Watts);
LCD.Print ("W");
LCD.Print(time/3600);
LCD.Print ("H");

lcd.setCursor(0,2);
LCD.Print(ampHours);
LCD.Print ("Ah");
LCD.Print(wattHours);
LCD.Print ("Wh");

lcd.setCursor(0,3);
LCD.Print (verhouding, 5);
LCD.Print("");
LCD.Print(avgBVal);

wacht 10 milliseconden voordat de next-lus
voor de analoog / digitaal-converter te regelen
na de laatste lezing:
delay(10);
}

Gerelateerde Artikelen

De Mexicaanse... Watt?? Bereken Watts op motors met Amp en Volt lezingen.

De Mexicaanse... Watt?? Bereken Watts op motors met Amp en Volt lezingen.

Tegenwoordig, is het gemakkelijk te meten watt aan huishoudelijke apparaten met Kill-A-Watt meter. Echter wonen in Mexico, bestellen een over de grens zou kosten onbetaalbaar als de verzendkosten hoger zou zijn dan de kosten van de meter zelf, en dat
DIY 1000 watt windturbine

DIY 1000 watt windturbine

bouwden We een windturbine 1000 watt te helpen lading de batterij bank dat de bevoegdheden van onze offgrid thuis. Het is een permanente magneet dynamo, genereren 3-fase wisselspanning, gecorrigeerd naar dc, en geschikt voor vervoedering aan een heff
Opto-Isolator zelfgemaakte (9-35 volt met Arduino)

Opto-Isolator zelfgemaakte (9-35 volt met Arduino)

Ooit wilde behandelen 9-35 volt met arduino deze opto-isolator id zal helpen u daarbij...Deze zelfgemaakte opto-isolator zal je van frituren uw Arduino of andere spullen tegen hoge spanningen en zal u toelaten om gemakkelijk werken met spanningen bov
DIY standalone weerstation aangedreven door Arduino

DIY standalone weerstation aangedreven door Arduino

Hallo Makers die erNogmaals, dit is niet een stap voor stap Instructable. Zoals altijd ik vergat om te nemen knipsluitingen Neem sinds de aanvang van dit project.Het idee van het bouwen van een Gemeenschap-weerstation met Open hardware schopte terug
DIY TV LCD-scherm met Arduino en Smart Remote

DIY TV LCD-scherm met Arduino en Smart Remote

In de volgende volgende stappen, u maakt een DIY "TV" met code voor een smart remote afstandsbediening,, en eigenlijk video's afspelen en de slimme afstandsbediening zelfs mogelijk verbinding te maken met de werkelijke moederbord.Materialen:Foli
DIY infraroodsensor van de nabijheid (Arduino Compatible)

DIY infraroodsensor van de nabijheid (Arduino Compatible)

Ever keek op Sparkfun of Adafruit voor sommige koele robot-onderdelen, en zag die dure IR en Ultrasonic naderingssensoren? Ik heb, en ik echt wilde een, maar ze zijn zo duur ($30-$40 of meer) dus heb ik besloten dat ik mezelf met de onderdelen die ik
DIY een fiets achterlicht met Arduino

DIY een fiets achterlicht met Arduino

Ik ben een liefhebber van fietsen.Jaren geleden, toen ik een knappe jongeman ben, in mijn tweede jaar aan het College, had ik de rit van Sichuan naar Tibet, de beroemde G318 in China afgerond. Het is bekend als's werelds mooiste en meest gevaarlijke
DIY 15 Watt stereoversterker (draagbaar)

DIY 15 Watt stereoversterker (draagbaar)

Hallo guyz!Op een dag, ik had deze oude Thompson boekenplankluidsprekers net rond leggend, en ik had geen manier om het spelen van hen, zoals ik niet bezit een goede versterker, die zou passen bij mijn behoeften. Ik wilde ook dit project overdraagbaa
DIY - Hoe te gebruiken de Arduino Uno voor het verzenden van een E-mail, SMS en maken een stem bellen

DIY - Hoe te gebruiken de Arduino Uno voor het verzenden van een E-mail, SMS en maken een stem bellen

Wonder op welke manier voor het verzenden van e-mails via uw Arduino Uno? Maak je niet druk... Deze video tutorial zal verlichten u over het proces stap voor stap aan e-mails, SMS-berichten versturen, evenals stem bellen met behulp van de 3G/GPRS-shi
DIY 400 Watt windturbine

DIY 400 Watt windturbine

Deze plannen in detail te beschrijven hoe ik een windturbine gebouwd in mijn garage zonder speciaal gereedschap voor iets meer dan $200. Veel van de do-it-yourself ontwerpen zijn beide projecten speelgoed of onwaarschijnlijk te houden in de sterke wi
DIY Magic Mirror en Photobooth - Arduino Powered

DIY Magic Mirror en Photobooth - Arduino Powered

een geassembleerd kit voor dit project is nu beschikbaar bijSeeedstudio.comMeer info op dit project op http://diymagicmirror.com De software voor dit project is open source open sourceWie is de mooiste van allemaal. Maak uw eigen Magic Mirror en ontd
Drinkbaar diy amp

Drinkbaar diy amp

dit is mijn tweede instructable tot nu toe. Zijn een eenvoudige drinkbaar versterker die gebruik maakt van de immer populaire lm386 versterker ic.De bouw is vrij eenvoudig met enkele componenten en het klinkt geweldig. De potability maakt het meer ha
DIY RC Car gecontroleerd met Arduino

DIY RC Car gecontroleerd met Arduino

De volgende stappen zal u om uw eigen RC auto bestuurd door Arduino hopelijk begeleiden.Stap 1: Nemen van elkaar RC autoU moet uw RC auto uit elkaar te halen en nemen de IC van de printplaat. U kunt dit met een paar tang, soldeerbout of een soldeer r
DIY Mini H-brug voor arduino

DIY Mini H-brug voor arduino

Stap 1: Lijst met Circuit en PCB H-bruggetje voor twee richting motorische controle met arduino.Ontworpen voor breadboard gebruik.Deel de lijst:-L9110S SMD motor driver IC-0805 1K weerstand (2 x)Beschrijving:Motor aangesloten op de M + en M-pins.Moto