# Closed Loop Fluxgate (v0)

A project log for DC Current Transformer

Investigating fluxgate current sensors (DC capable) with detours into analog electronics and switched mode power supplies.

(Edited by jbb 21/3/14 for typos)

As we saw in the previous two posts, we can use a fluxgate to measure an unknown primary current.  The use of two fluxgates provides (partial) cancellation of induced ripple Electro Motive Forces (EMFs) in the primary circuit.

However, we also saw that the current range of the fluxgate sensor is limited to around half of Isat (see project log 1), i.e. about 3A.  We want a measurement range of around ±25A, so we have a problem - the sensor is only good for 10% of the desired range!

Additionally, we want the induced voltage Ep to be as low as possible, which happens when Ip = 0 (see project log 2).

The solution to both problems is closed loop control. We will add a third feedback winding with Nf turns.  This gives us a pair of 3 winding transformers as shown:

We now have an extra degree of freedom to play with: the current through the feedback windings If. With a bit of closed loop control, we can adjust If such that:

• NpIp + NfIf = 0 (approx)

With a little manipulation:

• If = Ip * Np / Nf
• For Nf = 25, we need to drive If with between -1A and +1A.

This will yield 0V output from the fluxgate current sensor, and 0V of induced voltage Ep.  The model is shown below:

A few points:

• We are using a 2A input current
• I'm using ±5V for the analog stages as it's easier to get good opamps at this voltage level.
• U1 (LTC1992) is a fully differential op amp. This means that it produces 2 output voltages - one 'positive' and the other 'negative' (this output has the circle to show negation).
• I'm using an LT203 as the demodulator - note how it uses the 'positive' and 'negative' outputs of the opamp to do a multiplication by +1 or -1 (modlled here as voltage-controlled switches S1 and S2, also note the .model LT203 entry).
• U2 is a low pass filter. Note that this opamp must have low bias current (which would cause voltage offset when passing through R5 and R6), low offset voltage and (hopefully) low noise.
• U3 forms a PI controller.  R8, R9 and C7 set the parameters.  The maximum output voltage is fixed by the ±5V supply rails to approx. ±5V.
• G1 is an ideal voltage-to-current converter. The gain of 0.2 means that 5V (maximum PI controller output) produces 1A (maximum required If). There will be a future post about how to actually build one of these.

So, let's have a look at the waveforms:

We see that:

• Vz (output of the PI controller) is stable :-)
• On the 2nd plot: the feedback current If (here -25*I(G1)) equals tracks the input current Ip * Np.  I didn't run the sim for long enough to fully settle, but it does.  This demonstrates that we do get Ip*Np = Is*Ns i.e. current transformer behaviour.
• Current I(L1) shows the 'total' current applied to a ferrite core, i.e. NpIp + NeIe + NfIf.
• The output of the fluxgate sensor + lowpass filter (Vy) settles to 0, as expected.
• Not shown: Ep is nice and low.

Fantastic, we have a working DC current sensor!  Now what about 50Hz AC?

Well, after a few ms of transient behaviour at startup, we do get a sinusoidal current out.  However, we have quite a bit of phase shift (power measurements using this would be useless!).  In a future post we will talk about bandwidth extension with a third ferrite core functioning as a current transformer.

Next post: practical excitation circuits for the fluxgate.

## Discussions 