# 3-Phase calibration

Hi,

I’m trying to find the correct calibration values to get accurate readings. I followed Roberts advise in the 3-phase firmware.
Is it correct that `Phasecal1` can be between 0 and 2 but `Phasecal2 and Phasecal3` should be between 0 and 1? What happens if I can’t find a combination for `PHASE3` and `Phasecal3` in this range? Can `Phasecal` also be negative?

My best combination is:

``````#define PHASE2 7
#define PHASE3 14

double Phasecal1 = 1.20;
double Phasecal2 = 0.40;
double Phasecal3 = -0.30;
``````

I don’t use CT4 and I send some extra values via RFM69 like current and power factor and I’m using the jeelink-library (see this topic for the reason: 3-Phase with ACK)

Using a resistive load on all three phases with 1 ampere I get the following values:

``````Voltage: 237.90
Phase 1: 0.99997 A, 239.27 W, 237.89 VA, PF=1.006
Phase 2: 1.00427 A, 240.02 W, 238.91 VA, PF=1.005
Phase 3: 0.99452 A, 241.08 W, 236.59 VA, PF=1.019
``````

Putting all three clamps around phase1 gives me this:

``````Voltage: 238.11
Phase 1: 1.01397 A, 242.99 W, 241.43 VA, PF=1.006
Phase 2: 1.01108 A, -121.43 W, 240.75 VA, PF=-0.504
Phase 3: 1.00552 A, -131.86 W, 239.42 VA, PF=-0.551
``````

It seems quite good to me, but I’m concerned it is not, because of leaving the calibration range.

You will be able to get a value for the 3rd phase within the range, by changing the array subscript. You need to change PHASE3. When you go outside the range 0 - 1, you extrapolate, and when you stay inside, you interpolate, to generate the shifted voltage wave. Interpolation introduces less inaccuracies than extrapolation.

However, because those values need to change if the mains frequency, the voltage or the currents change (because errors in the timing, the VT phase and CT phase are each influenced by the respective variable), I wouldn’t worry too much, as what you have should make very little difference to the powers you measure unless your overall power factor is poor.