Energy Monitor Accuracy

I tried interfacing a ct sensor and an ac to ac adapter to an arduino almost exactly as described in the following links


But I'm not getting correct values. I was using the 33ohm burden resistor as suggested. I tried both the "current only" and the "voltage and current" sketches but to no avail. The main problem is I'm getting an Irms of about 0.33 mA even when no load is connected.

My mid point voltage is 2.44V, so the voltage divider is ok.

I didn't change any of the constants (except for the current constant which is 60.60 for 33ohm) as my circuit is exactly the same.

Interestingly, I tried a burden resistor of 1kohm (mistakenly), and with a calibration constant of about 1.8, I'm getting somewhat accurate values. 


- How can I get accurate values? 

- What is the accuracy of the energy monitor in general?


I'm a newbie. Please help. 


Robert Wall's picture

Re: Energy Monitor Accuracy

"The main problem is I'm getting an Irms of about 0.33 mA even when no load is connected."

I don't believe that! There is no way that you can read down that low with a 10-bit ADC and a 100 A current transformer. But that's not your problem. What you are seeing (ignore the value you quoted - I think you are reading more like 50 - 100 mA) is noise from the digital part of the processor feeding into the analogue part. Because you are rectifying the noise in the software, it can never average to zero as it tends to do when you also measure the voltage and calculate real power.

There are pages in Building Blocks about noise and accuracy.

Shoaib's picture

Re: Energy Monitor Accuracy

Thanks for the prompt reply!

I'm really sorry for the typo! I meant 0.33A (not 0.33mA).

Robert Wall's picture

Re: Energy Monitor Accuracy

330 mA is not good. I think there are two main ways that noise can get in to the analogue input - directly or via the ground and supply rails. It could be straightforward capacitive coupling of the mains voltage via the c.t. secondary into the analogue input. I assume that you have a "C1" decoupling capacitor - value about 10 µF - on each bias chain.

Also, I think you need to check that your grounding is good and the supply is adequately decoupled. If you are using a ready-made Arduino board, there is little more that you can do. But if you have your own layout on prototype board, you should feed the clean 5 V to the AVCC input, then use a LC filter to feed VCC.

Would I be right in thinking that the power you read with calcVI is much less and not consistent with your 0.33 A?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.