Pizzicato, a 200W low distortion CFA amplifier

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Hi Tryphon, I haven't had much time to pop in and will try to catch up with what is happening next few days. WRT IP diamond pair, you can use either bootstrapped or non bootstrapped and jig them to have whatever tempco you like. I suggest you dump the sim and breadboard the front end up, just the diamond pair and do some real measurements. Use a hot air gun for heat source. Here are a few tricks: - You can use diodes in place of R10 and R25. R1 and R3 will have to go bigger to achieve same current. If diodes are coupled to IP BJT's, you will end up with negative tempco.

- Second trick is to play with resistor sizes. IOW if R1/3 are smaller than R10/25 and the BJT's are thermally coupled, it should have a negative tempco.

- One of the issues impacting thermal stability is you have current gain in the voltage stage because of ratio of R5/31 and R12/26 = 820/25. So any thermally induced current run away in IP stage gets magnified through 2nd stage.

- A solution to this is to make R5/31 and R12/26 more similar in size. This will lower your current gain. The downside is distortion will go up a bit. You can get around the distortion issue at high frequencies by bypassing R12/26 with a film cap (and usually a smaller series R). This will increase OLG at higher frequencies. Since the amp has such low distortion at 1kHz it's not too much of an issue to increase distortion at these frequencies.

- I'll run the sim when I get some time. I haven't got my head around the error correction yet, need to have a closer look. Doing sims with opamp based error correction is pretty unreliable.

The amp looks great so far.
Terry, thanks for your help and interest. Greatly appreciated. As we still have a negative tempco, as you had seen in the last attachment, I'm concentrating on other things.

The add of a simple diode in serial with the reference zener's of the current sources had solved one part of the problem. The current sources are now very flat with temp changes.

The add of a classical transistor to set the quiescent solved the issue. And add a security in case of bad contact of its adjustable resistor.

I cannot follow your various tips, because I don't know which file you are referring-to with resistances numbers ;-)

Terry preempted. This version is more tolerant of device change and temp. Split the driver resistor so that a feedback point can be taken midway without output devices to establish DC conditions.
Please, see attached the last changes. The diode in the current source references to stabilize them in temp. The twoo schottkys in the VAS emitter to allow more gain margin (still works with 910 Ohms). And, this way, I can have max gain and keep the DC current low in the VAS/drivers (~6-8mA). And the transistor for the quiescent that bring negative tempco.

I agree with Terry about diodes in the input stage with the advantage we don't loose gain while fighting against VBE mismatches. The basic idea of this project was to use the input stage to add as much loop gain as possible, VFA like, while keeping the "expansive" CFA behavior (Current on demand). The asc attached show 0.000006% @1KHz.

About error correction, I use-it since decades. It is working with no problem, as long you use fast enough Opamps (minimize phase turns) and don't ask them too much (just a degree of magnitude). It is optional, depending of the way we like the sound with or without, as the amp itself is low enough distortion ;-).
The final amp could have a switch "on/off" for the err.corr. But using-it for DC servo, (that I never seen before) is really a plus. Minimize impact on the sound, faster and more efficient.

What about this, to can adapt input stage to any VBE mismatches and disparities ?
May-be a little tricky to tune, but only affect DC.
 

Attachments

  • transf.gif
    transf.gif
    84.9 KB · Views: 528
  • pizzicatoV4-a.asc
    64.3 KB · Views: 52
  • missmatch.gif
    missmatch.gif
    10.2 KB · Views: 519
Hi.

Thank you for your lovely design. It's always interesting and fun to see how a design slowly morhpes into maturity :)

I'm always trying to learn, and got curious when i saw your open loop bodeplot on the very first page. It shows that it reaches 0dB gain at around 287°. Is this amplifier stable ?

If I have not misunderstood the concept, it should reach 0dB open loop gain before it reaches 180°, preferably with a phase margin at around 60°. ( 0dB gain at ~ 120° )

I think that it might not be an issue, if the 180° are reached way beyond the audio spectrum, and the input has a r c filter. But what about other sources of hf, like cb/ham radio, microwave ovens, or whatever else might generate hf

Can someone please explain why it's (not) stable?
 
V4 does not run. Syntax error.
Probably saved in the middle of something ? There is too an error on the R31 that should be 910.
Do-you need I repost a working one, or can-you figure-it out ?

Hi.
I'm always trying to learn, and got curious when i saw your open loop bodeplot
on the very first page. It shows that it reaches 0dB gain at around 287°.
Is this amplifier stable ?
Not really as you interpret the curve. It is one of the fantasies of LTSPICE with Middlebrook. It takes 0 and even sometimes 180° as reference at the low frequency starting point. But here, we have a servo that introduce 90° phase shift that you have to substract.
If you can make a Tian "V(fb)/V(Inm)". More simple to interpret. Lot of phase margin.
 
Thank you. That actually makes good sense :)
Made a more talkative image to explain. Removing the DC servo, manual limiting the phase scale.
Here the reference is -180° top of the frame. The point 2, at 0dB (Red dot, -376mdB) is at -281° (White dot). Makes 100° of phase shift. Margin is: 360-280= 80° (79°).
The point 1 is at -360°(white dot). Makes 19dB of gain margin (red dot).
All this is in the pop-up, resumed in the third square: "Ratio (Cursor2/cursor1)
The LTSPICE UI is a p. in the a.
In 5 minutes of work, they could code the scale to set the reference always at 0 instead of - or + 180° or 90° etc. Totally Stupid.

Onemangang, I think i have understood your problem: you were looking at the phases numbers horizontally aligned to the gain curve. You have to find the point on the phase curve vertically aligned to the gain point then look to the corresponding number on the right.
I don't know if I'm clear.
 

Attachments

  • gm-pm.gif
    gm-pm.gif
    106.7 KB · Views: 410
Hi Tournesol.

Thank you for your this. And you are clear. It's me who is mistaken, and also a little confused.

When I saw your openloop 'bodeplot' in post #2 I did not notice that it said 'V(fb)/V(Inm))'. I took it for a normal bodeplot V(Out) and just looked at the numbers that ltspice reported. Sorry about that. I do understand that you can just subtract the phase reference.

But while trying to plot V(fb)/V(Inm) myself, i noticed in your schematic, (both post #2 and #145), that 'fb' and 'Inm' are both connected to the amplifiers output. I assume 'fb' means feeback, and 'fb' should be on the other side of R11? But 'Inm'?

When i play with ltspice and open loop gain, i usually short (in this case) R34 with a huge cap, wich in turn would make 'V(fb)' unusable. Hence my confusion.

Maybe I am going about this all wrong. Is it too much to ask for a schematic/simfile that shows how you sim V(fb)/V(Inm)?

Your explanation about wrong phase reference also clears up why ltspice can show positive phase shift.

A stray thought about servo's.. When i look at the way the servo is implemented, I often think of alternative ways to do this. What about a servo that controls/biases the ccs's feeding the input transistors?
 
AX tech editor
Joined 2002
Paid Member
Professor, this turned out to be a nice project, my compliments. It's hard to manage a design by committee but you seem to have it in hand.

Too bad that your constant LTspice bashing detracts from it. We know that those who designed it are totally stupid and they should have consulted with you. They didn't. We don't understands why you continue to use such a bad program instead of getting something better. We know. Can we now continue with the project?

You were the one coming up with 'don't look a given horse in the mouth', maybe you could consider to follow your own advice?

Jan
 
Last edited:
Ups..

Hi Tournesol.

Thank you for your this. And you are clear. It's me who is mistaken, and also a little confused.

Regarding the stability phase margins, I googled 'tian' and 'bodeplot' and got tons of pages for the Tina software. I first found something on tian after my previous post. Google thought i misspelled 'tina' and somehow I am not able to edit my own post - Sorry.

I'd like to point out, that I'm not an engineer. I understand the basics of analog electronics, and somewhat beyond that. It's my hobby, I love amplifier designs, toying with ltspice whenever the chance is there. I've also build a few of my own designs, of which two are still in use. But that was in the early 90's before I owned a computer (no spice)

I'm very grateful that people like you and yours alike share your designs, so we mortals can learn.

Keep up the good work :)
 
Here we are: The idea to offer the ability to tune the current of the second stage of the diamond seems to be fine. As those currents set all the DC balance of the amp, no need of the offset adjustment network any more, and all the trouble that comes with (noise from ripple of the power supplies).

The way to adjust is simple: First adjust R4 to get 1.2V of current across Q2 (1,092V between the two sides of R5). Then, adjust R74 to suppress the offset voltage at the amp output as much as possible. Done.

See attached PizzicatoV4-d.asc

I tried various input devices balanced and unbalanced. Seems to work fine.

I tried some temperature measurements. Here what I got in the wonderful world of LTSPICE ;-):

Between 20 and 50° (27°)
- Current sources (First stage) 1.2051 to 1.2021 mA (1.2mA)
- Second stage: 1.20929 to 1.16339 mA (1.2 mA)
- VAS: 6.6 to 8.85 mA (7.31mA)
- Driver: 10.07 to 9.5 mA (10.45mA)
- Power FETs: 104 to 90.34 mA (100mA)
- Offset: 70 to 140nV.
HD at 1kHz: 0.000005%

Phase margin: ~63°, Gain margin: 12.6dB.
Bandwidth (-3dB) :
Without input filter: 1.5Hz to 10MHz.
With input filter: 1.5Hz to 325kHz.

I will have to test the same input but with bootstrap. But, as the problem it was intended to help seems fixed, I don' see, for now, any advantage. Risk of instability (Diamonds can be yet 'nervous', sometimes, and bootstrap adds its own risk of possible HF annoyance. Better isolation this way, too.
 

Attachments

  • pizzicato-V4-d.gif
    pizzicato-V4-d.gif
    82.5 KB · Views: 421
  • pizzicatoV4-d.asc
    63.6 KB · Views: 67
Last edited:
Member
Joined 2011
Paid Member
It seems odd that the "VBE multiplier" a/k/a "bias spreader" transistor Q15 is a unique part number, 2N3904, which not used anywhere else in the circuit. Surely if builders can afford to pay for eight unobtanium Hitachi lateral FETs in the TO-3 package, they can also afford to buy another BC546 to install in position Q15. It eliminates one line-item from the BOM.
 
www.hifisonix.com
Joined 2003
Paid Member
I do have to agree that seemingly arbitrary phase scale can be confusing - but T's graphic annotation overleaf has clarified it. The trick of course is to recognize that at DC there is no phase change if, upon inspection, your circuit does not invert.

Anyway, let me not detract from an excellent thread.
 
Let me say that LTSpice has a very steep learning curve, at least for me, even with Mr. Mooly excellent thread. Yes the interface is great need of modernization, but it is FREE and I would ask for anyone to tell me a better FREE one to use. :confused::D

Can we start on the front end for the PCB yet?:D:nod::D learning a lot from the thread in general. Thanks Everyone...
 
File could not be opened. This version created from schematic. Results seem to differ. Needed a long delay for simulation. BC550 is 45V.
- A problem with your PC or connexion ? I just tried and to download-it right now and the file seems working.

- The delay is due to LTSPICE that has hard time to calculate the max rejection with the differential Opamp of the servo. Faster when there is a little mismatch.

' Results seem to differ: Need a little patience and try with ".param dlycyc = 1000"

About transistors, it is one of my various tries, to see if it behave with various transistors. I Should had changed-them for BC546/556 before to post.
Anyway, I'm waiting for everybody's suggestions.

Can we start on the front end for the PCB yet?:D:nod::D
I think, yes.

Can we start on the front end for the PCB yet?:D:nod::D
I think, yes.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.