Puzzled by SCT-013-030 reading


I have a SCT-013-030 current sensor from seeeduino connnect up to a Seeeduino Stalker (Arduino clone). I've not used a burden resistor as this model CT includes one.

I'm measuring the current through the phase wire powering a table lamp.

I'm running the sketch given here http://openenergymonitor.org/emon/node/54 on the arduino.

If I use a multimeter to measure  directly across the sensor I get the following values for a 40 W, 60 W and 100 W incandescent  light bulbs.

40 W :   5.3 mV AC

60 W:  8.0 mV AC

100 W:  13.6mV AC

This makes sense as the sensor has a 1V per 30 A response, mains volatge is 240 V.  So  0.0053  V*  30 I/V * 240 V = 38 W.

But when I run the sketch I get the following values for Irms

40 W :  1.6 A AC

60 W:    2.45 A AC

100 W:  4.07 A AC

which gives the correct   1.6 A * 0.1 * 240 V = 38 W value for a conversion factor of 0.1!

I can't understand why my conversion factor changed from 30 to 0.1. 

Any Ideas. I've checked resistor values, 2.5 V DC on input, different input pin...

thanks Eleanor


















stern666's picture

Re: Puzzled by SCT-013-030 reading


I'm having more or less the same problem.
I do not know how to adapt my SCT-013-030 to sketch.
I'm reading powers of a monitor where Specification tells me the maximum consumption is 42W and I read Real Power about 120W.


Robert Wall's picture

Re: Puzzled by SCT-013-030 reading


Take a look at Building Blocks - CT and AC power adaptor installation and calibration theory

Down towards the bottom of the current sensor section, you'll see a heading "If you use a current transformer with a built-in burden (voltage output type)"

That explains all!


Maybe not quite all in your case. Do I detect that you are using a current calibration of 30? Are you reading the supply voltage correctly? (The Arduino 5 V supply?) In the library, the reference voltage is measured and then used to scale the ADC reading. If that's wrong, plus if your current constant is still 111.1, that will give you about the error that you are reading. You'll need to put some debugging Serial.print(....) statements in to check the values at various points. Flog you way through the calibration theory (yes, I know!) and you should then understand how the actual current is converted to counts and then scaled back to real world units.


Post again if you can't track your problems down.

 [Edit] I should have mentioned that you should not expect any degree of accuracy at such small currents - errors of even more than 100% can be expected when the input is only a few counts peak-peak. You need at least 10 counts peak-peak for reasonable accuracy. See here http://openenergymonitor.org/emon/buildingblocks/measurement-implication...

Comment viewing options

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