Class A preamp: please critique my circuit and give me helpful suggestions.

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Hi everybody, I designed this preamp using principles I learned from Self's Audio Power Amplifier Design Handbook 5th edition, assuming the same principles will translate to small signal amplifiers also.

I've bread-boarded the design and it seems to work well, there appears to be a smidgen of high frequency instability but that could be due to the fact that:

a) it's on a breadboard
b) I tested it using a portable oscilloscope (1MHz). (I'm potentially getting a good benchtop one next week)

Any suggestions for things I should do differently or component values I should change will be taken on board, tested and reported back on.

I appreciate any help offered.

Included are:
zipped CircuitMaker file
Circuit
Simulated 1kHz FFT
Simulated 50kHz FFT
Simulated 10kHz pulse/square wave
 

Attachments

  • CCT.jpg
    CCT.jpg
    134.2 KB · Views: 1,213
  • 1kHz FFT.jpg
    1kHz FFT.jpg
    90 KB · Views: 1,148
  • 50kHz FFT.jpg
    50kHz FFT.jpg
    89.3 KB · Views: 847
  • 10kHz pulse.jpg
    10kHz pulse.jpg
    123.8 KB · Views: 866
  • Class A preamp.zip
    3.9 KB · Views: 97
Hi,

basically the circuit looks ok. Just minor issues. I would always add a lowpass filter at the input, the base of Q2, a 1k/220pF could be a start.
Probabely rather a matter of personal taste, I´d make the coupling caps smaller and raisen the resistor values instead (if there´s no noise penalty to pay or similar). C7 could probabely be reduced to 1µF film cap if R24 raises to 47k.
If using global feedback circuits I´d waste a thought to exploit the principle even further. Means, that I´d think of replacing R3 and R4 by a current mirror.
This would give more immunity against powersupply disturbations (PSRR), double the available current to charge/discharge the compensation-cap C5 (´speed´) and more symmetry and lower distortion of the input difference amplifier. And/Or You could reduce the bias current of the difference amp, resulting in lower noise (the BC556 has a noise optimum around 200-300µA).
I assume that Q9 doesn´t improve things here. Q10 has a quite high hfe (use a higher hfe class like the B- or C-types) . So it hardly loads the difference amp down, especially not if a current mirror would be used instead of R3,4.
If heat dissipation allows for I´d also increase Q7/Q10s bias current a bit ap to maybe 10mA.
C4 might probabely be omitted with. The stage should work stable without C4. If it does, then C4 is of no positive use.
Was there a special reason to use a ccs-loaded (Q8) SE output stage (Q11) instead of a complementary pushpull stage? You know that the maximum signal current into the load is defined and limited by the class-A bias of Q11. A complementary PP (Q8 2N2222, Q11 2N2907) stage would allow for twice the Q11s bias current. This is hardly a issue if the load impedance remains high enough, but You never know what comes next.
I´also rather use TO220 devices for the output stage for easy mounting of a cooling fin or to the casing and to allow for higher bias currents/dissipation.
The MJE340/350, 2SD669/2SB649 or KSC2690/KSA1220 are fine candidates.
Any amp profits from clean stable supply lines. The values of C9 and C12 are quite small. I´d suggest at minimum 100µF.

jauu
Calvin

ps: Sonically wise You also might think of circuit wo gloabl feedback ;)
 
Ok. time to report back in. 1st off I should point out that the transistors in the circuit are indeed bc546C and bc556C, the labels in the schematic above were purely due to me being limited to what the software has. After checking, it seems that it has BC547C & BC557C models in it. These will be used for further simulations.

Changes made so far:

Input stage:

Filters - The input high pass filter has been changed to include a 1uF film & 47k i/p impedance. this was actually my original intention and what I had used in the past for opamps but the book suggested the other values so I figured I'd try it. A low pass filter comprised of a 1k//220pF has been added.

Current Mirror - After an initial failure trying to make a current mirror work (gave me bad bad bad distortion) I figured it might be a good idea to beta match the transistors first - after this the current mirror worked perfectly.

VAS Stage:
Q7/Q8 Bias - upon measuring it, it seems that it's already 11.6mA. I'm not sure why the simulation is different.

C4 has been removed, no observable difference. This can't be a bad thing.

Output Stage:
I'm not sure why I went for a SE output, it just seemed right at the time.

I'll test a push pull output stage tomorrow after work and report the results, but for now it's bed time.

I don't have at hand any of the t0-220 transistors you've listed. For testing purposes will BD139, BD140 suffice?

Danke mein deutschen Freund :cheers:
 
Hi,

here´s a LTSpice sim of two versions.
Note the differences in input-LP-filter, current mirror, omittance of a transistor and dominant pole compensation cap in the driver stage (RC-filter at the collectors of input stage transistors instead), different output transistors with increased Bias current of 50mA and the added cap in the feedback leg to gnd for a dc gain of 1 (less output offset).
An externally hosted image should be here but it was not working when we last tested it.


jauu
Calvin

ps. BD139/140 should work fine in a first test.
If You can handle LTSpice I could send You the sim-file
 
Last edited:
Hi again

So I've attempted to make a a push pull amp using bd139, bd140 transistors and I'm failing horribly it seems. Here's the circuit I've come up with and all that seems to happen is a slightly triangular wave is produced at first followed by a distorted one when the transistors warm up (which are mounted on a heatsink).

Also, I have LTSpice and I would love for you to send me the sim file of the circuits you produced.
 

Attachments

  • Push Pull Mk2.jpg
    Push Pull Mk2.jpg
    131.1 KB · Views: 492
Administrator
Joined 2007
Paid Member
shouldn't you have something connecting the bases of Q8 & Q11...a couple of diodes or something?

Yep.

---------------------------------------------------------------------------------------------------------------------------------------------------

What kind of load is this preamp going to drive ? You show a 47K load which can be driven via a single ended output rather than a push pull and I'm sure it would sound better.

But don't let anything put you off experimenting :)

How about equalising the input currents to the LTP ?
Do you really want the feedback return DC coupled ?
 
Do you really need 4dB of gain? Most DAC's put out enough voltage to clip a power amp, so either a DAC needs a volume control, or a preamp with volume control should have unity gain. If you're using analog sources, then yeah I guess you'd need some gain in a preamp.

I'd recommend replacing the output stage with a diamond buffer. You connect it directly to your VAS.
 
Hi,

You can´t simply replace the PNP Q8 with an NPN transistor. Q doesn´t have any base-voltage. So it doesn´t open and doesn´t conduct current.
Either You use a PNP BD140 for Q8 or You redesign the output stage for complementary Transistors. In this case You need parts like diodes or other parts networks that generate a sufficiently high voltage (the Vbe of the transistors) that the transistors can open up.
Here´s the sim-file and the associated models.
View attachment bipolar discrete OP.asc
View attachment bjt_oli.txt

jauu
Calvin
 
Last edited:
If you happen to have a copy of Self's Small Signal Audio Design there's a discrete class A opamp on page 91 (fig 3.33). It uses a simple emitter follower with current source load instead of push pull. If you replace the input LTP resistors with a current mirror it simulates, measures and sounds fantastic. Only 2nd and 3rd harmonic measureable and at vanishingly small levels.

Mooly you seem to be onto something re single ended vs push pull output - I tried a push pull version of the same thing and it wasn't nearly as nice to listen to. I also tried increasing the VAS gain with both cascoding and darlington arrangements per Self's power amps, but this made it sound worse and reduced stability even though it pushed the THD down further.
 
Administrator
Joined 2007
Paid Member
Oliphant...

Have a play with these LTspice files too. Just quickly put together based on your design.
 

Attachments

  • 80Khz Squarewave 600ohm load.PNG
    80Khz Squarewave 600ohm load.PNG
    111.7 KB · Views: 322
  • 80Khz 600 ohm load.PNG
    80Khz 600 ohm load.PNG
    113.7 KB · Views: 321
  • Test Files.zip
    3.1 KB · Views: 50
Hi,

I haven´t simmed the two stages in my post for optimal compensation.
But the second stage with the current mirrors showed clear oscillations with 20pF dominant pole compensation.
So I changed the compensation to the RC-network between the input stages collectors. Unfortunately compensation measurements, where, how and why to place is hardly to find in literature. In D.Selfs power amp book for example only pole splitting (dominant pole) compensation is discussed. In the interest of THD under highlevel conditions a compensation close to the input may be preferrable.
One can find this in a lot of Elektor amplifiers, that feature a RC-network between the input stages collectors. But again, without any explanation at all.
Anyway, the RC-network in the second circuit seems to keep the stage free from oscillations and also raisens bandwidth slightly.
If someone wants to use this circuit, go ahead, but bear in mind, that this is just a quick sim. The optimal values and design will probabely differ and need proof.

jauu
Calvin
 
First off, I'd like to say a big thank you to everyone that's helped so far. This is my first decent attempt at a discrete amplifier and the help that I've recieved so far is fantastic. Once I've finished playing with everything and I have a circuit that I'm happy with I'll design a circuit board for it and share the files via this thread


What kind of load is this preamp going to drive ? You show a 47K load which can be driven via a single ended output rather than a push-pull and I'm sure it would sound better.

But don't let anything put you off experimenting :)

How about equalising the input currents to the LTP ?
Do you really want the feedback return DC coupled ?

The amp I currently have has an a 10k input impedance but this will be changed to 47k once this preamp is finished.

Please excuse my ignorance but how would you propose I equalise the current going into the LTP? Are you talking about the use of a Wilson current mirror or similar?

Feedback is now AC coupled following the circuit modeled by Calvin. I probably will end up using it with SE output but I would still like to experiment with a push-pull output stage.


Do you really need 4dB of gain?

I'd recommend replacing the output stage with a diamond buffer. You connect it directly to your VAS.

Yup I do need 4dB of gain. My current power amp is a OPA549 with a voltage gain of 8 and the phono preamp I use doesn't have as large a gain as a CD player. After this project is over however I want to use the lessons learned to design and build a low distortion 50W class AB or B amp and that will likely have a gain of 21 - then I can try the diamond buffer.

I think it's great that he wants to do a discrete line stage. Wonderful! There's much to learn about these things. So many people just throw chips at the problem that's it's refreshing to see someone really dig into the details.

Thank you very much! I have used opamps in the past for everything that I've built and while that has taught me a lot, I have always had a guilty feeling as if I was cheating in some way. Learning about and building a discrete amplifier has been an absolute revelation for me; being able to control the individual elements and the amplifier characteristics is fantastic. I still have a long, long way to go and a lot more to learn, but I feel confident knowing that we have such a helpful community here at diyaudio.

If you happen to have a copy of Self's Small Signal Audio Design...

I purchased this yesterday and will be reading it thoroughly.

Hi,

You can´t simply replace the PNP Q8 with an NPN transistor. Q doesn´t have any base-voltage. So it doesn´t open and doesn´t conduct current.
Either You use a PNP BD140 for Q8 or You redesign the output stage for complementary Transistors. In this case You need parts like diodes or other parts networks that generate a sufficiently high voltage (the Vbe of the transistors) that the transistors can open up.
Here´s the sim-file and the associated models.
View attachment 291954
View attachment 291956

jauu
Calvin

I've added a pair of diodes as recommended (see circuit diagram) and I have a 1.45V drop accross them. But now I don't have any output on the bread-boarded circuit. I'm currently taking it apart (slowly and methodically) to make sure I haven't killed any transistors. I'll report back later when I've finished this (it may take some time as I'm also changing the layout)
 

Attachments

  • Push pull mk3.jpg
    Push pull mk3.jpg
    140.8 KB · Views: 335
Oliphant...

Have a play with these LTspice files too. Just quickly put together based on your design.

Thank you!


Hi,

I haven´t simmed the two stages in my post for optimal compensation.
But the second stage with the current mirrors showed clear oscillations with 20pF dominant pole compensation.
So I changed the compensation to the RC-network between the input stages collectors. Unfortunately compensation measurements, where, how and why to place is hardly to find in literature. In D.Selfs power amp book for example only pole splitting (dominant pole) compensation is discussed. In the interest of THD under highlevel conditions a compensation close to the input may be preferrable.
One can find this in a lot of Elektor amplifiers, that feature a RC-network between the input stages collectors. But again, without any explanation at all.
Anyway, the RC-network in the second circuit seems to keep the stage free from oscillations and also raisens bandwidth slightly.
If someone wants to use this circuit, go ahead, but bear in mind, that this is just a quick sim. The optimal values and design will probabely differ and need proof.

jauu
Calvin

I'm rebuilding the circuit on the bread board at the moment so I think i'll give this a try. Thanks again Calvin. Also, I'm new to LTSpice, how do add the components that are contained in the .TXT file? I can't sim the circuits until I've done this. Also, does anybody have a pentiometer symbol? I've found the model but I don't have a symbol.
 
Administrator
Joined 2007
Paid Member
When an amp is DC coupled it is usually important to keep the base currents of the two input transistors equal. Not doing so results in a large DC offset at the output.

If the amplifier sees for example a 47K resistor to ground at the input, then the feedback resistor should also be 47K (assuming the feedback return is AC coupled). AC coupling the feedback return is normally advised to prevent the amplifier from amplifying its own "errors". The AC coupled feedback return ensures the amp has a gain of 1 at DC.

So in your picture in post #17 (which I see has AC coupling on the feedback) that means that R24+R15 should equal R10 which of course they don't.
 
Administrator
Joined 2007
Paid Member
Thank you!




I'm rebuilding the circuit on the bread board at the moment so I think i'll give this a try. Thanks again Calvin. Also, I'm new to LTSpice, how do add the components that are contained in the .TXT file? I can't sim the circuits until I've done this. Also, does anybody have a pentiometer symbol? I've found the model but I don't have a symbol.

Adding models took me ages to sus out too :)

Put the text file into the same folder as the LTpsice circuit you are working on.

Here are 4 pictures showing how. The "cordell models" is my text file.

You must add a spice directive of "include cordell models.txt (exactly what the .txt file is called).

To use a part from the text file right click the part type number (2SK1056 here) and type the new type number you want to use exactly as it appears in the text file into the box. So I am changing the 2SK1056 to a 2N5401.
 

Attachments

  • Add 1.jpg
    Add 1.jpg
    83.5 KB · Views: 284
  • Add 2.PNG
    Add 2.PNG
    40.6 KB · Views: 264
  • Add 3.PNG
    Add 3.PNG
    111.3 KB · Views: 121
  • Add 4.PNG
    Add 4.PNG
    119.3 KB · Views: 107
Last edited:
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.