Voltage Reference In "Status" Freezes

Hi Everyone and @overeasy !

Looking for some help with a problem I am facing while testing the direct 3 phase voltage reference and apologies in advance if I am missing something basic.

So I had been testing the IotaWatt to see how quickly it I was able to generated a power outage alert from my Grafana instance and came across something unusual. While disconnecting a single phase or even all three, on the STATUS page of the IotaWatt the Voltage reference output seems to be frozen (I have attached a video for reference). But when I check the voltage reading in the calibration for the output its correct at “0” volts. Once I power on the phase, the voltage on the STATUS page continues to work as normal. Another strange thing I noticed was that the Frequency seems to spike all the way up to 1100/1300 Hz instead of staying stable at around 50Hz regardless. Also please note I am using my own voltage reference transformer and is configured as generic 240 volts.

Here is a link to the video screenshot : ioatwatt_vrfmp4.mp4 on Vimeo

Not too surprised by any of this. IoTaWatt is designed to measure electrical power, not the lack thereof. Most users have one VT and it’s plugged into the same circuit as the USB supply, or should be. When the AC reference signal stops and the device keeps running, the wheels fall off the wagon.

In order to be able to sample whole AC cycles, and then do all of the logging and interface stuff between, the firmware scheduler is pretty much driven by the AC signal. Without it, it sort-of works, but not very well. The question is, should I fix that? My answer is no. When the power is off, it doesn’t need monitoring.

There are a couple of issues here. You have three VTs configured but using only one. The frequency in the status display is an amalgamation of the frequency of all of the VTs. When there is no signal, sometimes the sampling picks up noise as a couple of zero crossings and thinks there was an actual signal. But that faux cycle is usually pretty short - indicating a higher frequency. That’s why you are seeing the higher frequency. Again, it’s just a real-time status number, not anything from the actual datalog.

The real-time voltage for the status display is also a separate thing. It is a damped function of the most recent readings. Because there are no actual readings, it never gets updated. When you run the calibration, different code is used to read the input and when it fails, it returns zero. Good enough.

You also seem to be mixing derived reference with direct reference. That’s fine, but if you are not going to power those extra VTs, you should deconfigure them.

@overeasy thank you so much for the insight and the help. Makes absolute sense and appreciate you taking the time to explain it so thoroughly.