Phase measurement and correction in IoTaWatt

I have re-opened this thread, I’m not going to get involved with specifics. However, open discussion is encouraged.

Please try and keep discussion on-topic, productive and impersonal.


great to see a moderator step in - thanks
Given that Emon Pi uses CTs and reference voltages, have we compared the 2

Opps, sorry I started the flame war ;-),

Me too. I’m not here to canvass the relative merits of different OEM monitoring products, I’m here to discuss phase error calibration. Personally, having gone the energy IC route, I find all these products that do the maths in an general purpose CPU rather quaint. But whichever route we’ve all taken, they all ultimately do it pretty much the same way, and they all share a lot of the same calibration issues. By sharing our approaches to solving those issues we all get to benefit.

I don’t doubt it, but that shouldn’t exclude discussions that may help it work even better. Did we find any easily achievable improvements that don’t involve investment in $10K worth of calibration kit? Possibly not but that doesn’t mean the exploration was pointless, especially since your initial description strongly suggested there was some low hanging fruit. “I take 640 samples that aren’t linecycle aligned” was a reasonable interpretation of your initial description and early response for further clarification.

I invite you to re-read my initial response in this thread. It was genuinely about trying to be part of the solution, and I was surprised by the reaction it got. My interest was particularly piqued by your claim that 0.5 degrees was as good as it got. That seemed pessimistic to me, and I thought it worth exploring whether it could be improved.

My later responses were then all about correcting mis-information. And with regards the washing machine which seem to have particularly tweaked a nerve for some reason…

My heat pump’s PF is 0.89 is a perfectly sensible statement to make.
My heat pump’s PF is 27 degrees is completely meaningless.

The scope trace I posted above is my best guestimate of what your heatpump’s current signature looks like. It demonstrates that the 27 degrees means nothing. If you try really hard, you can identify which angle in that 3D vector graph is represented by the 27 degrees but even then you’ll come to the conclusion “so what… that angle means nothing”. Unfortunately, I don’t have a heatpump, so I had to make do. I took a punt that the electronics and motor in my washing machine is a lot like those in your heatpump. If you think your heatpump’s current signature is vastly different from what I posted then you merely need to put your scope across the relevant burden resistor and post the picture here. I’m happy to then discuss why its PF is 0.89 and whether there’s any significance to the 27 degrees.

Should you discover that the heatpump’s current signature is a pure sinewave and that the voltage going into it is also (or a very close approximation) then the 27 degrees has some meaning. It should be the displacement between the V and I sinewaves.

1 Like

So anyhow, getting this thread back on topic…

I think the two techniques under discussion are very different. The description of yours suggests you’re using Lissajous (which should only be used on sinewaves). Robert’s approach does an FFT on the signal to determine the phase of the fundamental component.

How can you know that without quantifying how phase shift changes with voltage?

Once you move to per-breaker monitoring it’s quite common for the signal on some circuits to be entirely dominated by non-linear modes such as those you see with switch mode power supplies. As an example, here’s how my lighting circuit looks every night. You’ll see it’s pretty much all over by the time the voltage reaches its peak.