Hi all, I've been testing Emon TX Shield v3 using Arduino UNO R3 and the example sketch ("Current_only.ino") provided by EmonLib. Once I connect the CT and start watching the serial monitor, for I_cal = 111.1 (standard value) I get relatively high values of current (around 0.25 A) when no load is connected / clamp is open. Then I connect a 0.1 A load (measured with my amp meter) to the system, but the serial returns the same values. Even if I trim down this calibration constant to very low values (such as I_cal ~ 5), I would get 0.00 A for no load, but ~0.01 A when the 0.1 A load is connected. In some cases, switching on/off the load even causes loss of serial communication between PC and Arduino.
On the other hand, analogRead() always returns 509-511 in all cases.
Any suggestions? Am I doing something wrong?
Thanks in advance,
Xavi
Re: EmonTX Shield v3 - always getting non-sense values from CT
What you are doing wrong - if you can call it that - is you are trying to read below the minimum current that gives even moderately accurate results. Remember, the inputs 1-3 are set for 100 A, so you are asking it to read 0.1% of full scale. If you want or need to measure currents of that magnitude, you need to change the CT and burden resistor to one that is more suitable. There's a page in Building Blocks "Measurement implications of ADC resolution at low current values" that tries to explain what happens when you have very small inputs. There's a clue in your final statement - "[The analogue input] always returns 509 - 511" and that means it's seeing no significant signal - only ±1 count in 1024. And if there's no significant signal, changing the calibration in software will not help you.
You should get more meaningful readings if you use input 4, which has a maximum input of 18.33 A.
Re: EmonTX Shield v3 - always getting non-sense values from CT
Thanks, that was really helpful. Using bigger loads made difference and everything worked as expected.