Electronic – How to build very low cost current transformer

current measurementmainsmicrocontroller

Im building low cost home energy monitoring system. I want to see how much energy is used by water heater, big water pump, kitchen equipment, lightning, computer. I would be awesome if I could measure every light and socket in my house.

I found relatively cheap current transformers at local market, but they are a bit too expensive for project like this (I need too many of them).

I need few current ranges (5A, 10A, 20A). I want to measure these currents with microcontroller ADC.

So, the question is:

How can I build low cost and relatively small size current transformer?

  1. Does it have to be toroidal, to be small (under 2x2x2cm for 20A CT) and cheap?

  2. If it has to be toroidal – what kind of core can I use? Iron powder cores are very cheap – can I use it? I can buy iron powder cores (AL range from 33 to 83). for 0.10EUR.

I know that winding toroids is complicated, but I have some mechanical skills and I feel I can build little toroid winding machine if toroid is required for small size.

If someone reply with exhaustive answer (in form of howto?) I will award it with big bounty (after 2 days).

Best Answer

Find the lowest cost 'iron cored' transformers you can that has enough room inside a lamination 'window" to allow you to push a wire through it. Room for two wires even better but room for one will do.

Insert an insulated wire through the hole so it is effectively a 1 turn winding.
Twist the ends(insulated)around each other so they form a tight loop around the core.
Two wires through (effectively two turns) MAY make it slightly less amenable to disturbance by wire movement. May.

You now have a current transformer.

Place a smallish resistor across the winding.
Pass AC current through the wire.
Measure voltage with a meter.
Adjust resistor to suit.

A small power transformer should work well but almost any steel cored transformer will work. Small audio interstage coupling transistors with steel cores should work - but more turns will usually give more volts per amp.

Report back.

NB I have NEVER tried this specific arrangement but am confident that it will work.
You will be able to calibrate a range of transformers by adjusting the resistor value.


Designing a current transformer:


Given a transformer with a single primary turn, an N turn secondary and a desired output of K Volts out per amp in. The resistor R across the secondary is given by

R = k x N

Note that core magnetisation and saturation are issues in real world cases. For A amps input current and 1 turn primary the core must support A amp turns of magnetisation without saturating.


Current transformers may seem magic but actually operate under very standard transformer rules.

A "normal" (ideal) transformer usually has a fixed voltage applied which is mirrored into the output but multiplied by the turns ratio N (Vout = Vin x N) and the output current is multiplied by 1/N so Iout = Iin/N.

A current transformer works no differently BUT instead of constraining Vin and letting Iin assume an appropriate value we instead constrain Iin and let Vin assume whatever value happens to happen. In fact, we do not care about the value of Vin usually - we care about Vout. So we set Iin - which is the current being "measured", this produces Iout = Iin/N, we select an output vresistor for Iout to flow in so that Vout is some desired value for a given Iin, and we then measure Vout to establish what Ion is. Vin is Vo/N but is almost never measured.

Given a transformer with 1 primary turn and N secondary turns.
R = resistor placed across secondary for Iout to flow in. Is = Isecondary
p = Iprimary.
N = turns ratio (Turns_in / Turns_out) . k= desired volts out across R per amp in the primary. R = resistor across secondary.


Is = Ip/N (standard transformer action.)
R = Vs/Is
but Is = Ip/N
Vs = K.Ip where we select R to make K = Vout/Iin to assume the value of our choosing.

Set Ip = 1 Amp
Is = Ip/N Vs = k
R = Vs/Is = k / (Ip/N) = KN/Ip
As Ip = 1

R = kN !!! Amazingly simple. ie Select K = Volts out per Amp in. Select or use available turns ratio N.

Set R = k.N = Volts/Amp x turns ratio

To find a resistor across output to get K Volts per amp. V=iR so R = V/I. For Iprim = 1, V sec = k. R = V/isec = VN/Iprim = kN/1 = kN. | R = Volts per amp x turns ratio.