Discrete Preamp Troubleshooting

I'm running into some stability problems with this preamp I'm building, and I'm wondering if anyone could give me some pointers on how to troubleshoot it.

When I first power it up, the output consistently goes to 20V DC. If I briefly short the output to ground, it will drop to zero and perform normally for awhile. If I don't do anything, it may eventually drop to zero, but it is inconsistent, and it may jump back to 20V DC and stay there. When it is performing normally, I was measuring about 0.02% THD at 1khz with a 5V output. I had it hooked up to my scope, and could get a clean looking 1khz sine wave, but it would eventually get stuck back at 20V as I increased the frequency to 10khz. I'm not sure if what I'm running into would be considered oscillation, or something else, because it just looks like DC on the output.

For background, I'm building this to drive a couple different single-stage amplifiers I built. One is just a follower, which is why this preamp is configured for 26dB of gain. I wanted a circuit that I could configure for anything between 6dB and 26dB. The goal of this particular circuit was to make it as simple as possible. I also have another PCB where I added input degeneration, a current mirror, and a buffered VAS, and I wanted to compare the difference between the two versions.

A couple things I'm wondering about:

- The current source configuration is rather simplistic, and there isn't anything to slow down or sequence the startup of the three current sources. I'm wondering if this is the source of my problem.

- I originally selected R2 to balance the current through both legs of my LTP in my spice simulation, but when I actually built the circuit I found that the voltage drop across the two resistors is rather uneven, so I think I need to go back and make an adjustment.

- I'm wondering if there is a "guess and test" method to selecting a value for C2 that works. I realize that this is something to be calculated, but all the math is a little bit beyond my level of understanding. I originally started out with a smaller value, but I noticed that I was seeing fluctuations in my THD measurements when I poked around with my finger, so I interpreted that as a sign of instability and kept increasing the value until it went away.


Discrete Preamp.png


IMG_3338.jpg
 

Attachments

Not sure how that latch-up is happening, although I wonder if the output constant current device Q6 might need to be a separate constant current circuit so it doesn't couple back to the input (this might be why your circuit is latching up as its the only route for DC positive feedback I can see although its not obvious how it would work).

There's no decoupling on the reference voltage for the constant current circuit - perhaps a few µF across the D1/D2 string? This will stiffen up the CCS at higher frequencies.

Also the output stage could have more current so its better able to drive a capacitive load, though its not clear if that's needed. Otherwise you might as well use an emitter-follower VAS stage as the final.

R2 needs to be about twice R3 (ie 600 ohms) as they both see 1 diode drop's equivalent and you want 1/2 the current in R2. R4 serves no purpose and can be bypassed - if you want better performance these resistors can be replaced by a current mirror, otherwise you'll not see stably symmetric currents in the LTP.
 
That seems to be an undesired stable bias point, a.k.a. circuit latch-up, like Mark already wrote. Maybe a current source transistor pulls up the base rail when it is driven into saturation. Could you measure the voltage between the positive supply and the base rail of Q2, Q4 and Q6 in the correct and the incorrect state?
 
What are all the node voltages in the latchup state?

Why the interest in this particular topology? There are some time-tested discrete opamp circuits that already work pretty well for audio.

EDIT: Do the power supply rails come up at the same time at power-on?
Also, see that questions about the latchup state were already asked by others. Oops.
 
Last edited:
I confirmed that both rails are coming up at the same time. I have this connected to my bench supply, so the supply is already on, and the power to the preamp is connected/disconnected by the relay in the supply.

Here's a scope trace of the output and the voltage across D1/D2. At startup, the voltage across D1/D2 is ~900mV, and then it changes to ~1.3V after I short the output momentarily, and it switches to normal operation.

Latchup.png


r_merola's spice simulation alerted me to the fact that the output wants to go to the positive rail if the circuit is driven even slightly into clipping. I haven't tried the proposed fix yet, of a diode from the base to emitter of the output transistor (Q10 in the simulation).

Clipping.png


Thanks, everyone, for your help so far. I picked this topology because it is featured on Douglas Self's chapter on "Designing with discrete transistors" in his "Small Signal Audio Design" book. He also has a version where he applies his usual bag of tricks to improve the performance, and I plan on building both versions as a learning exercise. I think I'm probably learning more by working through the issues with this circuit than if I just copied something that was fully worked out. This has also been a good lesson that things that look good in spice simulations don't necessarily behave the same way in reality.
 
The simplest fix is probably changing R5 into some smaller value. 1.8 kohm, 0.5 W should do the trick. With Q4 and Q6 in deep saturation, you then still have enough current to bias the diodes, so Q2 will still have enough collector current to let the input differential pair work as intended.

By the way, don't blame SPICE, as circuits with circuit latch-up issues can also work well in reality until some transient comes along that puts them into their undesired state.
 
Last edited:
To elaborate on it, suppose you are in a state where Q5 and Q7 are completely off. Q4 then has no collector current, because it has nowhere to flow, and Q6's collector current is limited to whatever flows into the feedback network and the amplifier output. For simplicity, pretend Q6 has no collector current either.

Q4 and Q6 are then essentially diodes (the emitter-base junctions) in series with 100 ohm resistors loading the base rail. If you choose R5 small enough to provide current to those diodes and still have some left for D1 and D2, then the current through Q2 won't collapse.

When R5 is higher than that and the current through Q2 drops to less than the base-emitter voltage needed to turn on Q5 divided by R2, then the differential pair is unable to turn on Q5 and the circuit remains in the undesired state where Q5 and Q7 are off.
 
The simplest fix is probably changing R5 into some smaller value. 1.8 kohm, 0.5 W should do the trick. With Q4 and Q6 in deep saturation, you then still have enough current to bias the diodes, so Q2 will still have enough collector current to let the input differential pair work as intended.

Thanks for taking the time to explain how that all works. I spent some time playing around with my simulation, and I can see that when the circuit is driven into clipping, the current through Q2 collapses, Q5 isn't getting turned on, and that is what is causing the output to go to the rail, just like you said. It isn't too hard to imagine that this is also the condition it is in when it first starts up.

I took your suggestion and increased the current through D1/D2 by reducing R5 to 1.6K. This solved the startup latch-up, and I can see in my simulation that it would also solve the clipping latch-up.

Unfortunately, I'm still fighting some other stability problem. With a 1Khz 250mV input, I'm getting 0.75% THD, and then if I put my finger on R5 it drops to 0.04%. Take my finger off, and it is back to 0.75%. If I grab the insulated part of the scope probe attached to the output, or touch other components, I'm also seeing the THD jump around and I can see visible glitches in the sine wave on the scope.

I also spent some time trying to improve the current sources. Adding a 1K resistor in series with the base of Q4 and Q6 looks like an alternative way to prevent them from stealing all the current from Q2, and adding C3 stabilizes the current for the LTP if the circuit is driven into clipping, but none of this solved the instability I'm seeing in the actual circuit.

Current Sources.png
 
It could be that you need a base stopper somewhere. Due to the inductance and capacitance of PCB traces and wires, a transistor can very easily turn into a parasitic LC oscillator running at several hundred megahertz. If it does, the oscillation will grow until the transistor starts clipping, which will usually cause excessive audio distortion.

If your scope is fast enough, you could connect the ground lead to the tip of the probe and use it as a loop antenna to sense the magnetic field caused by the oscillation. Hold it above the circuit and move it around to see where the oscillation is at its strongest. In my experience, that works with my present 150 MHz scope and didn't work with the 20 MHz oscilloscope I had before. When you find the oscillating transistor, connect a small resistor (47 ohm or so) in its base lead to spoil the quality factor of the parasitic LC tank.

You can also just put 47 ohm resistors in the base leads of all transistors that don't have a resistor yet.

You don't see effects like this in simulations unless you have a model for all the connecting traces. Accurately modelling the traces and the coupling between them would require expensive electromagnetic field solving programs and the knowledge on how to use them. As an alternative, neglecting coupling and assuming you have a ground plane, you could treat each PCB trace as a microstrip transmission line and use an online calculator or the KiCad calculator to find its values. Or just accept that you can't simulate these things.
 
Last edited:
  • Like
Reactions: alexcp
One thing I never understood is why 47 ohm base stoppers are as effective as they are on transistors that internally have base resistances of 130 ohm...300 ohm, like the BC546...BC550 and BC556...BC560 series. If it is related to the distributed nature of the transistor, that is, if only the parts closest to the base contacts do the oscillating, then SPICE may be unable to predict it properly even with a good wiring model.
 
It could be that you need a base stopper somewhere.
Alternatively, you can add a small (10-15pF) capacitor between the base and collector of the offending transistor. The usual suspects are current sources and emitter followers. To affect the THD, oscillations do not need to have large amplitude - sometimes all you see on the scope is a modest fattening of the signal trace. However, base-collector capacitors are just a band-aid. The board layout needs to be optimized to better decouple power supply rails and shorten traces.

A better board layout should also allow extending the bandwidth of the amp by making the compensation capacitor C2 smaller - which will increase the loop gain at higher frequencies and reduce the current that LTP needs to provide, thus improving distortion performance at the high end of audio range.

If you will be making a new board with base stoppers as @MarcelvdG suggested, consider also adding emitter degeneration resistors to Q1 and Q3, increasing the tail current by reducing R3, and replacing R2+R4 with a current mirror. These are the standard ways to improve the linearity of the LTP - a detailed explanation can be found at Douglas Self's web site.
 
Thanks, everyone who made suggestions. I think I have it sorted out now. A resistor on the base of the output transistor, Q7, solved the oscillation problem.

I also went back and fixed up a couple things, including: sizing R2 correctly, solving the latch-up problem by decreasing R5 and adding R11/12, increasing the current through the output stage by reducing R9, and reducing the compensation capacitor C2.

Discrete Preamp - Revised.png


THD-1Khz.png
 
  • Like
Reactions: alexcp