I'm currently facing a problem with the VRMS samples and I would really appreciate if someone could help me to solve it.
Situation is as follows:
- The attenuation network is designed to measure +/- 500 V (353,55 Vrms), Gain of PGA2 is x1
- xVRMSGAIN registers are at default value (0x00) so far
- Sampling of VRMS registers is synchronized to zero-crossing
- 50 Samples are averaged to get the value of the VRMS register
I supplied known voltages Vmin (Vfullscale/20 = 353,55 Vrms/20 = 17,6 Vrms) and Vnom (230 Vrms) to the ADE7758 through the attenuation network, my results are as follows:
- AVRMS value at Vmin: 84308d / AVRMS value at Vfullscale: 1092176d
- BVRMS value at Vmin: 85961d / BVRMS value at Vfullscale: 1094660d
- CVRMS value at Vmin: 93908d / CVRMS value at Vfullscale: 1094360d
I calculated the offsets and wrote them to the corresponding xVRMSOS registers, those are:
- AVRMSOS: -12
- BVRMSOS: -39
- CVRMSOS: - 172
With this settings Phase A and Phase B readings are alright. For Phase C I get accurate readings on high voltage levels and quite big positive errors at low voltage levels (around Vmin) when converting to real world values. I found that there is a significant difference in the constant for turning register readings to real world values even after offset correction. At Vmin it is 0,00018 and for Vfullscale it is 0,00021. As I used the 0,00021 constant I think this explains the positive errors at low voltage levels. I don't think that using an averaged constant is the right way to solve the problem, so what can I do about this problem? Could calibration of VRMSGAIN be the solution?