Can my EmonTX Shield be Damaged?

Tags: #<Tag:0x00007f10b130ba10>
(Soloam) #1

Hello, I got a EmonTX Shield, and mounted it and I’m using it in a Arduino UNO. I think that my shield is damaged. The CT1 and CT2 report correct readings, but the CT3 and CT4 are WAY off chart, The CT3 reports over 4000w when the load is only 200w, and the CT4 reports are also off. I calibrated CT1 and CT2, but for CT3 and CT4 the values are impossible to match.

,Can my EmonTX Shield be damaged? If so I assume that it’s from factory, because I only used it once.

Thank you all


(Robert Wall) #2

It is possible that it has been damaged, or that it is faulty, or that your Uno itself is faulty.

Which sketch are you using?
Which c.t. are you using on each input?
Do you have a multimeter that you can use for some basic checks?


(Soloam) #3

Hello @Robert.Wall

I tried with the sketch from GitHub, the Shield_CT1234_Voltage_SerialOnly and the Shield_CT1234
I tried with several SCT-013-000 100A, also all gave the same errors
Yes I have a multimeter and I can do the checks

Thank you


(Robert Wall) #4

If you have a spare 3.5 mm plug with nothing connected to it, plug it in to each input in turn and measure the resistance between the tip and sleeve. You should read 33 Ω
If you do not have a spare plug, use a c.t. (but not one that is on a cable that is carrying current). In this case, you should measure approximately 25 Ω

If the two faulty inputs do not read the correct values, then your shield is definitely faulty.

If you do read the correct values, measure the voltage from GND to pin 1 or pin 5 of each socket, with a c.t. plugged in. You should read approximately 2.5 V.

If the two faulty inputs do not read the correct values, then either your shield or your Uno is faulty.

If you do read the correct values, try this sketch:
You must change lines 31 - 33:

byte sensorPin_V = 0;
byte sensorPin_I1 = 1;
byte sensorPin_I2 = 2;

With channels CT1 & CT2 working, you should see something like this. “1” is the current for channel 1, “2” is the current for channel 2, “v” is the voltage:

If you now do the same for the faulty channels, but change:

byte sensorPin_V = 0;
byte sensorPin_I1 = 3;
byte sensorPin_I2 = 4;

it will show what is really being read by the Uno for the faulty channels (1 - CT3, 2 - CT4). From what you have written, I would expect it will look very different.


(Soloam) #5

Ok, If I did this correctly, this are my readings (Ω tip to sleeve and voltage to pin 1):

  • CT1 33.4Ω 1.78v
  • CT2 33.4Ω 1.78v
  • CT3 33.3Ω 1.79v
  • CT4 33.3Ω 1.79v

The Ω look ok, but the voltages are very off from the 2.5v, but the problem is constant with all channels

I will try the sketch…


(Soloam) #6

Ok, I think I found a strange behavior. I tried the sketch…

With no CT Plugged

CT1 and CT2

No of cycles recorded = 1
cycleCount 2652,  samplesRecorded 4
2                                      v.                                       |
2                                      v.                                       |
min_V 505,  max_V 506
min_I1 0,  max_I1 0
min_I2 0,  max_I2 0

Raw data from stored cycle: <Vsample>, <I1sample>, <I2sample>[cr]
4, <<< No of sample sets
506, 0, 0
506, 0, 0
506, 0, 0
505, 0, 0

CT3 and CT4

No of cycles recorded = 1
cycleCount 2552,  samplesRecorded 4
|                                     21.                                       |
|                                     21.                                       |
min_V 509,  max_V 510
min_I1 503,  max_I1 504
min_I2 498,  max_I2 498

Raw data from stored cycle: <Vsample>, <I1sample>, <I2sample>[cr]
4, <<< No of sample sets
510, 504, 498
510, 504, 498
509, 503, 498
509, 504, 498

Notice that with no CT, CT1 and CT2 show zero… but CT3 and CT4 show data

I will try with a load… but from what I see here… the values are going to be way off in CT3 and CT4…


(Soloam) #7

Just to call @Robert.Wall

Thank you


(Robert Wall) #8

My first thought was the burden resistors might have been soldered incorrectly or missing on CT3 & CT4. But this shows all are present, that is good.

What is not good, but does not directly relate to the fault you are seeing, is the voltage is low. Can you check the 5 V from your Arduino?

Did you solder the RFM69CW onto the Shield? Is that the correct way round?

That is correct. There is a switch in the socket that grounds the input, so that the sketch can detect when the c.t. is plugged in.

But this is wrong. With no plug in the socket, the input should be grounded, and read zero. It is actually reading the correct value for when a c.t. is plugged in. But again, this does not explain the high readings.

I will wait to see what your load tests show. Can you use the same load each time please? And can you connect the a.c. adapter, if you have one?