Power Error due to Emon Calibration?

When I ran the current_only sketch, I set the value of the current calibration to 4.75. The load I used was a 40W incandescent bulb. The real power drawn as measured by the Arduino was also ~40W.

When I ran the voltage_and_current sketch, I kept the same current calibration value of 4.75
I changed the value of the voltage constant to the value read from the AC mains by my multimeter.
In my case, the multimeter read 239V. Hence emon1.voltage(2, 239, 1.7);

For the same 40W Incandescent bulb as my load, I got the following results:

-70.34 71.80 430.72 0.17 -0.98 
-70.61 71.94 432.79 0.17 -0.98 
-70.51 72.16 430.68 0.17 -0.98 
-70.55 71.95 433.02 0.17 -0.98 
-69.53 70.60 432.65 0.16 -0.98 
-71.25 72.74 432.78 0.17 -0.98 
-70.85 71.95 430.73 0.17 -0.98 
-70.83 72.30 432.91 0.17 -0.98 
-69.46 71.23 432.76 0.16 -0.98 
-69.84 71.43 432.77 0.17 -0.98 
-70.23 71.53 432.81 0.17 -0.98 
-71.20 72.46 432.89 0.17 -0.98 
-70.06 71.87 430.98 0.17 -0.97 
-69.68 70.69 432.69 0.16 -0.99 

An incandescent bulb is considered as a Resistive Load. Hence the values of Real & Apparent power should ideally be equal.
In my case, the absolute values of Real & Apparent Power are almost equal with an error margin of ~1.4%.
The value of Irms is correct i.e. 40/239 = 0.167

I am getting a few errors that I wish to debug:

  1. The value of Real Power is 70W instead of 40W. Real Power is negative whereas Apparent Power is positive.
  2. The value of Vrms is 431V instead of 239V. Is this value supposed to have an error so large?
  3. The value of power factor is negative. Shouldn’t this value be negative only if the load generates power which flows back to the source?

Could this problem have arisen because I haven’t properly calibrated the values of R1 & R2 (in my case I used a Potentiometer).

R1 and R2 need to be chosen to give a peak-voltage-output of ~1V

From which point do I measure this peak voltage? What is the reference point; Is it Ground? Which mode do I set my multimeter too while measuring this voltage?

So here what I have understood from the forums.
The secondary winding voltage stated will be the voltage at full load. But we will need to find the voltage on no load (using a Multimeter), then recalculate the resistor values so that you get about 1 V across the ‘bottom’ resistor.

You need to read and follow the calibration instructions. “239” voltage calibration constant is NOT the voltage you read with a multimeter, the constant can be calculated and in fact it represents the voltage that would give you 1 V rms at the ADC input. Likewise, the current calibration constant is the current that would give you 1 V at the ADC input. You should choose the voltage dropper resistors so that the maximum voltage under worst-case conditions (maximum possible mains voltage, maximum possible output from your a.c. adapter, resistor tolerances going the ‘wrong’ way, etc) at the ADC input is less than about 1.6 V for a 5 V Arduino (1.1 V for a 3.3 V emonTx/emonPi). You read that voltage across the ‘bottom’ resistor of the voltage divider (or between the ADC input and the mid-rail bias voltage, which is the same place).

Apparent power must always be positive (think of the maths!). Real power will be signed according to the direction of power flow. You can read the explanation in ‘Learn’. Our convention is negative power is export, positive is import.

You also need to know that current transformers are inherently inaccurate at low currents. How low is low depends on how much your c.t. cost. The SCT-013-000 is only specified above 10% of rated current (i.e. above 10 A). You can see what happens to the phase error - which is what is giving you the power factor error - in the test report on the c.t. (also in ‘Learn’). You should set the phase error calibration at a “representative” current - ideally around 30% of maximum reading, but expect errors at low currents unless you are prepared to pay for a high quality c.t.