Electronics-Related.com
Forums

Building a class A audio amplifier - no audio out

Started by Unknown May 11, 2009

Jon Kirwan wrote:

> http://www.swtpc.com/mholley/PopularElectronics/Oct1971/PE_Oct1971.htm
Much more up to date. A proper differential input and a complementary Sziklai pair output. I've used that in one range of power amps I designed but tend to use those pairs more for for low noise discrete input stages like direct coupled low-Z mic input stages. http://en.wikipedia.org/wiki/Sziklai_pair I don't know how to say "Sziklai" so I use the alternative of "compound transistor". Graham

mrdarrett@gmail.com wrote:

> All of those tended to fry your speakers?
There's 101 ways to do it. Designing power amps isn't quite so simple especially when you want 1600W @ 0.02% THD. Graham

mrdarrett@gmail.com wrote:

> Eeyore <rabbitsfriendsandrelati...@hotmail.com> wrote: > > > > > I'd have known that was crap by my mid > > > > teens. It's about as simple as it gets. I was building stuff more complex at > > > > age 12. > > > > > Ah, good for you. I wasted my teen years teaching myself C > > > programming, assembly language programming, and modifying Michael > > > Abrash's VGA Mode X graphics routines. Then Windows 95 came out and > > > made my experience worthless. Eh. That's life. > > > > I was offered a job programming in C back around 1984. I took one look at the > > bizarre syntax and ran away. My career would have been surely very different and > > probably wealthier had I taken the offer but I might have missed a lot of > > interesting challenges. > > How could you be offered a job in C programming if you didn't know C > programming? (thoroughly confused) That would never fly over here.
Back then, few people knew C. A lot was done in PL/M which was Intel's own development language. The job was offered on the basis of my programming skill on a 'BBC Micro' for computer animation. I recall one Xmas party at the film company I was working at then and I was explaining how it worked to some tech. He said "you can't do that". I responded "watch this then". He didn't quite fall over backwards. The company was part of a group, word got round that I knew how to program, hence the offer. And to be honest, later I did a job in embedded Pascal ! How obscure is that ? I said I wasn't familiar with Pascal and one of the Directors said he'd loan me his book. Shortly after I was programming in Pascal. I ended up liking it because of its stong data types. That's when I realised that if you can intuitively program, it doesn't really matter what the language is. I've even done some DSP assembler for audio effects. I still hate C's syntax though. All those (void) s drives me nuts.
> On that note... I took a biochemistry lab class where I had to > calculate the A, C, G and T fractions from DNA analysis of a > bacterium. It involved *a lot* of punching numbers into a > calculator. I thought, "screw this" and wrote a Pascal program to do > it. I turned in the source code with my lab report. The grader wrote > "Mabey (sic) you're in the wrong major" on the top of my report. > Mabey he was right. ;D
Possibly so !
> > BUT ! Before anything else. Do you know how to bias a single transistor small > > signal amplifier. Don't touch anything else until you've mastered that together > > with all its variants and effects. > > Nope. Will start there. Thanks.
That's the basic voltage gain stage. Then learn about emitter resistor degeneration ( a form of feedback ) and how bypassing it with a cap removes the feedback but still helps with DC stability.
> > Even better ... start with an emitter follower and ask yourself why they're used > > and then do the same with the complementary version ( may not be instinctively > > obvious but every audio power amp of any note uses one ). > > You mean a Sziklai? > http://en.wikipedia.org/wiki/Sziklai_pair
No, start with the basic one. Then move on to Darlingtons ( and possibly triples ) and only then the Sziklai pair and compare their differences.
> I noticed that a lot of power amps use the Sziklai pair vs. the > Darlington. Is the Sziklai demonstrably superior?
I thought it might be but in practice I haven't seen any real advantage in an output stage. It went through a phase of popularity but I ended up going back a quite different design where the main output device(s) is actually OFF in quiescent mode and the output comes from some beefy drivers. It's all to do with trying to make the mutual conductance as linear as possible. And don't let the load impedance reflect into the final gain stage or instability is likely to result, i.e. use LOTS of current gain. Graham

Nobody wrote:

> > Eeyore <rabbitsfriendsandrelati...@hotmail.com> wrote: > > >> I was offered a job programming in C back around 1984. I took one look > >> at the bizarre syntax and ran away. > > That "bizarre" syntax is pretty much the industry standard nowadays. C++, > C#, Java, and JavaScript all look very similar. Any deviation from C > syntax (e.g. Python) is considered bizarre.
I consider my PL/M to be nearly as readable as English to anyone with a programming mind especially with decent use of literals. I once 'converted' someone from assembler to PL/M. At the end of the project he said he understood why I'd insisted and he's quite a high flyer. Mind you he made loads of silly mistakes but his code was so easy to read because it was PL/M, it was easy to find the errors as they got reported. It ended up as V 2.4 though. My later re-write for an enhanced version was issued as a 'beta' i.e V 0.9, thinking *someone* MUST find a flaw. Then we forgot about it and a year later the product was still shipping with V 0.9 software and it seemed pointless to change ! ;~) And also with PL/M you can drop in 'assembler like' lines to to set registers directly. IMHO it combines the best of medium and low-level programming. http://en.wikipedia.org/wiki/PL/M
> On Mon, 11 May 2009 13:57:28 -0700, mrdarrett wrote: > > > How could you be offered a job in C programming if you didn't know C > > programming? (thoroughly confused) That would never fly over here. > > In 1984, C was still a fairly uncommon language. It wouldn't be > unreasonable to prefer someone with a reasonable amount of overall > programming experience (particularly if it's experience in the relevant > domain) who would need to learn C over someone with less overall > experience (or less relevant experience) with some C. Learning a new > language is easier than learning programming.
Yes, I totally agree. I think they were quite upset I didn't take the bait.
> Of course, that doesn't hold if hiring is done by HR types with no > knowledge of the field (and no willingness to consult). A classic example > was when Java took off, companies were advertising for programmers with 2 > or 3 years' Java experience when Java's existence had been public > knowledge for less than a year.
Typical HR nonsense. Ask for the impossible. Then wonder why either (a) you get no responses or (b) those who do respond haven't a clue. Graham

mrdarrett@gmail.com wrote:

> On May 11, 8:03 pm, Nobody <nob...@nowhere.com> wrote: > > > On May 11, 1:44 pm, Eeyore <rabbitsfriendsandrelati...@hotmail.com> > > > wrote: > > >> I was offered a job programming in C back around 1984. I took one look > > >> at the bizarre syntax and ran away. > > > > That "bizarre" syntax is pretty much the industry standard nowadays. C++, > > C#, Java, and JavaScript all look very similar. Any deviation from C > > syntax (e.g. Python) is considered bizarre. > > > > On Mon, 11 May 2009 13:57:28 -0700, mrdarrett wrote: > > > How could you be offered a job in C programming if you didn't know C > > > programming? (thoroughly confused) That would never fly over here. > > > > In 1984, C was still a fairly uncommon language. It wouldn't be > > unreasonable to prefer someone with a reasonable amount of overall > > programming experience (particularly if it's experience in the relevant > > domain) who would need to learn C over someone with less overall > > experience (or less relevant experience) with some C. Learning a new > > language is easier than learning programming. > > > > Of course, that doesn't hold if hiring is done by HR types with no > > knowledge of the field (and no willingness to consult). A classic example > > was when Java took off, companies were advertising for programmers with 2 > > or 3 years' Java experience when Java's existence had been public > > knowledge for less than a year. > > Yes, I remember when Java was new. Makes sense from that > perspective. But I'm surprised why a seasoned programmer would run > away screaming from C. > > I liked C as a less verbose version of Pascal. > > Procedure Execute; > Var i:array[1..10] of integer; > Begin > End; > > becomes > > void Execute() > { > int i[10]; > } > > What's not to like? :D
VOID ! It drives me nuts. Also things like = and == Graham
On May 12, 11:12=A0am, Eeyore <rabbitsfriendsandrelati...@hotmail.com>
wrote:
> mrdarr...@gmail.com wrote: > > On May 11, 8:03 pm, Nobody <nob...@nowhere.com> wrote: > > > > On May 11, 1:44 pm, Eeyore <rabbitsfriendsandrelati...@hotmail.com> > > > > wrote: > > > >> I was offered a job programming in C back around 1984. I took one =
look
> > > >> at the bizarre syntax and ran away. > > > > That "bizarre" syntax is pretty much the industry standard nowadays. =
C++,
> > > C#, Java, and JavaScript all look very similar. Any deviation from C > > > syntax (e.g. Python) is considered bizarre. > > > > On Mon, 11 May 2009 13:57:28 -0700, mrdarrett wrote: > > > > How could you be offered a job in C programming if you didn't know =
C
> > > > programming? =A0(thoroughly confused) =A0That would never fly over =
here.
> > > > In 1984, C was still a fairly uncommon language. It wouldn't be > > > unreasonable to prefer someone with a reasonable amount of overall > > > programming experience (particularly if it's experience in the releva=
nt
> > > domain) who would need to learn C over someone with less overall > > > experience (or less relevant experience) with some C. Learning a new > > > language is easier than learning programming. > > > > Of course, that doesn't hold if hiring is done by HR types with no > > > knowledge of the field (and no willingness to consult). A classic exa=
mple
> > > was when Java took off, companies were advertising for programmers wi=
th 2
> > > or 3 years' Java experience when Java's existence had been public > > > knowledge for less than a year. > > > Yes, I remember when Java was new. =A0Makes sense from that > > perspective. =A0But I'm surprised why a seasoned programmer would run > > away screaming from C. > > > I liked C as a less verbose version of Pascal. > > > Procedure Execute; > > Var i:array[1..10] of integer; > > Begin > > End; > > > becomes > > > void Execute() > > { > > =A0 int i[10]; > > } > > > What's not to like? =A0:D > > VOID ! > > It drives me nuts. Also things like =3D and =3D=3D > > Graham
It's lowercase void, by the way. :D Ah yes. I took a Fortran class (was required for all engineering majors at the time: 1998 or so) and I couldn't figure out why my code wouldn't work. I had > instead of .gt. I had < instead of .lt. IF a .lt. b, etc. Oh joy. In C, the open parentheses took some getting used to, also. I guess C *could* have made void the default type, and then if you *wanted* a function to return an int, declare it as int... oh well. Regarding =3D and =3D=3D, Pascal forced :=3D to assign something, which I thought was weird too... but yes, I made many mistakes with =3D and =3D=3D too... Michael
On Tue, 12 May 2009 19:12:23 +0100, Eeyore wrote:

>> I liked C as a less verbose version of Pascal. >> >> Procedure Execute; >> Var i:array[1..10] of integer; >> Begin >> End; >> >> becomes >> >> void Execute() >> { >> int i[10]; >> } >> >> What's not to like? :D
The type syntax can be a bit confusing if you are mixing prefix and postfix operators, particularly in conjunction with function pointers (but most people would just use a typedef), or if you want to specify the type without naming a variable (e.g. for a cast).
> VOID !
Huh? What's wrong with "void"? Would you have preferred "()" (a zero-element tuple) like in functional languages?
> It drives me nuts. Also things like = and ==
Are you advocating for ":="? Using "=" for both assignment and comparison isn't an option in languages where boolean expressions aren't relegated to the tests of if/while instructions.
On Tue, 12 May 2009 19:10:43 +0100, Eeyore wrote:

> Typical HR nonsense. Ask for the impossible. Then wonder why either (a) you > get no responses or (b) those who do respond haven't a clue.
or (c) those who respond are very experienced; very experience bullshit artists, that is. But the most common form of "typical HR nonsense" is to specify very high levels of knowledge and experience but offer McJob salary levels. "The position requires X, Y and Z, and will pay W" should be "The position requires that you are willing to work for W; having any of X, Y and Z would be an advantage".
On May 12, 12:34=A0am, stratu...@yahoo.com wrote:
> On May 11, 8:00=A0pm, Jon Kirwan <j...@infinitefactors.org> wrote: > > > On Mon, 11 May 2009 13:31:51 -0700 (PDT), stratu...@yahoo.com wrote: > > >Well then perhaps this 'golden oldie' might be of interest. > > > >http://www.swtpc.com/mholley/PopularElectronics/Dec1967/PE_Dec1967.htm > > > I remember it! =A0There was a follow-up article with another version, a=
s
> > I recall. > > > Jon > > You probably mean this > > http://www.swtpc.com/mholley/PopularElectronics/Jul1969/PE_Jul1969.htm > > which I built in high school. It had an annoying tendency to blow the > outputs. And this > > http://www.swtpc.com/mholley/PopularElectronics/Oct1970/PE_Oct1970.htm > > and another family member > > http://www.swtpc.com/mholley/PopularElectronics/Oct1971/PE_Oct_1971_P... > > Enough of memory lane for now. > > G=B2
Ah, I see now. http://users.ece.gatech.edu/~mleach/lowtim/output.html "Back in the days when audio kits were popular, there was a line of amplifiers called Tiger Amps sold by a company named Southwest Technical Products Corporation (SWTPC). Some of these amps used common- emitter output stages which had local feedback around the output stage to cause it to operate at a voltage gain of 4. This was achieved by adding resistors from the emitters of Q14 and Q15 to ground so that only a fraction of the output voltage is fed back to the emitters. These amplifiers were very unstable, causing them to oscillate, overheat, and blow tweeters. Walter Jung tested one of the SWTPC Tigersaurus Amps for the Audio Amateur. His concluding comment in his review was, "Dan Meyer, where are you?" Dan Meyer was the founder of SWTPC. His original company name was Demco, but the General Motors Delco Radio Division brought a lawsuit against him to force him to change the company name. The company went out of business after getting into the home computer market." Michael

mrdarrett@gmail.com wrote:

> On May 12, 11:12 am, Eeyore <rabbitsfriendsandrelati...@hotmail.com> > wrote: > > mrdarr...@gmail.com wrote: > > > On May 11, 8:03 pm, Nobody <nob...@nowhere.com> wrote: > > > > > On May 11, 1:44 pm, Eeyore <rabbitsfriendsandrelati...@hotmail.com> > > > > > wrote: > > > > >> I was offered a job programming in C back around 1984. I took one look > > > > >> at the bizarre syntax and ran away. > > > > > > That "bizarre" syntax is pretty much the industry standard nowadays. C++, > > > > C#, Java, and JavaScript all look very similar. Any deviation from C > > > > syntax (e.g. Python) is considered bizarre. > > > > > > On Mon, 11 May 2009 13:57:28 -0700, mrdarrett wrote: > > > > > How could you be offered a job in C programming if you didn't know C > > > > > programming? (thoroughly confused) That would never fly over here. > > > > > > In 1984, C was still a fairly uncommon language. It wouldn't be > > > > unreasonable to prefer someone with a reasonable amount of overall > > > > programming experience (particularly if it's experience in the relevant > > > > domain) who would need to learn C over someone with less overall > > > > experience (or less relevant experience) with some C. Learning a new > > > > language is easier than learning programming. > > > > > > Of course, that doesn't hold if hiring is done by HR types with no > > > > knowledge of the field (and no willingness to consult). A classic example > > > > was when Java took off, companies were advertising for programmers with 2 > > > > or 3 years' Java experience when Java's existence had been public > > > > knowledge for less than a year. > > > > > Yes, I remember when Java was new. Makes sense from that > > > perspective. But I'm surprised why a seasoned programmer would run > > > away screaming from C. > > > > > I liked C as a less verbose version of Pascal. > > > > > Procedure Execute; > > > Var i:array[1..10] of integer; > > > Begin > > > End; > > > > > becomes > > > > > void Execute() > > > { > > > int i[10]; > > > } > > > > > What's not to like? :D > > > > VOID ! > > > > It drives me nuts. Also things like = and == > > > > Graham > > It's lowercase void, by the way. :D
Even WORSE. A language that's case sensitive ! God preserve us.
> Ah yes. I took a Fortran class (was required for all engineering > majors at the time: 1998 or so) and I couldn't figure out why my code > wouldn't work. > > I had > instead of .gt. > I had < instead of .lt. > > IF a .lt. b, etc.
Those characters <> didn't exist on keyboards of the time.
> Oh joy. > > In C, the open parentheses took some getting used to, also. > > I guess C *could* have made void the default type, and then if you > *wanted* a function to return an int, declare it as int... oh well.
I would say so.
> Regarding = and ==, Pascal forced := to assign something, which I > thought was weird too... but yes, I made many mistakes with = and == > too...
You don't make those mistakes with PL/M because they don't exist. Graham