# AC Current Sensor Clamp - Few Questions

Hello,

I have been looking at the Open Source Energy Monitor project and wanted to do a similar sort of thing, however using a slightly different method.

I am planning to use the 0-100A CT from Seedstudio, which from what I can tell is Current/33mA. http://www.seeedstudio.com/depot/noninvasive-ac-current-sensor-100a-max-p-547.html?cPath=144_154 From what I have read, does this mean that at 100A input, the sensor will report 33mA current output?

So by putting a shunt resistor across the output, it will gives a voltage output which I can then read.

Where the Open Source project is going into the Arduino ADC, I am planning to put mine into a 12bit IC, which then talks to the Arduino over I2C. The IC is a MAX127ACNG+ by Maxim. http://datasheets.maxim-ic.com/en/ds/MAX127-MAX128B.pdf The 12bit ADC I have can take a range on inputs, you can effectively program the range in when you communicate to it over I2C – rather nice really. It can take 0-10V, +/-10V, 0-5V and +/-5V

So taking this into account, I would ideally like the CT to provide +/-10V output, or failing that 0-10V output.

What I am posting about is hopefully for someone to assist with helping me achieve that from the Seedstudio CT Model: SCT-013-000. This is one side of things I have never played with before and am wanting to learn about.

Do I have this correct:

At 100A, it will output 33mA? V=IR, so 10V = 33mA * R So 10/0.033 = 303ohm

So if I put a 300ohm resistor in for the shunt resistance, and attach one side to a 10V supply, does that mean I will get +/-10V output over the 0-100A range, due to this sensor outputting AC? Looking a this further, I am not 100% sure about this. Do I simply put this into a Non-Inverting Op Amp setup, to achieve a +/-10V output?

Forgive the ignorance, as mentioned, not something I have played with before.

Thanks James

You do not need any voltage supply. The CT will drive the 0-33mA output current through your 300 ohm burden resistor to generate a 0-10volts [u]AC[/u] signal. Your problem now is to convert this into a nice clean 0-10 volts DC.

Whilst such CTs are a relatively inexpensive and easy way of measuring current, they do have a few draw-backs. Firstly they can measure AC only. If you want to measure DC currents you will need a hall type sensor. As you can see from the spec sheet they are also relatively poor with respect to linearity and this gets very poor at low current levels. And finally, they output an AC signal which you will need to rectify, clean up and condition before you can effectively feed it into a micro device. This in itself creates other non-linearities since bridge rectification will distort the lower value signals (the bridge needs around 1.4 volts across it before you will see any signal).

All in all, given the choice, I'd suggest you go for a hall sensor which can come complete with in-built conditioning circuits. These operate off a low DC voltage (typically 5 or 12) and output typically a DC voltage scaled to suit your current range. They are slightly more expensive but offer the capability of reading both AC and DC currents and you don't have the problems of building a conditioning circuit.

Thanks

I think ill just stick with the AC CT's at this stage.

The Open Source project I was refering to does everything in software. It basically just adds a DC offset to the AC, and feeds that into the Arduino. http://openenergymonitor.org/emon/node/59

Cheers

In the project I refered to above, all the conditioning is done in the Software, which is great to an extent - however I am wondering if I should go down the path of attempting to condition it outside of the arduino.

I did some googling and found an Op-Amp approach to rectification.

If I get the CT, put a 300ohm burden resistor across it to give me a 10V AC signal when 100A is being measured. (Question 1: this is a Sine wave that is 0-10V, so 10V for the positive side of the wave and 0V for the negative side, with 5V being the center - in the case of 100A being measured? so at 50A, then the center would be at 2.5V?) If I feed this AC signal into a Op amp buffer circuit, and then feed it into the Op Amp full wave rectifier above, then get the rectified AC signal. I then assive I need to filter/smooth this to give me a DC level. Question 2. When I rectify the AC signal, will the signal go from a 0-10V signal @ 100A being measured, to a 5-10V signal @ 100A being measured?, since the lower half is now on the top half too?

As you can probably tell, I cant visualise what the wave levels will be. Can someone assist?

Is this sort of approach acceptable?

I have a few TLV2371 Op Amps, and all the other small components required. I dont have an oscilliscope however. I am waiting on the current clamps to arrive also.

Just wanting to get some ideas at this stage. Is this sort of approach an ok method?

Still alot to learn.

Thanks James

Any progress here? I'm interested in doing something similar and would love to hear more about your progress!

(Question 1: this is a Sine wave that is 0-10V, so 10V for the positive side of the wave and 0V for the negative side, with 5V being the center - in the case of 100A being measured? so at 50A, then the center would be at 2.5V?)

It's more complex then that. AC voltage unless otherwise noted are given in RMS value. Also The AC voltage output from the CT with one output terminal tied to the circuit reference will produce both a positive and negative voltage. So for your example of 10v (rms) = to 100A then the wave form produced would reach a positive peak voltage value of +14.14 then on to 0 volts then on to a -14.14 volts.

The opamps and diodes in the circuit reading the CT's AC voltage is to rectify it (convert to positive voltages only) and scale the output to a specific range of 0-+xx vdc.

Question 2. When I rectify the AC signal, will the signal go from a 0-10V signal @ 100A being measured, to a 5-10V signal @ 100A being measured?, since the lower half is now on the top half too?

Using the circuit you show the AC input voltage from the CT's secondary winding will produce a sine wave voltage that will vary from +14.14 peak volts to -14.12 peak volts. Yes a 10 volt AC (RMS) voltage is the same thing as saying a sine wave has a 28.28 volt peak-to-peak voltage value. As best as I can tell the output of that rectifier circuit will output a 0 to +14.14 signal when current is sinewaving from 0-100 amps.

Lefty

You may want to filter the signal a bit by placing a capacitor to ground on the output of the op-amp.

Hello

No I havent done any more on this yet - sorry. I have been busy with another project, flat out at work, a 18 month old son and renevating the bathroom.

Thanks very much for the extra information posted.

I have the current clamps and I am in the process of choosing an oscilloscope to buy, so this will all make things alot easier to design.

I will get back onto this project, but probably not until mid July.

Cheers

any progress on this WanaGo ?? I have an upgraded version of openenergymonitor project running at home for a couple of years, but I was thinking about the possibility of doing the rectification in hardware and make the arduino just read the input of the analog. this would simplify the software alot and I would learn some more things about electronics. so let me know if you made any progress please

Hi there,

Sadly no, too many other things on the cards, havent had a chance to get back to this yet.

I am in the middle of a project which includes measuring RMS AC voltage, and you could use a similar arrangement to measure RMS current, like this:

• use a potential divider across the 5v supply (e.g. 2 x 10k resistors) to get a 2.5v reference
• connect that reference to an analog input pin (call this the reference pin) and also to one side of your sensor
• put a resistor across your sensor so that at maximum current, the voltage across the output will be a little under 5v peak to peak (e.g. for 33mA RMS max use about 50 ohms)
• connect the other side of the sensor to another analog input pin (call this the sensor pin), through a 10K resistor to protect against transients

(note no op-amps or rectification involved)

The software needs to read the reference pin, then read the other analog pin at intervals of 1ms or less. From each reading, it subtracts the reference reading, squares the result, and adds it to a total. When you have accumulated a total for some number of whole mains cycles, you can use it to calculate the RMS current. Because of the frequency of ADC readings, it's best to use the ADC conversion complete interrupt to avoid holding up the cpu while the conversion is in progress.

I can provide the software if you need it.

dc42:
I am in the middle of a project which includes measuring RMS AC voltage, and you could use a similar arrangement to measure RMS current, like this:

• use a potential divider across the 5v supply (e.g. 2 x 10k resistors) to get a 2.5v reference
• connect that reference to an analog input pin (call this the reference pin) and also to one side of your sensor
• put a resistor across your sensor so that at maximum current, the voltage across the output will be a little under 5v peak to peak (e.g. for 33mA RMS max use about 50 ohms)
• connect the other side of the sensor to another analog input pin (call this the sensor pin), through a 10K resistor to protect against transients

(note no op-amps or rectification involved)

The software needs to read the reference pin, then read the other analog pin at intervals of 1ms or less. From each reading, it subtracts the reference reading, squares the result, and adds it to a total. When you have accumulated a total for some number of whole mains cycles, you can use it to calculate the RMS current. Because of the frequency of ADC readings, it’s best to use the ADC conversion complete interrupt to avoid holding up the cpu while the conversion is in progress.

I can provide the software if you need it.

I believe that’s the method used in openenergymonitor.org.
Although it would be nice to see your code in order to compare and spot possible benefits or differences.