Post Go back to editing

ADE9153A Accuracy Issues


I'm using the EV-ADE9153ASHIELDZ Evaluation Kit along with the supporting example Arduino code. In addition, I'm also using the equivalent of MTE's PTE 400  to source current to the IAP/IAN inputs and I haven't modified the board at all, so the WSK12161L000FEA, 1m-ohm shunt, is still present. I do not provide the line voltage for measurement.

My goal is to get the datasheet accuracy of 0.2% (or at least <1%) after using mSure to calibrate. In theory, I should be able to compare the output of the MTE's PTE with the output of AIRMS. When I do this, however, I get around a 9.6% error after calibration.

All of the example code functions exactly the same, so pushing the USER_INPUT button should run calibration for runLength(t), print the values, and apply the gain to the appropriate register. I have adjusted the TARGET_AICC (which was recalculated for 1A = 838.19082 nA/code) and put the runLength to 2 minutes (but running it for a minute doesn't change the value). I'm using normal mode, though turbo mode doesn't seem to change anything. I also ensure that the 1A current is applied before running calibration. 

The only variable I can tell is that the reported temperature is different between my tests. I can't find anything about mSure compensating for the measured temperature, but this is the only theory I have at the moment. I'd be happy to provide any information I can. 



P.S. I have some other questions, feel free to answer if they're obvious. The accuracy is most important

  • The TARGET_AICC seems arbitrary if the user can define whatever value they want for the headroom. With that being said, TARGET_AICC is used all over the place in the code and seems very important. What if the user doesn't change this value for their real system?
    • I understand now this headroom is really calculated from the shunt value + gain and isn't arbitrary
  • If I do not have a line voltage present, what will APERIOD be?
  • What is the resolution of this ADC? A lot of the calculation constants seem arbitrary.

Edit: Updated some of my findings.
[edited by: ColeM at 5:02 PM (GMT -4) on 22 Mar 2022]
  • Hello,

    For now, I've gotten the Evaluation Kit to work with the regular shunt. Funnily enough, the conversion constant is defined in two places, in ADE9153AAPI_h and ADE9153AAPI_Test. Well, rather it is defined as CAL_IRMS_CC but it is hard coded in the test file. So, you need to change both (or just reference CAL_IRMS_CC in both spots) if you intended to get the right value after applying gain and reading back the register.

    So, now we've desoldered the shunt and trying to use my own 200u-ohm shunt. Getting issues on that. Essentially, I've determined that the IAMS current is the correct amplitude and frequency for both of the modes but the result of the calibration is much lower than the ideal. It results in 30x less current than expected when converting the register value.

    Any thoughts?



  • We got it to work. The layout app note helped a lot: 

    Specifically, this line:

    Specifically, untying the mSure injection current return path from the negative input. 

    Thanks for all the help!



Reply Children
No Data