Yes, you are looking at two different - but related - things. If the scale factors are wrong, then the current you see will be wrong. That could mean that the ~1.2 A that you measure is not the actual noise. If (say) you are dividing by 1024 where you should be dividing by 4096, then your 1.2 A is only 0.3 A, and that is the sort of number we can see. Here’s how to check:
If ADC_BITS
is set properly by the compiler, then emonLib should get the scaling for the 12-bit ADC correct. Have you looked in emonlib.h, have you set __arm__
, or has your choice of board automatically set it? Try printing ADC_BITS
- it should be 12 for you,
22 Ω is the burden we use in the 3.3 V emonTx and emonPi, for 100 A with a 100 A : 50 mA c.t. With a 33 Ω burden, your maximum current will be ~ 66.7 A.
But whatever the problem is, you are right, it should read zero with no current flowing - or with no c.t. connected. The reality is, it always will read a small current, because the real world is not perfect.