Smart energi övervakning & kontrollsystem (Edison inuti) (2 / 12 steg)
Steg 2: Beräkning av kraft & energi
AC spänning och ström ständigt växlar, som namnet antyder, om vi drar en bild av spänning och strömvågform över tiden, det kommer att se ut ungefär som på bilden ovan (beroende på vad använder power - strömvågform - blå i diagrammet nedan - är vad du får om du tittar på en typisk bärbar dator strömförsörjning. Det finns en glödlampa där också).
Bilden gjordes av provtagning nätspänningen och nuvarande på hög frekvens, vilket är precis vad jag gör på mitt projekt. Jag kommer att prova momentan spänning och ström (50 prov per 20ms). Om högre samplingsfrekvens bättre noggrannhet - är vi begränsade av Edison Arduino analoga kommando och beräkning läshastighet).
Beräkning av verklig makt
Verkliga makten är genomsnittet av Momentan effekt. Beräkningen är relativt enkelt på Edison & Arduino. Först beräknar vi momentana kraften genom att multiplicera den momentana spänningsmätning med den momentana strömmätningen. Vi summera denna Momentan effekt mätning över ett visst antal prover och dividera med det antalet prover:
för (n = 0; n < number_of_sample; n ++) {
inst_voltage och inst_current beräkning från raw ADC går här
inst_power = inst_voltage * inst_current;
sum_inst_power += inst_power;
}
real_power = sum_inst_power / number_of_samples;
Root-Mean-Square (RMS) spänning
Root-mean-square beräknas på det sätt som namnet antyder först vi square kvantiteten, då vi beräkna medelvärdet och slutligen kvadratroten av mean-square, detta är hur dess gjort på Arduino:
för (n = 0; n < number_of_sample; n ++) {
inst_voltage beräkning från raw ADC ingång går här.
squared_voltage = inst_voltage * inst_voltage;
sum_squared_voltage += squared_voltage;
}
mean_square_voltage = sum_squared_voltage / number_of_samples;
root_mean_square_voltage = sqrt(mean_square_voltage);
Root-Mean-Square (RMS) ström
Samma som RMS spänning beräkningen:
för (n = 0; n < number_of_sample; n ++) {
inst_current beräkning från raw ADC ingång går här.
squared_current = inst_current * inst_current;
sum_squared_current += squared_current;
}
mean_square_current = sum_squared_current / number_of_samples;
root_mean_square_current = sqrt(mean_square_current);
Skenbar effekt
apparent_power = root_mean_square_voltage * root_mean_square_current;
Som RMS spänning är i allmänhet ett fast värde såsom: 220V (+ 10% -6% i BD) det är möjlighet att approximera Skenbar effekt utan att behöva göra en spänningsmätning genom att ange RMS spänningen 230V. Detta är en vanlig metod som används av inhemska energy monitorer.
Effektfaktor
power_factor = real_power / apparent_power;
Det är grunderna i AC power mätning på en Arduino.