Current Transformer

Hallo

how do i use this Current Transformer to measure how many amps I use

would it work if I put THIS on the wires from the Current Transformer?

Hope you can help me.

It would be helpful if you post to the English pages.

From what I read on the sensor: it outputs 0-50 mA for a current 0-100A.

The second is a current sensor, measuring up to 20A. It doesn't make sense to try and measure 50 mA with a 20A sensor. That's no match.

My best guess, based on the very limited info: use a resistor (100 Ohm) to convert the 0-50mA output into a 0-5V signal, which you can then read on the Arduino. Look for schematics of reading 4-20mA sensors, that's normally done with a 250 Ohm resistor, you would just replace that with 100 Ohm.

Hi,
Are you measuring AC or DC current?
What is the maximum current you will need to measure?
What is the load causing the current?

Thanks.. Tom.. :slight_smile:

Sorry for missing info.

It's to measure up to 400v 50a ac.

Of course AC, otherwise such a transformer wouldn't work in the first place. So the output is also AC - which means you should add a rectifier at least.
And then my transformer knowledge is too lacking to know the relationship between current and voltage when you add a load.

https://learn.openenergymonitor.org/electricity-monitoring/ct-sensors/introduction

there are a couple pages

wvmarle:
Of course AC, otherwise such a transformer wouldn't work in the first place. So the output is also AC - which means you should add a rectifier at least.
And then my transformer knowledge is too lacking to know the relationship between current and voltage when you add a load.

a CT is a clamp-on or pass through unit that develeops a realationship of current in and AC voltage out.
if you have, say 2 volts AC, you need to eleveate that to get something like 1/2 volt up to 4.5 volts.
it is still AC, but you can read that on an analog input pin.

Thanks. I will read up on that.

I bought one of their arduino shield. However, I can not figure out the data so I can use it to enable relays when I'm making too much power.

brunokc:
Thanks. I will read up on that.

I bought one of their arduino shield. However, I can not figure out the data so I can use it to enable relays when I'm making too much power.

What shield?

aarg:
What shield?

I am going out on a limb.....
guessing 'their' means open energy mon
and the only Arduino shield I know they have is this

brunokc:
Thanks. I will read up on that.

I bought one of their arduino shield. However, I can not figure out the data so I can use it to enable relays when I'm making too much power.

OK, so one of the rules of all internet forums, is you start with a simple explanation and links to details.
I have this schield :

and tried to make it work, but cannot read the amps.....
or , I can read amps, but now want to have relays open and close when the amps get too high.

my device reads 0 amps when not working, and it rads 3.2 amps when running full.

I want to turn the relay on at 2.4 amps.

[ I read and understand the how to use this forum and understand what a 'code tag' is ]

here is my code [in code tags ]

I think OP is not interested in the waveform so it may be easier to put the signal through a rectifier and then add a capacitor (10-100μF) for a constant output voltage. Then it doesn’t matter so much when exactly you make the measurement. Like this:
schematic.png

After that it’s a matter of calibration.
I assume linear relation between output current and the measured current.

Then to switch the relay based on the current, very simple:

void loop() {
  reading = analogRead(A0);
  if (reading > 500) {
    digitalWrite(RELAY_PIN, HIGH);
  }
  else {
    digitalWrite(RELAY_PIN, LOW);
  }
}

This way you switch the relay on and off at about 200A.

0A should give a reading of 0, 400A should give a reading of about 1023. Burden resistor value could be lowered a bit to keep maximum voltage just under 5V - safer, without losing too much accuracy. Also no hysteresis in this code: if current is 200A the relay may start switching a lot as readings are not perfect.

wvmarle:
I think OP is not interested in the waveform so it may be easier to put the signal through a rectifier and then add a capacitor (10-100μF) for a constant output voltage. Then it doesn’t matter so much when exactly you make the measurement. Like this:
schematic.png

After that it’s a matter of calibration.
I assume linear relation between output current and the measured current.

Then to switch the relay based on the current, very simple:

void loop() {

reading = analogRead(A0);
 if (reading > 500) {
   digitalWrite(RELAY_PIN, HIGH);
 }
 else {
   digitalWrite(RELAY_PIN, LOW);
 }
}




This way you switch the relay on and off at about 200A.

0A should give a reading of 0, 400A should give a reading of about 1023. Burden resistor value could be lowered a bit to keep maximum voltage just under 5V - safer, without losing too much accuracy. Also no hysteresis in this code: if current is 200A the relay may start switching a lot as readings are not perfect.

This looks great, but my current transformer only goes up to 100A, and I only need measure up to 50A max.
Is there a way to scale it down to 50A max

@wvmarle the OP has the openenergy shield that does it everything. he just doesn’t know how to use it

Juraj:
@wvmarle the OP has the openenergy shield that does it everything. he just doesn't know how to use it

i do not want to use it because it uses all i / o on arduino so i can not make 4-6 relay outputs.
If I just had to log amps, I would use it.

brunokc:
This looks great, but my current transformer only goes up to 100A, and I only need measure up to 50A max.
Is there a way to scale it down to 50A max

Amend the value of R1 accordingly.
400A = 50 mA so 50A will be 6.25 mA, to get 5V you need 800Ω.
So get a 1k resistor so you have a bit of a margin before maxing out your ADC.

brunokc:
i do not want to use it because it uses all i / o on arduino so i can not make 4-6 relay outputs.
If I just had to log amps, I would use it.

Shields are designed to pass through any unused pins. That’s why this one is offered with extra long, stackable pins. No way that shield needs all I/O for itself.

brunokc:
This looks great, but my current transformer only goes up to 100A, and I only need measure up to 50A max.
Is there a way to scale it down to 50A max

yes,
read openenergymon about the ballast resistor.
use the openenergymon sketch for amps only for one channel.
use the openenergymon schematic for connecting to one analog pin on the arduino.

wvmarle:
Amend the value of R1 accordingly.
400A = 50 mA so 50A will be 6.25 mA, to get 5V you need 800Ω.
So get a 1k resistor so you have a bit of a margin before maxing out your ADC.

Shields are designed to pass through any unused pins. That's why this one is offered with extra long, stackable pins. No way that shield needs all I/O for itself.

not all.... but
A0 through A4 for current and temperature
D0 thru D6 and D9 thru D13 for SPI
so, you do get to have A5, and D10 thru 12 for whatever you please.
but, this is a hobby world and you are allowed to do what you want .
remove pins A1 thru A4, free up all the rest.
leave power.
remove all the used pins, leave D10 thru 12 as pass-thru and to hold the board in place.
you can get stackable headers and remove some pins and then raise the board up and use it that way.
you can use jumper wires and use the selected pins of your choice.

wvmarle:
I think OP is not interested in the waveform so it may be easier to put the signal through a rectifier and then add a capacitor (10-100μF) for a constant output voltage. Then it doesn’t matter so much when exactly you make the measurement. Like this:
schematic.png

What diode bridge rectifier do i use?
does this not need gnd and vcc from the arduino?