# BJT as current buffer for op amp

I am working on creating a 10-20KHz 0-5V sine wave feeding a coil which would be around 450uH. At this stage I am stuck in that I can produce the sine wave using an STM32 or a DDS IC but that will not give me a high current. So my first thought was to use a power amplifier such as OPA564 from TI but since I will be making multiple test boards and the OPA564 is too costly so I left that aside. Now I am doing some multisim simulations with a basic op amp such as TLV2371 so that I can follow the sine wave coming from STM32 or DDC IC. On the output of this op amp I use a BJT to increase the current required for the coil to operate.

This works only if I increase the VCC and VCC1 to a higher Voltage say 7V. But I dont want to do that because I will have to include a circuit for boosting voltage. Here is a snapshot of the scope with 7V VCC the output follows the input sine wave.

But when I reduce the voltage back to 5V the output is clipped to 0-3.89V. I would like to be able to get the same sine wave at the output but with a high current so that the coil can work properly. Here is the image of scope showing voltage clipped to 0-3.89V.

Is there any method which can be used to achieve the 10-20Khz 0-5V sine wave and provide around 1 amps of current to the coil?

• You'll never be able to get to exactly 5V. There will always be some voltage drop. The best you can do is something around 4.5V, maybe 4.8V. Is that sufficient? Feb 19 at 18:37
• Yes I can make that compromise but I was thinking maybe there is a much better solution available to do this. Feb 19 at 18:40
• In that case, what's stopping you from using a boost converter to get a 7V supply rail? Feb 19 at 18:46
• This is basically an audio power amplifier. There are a lot of premade ICs and circuits for that.
– jpa
Feb 20 at 7:37

Inductor current will rise and fall at a rate determined by two factors: the voltage across the inductor and its inductance. There are no other considerations. This is the formula that describes the relationship between inductor voltage and current:

$$\frac{dI}{dt} = \frac{V}{L}$$

If you place exactly 5V across a 500μH inductor, current will rise at this rate:

$$\frac{dI}{dt} = \frac{5\rm{\ V}}{500\rm{\ \mu H}} = 10 \rm{\ kAs^{-1}}$$

That means to get to 1A, you have to wait this long:

$$T = \frac{1\rm{\ A}}{10 \rm{\ kAs^{-1}}} = 100\rm{\ \mu s}$$

Even in the best of circumstances, where the 5V source has no resistance which would retard the rise of current, if you do not wait at least 100μs, there's simply no way that you'll ever get 1A flowing through the inductor.

So, let's say your voltage source is a square 5V/0V signal at 20kHz, with no internal resistance, each 5V interval is only 25μs long, and you can see why a target current of 1A is not achievable at that frequency. At least, not using 5V. The only way to get 1A through that inductor within 25μs is to apply 20V across it.

As it stands, then, you have a frequency cap of 5kHz, for which each half-cycle is 100μs, and that's if there's no source resistance, and the signal is square.

Now let's examine what happens when the input signal drops to zero volts in the circuit you show. Transistor Q1 is only able to raise the potential at its emitter. That is, Q1 can only increase the voltage across the load. When Q1 stops conducting, the path from emitter to +5V becomes very high resistance, and the load is then effectively disconnected at its top end.

The load, 5Ω in your simulation, will presumably be the inductor in the final design. When an inductor passing current is suddenly disconnected, its voltage will jump to whatever value is necessary to continue passing that same amount of current. This can be many hundreds or thousands of volts, whatever is necessary to cause the transistor to conduct again (damaging it) or to cause the air to breakdown and conduct (a spark).

Often, the solution is to provide a low impedance path for current to continue flowing, like a diode:

simulate this circuit – Schematic created using CircuitLab

That will remove the spike, but inductor voltage will be clamped to −0.7V, and is no longer under your control during the intervals where your input signal goes low.

It's clear, I hope, that if you wish to control inductor voltage throughout the entire cycle, you will require a voltage source that has low output impedance at all points in the cycle, during both halves. It must be able to both sink and source inductor current. Your emitter follower design can only source current.

The OPA564 may be expensive, but its output is a strong current source and sink. If you build your own power stage, it must also be push-pull, just like the OPA564.

The usual push-pull arrangement is a pair of emitter followers:

simulate this circuit

Being emitter followers, the highest and lowest outputs you can expect here are +4.3V and +0.7V, due to difference $$\V_{BE}=0.7V\$$ between emitter and base potentials. You've experienced this in your own circuit, where the output cannot exceed +4.3V for the same reason. This also assumes the source is able to apply 0V and 5V at IN, which would require a rail-to-rail output op-amp.

This simplistic push-pull design suffers from cross-over distortion, the region in which neither transistor's B-E junction is forward biased. Unless you're OK with the distortion this causes, you'll need to take the usual measures to mitigate cross-over, which is a big topic. I suggest you read up about it. Power op-amps like the OPA564 won't suffer much from this, if at all.

You can effectively double the voltage across the inductor, without having to double the supply voltage, by employing a bridge arrangement. This requires two power stages, one for each end of the inductor, but this will produce a symmetrical, bipolar alternating current through the inductor, which may or may not be what you require.

Lastly, a linear approach like yours will dissipate significant power in Q1. Regardless of the load, with an average of 0.5A through Q1, and 2.5V across it, power will be:

$$P = I \times V = 0.5A \times 2.5V = 1.25W$$

While not huge, that's starting to get into heat-sink territory. It's also only an estimate. If you use higher voltages, average power will increase, so be sure to take care of all that heat.

The alternative to linear is a class D switching apmlifier, which will deliver power to its load much more efficiently, as described by Kuba in his answer.

I'm sorry but pursuing that approach is probably not going to work for two reasons: -

• DC offsets will cause problems with an inductive load (can be solved)
• Not enough supply voltage to get 5 volts p-p

So, I would find a suitable stereo audio amplifier and connect the inductor as a bridge tied load in series with a decoupling capacitor. Example circuit of a bridge tied load: -

The TDA8551 might do what you want: -

Is there any method which can be used to achieve the 10-20Khz 0-5V sine wave and provide around 1 amps of current to the coil?

If you look at the circuit below (running at 20 kHz and 5 volts peak-to-peak), you can see that reaching 1 amps is an impossibility: -

This is because the inductor's reactance is too high at 20 kHz. You might be able to get peaks of 50 or 60 mA when using a bridge-tied inductor but, nowhere near an amp. It's a laws of physics thing.

Is there any method which can be used to achieve the 10-20Khz 0-5V sine wave

Using 5V supply? A class D amplifier IC will do it, but it won't be exactly a 0-5V sine wave due to resistive drops in traces and MOSFET channels within the amplifier. If you want 5Vpp, you'll need 5.1..5.5V supply.

A BJT pair would have, say, 0.5V saturation voltage total, perhaps a bit less, and would be a bit of a pain to drive. I doubt it's worth doing in your case, especially since your load is so perfectly suited for driving by class D amplifiers.

Since the other end of the inductor is presumably connected to 0V (ground), you don't want the 2.5V DC offset present across it, as it will saturate the inductor and then destroy it due to overcurrent. Instead, connect the inductor via capacitive coupling.

provide around 1 amps of current to the coil?

At 5V, a 10kHz sine wave (much less a 20kHz one) won't push anywhere near 1A through a 0.5mH coil. It'll be more like 0.2A.

To prevent such omissions, in the model you shouldn't be using a 5Ω resistor as the load. Instead, use an inductor representative of the one you'll be using in the final application, in series with a large capacitor (say 10mF).

If you don't want to use a coupling capacitor, you'd need to use a stereo class-D amplifier, and connect the coil as a "bridge tied" load, i.e. not from output to GND, but between the two stereo outputs. One of the channels must be driven in anti-phase to the other. It's a good idea to do that, since it will also double the effective voltage on the load inductor, so it'll be drawing about 0.4A at 10kHz.

Some amplifier ICs provide a pin-strap to configure bridge-tied output, and they perform DC removal and phase inversion internally.

Others don't have inversion or BTL support, but do offset removal that lets you attach bridged loads without decoupling.

Otherwise, you'll need to add a DC servo around the amp, so that the DC current flowing through the inductor will be controlled to be zero.

The servo would look as follows:

simulate this circuit – Schematic created using CircuitLab

The stereo D-class amplifier should be disabled for the duration of the initial startup transient. The stereo outputs should still be biased to mid-supply so that the in-amp works correctly. If the amplifier doesn't bias outputs to mid-supply when disabled, external biasing resistors will have to be added. They can be fairly large, say 20k.

OA2 is the phase inverter. It sums the sine wave with DC offset magnified by 10x, then inverts the sum and presents it on the right channel.

OA1 compensates for OA2's phase shift.

Simulation model:

simulate this circuit

The inductor's ESR acts as a DC current shunt.

It is possible to drive higher currents through the inductor even with only a 5V supply available, but that would require a boost converter, or a transformer to step up the sine wave.

In principle, this would work:

simulate this circuit

You should be able to get to 4.8V peak with minimal changes:

simulate this circuit – Schematic created using CircuitLab

This approach is limited not by the B-E drop and the op amp achieving full scale, but only by the saturation voltage of the (PNP) BJT. A (P-channel) MOSFET may perform even better.

• Not with a TL081 powered from 5V. Rail-to-rail output needed for the BJT, like a TLC2272. Also this will likely ring or oscillate, since the extra voltage gain from the transistor will render the op-amp's internal frequency compensation useless at unity gain here. Some kind of additional compensation is probably needed. Feb 21 at 13:49
• And you should include a base resistor, instead of relying on op-amp output short circuit current limit. Feb 21 at 13:58