Post Go back to editing

Overcurrent detection with ADE7978

Category: Hardware
Product Number: ADE7978


I'm working with the ADE7978 and trying to get the overcurrent detection to work. My issue is that when setting the OILVL register to a relatively high value the interrupt is still triggered. My IxWV registers show a value corresponding to >=-0.07 and <=0.07A (the raw register value for ~0.07A is about 0x960) but my OILVL register is set far beyond this level. I've verified that the OI bit is set in the STATUS1 register, so I know that it's the overcurrent detection that's triggering the interrupt (also when leaving the OILVL register to its default value the interrupt is no longer triggered).

Any input would be greatly appreciated :)


  • Enabling peak measurements I see that IPEAK is at ~11.3A. This roughly corresponds to the value I have to put in OILVL for the interrupt to not trigger immediately. To me it seems like there could be some initial in-rush when enabling the ADE7978?

    Edit: I see that in the datasheet it states: "The settling time for the current rms measurement is 580 ms for both 50 Hz and 60 Hz input signals. The current rms measurement settling time is the time it takes for the rms register to reflect the value at the input to the current channel when starting from 0."
    Could this explain this (it's for the RMS measurements, but could there be a link)?

  • We've narrowed it down to the HPF taking some time to actually filter out the DC-offset. If enabling the overcurrent detection AFTER (instead of before) enabling the ADE7978, plus adding a small delay) the interrupt doesn't trigger right away, and setting it to an expected value we can test with works.