# AC current sensor

What would be a simple circuit to monitor a 120 volt line current?

Connecting an Arduino to the circuit would allow one to detect when the attached device has shut down, for example a washer, dryer; or perhaps to monitor usage, a child's TV.

• is your CT work directly on controller – user40174 Apr 10 '14 at 13:25

Many exist:

Two possibilities:

• Current transformer (CT) - search this site for recent dicussion. Available from many surplus and hobbyist sites.

A CT consists of a single "turn" "winding" on a magnetic core with an N turn secondary. The 1 turn winding can be just a wire transiting the enclosed core centre. Many CTs are available with "split cores" which may be opened to allow the CT to be inserted over existing wiring.

A CT must ALWAYS be used with a terminating resistor so that the output current can produce an output voltage. Without this it will make very very very large voltages indeed. For 1:N transformer

• Vout = Iin/N x Rload

If desired a CT can be used stand alone with very few other pars as an on/off current monitor.

Buy a CT here from Sparkfun

LOOKS easy :-)

Related by=ut not identical

Related - Hall sensor

• It's worth noting you can't get power consumption using a current transformer alone. You also need the line voltage (which is what the "Power Adapter" in the above schematic is for). You need some way to know what the AC voltage is as well as the current. – Connor Wolf Dec 13 '11 at 5:02
• @FakeName - for many values of can't :-). I wondered whether to comment. He wants just on off so you could power an LED. | & for his purpose load current alone is good enough. | If you are willing to allow a minimum load / current that you will "see" you can power the output from the current winding. – Russell McMahon Dec 13 '11 at 6:34
• Yep. For straight on/off, a current transformer should be fine. It will just behave oddly if it is loaded with a purely reactive load. – Connor Wolf Dec 13 '11 at 6:37

Probably the easiest to use is the i-Snail-VC-10:

It's a current transformer with built-in electronics that give you 0-5V DC output for 0-10A AC. And it's self-powered, so you don't have to worry about that either. Connect it to an ADC input of the Arduino and you get a direct reading of the device's current. Drawback: it's expensive.

You can use a simple current transformer and add your own electronics. Russell already gave the equation

$V_{OUT} = R_{LOAD} \times \dfrac{I_{IN}}{Turns \mbox{ } ratio}$.

Note that this isn't linear, though. For instance this 10A CT has a 1:1000 turns ratio.

It outputs 100mV/A in 100$\Omega$, so that agrees with the equation. But at a 5000$\Omega$ load it will output only 1.42V/A, that's only 284$\mu$A/A instead of 1mA/A. So don't expect to get 1000V out at 1M$\Omega$!

If we use the 5k$\Omega$ load we get $2V_{PEAK}$/A (the 1.42V is RMS). Feed that voltage over a 10k$\Omega$ resistor to a non-inverting opamp amplifier. If we use a single supply RRIO opamp we'll get automatically rectification: the negative half will be cut-off at the output. We'll just have to use a Schottky diode at the input to clamp negative input voltages to a safe level.

If you set the amplification to x10 you get $5V_{PEAK}$ for 500mV in, which means 250mA primary current. That's about the current you'll get on a 120V mains for a 30W load. Increasing the amplification will get you a higher sensitivity.

The opamp's output is a rectified sine. Use a peak detector (diode + capacitor) to get a DC voltage, and feed that to your Arduino.

An easy non invasive method could employ a split core current transformer. Essentially you put the coil around the AC power line and it produces a current porportional to the current in the line being measured. Put this current through a precision resistor and the voltage developed can be measured with an ADC.