But most of my speakers don't need 100W. Most of them don't last terribly long at such power levels, and I get a lot of complaints from Perry when I wind the wick up too much anyway.
Also, they're expensive. Each of those output transistors are >$10. The differential JFET on the front end is another $5. I'm probably up for $100 or so in parts just to build one amp, which is something of a waste if I use it with a little 4" bass driver or tweeter.
I'd like to play with line arrays - it would be cool if I could drive each speaker independently, as then I could play with multi-channel DSP. That's not going to happen when the amp for each driver is $100. I have a workmate who's doing similar things - his question each time I suggest he use a linear amp rather than a class-D eBay one is "how much?" This is perfectly valid.
So I got to wondering what was possible using really cheap transistors for driving a single 3.5" speaker. I set the following as my design goals:
- Absolutely no compromise in THD. Preferably 1ppm at 10KHz.
- 5-10W should be adequate.
- Better noise performance than my AEM6000 derived amps, as I'll be running them at lower levels where noise will dominate.
- For exactly the same reason, better PSRR. I really don't like listening to hum.
- Really, really cheap. Like $10 per amp in parts.
My basic three stage amp design should work well with a bipolar input stage. Similarly I can whack a bipolar follower stage on the output. How about if I use a diamond configuration for the current buffer. Even better, how about if I cascade a pair of diamond stages, to minimise loading of the final voltage amp transistors. Rumour has it that this is sure to oscillate, but I'm game.
I was able to get this topology to work well in simulation, with BD139 & BD140 transistors as my final drivers. I could hit 120dB open loop DC gain, with better than 50dB available to correct output stage distortion at 10KHz. This led straight away to sub ppm THD at 10KHz with 20dB gain under simulation. However I wanted a bit more output current than the 1.5A max the BD139 was happy giving me, so I tried TIP41 & TIP42, which are good for 6A. They proved a little slow with stability issues, so I stepped back to a BD179 & BD180, which provides up to 3A in a TO-126 package and is reasonably fast, plus really cheap, at $0.40 each in quantity.
A few simulations later I had the following: A simple input differential pair using BC547's for reasonably low noise, followed by a folded cascode with differential current sink loads to a pair of differential amps, then finally a very conventional symmetrical voltage amp stage using 2N3904 & 2N3906 transistors, then the first current gain stage; a diamond composed of 2N3904 and 2N3906 transistors, and finally our output stages, a bunch of BD179 & BD180's in a diamond configuration. One nice thing about the diamond is that the quiescent current is set by a simple current source/sink pair, making them immune to thermal runaway. A bad thing is that I'm effectively doubling the number of output drivers. Not a big problem when they're $0.40 each.
I then went ahead and knocked out a PCB for the "5W" version, using two sets of output drivers. I used KiCAD, as it's completely open source and it was about time I broke away from closed PCB software (Protel) and used something where I could share the design work with others.
After some measurements I found the source of the problem was simply due to where I was sampling the output voltage for the feedback network. By tapping the net away from the output connection, I wasn't getting an honest representation of the output, being influenced by currents between output drivers. Cutting a trace and adding a link from feedback resistor to the actual output connection of the amp fixed this, and I was able to achieve around 2.4 ppm at 1 KHz, up to 6W into 8Ω with gain of 10 (20 dB). This mod has been folded into the rev 2 PCB.
So if you're keen on a no compromises driver for headphones or small speakers, give this one a shot - the full design details, including all my KiCAD design files and Gerbers are at diyAudio. It's cheap but good :)