I have designed an Arduino (ATMega 32U4) controlled Energy monitoring system based on the ADE7758 chip an I am now in the process of writing the code for calibration following the data sheet. Attached in is the schematic of the ADE7758 connections. The MPU is not shown.
I am able to reliably read and write to the ADE7758's registers . I ve done this lots of times to make sure communication with the MPU is ok.
The problem I am facing is that I often get invalid measurement data from the chip. For example I often read the mains frequency (nominal 50Hz) as being anything anything from 20Hz to over 100Hz. In these cases RMS voltage readings are invalid as well.
The way I found to recover from this "weird mode " is to issue a software reset command by setting bit 7 of the OPMODE register. This command sometimes needs to be issued two or three times before the chip gives valid data readings. This happens so often that I even had to write code which periodically checks the mains frequency and, if outside of normal range, issues a software reset command to the chip till the frequency is back to normal again.
Something else I have noticed is that this issue (invalid data) appears more often when the input voltage (I use a variac for testing) is below 50V RMS. It this case, even subsequently increasing the voltage to (nominal) 240V makes no difference till the chip is reset.
Is there any reason for this ?
I appreciate your help and support on this.