No readings from CT Sensors on live feeds

You’re using the same sketch as before?
Which version of emonLib?

Have you checked voltages?
The 5 V rail from your Arduino?
The midpoint - the junction of R1 & R6, with and without a plug inserted?
Is the 33 Ω burden present & correct?

Yep same sketch as before and same sketch as the working shield but different channel.

I’m not using the 5v rail from the Arduino, Just usb power.

Ct sensors work on port 2 3 and 4, see screenshot but port 1 is the one reading high.

Resistance on main resistors looks good
R5 to R16 reads 33k

How do I check the mid point

I’m not sure what you mean there - R16 is a placeholder to give the holes for a wire-ended component to replace R5 if the burden needs changing. R5 should be 33 Ω.

Measure the voltage from R5 (either end) to GND. It should be zero without a plug inserted. You’ll need to insert a plug to remove the “inner” connection to GND on the socket’s switch contacts to read a voltage, which should then be half-supply, 2.5 V
Also check that voltage makes it to the Arduino itself. Or check continuity. We have known broken tracks.

Let me check that.

Bit more info for you

Without the 9v ac connected I get solid zero readings on serial monitor

Soon as I connect the ac 9v I get the high reading

R5 to GRD with no plug is zero

With plug it’s 2.5

That doesn’t mean too much. The a.c. input is obviously zero, or close, and anything multiplied by zero is zero. So the sketch is doing what it should under those conditions. So I conclude it’s seeing rubbish on the current input pin, to give the big numbers. The maximum reading should be around 24 kW (100 A @ 240 V), so it’s less than that.

Check the pcb for whiskers of copper, because the tracks for the a.c. input and Channel 1 are adjacent. But the favourites are a broken track, dry joint or faulty connector.

There is definitely something up with the ct1 spot

When starting up the settle period is zero for it

I wouldn’t expect much. The latest emonLib uses a low pass filter, which is initialised to half-rail, to extract the bias voltage, which is then subtracted. So it only has to move from the nominal bias point to the actual bias point, which should be only a few counts.

I’m stumped. I tested a lot of the continuaty nothing looks out of sorts.

:cry:

It’s got to be something so stupid that it can’t possibly be wrong - yet it is.

I’m assuming you’re using the same Arduino, which you know is OK - is that correct?

It looks to me as if the ADC input is floating and not held down by the burden & bias network. It’s very high impedance and I’m suggesting it’s picking up enough of the a.c. adapter voltage from the adjacent track or pin to give you numbers. Did you check continuity of this input from R5 right through to the Arduino board itself?

If that still looks OK, can you check the raw numbers coming from the ADC? Load one of Robin Emley’s test sketches, they are all listed at Robin's Mk2 Code variants and associated tools. | Archived Forum
Either ‘Raw samples’ or ‘Min and max’, should show a steady half-scale with the c.t. plugged in but no current. (Have the a.c. voltage present.)

Sorry I haven’t come back, finally had chance to try the shield on another Arduino. Same issue

I think the shield must have an issue or my soldiering somewhere.

I’m just gonna leave it for now. I have resurrected the old shield with the CT sensor ports on the wrong side, re-soldered them and it’s working fine.

I might test it again but for now I’m happy. Thank you for your help @Robert.Wall

I have managed to push the data to Graphite and Grafana. The dashboard is beautiful.

1 Like