0

I have an R2R DAC generating a 0-3.3V sine wave. This sine wave is fed into a non inverting op amp with a gain of 2. Then I'm trying to drive a 0.5W 50ohm speaker with a common collector amplifier. The common collector is connected to the output of the op amp via a capacitor. Vcc is 9V.

What is causing the signal to not go "negative"?

Green is the base of the NPN. Blue is at the junction of the emitter and R3. Red is at the junction of R4 and C2.

Common collector Amp

bitshift
  • 887
  • 1
  • 6
  • 18

2 Answers2

8

It is going slightly negative. But you need to replace R3 with 39 ohms or less to develop the full negative half cycle swing.

The problem is the emitter load resistor is only 10k, that's far too high for your load R4. That means it can sink very little current. You need to sink a lot of current to develop a voltage on R4.

To put some numbers on this.

You want your load to go 2.7v negative, which will require 54mA to be pulled out of it by R3 (as Q1 can only source, not sink, current). The R1/R2 divider sets the base to about 5.6v, so the emitter is at about 4.9v. When it swings -ve by 2.7v, it will be at 2.2v. With 2.2v across R3, it needs to sink at least 54mA, ideally a touch more, so must have a maximum value of 2.2/55m = 40ohms, or the nearest E24 value of 39 ohms.

That's the problem with class A amplifiers, which is why we have class B amplifier and totem pole outputs on logic. R3 burns a lot of power all the time to make sure it can output a proper waveform into a low resistance load.

Neil_UK
  • 158,152
  • 3
  • 173
  • 387
  • Is the 10k preventing C2 from discharging fast enough? – bitshift Sep 08 '16 at 17:02
  • Replace R3 with 100 ohms. – WhatRoughBeast Sep 08 '16 at 17:06
  • The transistor is sourcing loads of current into the 50ohm load on the +ve half cycles, 54mA by the look of it. R3 is not preventing C2 from discharging, nominally C2 acts as an AC short circuit, the voltage across it barely changes, but R3 doesn't pull enoiugh current through itself. On the -ve half cycle, 2.7v across 10k will draw only 270uA, which will develop only 13.5mV peak on the 50ohm. Try replacing R3 with 50 ohms! edit or seeing WRB's comment, try 100 as well \edit – Neil_UK Sep 08 '16 at 17:09
  • 1
    This is why one needs an active sink as well as an active source. – jonk Sep 08 '16 at 17:14
  • @Neil_UK Thanks that makes sense. I tried with 100ohms and it cuts off at 3.2V now. With 50ohms it cuts off at 2.2V. With 50ohms the charging and discharging of the capacitor should be symmetrical (in my mind at least). Why is is not so? – bitshift Sep 08 '16 at 17:15
  • @bitshift the capacitor charges through Q1 and discharges through R3 - they aren't the same. Try adding a small resistor in the collector circuit, say 22R, to even things up. – JIm Dearden Sep 08 '16 at 17:25
4

Try the following schematic for education. (I'm leaving it in but, actually, go try the schematic at the bottom of this post. Definitely fewer parts and just as good as a practical matter.) It also includes your \$2\times\$ opamp circuit, as well. Just in case it helps to see it in place, as well.

schematic

simulate this circuit – Schematic created using CircuitLab

I think you have already discovered the reason for using an active sink as well as an active source in order to drive your speaker.

Your output power is modest, so I'm not too worried about the BJT selection regarding dissipation. (\$P = \frac{V_{peak}^2}{2\cdot R}\approx 100mW\$.) The ratio, \$\frac{R_4}{R_1}\$, sets the gain here. You should keep the value of \$R_1\$ and probably adjust the feedback \$R_4\$ if you need to tweak the gain. \$R_{10}\$ sets the quiescent operating point needed to operate the base currents for \$Q_1\$ and \$Q_2\$. I set it to provide about \$800\mu A\$, which is probably more than enough, since the output BJTs will only need about \$\frac{1}{4}\$ of that. Almost any opamp should be able to sink that much, too. But I suppose it is worth making sure about that when you select one.

I'll add a few more comments here. But first off, please note that I've added a resistor to the circuit. You can use \$0\Omega\$ for it, to start. But one of the things I'd failed to remember when laying it out the first time is that the \$V_{diode}\$ for these diodes will be less than the \$V_{BE}+I_{out}\cdot R_5\$ shown on the high side, for example. And so you really need something to help adjust the bias a little. So I've added \$R_{11}\$ and set it to a rough, suggested value. Making it larger will move the amplifier more into a class-A operation and less a class-B. Leaving it out entirely will leave some cross-over distortion (you may not care about that, though.) Adjust to suit.

I added \$C_2\$ just because I know the opamp will make tiny variations in its input currents. (Yes, they are very low. But there will be a tiny ripple and this will develop a slight ripple voltage due to the Thevenin of \$R_2\$ and \$R_3\$.) You can probably leave it out. But I stuck it in there just to get your attention.

\$R_5\$ and \$R_6\$ serve several purposes. One of them is temperature stability and another is about consistent behavior over the emitter current variations as it drives the speaker. Each BJT has a little-re in their emitter, which is current based. The equation is \$\frac{k\cdot T}{q\cdot I}\$ and as \$I\$ is varying a lot here, it helps to add a predictable resistance in the emitter load. In this circuit, your little-re reaches a peak of about \$400m\Omega\$, so I roughly multiplied that by 10 to get the resistor values. These will pretty much overwhelm little-re and make the circuit behavior consistent over temperature and over the current fluctuations when driving your speaker. (They are not there to limit the current, since you will have this attached to a known output and I'm not worried about shorting, etc.)

\$Q_3\$ and \$Q_4\$ form a current mirror. I could have used a resistor to replace \$Q_3\$ and been done with it, I suppose. But then the current available to the BJTs would vary quite widely depending on the exact signal voltage of the moment. I would have to set it to supply enough base current when the output of the opamp was closest to the positive rail and this would mean that when the opamp was driving towards the negative rail there would be a LOT MORE current, none of it needed at all, to sink. Better is to just provide a nice, stiff current source that supplies exactly what is needed. As I said, \$R_{10}\$ sets this up. I show 2N3904 BJTs in the circuit. Since these are discrete BJTs, I added \$R_8\$ and \$R_9\$ to help ensure that variations in BJT parameters will have less effect here (and to deal with ambient temperature changes, too.) If you use a BCV62, instead, then perhaps you could consider dumping those two resistors. But I think you need them if you go with discrete BJTs.

Finally, I hope this experience has shown you the need for having an active sink as well as an active source when attempting to drive an output like this, such as through a capacitor. When your single BJT circuit was pulling the BJT base upward, the BJT would just use its collector to actively supply very low impedance current into your load. This would easily supply all the current needed by your capacitor to charge itself through that part of the upward going swing. On the first half of the downward swing, your speaker load could sink current while your BJT continued to source it. So that worked, too. But when the BJT base was swinging downward and pushing the emitter past \$0V\$, the speaker became a source and no longer a sink. And the only way your capacitor's voltage could change was to sink current through your \$10k\Omega\$ resistor. That \$10k\Omega\$ resistor was way, way, way too feeble to do anything.

NOTE: I made a mistake on the schematic and fixed it -- the current mirror didn't have an important wire! It's added now! Also, your opamp needs to be able to drive down to within \$\frac{1}{2}V\$ of the negative rail. But because of the two diode drops, it only needs to get within about \$2V\$ of the positive rail. Which brings up a small problem with my circuit. \$Q_3\$'s \$V_{CE}\$ may get pinched into saturation during part of the positive swing. With \$800\mu A\$ through \$R_9\$, plus say about \$800mV\$ for \$V_{CE}\$, this means that the base of \$Q_2\$ shouldn't go above \$8V\$ (\$1V\$ of your rail.) But to achieve a full \$V_{pp} = 6.6V\$ swing, plus the added diode drops of say \$1.25V\$ or so, this means \$0.5V + 6.6V + 1.25V = 8.35V\$ at \$Q_2\$'s base. That's above \$8V\$, so I think \$Q_3\$ will go a little into saturation. It's probably okay. But I just wanted to call your attention to that point, as well.

ADDED NOTE: Per Carloc's suggestion about bootstrapping, here's a modified circuit you can try. It should work similarly and with fewer components. So I think he was right to call my attention to it. Sorry I missed adding that before.

schematic

simulate this circuit

The way this bootstrapping works is to notice that the output drive from the opamp will have \$1.4V\$ added to it, fairly consistently, and that this will be some fixed \$\Delta V\$ relative to the output which is driving the speaker. So there will be a fixed voltage across \$R_{10}\$ in this scenario, as well. With the speaker jacked up to \$9V\$ at its midpoint voltage, we expect to see \$4.5V - 0.7V + 1.4V\approx 5.2V\$ for a center point at the base of \$Q_2\$. So, about \$3.8V\$ across \$R_{10}\$. I've set it to supply that \$800\mu A\$ here.

Neil_UK
  • 158,152
  • 3
  • 173
  • 387
jonk
  • 77,059
  • 6
  • 73
  • 185
  • Awesome, thank you. Instead of just building it and being on my way I would like to understand the function. This is what I have so far. Q1, Q2, D1 and D2 form a "classic" class AB amplifier. Are R5 and R6 there just to limit the current? Since the feedback of the op amp comes from the "output", the gain of the AB amplifier will be forced to be the same as the gain of the op amp? What is the purpose of C2 on the op amp biasing? What do Q3 and Q4 do? – bitshift Sep 08 '16 at 17:44
  • @bitshift: I'll add a few more comments. – jonk Sep 08 '16 at 17:44
  • @bitshift: I hope that helps. – jonk Sep 08 '16 at 18:04
  • Excellent, thank you. This is what makes this community so great :) I'm going to spend the evening digesting this. – bitshift Sep 08 '16 at 18:19
  • @bitshift: Okay. Hopefully, that helps. There are ICs you could also use. Such as the TDA8551. It's more than capable of this kind of thing and is designed for up to \$1W\$ of output using a single supply rail. It's able to handle \$8\Omega\$ speakers, too. – jonk Sep 08 '16 at 18:24
  • @bitshift: One more thing: the opamp needs to be able to drive to the negative rail (with a half-volt of it, anyway.) But it doesn't need to drive close to the positive rail (only within about 1.5V of it.) Something else you need to verify when selecting an opamp. – jonk Sep 08 '16 at 18:29
  • @bitshift: I fixed the schematic. There was an important wire missing in the current mirror. It's corrected, now. – jonk Sep 08 '16 at 18:41
  • I don't see the point of the current mirror at all; it's an embellishment more than anything. The global negative feedback right around the op-amp should be linearizing against whatever effects this is supposed to dispel. This says to me "I really wanted to build something with a discrete current mirror, but the project only needed a BJT output stage (no gain stages), so I stuck it there anyway." – Kaz Sep 08 '16 at 19:09
  • @Kaz: Then you miss the point. You are right, that if I just used a resistor, the global feedback would cover all errors and linearize just fine. You really don't see a reason to add it? If not, I'll take some time to write STILL MORE. – jonk Sep 08 '16 at 19:12
  • And what about the classic bootstrap in place of the current mirror? Could even be done simply using C3 and speaker connected to +9V instead of ground. – carloc Sep 08 '16 at 19:30
  • @carloc: I assume you are talking about figure 5.5.3 here: http://www.learnabout-electronics.org/Amplifiers/amplifiers55.php If you provide some specific values for such a design, in this context, I'll consider commenting on the idea. – jonk Sep 08 '16 at 19:35
  • @carloc: Just to be clear, I think it's also a fine approach in this context. – jonk Sep 08 '16 at 19:47
  • Yes sure it is, I just tried to dowload and edit your schematic but seems to be all but easy (I should register on CircuitLab...). Anyway, yes you exactly got it, fig. 5.5.3 probably the most classic simple AB pushpull audio amplifier since '70. Say you wish to keep the same 800uA bias through R11,D1,D2, output emitters will be at 4.5V, Q2 base roughly at 5.2V and neglecting drop in speaker resistance we reckon a base bias resistance around \$R_\text{B2}=\frac{9\,\text{V}-5.2\,\text{V}}{800\,\mu\text{A}}\approx 4.7\,\text{k}\Omega\$. – carloc Sep 08 '16 at 20:02
  • @carloc: Yeah. Just updated stuff to reflect that. – jonk Sep 08 '16 at 20:03
  • @carloc: Came up with the exact same value, too!! Note that I added all the necessary comments, as well. Thanks! – jonk Sep 08 '16 at 20:03
  • Cheers :) But don't be sorry, you always do a great job here. – carloc Sep 08 '16 at 20:11
  • @carloc: I have about five different things going on around me almost 24/7 here. (We have a medically fragile adult here, requiring 24/7 line of sight supports.) And I'm just a hobbyist without any training at all. This means I don't always provide the best possible advice. Just _some_ advice. I'm very glad you made me recall bootstrapping the output. It definitely improved the result of what I wrote. Appreciated. – jonk Sep 08 '16 at 20:16
  • @jonk, just wanted to give you some feedback. I've built the second circuit on a breadboard and it's working perfectly. Exactly as described. Thank you! – bitshift Sep 13 '16 at 18:49
  • @bitshift Thanks for the feedback! Nice to hear. If you get a chance, try measuring the voltage across \$R_5\$ with \$C_1\$ removed or the signal input disconnected. I'm curious about that. It may impact the best value for \$R_{11}\$ – jonk Sep 13 '16 at 19:03