I am finishing up a project using a Teensy 3.5 to measure an electric pump’s energy use. I have an emonPi that is measuring whole-house consumption, but the Teensy will be installed in the pump house and measure just the well pump. emonPi is pushing all values including VRMS to a MQTT broker. I am pulling VRMS to the Teensy via MQTT, and have a question about calculating power using the current-only method.
Since my emonPi is measuring VRMS on only one leg of the split phase (110V) while my well pump is using both phases (220V), do i need to multiply VRMS * 2? The formula would then be watts = (amperes * (mqttVRMS * 2))? The project is built, and I only lack another CT for the Teensy, otherwise I would have just measured and figured it out myself.
I am using emonLib.
Here is the code in question:
void messageReceived(String &topic, String &payload)
{
if (topic.equals(“weewx/outTemp_F”))
{
//Serial.println("incoming: " + topic + " - " + payload); // MQTT OAT Debug
Blynk.virtualWrite(V10, payload);
}
else if (topic.equals(“emon/emonpi/vrms”))
{
//Serial.println("incoming: " + topic + " - " + payload); // MQTT VRMS Debug
String v1Str = payload;
int v1Int = v1Str.toInt();
double a1 = emon1.calcIrms(1480);
float w1 = (a1 * (v1Int * 2));
client.publish(“pump/amperes”, a1);
client.publish(“pump/watts”, w1);
Blynk.virtualWrite(V11, w1); // Power
Blynk.virtualWrite(V12, a1); // Ampere
Blynk.virtualWrite(V13, v1Int); // VRMS Int
emon1.serialprint();if (a1 >= 1) { pump.on(); client.publish("pump/state", "1"); } else { pump.off(); client.publish("pump/state", "0"); } return;
}
}