SCT-013-000 giving "almost double" measurements

Hi, I got some new SCT-013-000 but when I try the basic Current Sensor circuit and sketch I'm getting almost double measurements.

Thus I had to change the calibration constant to 63.0 instead of 111.1 to get good readings.

Is this correct?

How can I tell if my SCT is doing what it is supposed to do?

I measure the resistance in the SCT-013-000 and I got 100 ohms, is this correct?

 

Robert Wall's picture

Re: SCT-013-000 giving "almost double" measurements

What hardware are you using? Link? What is your ADC reference voltage, what value is your burden resistor? Which sketch are you using?

100 Ω is about right for the resistance of the c.t secondary winding. My first guess would be your burden resistor is missing or the wrong value, but without more details I cannot be certain.

If you connect your multimeter directly to the c.t. (tip & sleeve) on the mA a.c. range, you should read 50 mA per 100 A of primary current. I will be very surprised if that is wrong.

calypso_rae's picture

Re: SCT-013-000 giving "almost double" measurements

Do you have a similar CT which gives different readings?  If so, you could open each of their cases and check for differences.

The CT is just a coil of wire around a metal core so it's difficult to see why one should give different results than another.  I wonder whether the version that you're using has 1000 turns or 2000 turns.  I've seen both versions on eBay recently.

mlemos's picture

Re: SCT-013-000 giving "almost double" measurements

Thanks guys... here is a bit more of details:

I tried that with 3 CTs SCT-013-000 and all have the same issues. Mine are the YHDC ones.

My setup is very simple:

- Arduino UNO

- Burdeen Resistor: 33R

- R1 & R2: 470K

- C1: 10uF

I'm powering the circuit from Arduino's GND and 5V (which is actually measuring 4.89-4.90V).

I'm in Brazil and mains is 127V (actually measuring around 130.4V) at 60Hz.

I build a test rig with a 100W incandescent light bulb that I'm using as load.

Measuring this load and using the 111.1 calibration constant (as suggested in the example) I have:

- Irms: 1.46A

- Apower: ~189-190A

Using an oscilloscope to see what is going on and measuring the signal between GND and the CT output I have:

- Vrms = 2.41V

- Vpp = 180mV

My Sketch is the simplest:

#include <EmonLib.h>
EnergyMonitor emon1;

void setup()

  Serial.begin(9600); 
  emon1.current(1, 111.1);
}

void loop()
{
  double Irms = emon1.calcIrms(1480);
  Serial.print(Irms*130.4);
  Serial.print(" ");
  Serial.println(Irms);
}

 

Robert Wall's picture

Re: SCT-013-000 giving "almost double" measurements

I cannot see a YHDC SCT-013-100 on the YHDC website. The nearest numbers I can see are the SCT-013-010, the SCT-013-000 and the SCT-013-000V. The first and last have internal burden resistors and do not need an external burden. The first is 1 V out at 10 A, the last is 1 V out at 100 A. The second is the one we recommend, and gives 50 mA out at 100 A. None of these would give you 180 mV pp (64 mV rms) with a 33 Ω external burden that might be in parallel with the internal one. So I don't know which you have.

Let us do the maths:

Load = 100 W
Voltage = 130 V
Load Current (c.t. primary current) = 100 W / 130 V = 770 mA
ct secondary current = 777 mA ÷ 100 A × 50 mA = 0.385 mA
burden voltage = 33 Ω × 0.385 mA = 12.7 mV (rms), or 36 mV pp

That should allow you to check whether the c.t. is giving the correct output, it is also worth checking the value of your burden resistor - is it really 33 Ω? To get 180 mV p-p you would need a 165 Ω burden, or a 100 A : 250 mA c.t.; or some combination of those numbers.

The Arduino voltage disappears from the calculation because it is measured by the emonLib library, and the calibration constant is worked out for you in Building Blocks - Calibration theory, the number you should be using is 60.6. But that does not explain why you see 180 mV where you should have 36 mV.
 

mlemos's picture

Re: SCT-013-000 giving "almost double" measurements

Hi Robert, 

Thanks for you email.

Actually, my sensor is the YHDC SCT-013-000.

That make things even weirder, since it says on it that it is 100A-50mA. But it is just not actiing like that.

Yes, the resistors are 100% correct, I also measured them to double-check.

Do you believe that these sensors are working with different parameters?

Using 5 loops of the load (to get out of too low readings) I get this:

On the Digital Oscilloscope

- Vrms = 2.42V

- Vpp = 280-300mV

On the Arduino, with the calibration constant in 64:

- Irms = 4.08-4.11A

Does that helps to clarify things?

If you can, I also have another question: how does the Arduino 5V actual value affects the measurements? And what happens if the voltage divider is not perfectly symmetrical? Are those "discrepancies" handled by the emonLib?

I believe this is part of what you mentioned on the last paragraph, but I'm double checking if I understood it correctly.

Thanks in advance!

Robert Wall's picture

Re: SCT-013-000 giving "almost double" measurements

The rms voltage measured by your oscilloscope might not be useful unless it can remove the d.c. component. I think it is correctly calculating the voltage with the 2.5 V offset included, and that is not the number we want. That might be confusing you.

When you have a 5 turn primary winding, the c.t. becomes a 20 A : 50 mA one. You still have 770 mA primary current, so now you should have 1.925 mA secondary current, 63.5 mV rms (180 mV pp). And yet you now have 300 mV pp (100 mV rms) across the burden.

With 1 turn, you should have had 36 mV and you got 180 mV.
With 5 turns, you should have had 180 mV and you got 300 mV.

Those numbers are not consistent.

Is it possible to measure the c.t. secondary current directly with a multimeter? That is the certain way to check the ratio. What does your oscilloscope say if you have only the burden resistor and the c.t? (No 2.5 V, no bias resistors, no Arduino.)

To answer the other points, the actual 5 V value does not affect the calibration through emonLib (for the emonTx V2 functions anyway) but the accuracy of the internal 1.1 V reference does. I wrote about that in Calibration. The divider is not in the signal path so it does not affect the calibration, but it does limit the maximum swing of the input voltage - as does a low supply voltage.

calypso_rae's picture

Re: SCT-013-000 giving "almost double" measurements

My Sketch is the simplest:

#include <EmonLib.h>
EnergyMonitor emon1;

void setup()

  Serial.begin(9600); 
  emon1.current(1, 111.1);
}

void loop()
{
  double Irms = emon1.calcIrms(1480);
  Serial.print(Irms*130.4);
  Serial.print(" ");
  Serial.println(Irms);
}

Although this sketch looks simple, a lot of hidden activity is happening within the library routine, calcIrms().  If you want to understand the output signal from the CT, you may be better looking at the raw output values from the ADC.

There are several sketches which do this near the top of my Summary PageMinAndMaxValues is the simplest one, but you have to specify the analogue inputs correctly.  The later version, MinMaxAndRangeChecker, displays the raw ADC values for the first four analogue inputs.  RawSamplesTool and RawSamplesTool_4ss_2 rely on an AC voltage source being present.  These sketches will display your voltage and current samples in graphical form.

100 Watts is a very small current to be measuring with your CT.  Have you tried using a bigger load which will cause a much larger signal to appear at the CT's output?  The ADC in the Uno has 1024 steps which are evenly spread over its input range.  By using more of the available range, you should get a more reliable result.

Using either of the RawSample tools above, the waveform for current will appear very small when using a load of only 100W.  If you can repeat the test using an electric kettle as your load, you should see a much better looking waveform.

 

Robert Wall's picture

Re: SCT-013-000 giving "almost double" measurements

Robin, the sketch is not involved at this point. Manoel is using an oscilloscope and he is measuring the wrong values before it even hits the Arduino. I asked him to measure the burden voltage with only the burden and oscilloscope connected to the current transformer, so that we can positively say that there can be only three possibilities: (1) the c.t. itself, (2) the load current measurement is wrong and (3) the oscilloscope calibration is wrong. The problem might be just one, or could be a combination of all three of these.

What I would like to see is a picture of the current waveform recorded with a real oscilloscope. And as you say, if Manoel can use a much bigger load - say 2 kW which would give a current of 15 A, that would be much more realistic.

mlemos's picture

Re: SCT-013-000 giving "almost double" measurements

Thanks Gents,

I'll try to work on those measurements.

I have a few doubts on how to evaluate the CT. Maybe I'm to far from my Engineering School times, hehe. I read the Calibration and I have lots of questions. I'll elaborate on that and send another message here (need some spare time).

One thing that intrigues me is the use of the Sound Board Oscilloscope. I understand that it is good to isolate from mains, but I'd prefer to use my DSO (Rigol DS1102E). Is this possible? How?

Any ideas on how to generate a bigger load?

I have a 500VA variac at home, that I was using to calibrate my Voltage Sensors, also I have the DSO and a few multimeters. I'm not sure my multimeters has AC Current capabilities. I have one True RMS clamp multimeter, but I just figure it is almost useless for small loads. ;-)

Also, I'll build some circuit diagrams indicating exactly how my circuit is and where I'm measuring things, to void any misunderstanding. 

Anyway, thanks in advance for you priceless help.

PS:. We're having huge geek event in Brazil in the end of the month, it is called Campus Party and my presentation there will be on how to build a connected energy consumption monitor with Arduino. It is inspired and based on the awesome project you guys develop here.

Thanks Again!

Robert Wall's picture

Re: SCT-013-000 giving "almost double" measurements

You can read how I test c.t's in the report on the YHDC c.t. As you can see from that, I work at 6.5 V when testing and therefore it is absolutely safe to handle, except the load resistor. Even though it is on a heat sink, gets very warm. If you have a low voltage transformer that is capable of 5 - 10 A secondary current, you could use that but you must be able to insert an ammeter in series so that you can measure the current accurately. Using 5 A and 50 turns of enamelled copper wire, I can test up to 250 A.

From what you wrote, I knew you had an oscilloscope. According to the UK website, it has a USB connection so I would expect you to be able to transfer a captured waveform to your computer. You need to read the manual and experiment. The sound card oscilloscope is good for pictures but it is not calibrated, again you can see how I connected it in the test report. It would be much better to use your Rigol 'scope.

calypso_rae's picture

Re: SCT-013-000 giving "almost double" measurements

Robert, ss far as I could see, Manuel was using one of the standard OEM sketches and was surprised that his values were not as expected.  You said yourself that "the calibration constant is worked out for you in Building Blocks - Calibration theory, the number you should be using is 60.6."

In order to investigate the signal that a CT is generating, some kind of measurement system is needed.  I don't have an oscilloscope or any specialised test equipment, but I have found it very convenient to use the Aurduino's ADC for this purpose.  When run at 5V, each ADC level corresponds to approx. 5mV, so the peak-to-peak amplitude of an AC signal can be easily recorded.   By displaying such waveforms with my RawSamplesTool, it should be evident how much of the waveform is signal rather than background noise.

Several constructors have found these simple tools to be of use, particularly when burden resistors or divider ratios for the AC voltage source have been incorrectly fitted.  But everyone is free to choose how to test their own equipment.

hanguyen's picture

Re: SCT-013-000 giving "almost double" measurements

I

use a digital multimeter to measure the value of SCT 013, it give me voltage AC, not Current AC. the resistor at tip & sleeve) is 100 ohm. So is there any change in the circuit. I leave out the 33 ohm burden resistor. So I can read the value on Arduino , but the result fluctuate so much

 

Robert Wall's picture

Re: SCT-013-000 giving "almost double" measurements

You have a SCT-013. Which one? There are many variants. If you have the SCT-013-000, that gives you a current of 50 mA per 100 A of primary current. If you have one of the other variants, that will give you a voltage of 1 V ac, the current you need to get 1 V depends on which one you have.

If you have the SCT-013-000 and connect a 100 Ω resistor across it, you will measure 5 V at 100 A primary current. That is too big even for an Arduino running from a 5 V power supply, because the voltage swing from peak to peak is 14.14 V, therefore the maximum current that you can measure will be 35 A approximately.

How are you obtaining the value you read in the Arduino? Have you connected it like this: http://openenergymonitor.org/emon/buildingblocks/ct-sensors-interface

Are you using this code: http://openenergymonitor.org/emon/buildingblocks/arduino-sketch-current-...

You must change the input pin in Line 20 to suit how you have wired your Arduino.
That will not give you the correct value of current, but it will give you a steady reading. You can calibrate it by changing the number "111.1" also in line 20. The way to calculate the correct number is in Building Blocks > CT and AC power adaptor installation and calibration theory.

hanguyen's picture

Re: SCT-013-000 giving "almost double" measurements

After, test some circuit, do some measurement with sct 013 only. Finally, I change the calibration in the current function and I get the correct value.Its value is 62.3

Robert Wall's picture

Re: SCT-013-000 giving "almost double" measurements

Your calibration constant is correct for a burden resistor value of 32 Ω

Is that the value of your burden resistor?

hanguyen's picture

Re: SCT-013-000 giving "almost double" measurements

yes, i use the burden resistor value of 32 Ω. Now, I want to use 160A Split core current transformer SCT-027H ,http://www.yhdc.com/en/product/356/
is there any change in the hardware and the code
SCT 160A has 40mA @160A, the same to SCT 100A.

Robert Wall's picture

Re: SCT-013-000 giving "almost double" measurements

There should be no need to change your burden resistor, but you can move to a slightly higher value if you wish - the objective is to have about 1.6 V at the maximum current that you want to measure. You will also need to change the calibration constant in order to output the correct values. The calibration theory page gives you the details.

I will soon delete your post in the "Simple invasive 3-phase energy monitor" thread. What you are asking/proposing there is completely off-topic (because you are using NON-invasive means). There is already a 3-phase sketch on GitHub, you should start with that and convert the I/O addresses to suit your Arduino.

hanguyen's picture

Re: SCT-013-000 giving "almost double" measurements

I have just test with the same circuit wth 160A non invasive, i change the calibration constant for current. But I have problem with power factor, it has lower value about 10-50% depends on the current value. If current value high @6A, it lower 10%, @ 3A it lower than 12%.@0.2A,it lower than 50-60%

hanguyen's picture

Re: SCT-013-000 giving "almost double" measurements

When I run sct 013-000 (100A) with Mega 2560, the voltage fluctuate around 5V it means that i show the value from 225-230V, but when I run the same sketch with Uno R3, it change only 0.5V. Do I need to change something when run Mega 2560?

Comment viewing options

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