0
\$\begingroup\$

I have purchased CT but don't know what his terminals means and how to identify primary and secondary coils terminals. I am software engineer but currently learning pic controller. as for I have read LM35 using pic16f877a and now working to measure load using Current transformer but no achievement until now. Can anyone tell me how to use current transformer to measure current with wiring diagram with explanation. any help would be help full as am trying google since more then 83 hours and have tried few circuits but no help. below are the provided pics of CT. Supplier didn't provided me any technical manual.

I want to measure load of AC current of three phase, which is provided from grid to our office.

If I pass load wire from primary coils which is center hole then I receive AC 1.08v on secondary coil terminals. how Can I connect this to adc of Pic16f877a?

CT CT CT with AC Voltage output

am currently using this circuit to read value with adc of pic16f877a, if it's ok?

Update::

Currently am using provided code to take sampling but value varies from 485 to 535. while constant value without load is still 514. for load I have used iron and made 14 turns in CT as provided in picture. to connect CT I have used @Olin Lathrop provided circuit in one of the answer. Peter Bennett has suggested to rectify signal is it a case?

set_adc_channel( 1 );
value = read_adc();//Read ADC Value



for(i=0;i<200;i++)
{
   value = read_adc();//Read ADC Value
   temp = value/1024;
   c = 0;
   if(temp > c)
   {
      c = temp;
   }
   delay_ms(2);
}
for(i=0;i<200;i++)
{
   value = read_adc();//Read ADC Value
   temp = value/1024;
   c = 0;
   if(temp > c)
   {
      c = temp;
   }
   delay_ms(2);
}
for(i=0;i<200;i++)
{
   value = read_adc();//Read ADC Value
   temp = value/1024;
   c = 0;
   if(temp > c)
   {
      c = temp;
   }
   delay_ms(2);
}
for(i=0;i<200;i++)
{
   value = read_adc();//Read ADC Value
   temp = value/1024;
   c = 0;
   if(temp > c)
   {
      c = temp;
   }
   delay_ms(2);
}
for(i=0;i<200;i++)
{
   value = read_adc();//Read ADC Value
   temp = value/1024;
   c = 0;
   if(temp > c)
   {
      c = temp;
   }
   delay_ms(2);
}
temp=c;


printf(lcd_putc,"=:%d=:%d=:%d=:%d=:%d:=\n:%f:", input(PIN_B0), input(PIN_B1), input(PIN_B2), input(PIN_B3), input(PIN_B4), value);
output_low(pin_B7);
delay_ms(2000);
}

circuit to connect with adc

\$\endgroup\$
5
  • 1
    \$\begingroup\$ The primary is probably the big hole through the middle; a cable carrying current goes through the hole. This means there are no primary connections physically to the CT. What current are you trying to measure? Is it current from the AC power supply to a motor, current from a battery (the CT won't work) or something else? \$\endgroup\$
    – Andy aka
    Mar 21, 2013 at 19:15
  • \$\begingroup\$ I want to measure load of AC current of three phase, which is provided from grid to our office. \$\endgroup\$ Mar 21, 2013 at 19:20
  • \$\begingroup\$ what could be the max output of this CT according to config provide on CT? \$\endgroup\$ Mar 21, 2013 at 19:29
  • \$\begingroup\$ you should read through the vast literature available on this subject at openenergymonitor.org... start here: openenergymonitor.orga/emon/buildingblocks/ct-sensors-introduction \$\endgroup\$
    – vicatcu
    Mar 22, 2013 at 2:48
  • \$\begingroup\$ @Leon Heller How Can I merge questions? as I have to accept one answer here but don't know if it will be deleted if I delete question. \$\endgroup\$ Mar 22, 2013 at 6:40

2 Answers 2

2
\$\begingroup\$

From the pictures of the CT it says 60:5A and I'm making a guess that means if you input 60A through the hole, then the output (into a small value burden resistor) will be 5A.

If the max input current is 60A through one phase of your 3-phase supply, the current into your burden resistor (1ohm) will produce a peak-to-peak voltage of 5A x 1ohm x sqrt(2) x 2 Vp-p. This equals 14.142Vp-p. This will be too much for most micros BUT we don't know what your anticipated max input current will be.

Assuming it is 60A you'll need to attenuate the output voltage by a factor of something like 5 to make it work correctly within the limits imposed by the ADC you might use.

EDIT - The 1ohm burden resistor is likely to be the best candidate for adding attenuation. If instead of 1ohm it were 0.2ohm you have, in effect reduced the output voltage by one-fifth and this will now produce 2.828Vp-p - now use Olin's circuit (shown elsewhere on this page) but with 0.2ohms instead of the 1ohm shown.

Another advantage of reducing the burden to 0.2ohms is power dissipation; with 5A flowing, the power dissipated iin the 0.2ohms resistor is 5W and much more manageable.

I'll also add that the measurement on your meter (picture above) is somewhat confusing. You appear to be measuring 1.06VAC but note you have fed the input wire through the centre of the CT several times and this is not representative of anything really useful.

\$\endgroup\$
6
  • 1
    \$\begingroup\$ Having several turns of the primary wire through the current transformer multiplies the sensitivity by the number of turns. If he as 5 turns, and passes 5 amps through the primary wire, the CT will measure that as 25 amps. \$\endgroup\$ Mar 21, 2013 at 22:29
  • \$\begingroup\$ If the OP just wants to measure the RMS current, rather than monitor the waveform, he should rectify the CT output voltage before applying it to his ADC. \$\endgroup\$ Mar 21, 2013 at 22:31
  • \$\begingroup\$ @Peter bennett I want to measure load only So how to rectify it. \$\endgroup\$ Mar 22, 2013 at 6:38
  • \$\begingroup\$ @sharafjaffri I used a Schottky bridge rectifier BAS70BRW followed by a voltage divider and filtered with a 100uF 20 V capacitor. I'm not sure why the Schottky bridge was chosen - regular diodes may also work. \$\endgroup\$ Mar 22, 2013 at 17:51
  • 1
    \$\begingroup\$ @sharafjaffri ok your centreline (quiescent no signal-condition) is 514 and you see an excursion of -64 to +166. This is a little asymmetrical and points to you possibly not sampling the signal at a high-enough sampling rate. You should be sampling at above nyquist rate which is going to be 100Hz for a 50Hz supply. I would recommend sampling higher still, maybe 200 samples per second. Alternatively you convert the AC signal to DC with a method told by Peter Bennett. Maybe this is another question you need to raise; Best way to convert CT output to DC for measurement? \$\endgroup\$
    – Andy aka
    Mar 22, 2013 at 20:06
2
\$\begingroup\$

If the transformer is already putting out 1.08 V (that's with the specified load resistor, right?), then you don't need to do much more. 1.08V RMS is 3.1 V peak to peak. That's enough range to go directly into a PIC A/D input without loosing much resolution. However, the voltage needs to be centered about the middle of the A/D range. Here is a simple way to do that:

T1 is the secondary of the current transformer. R1 and R2 set the DC level, which will be in the middle of the A/D range. C1 provides a little filtering against power supply noise.

You don't want to make C1 too large. The parallel combination of R1 and R2 are a impedance effectively in series with the transformer. If a sudden current spike occurs in the line being sensed, the output of the transformer could exceed the PIC's supply range. Since the transformer output has low impedance, this can do bad things to the PIC, including blowing out the protection diodes, which then lets the voltage go higher and blow out other stuff. The impedance in series with the transformer helps these rare cases not cause physical damage. Since C1 lowers the impedance, you don't want to make it too big. There are other better schemes for dealing with spikes, but this is a simple circuit that is easy to hook up.

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.