Stap 2: Berekening van de macht & energie
AC spanning en stroom voortdurend afwisselend, zoals de naam al suggereert, als we een tekening van de spanning en de stroom na verloop van tijd, het ziet er ongeveer als de afbeelding hierboven (afhankelijk van wat met behulp van macht - de golfvorm - blauwe in het diagram hieronder - is wat je krijgt als je kijkt naar een typische laptop power supply. Er is een gloeilamp in daar eveneens).
Het beeld werd gemaakt door bemonstering van de netspanning en huidige op hoge frequentie, die is precies wat ik doe op mijn project. Ik zal proef Noodstopbewaking spanning en stroom (50 voorbeeld per 20ms). Hoewel hogere samplefrequentie nauwkeuriger - zijn we beperkt door de Edison Arduino analoge opdracht en berekening leessnelheid).
Berekening van de werkelijke macht
Echte macht is het gemiddelde van de momentane macht. De berekening is relatief eenvoudig op de Edison & Arduino. Eerst berekenen we de ogenblikkelijke macht door te vermenigvuldigen met de meting van de momentane spanning met de momentane Stroommeting. Wij vatten deze momentane vermogensmeting gedurende een bepaald aantal monsters en verdelen van dat aantal monsters:
for (n=0; n<number_of_sample; n++){ // inst_voltage and inst_current calculation from raw ADC goes here inst_power = inst_voltage * inst_current; sum_inst_power += inst_power; } real_power = sum_inst_power / number_of_samples;
Root-Mean-Square (RMS) spanning
De--kwadratische gemiddelde wordt berekend in de letterlijke betekenis van de naam eerst wij vierkant de hoeveelheid, dan we het gemiddelde berekenen en tot slot de vierkantswortel van het gemiddelde-plein, dit is hoe haar gedaan op de Arduino:
for (n=0; n<number_of_sample; n++){ // inst_voltage calculation from raw ADC input goes here. 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) stroom
Hetzelfde als de RMS spanning berekening:
for (n=0; n<number_of_sample; n++) { // inst_current calculation from raw ADC input goes here. 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);
Schijnbaar vermogen
apparent_power = root_mean_square_voltage * root_mean_square_current;
Als RMS spanning is over het algemeen een vaste waarde zoals: 220V (+ 10% -6% in de BD) zijn ten spoedigste voor het benaderen van schijnbaar vermogen zonder te hoeven maken van een meting van de spanning door de RMS spanning op 230V. Dit is een courante praktijk gebruikt door binnenlandse energie monitoren.
Vermogensfactor
power_factor = real_power / apparent_power;
Dat is de fundamenten van AC vermogensmeting op een Arduino.