Energi mäts i Wh eller energiinnehåll Coloumb. 1C = (1A x 1s). Coloumb innehåller inte Spänning varför det kan vara svårt att jämföra energimängden i olika energikällor med olika spänning. Det som är mest utbrett idag är Wh som visar den total mängden energi oavsett spänningsnivå. 1 Wh är 1Wh oavsett om spänningen är 100V eller 50V, det som ändras är då istället strömmen.
Här kommer vi att gå igenom principer för att mäta och logga Energimängd i Wh. Vi kommer att mäta ström och spänning med digitala verktyg och låta en liten dator hålla koll på tiden och göra uträkningen eller konverteringen till Wh. Datorn behöver alltså läsa av ett par sensorer och hålla reda på tid och multiplicera resultat.
Källor och resultat | Instructable | Mätteknik |
Effekt (power) : P
Power is product of voltage (volt) and current (Amp)
P=V x I
Enhet för effekt är Watt eller kW
Energi (energy): E
Energimängd mäts i effekt (watt) och tid (timme)
E= P x t
Fysikaliska storenhet är Watt Hour eller Kilowatt Hour (kWh)
Från ovanstående formel är det tydligt att för att mäta energi behöver vi tre parametrar
1. Voltage
2. Current
3. Time
Noggrannhet
Beroende på kvalitet och inkoppling variera noggrannheten på instrumenten, och detta är något som man måste hantera på något sätt.
Läs mer om mätteknik och metrologi.
Vid komplexa byggprojekt har det alltid varit viktigt att alla inblandade använder ett likvärdigt längdmått. Ett tidigt exempel är faraonernas byggande av tempel och pyramider i det gamla Egypten, 3000 år f Kr. Den arkitekt som glömt eller försummat sin skyldighet att kalibrera referensmåttet vid varje fullmåne straffades med döden.
Mäta VOLT
| SensorAnalogValue | sampling | ConvertToVolt |
- Voltdelning, dela upp spänning till Arduino nivå
- Calibration
- Sampling
Calibration:
When battery is fully charged (6.5v) we will get a Vout=3.25v and lower value for other lower battery voltage.
ARDUINO ADC convert Analog signal to corresponding digital approximation .
When the battery voltage is 6.5v I got 3.25v from the voltage divider and sample1 = 696 in serial monitor ,where sample1 is ADC value corresponds to 3.25v
3.25v equivalent to 696
1 is equivalent to 3.25/696=4.669mv
Vout = (4.669*sample1)/1000 volt
Actual battery voltage = (2*Vout) volt
Mäta Ampere
Princip för att mäta ström (A)
Hall Effect är produktion av en spänningsskillnad (Hall spänningen) över en elektrisk ledare, tvärs mot en elektrisk ström i ledaren och ett magnetfält vinkelrätt mot strömmen.
För att veta mer om Hall Effekt-Sensorn klicka här
Databladet för ACS 712 sensorn klicka här
Kalibrering
Analog read produces a value of 0-1023, equating to 0v to 5v (Particle 4096 3,3V)
So Analog read 1 = (5/1024) V =4.89mv
Value = (4.89*Analog Read value)/1000 V
But as per data sheets offset is 2.5V (When current zero you will get 2.5V from the sensor’s output)
Actual value = (value-2.5) V
Current in amp =actual value*10
Kod
Ingångar
Ingång A0
Ingång A1
Variabler
Energimängd (Wh)
Effekt (W)
Konstanter
Sensor ID
Koeff för Volt
Koeff för Amp sensor
Offset sensor ACS712
Arduino kod för (A)
/ taking 150 samples from sensors with a interval of 2sec and then average the samples data collected
for(int i=0;i<150;i++) { sample2+=analogRead(A3); //read the current from sensor delay(2); } sample2=sample2/150; val =(5.0*sample2)/1024.0; actualval =val-2.5; // offset voltage is 2.5v amps =actualval*10;
Arduino kod Voltmeter
// taking 150 samples from voltage divider with a interval of 2sec and then average the samples data collected
for(int i=0;i<150;i++)
{
sample1=sample1+analogRead(A2); //read the voltage from the divider circuit
delay (2);
}
sample1=sample1/150;
voltage=4.669*2*sample1/1000;
Arduino kod timer
The millis() function returns the no of milliseconds since the Arduino board began running the current program.
long milisec = millis(); // calculate time in milliseconds long time=milisec/1000; // convert milliseconds to seconds
Räkna fram total energiförbrukning
totamps=totamps+amps; // calculate total amps avgamps=totamps/time; // average amps amphr=(avgamps*time)/3600; // amp-hour watt =voltage*amps; // power=voltage*current energy=(watt*time)/3600; // Watt-sec is again convert to Watt-Hr by dividing 1hr(3600sec) energy=(watt*time)/(1000*3600); for reading in kWh