In the last posts we saw how a fluxgate works in simulation. Simulations are all good when you can just add a pulsed voltage source - everything is perfect. In the real world, we have some challenges:
1) We need very low DC offset to avoid adding DC offset to the sensor.
2) We need a modest power capability to excite the fluxgates. I'm looking at around ±12V @ 250 mA, which requires some care.
3) Because the ferrite cores of the fluxgates are not identical, I would like a way to adjust the voltage level and timing of the outputs.
This one's easy: add a DC blocking capacitor. I did some sims and found that a 10 uF cap seems to be OK. Given that this cap will have a bit of ripple current (max 250 mA RMS) and could see negative voltage, I would use film or chip ceramic types here - not electrolytic.
This is not to say that an appropriate electrolytic wouldn't work, but it must be chosen carefully.
There are 3 options here: 2A) high power op amp, 2B) opamp with external buffer, 2C) MOSFET driver stage.
2A) we can just buy a high power op amp. However, these critters can be expensive, unavailable, or only come in inconvenient packages. Cooling could also be an issue.
2B) An opamp with an output buffer a good option.
We can take a common op amp (here a TL071) and add a pair of Bipolar Junction Transistors (BJTs) as an output buffer.
So, what are the components doing?
- U1 is a TL071 opamp and functions as a voltage amplifier.
- Q1, Q2 form a complimentary emitter follower (current amplifier).
- R1 limits base current into the BJTs and should (hopefully) help keep things stable.
- Rf and Rb provide voltage feedback to the opamp. Note that Rf is connected to the output Vo, so the voltage drops in Q1 and Q2 are automatically compensated.
- C1 provides negative feedback at high frequency to provide stable operation of the opamp.
- V3 is the pulse source.
Success! Note that we will dissipate some power in Q1 and Q2 - we need to consider this later.
Let's have a look at what C1 does. Below is a plot of the rising edge at t = 0.5ms with varying values of C1 (10pF (green), 20pF, 50pF, 100pF, 200pF, 500pF (grey)). As the value of C1 goes up, things slow down. We also see a 'bump' around 501us - this is caused by the output voltage rising above 0V, which means the output current changes from negative to positive, and therefore we must transfer the current from Q2 to Q1. This is crossover distortion, and is a big deal if you want a HiFi amp, but probably not a problem here.
Note: we could use a single +30V supply rail and rely on the output coupling cap (not shown here) to give us 0V DC. However, I expect to need ±15V rails later in the game.
2C) A MOSFET driver looks like a good option. We would get a good square output with low power losses (especially as we will have a switching frequency around 4kHz -> basically no switching losses!). As an added bonuse, we have a
Have a look at the LT website to get an idea of what's involved. I'm not going to bother simulating this because there's a problem... we can only control the amplitude of the pulse by adjusting the DC supply rails. This means extra DC-DC converters (or linear regulators) which is a pain.
Time / Voltage Trimming
The two ferrite cores used for the fluxgates will not be identical. Hopefully they will come from the same batch and be similar, but identical is too much to hope for. Therefore we should be able to adjust the voltage levels and pulse timing independently for each channel.
Adjusting the timing of the pulses is pretty similar for option 2B and 2C.
Adjusting the voltage levels of the pulses is not. For option 2B, we can simply use a couple of Digital to Analog Converters (DACs) to our system controller. For option 2C, we would need separate, independently regulated power supplies. This is a pain.
Therefore I am going with option 2B; opamps with output buffers.
Until next time