Yes, and yes - attached is an updated .sch, with everything corresponding to my proto-implementation, except the transistors being BC546/BC556, IR640. Additionally, the schottky's are BAT42.classd4sure said:Did you use equal driver resistors in your prototype?
Will you be posting the changes in spice as well?
Attachments
Sorry, the picture confused me somewhat. But my lower gate drive doesn't look that "nice".classd4sure said:Look familiar??
My simulation shows this as some sort of delay which is why I had asked if the body diode would cause that...I honestly don't know. When it starts to go lower is the actual response to the drive signal, but the mosfet doesnt' actually turn until ....about 100ns later in my simulation as well, which causes cross conduction +20 amps.
I think I'd rather have the drivers get hot than the mosfets...it they could do it fast enough..I'm not sold on these drivers at all. Still don't fully understand that 100ns pause..but I'm willing to look into alternatives.
BTW that certainly is cross conduction in the pictures.
I am also not sold on these drivers. But I'm not sure the resistor values are optimal...
The switching could be cleaner and more efficient with IC-drivers that are made for driving mosfet gates (and where the dead-time is controlled by that IC, or in how the input signals to the IC are fed to it...)
The discrete driver might be "good enough" only if we limit this to "low power" - something that would make some people ignore this altogether.
One thing to take away and remember from the comparator/driver combination is how it uses current control of the drivers, which simplifies level shifting 🙂
No, not initially. But I tried one to Vss though. Later concluded that the variable resistor between Vcc and Vss would give more control over the DC offset. (Far from an optimal solution though!)phase_accurate said:Did you use a resistor from base to ground in this case ?
Cheers / Johan
Hmm,
The driver works great if you look at gate to source voltage, perfect in fact, if you overlook only pulling it to within a diode drop of zero volts.
When the drive signal drops from VDD+10 to VDD the mosfet should turn off, but there is that 100ns delay before it does. This I guess is the Trr of the body diode? So shorter should improve that? Cross conduction only occurs towards modulation index extremes though...I dont' know
The driver works great if you look at gate to source voltage, perfect in fact, if you overlook only pulling it to within a diode drop of zero volts.
When the drive signal drops from VDD+10 to VDD the mosfet should turn off, but there is that 100ns delay before it does. This I guess is the Trr of the body diode? So shorter should improve that? Cross conduction only occurs towards modulation index extremes though...I dont' know
Guys,
Please use a faster Fet, with a low gate-charge! The IRF640 is a VERY bad choice, IRF540 is better. Tip look to those fast switching Fets from Fairchild, with a low gate-charge and low outputcap.
With a good Fet you get a good fast switching ......
Regards,
Jan-Peter
Please use a faster Fet, with a low gate-charge! The IRF640 is a VERY bad choice, IRF540 is better. Tip look to those fast switching Fets from Fairchild, with a low gate-charge and low outputcap.
With a good Fet you get a good fast switching ......
Regards,
Jan-Peter
Hi Jan,
Thanks for the tip, we'll keep at it.
On a side note, how is that 400W version of yours comming along? I'm looking forward to it. Coulnd't get a quality one done myself as cheap as getting one from you..
Chris
Thanks for the tip, we'll keep at it.
On a side note, how is that 400W version of yours comming along? I'm looking forward to it. Coulnd't get a quality one done myself as cheap as getting one from you..
Chris
classd4sure said:Hmm,
The driver works great if you look at gate to source voltage, perfect in fact, if you overlook only pulling it to within a diode drop of zero volts.
When the drive signal drops from VDD+10 to VDD the mosfet should turn off, but there is that 100ns delay before it does. This I guess is the Trr of the body diode? So shorter should improve that? Cross conduction only occurs towards modulation index extremes though...I dont' know
I think what you are probably seeing for the most part is a 100ns delay before the opposing mosfet turns on because of the dead time which the circuit must have in order not to self-destruct. The shoot through may be there as well, but the opposing mosfet I think would still start to turn on even before the body diode of the opposing mosfet quits conducting all the way. That is one reason why I will probably try to go with mosfet drivers and some type of hysteresis before the mosfet drivers to eliminate the problem of not beginning to oscillate as well as easily being able to control the dead time without upsetting other delicately balanced aspects of the circuit. I tend to agree with Johan in that regard. I realize the distortion of such topology is most likely higher, but I prefer no-fuss approaches. Besides, I only need the efficiency and small size of class D to power my sealed sub.
subwo1 said:
I think what you are probably seeing for the most part is a 100ns delay before the opposing mosfet turns on because of the dead time which the circuit must have in order not to self-destruct. The shoot through may be there as well, but the opposing mosfet I think would still start to turn on even before the body diode of the opposing mosfet quits conducting all the way. That is one reason why I will probably try to go with mosfet drivers and some type of hysteresis before the mosfet drivers to eliminate the problem of not beginning to oscillate as well as easily being able to control the dead time without upsetting other delicately balanced aspects of the circuit. I tend to agree with Johan in that regard. I realize the distortion of such topology is most likely higher, but I prefer no-fuss approaches. Besides, I only need the efficiency and small size of class D to power my sealed sub.
Awwwwww.....c'mon.......that's the easy way 😀
I can say I'm learning a great deal from this as I've never before been able to simulate a full class D amp power stage and all. That's my main goal in this, to learn, and make it easier for others to as well.
From certain app notes I've been reading and not yet beginning to understand it seems the dv/dt incuded turn on can be controlled with proper device selection, which Jan just confirmed. Other means of controlling it are high current drive which effectively takes control over it's behavior apperently, but that isn't an option with this driver, so a driver IC should take care of that nicely for you, probably even without worrying about added hysteresis or dead time. You could always try it that way first before adding the rest, just might work great.
One aspect still baffling me is why you only see the shoot through beyound 50% duty cycle? One would think were it body diode, coss, etc, it would occure every switch regardless of duty cycle?
Aside from that, I think I'll try a one shot on the comparator to force oscillation, but that's just my idea..
Bruno had stated before that at high temperatures the schottky would leave the transistor conducting all the time so he went with a double diode configuration instead, thats' why I made that change, seems to work, but I dont' know if it's a requirement at these power levels, probably not.
Johan, just that it worked at all on a plastic protoboard say's alot for the robustness of it if you ask me, but I'm all for further improvements. Isn't this fun? I'm still optimistic about the outcome, which is outright unlike me.
My last post for the day, the beer came out and while I'm still making sense to myself I'll be making less and less to others 🙂
Chris
classd4sure said:
Awwwwww.....c'mon.......that's the easy way 😀
I can say I'm learning a great deal from this as I've never before been able to simulate a full class D amp power stage and all. That's my main goal in this, to learn, and make it easier for others to as well.
From certain app notes I've been reading and not yet beginning to understand it seems the dv/dt incuded turn on can be controlled with proper device selection, which Jan just confirmed. Other means of controlling it are high current drive which effectively takes control over it's behavior apperently, but that isn't an option with this driver, so a driver IC should take care of that nicely for you, probably even without worrying about added hysteresis or dead time. You could always try it that way first before adding the rest, just might work great.
One aspect still baffling me is why you only see the shoot through beyound 50% duty cycle? One would think were it body diode, coss, etc, it would occure every switch regardless of duty cycle?
Aside from that, I think I'll try a one shot on the comparator to force oscillation, but that's just my idea..
Bruno had stated before that at high temperatures the schottky would leave the transistor conducting all the time so he went with a double diode configuration instead, thats' why I made that change, seems to work, but I dont' know if it's a requirement at these power levels, probably not.
Johan, just that it worked at all on a plastic protoboard say's alot for the robustness of it if you ask me, but I'm all for further improvements. Isn't this fun? I'm still optimistic about the outcome, which is outright unlike me.
My last post for the day, the beer came out and while I'm still making sense to myself I'll be making less and less to others 🙂
Chris
If I get your meaning right, the shoot-through happens only at 50% duty cycle. I would not be surprised because that time there is 0 input and the output is a little unsure where to go. Or is that why there is n shoot-through then? I dunno. I had that type of thing in mind when I mentioned having hysteresis because then the circuit should never equivocate and must always oscillate.
I thought Bruno meant that the diode was experiencing too much forward voltage drop to stop saturation. Class D is fun because it is easy to play with and simple to get something working at least somewhat. Once I tried to throw together a quick class AB amp and it performed atrociously.

I would not be surprised because that time there is 0 input and the output is a little unsure where to go.
This will not happen if correctly dimensioned. It will oscillate constantly in this case.
Regards
Charles
Ok, two short comments before I too get involved with beer 😉.
Cheers / Johan
This has perhaps been covered already in the "distortions in class D" thread (?), but I can't see how dead-time distortion would be an issue in self-oscillating designs.subwo1 said:I realize the distortion of such topology is most likely higher, but I prefer no-fuss approaches.
Yes, of course. The only problem has been getting it to start to oscillate in the first place. 🙂phase_accurate said:This will not happen if correctly dimensioned. It will oscillate constantly in this case.
Cheers / Johan
I think it involves the period where the output is not being controlled by the feedback loop. It is then harder for it to compensate. I think in class AB crossing over of the outputs causes more distortion for probably a similar reason.johanps said:Ok, two short comments before I too get involved with beer 😉.
This has perhaps been covered already in the "distortions in class D" thread (?), but I can't see how dead-time distortion would be an issue in self-oscillating designs.
Have fun as well.😀
Very little time to follow up the board. Seems you guys are doing quite fine 🙂
Just a few things I saw fly past:
PSRR: The UcD's PSRR is equal to its loop gain. At 30dB that's not much. It's improved by tying the two power rails to the inverting input using resistors of
2 times the feedback resistor times loop gain.
Gets PSRR to 60dB and better, which is not wonderful but quite acceptable anyway.
Schottky: in normal conditions you're unlikely to see the power stage self-destruct due to schottky leakage. If the PCB temperature stays below 90C it's probably still the most simple solution. The two-diodes solution needs a 10k resistor from the common cathode to the driver emitter to prevent that node from staying behind on the falling edge.
Yes do by all means get your fets from fairchild.
Just a few things I saw fly past:
PSRR: The UcD's PSRR is equal to its loop gain. At 30dB that's not much. It's improved by tying the two power rails to the inverting input using resistors of
2 times the feedback resistor times loop gain.
Gets PSRR to 60dB and better, which is not wonderful but quite acceptable anyway.
Schottky: in normal conditions you're unlikely to see the power stage self-destruct due to schottky leakage. If the PCB temperature stays below 90C it's probably still the most simple solution. The two-diodes solution needs a 10k resistor from the common cathode to the driver emitter to prevent that node from staying behind on the falling edge.
Yes do by all means get your fets from fairchild.
Bruno Putzeys said:Just a few things I saw fly past:
Thanks Bruno for the helpful comments! The PSRR clarification should really help!
(For the high-end version, use regulated supplies 😀)
In my mind, there's (at least) one issue that needs to be resolved before making a PCB for this, and that's the output DC offset.
Just to try things out, I have added a simple DC servo made with an LF356 op-amp on my protoboard, and it seems to be working quite well.
Would a DC-servo be an acceptable solution? (I have followed debates about this, where some people seem to fear/loathe/hate DC servos, whereas others say that if "well designed", they aren't a problem...)
On the other hand, with Bruno's PSRR-enhancing tips, perhaps the DC-offset's dependency on the supply voltage will decrease? I dunno - I guess I'll have to make some experiments, unless someone can help with a more theoretical explanation/solution.
Comments/opinions?
Edit: perhaps using an op-amp for the lag-filter inside the feedback loop would do the trick instead; virtually no DC-offset problem, and much higher PSRR if the op-amp gets its own regulated low-voltage supplies...?
Howdy,
Still reading up on a few things...having some strange ideas.
Thanks for those tips Bruno!
Johan, I mmmmmay just have an idea or two regarding dc offset, but haven't yet takent he time to consider them much. By all means experiment away in the meantime.. The more ideas the better.
Still reading up on a few things...having some strange ideas.
Thanks for those tips Bruno!
Johan, I mmmmmay just have an idea or two regarding dc offset, but haven't yet takent he time to consider them much. By all means experiment away in the meantime.. The more ideas the better.
Hi,
Johan, for some reason I get too many errors trying to import your latest .sch and it fails to complete, would you mind posting a screen shot of it please, so I can see where we're both at.
I was thinking perhaps adding resistors from the emitters of the lower current mirror to Vss, which would allow adding a potentiometer for offset adjustment, just like op amps do.
Also I was wondering if replacing Rb with another current source might help improve PSRR? Comments please.
Thanks,
Chris
Johan, for some reason I get too many errors trying to import your latest .sch and it fails to complete, would you mind posting a screen shot of it please, so I can see where we're both at.
I was thinking perhaps adding resistors from the emitters of the lower current mirror to Vss, which would allow adding a potentiometer for offset adjustment, just like op amps do.
Also I was wondering if replacing Rb with another current source might help improve PSRR? Comments please.
Thanks,
Chris
Funnily that didn't work. The current unbalance produced a temperature unbalance in the input transistors which restored the DC offset after a few seconds.classd4sure said:I was thinking perhaps adding resistors from the emitters of the lower current mirror to Vss, which would allow adding a potentiometer for offset adjustment, just like op amps do.
What does work is a small pot in the emitters of the input transistors with the wiper tied to the current source. Standard we use a 220ohm pot with between each end to the wiper another 47ohm resistor. Just a 100ohm pot will do as well, but is slightly more finicky in adjustment.
Nope. PSRR on either side of the comparator supply is over 90dB. It's only the "simple" mechanism. View it like this: Increasing the + supply from 40V to 50V and increasing the - supply from -40V to -30V is exactly equal to placing a 10V offset in the output before the feedback connection. This offset is reduced by the loop gain. Since PSRR is defined with only one rail wobbling (not both as in the example), there's an additional 6dB by definition. Hence PSRR=Loop Gain + 6dB.classd4sure said:Also I was wondering if replacing Rb with another current source might help improve PSRR?
--
In some earlier post, someone asked what happens if you use a DC servo.
Well: you could start with a DC servo and then start increasing the servo bandwidth until you can make it process your audio at the same go. Since that will give you enormous loop gains at low frequencies, there is no longer a PSRR problem.
On the other hand, due to the THD vs frequency profile the amp ceases to sound good.
Simply using a DC servo to get rid of DC offsets will not improve PSRR because it'll be too slow. In that case, the pot solution is simpler. Additionally, a DC servo can only work when the amp is effectively operating, so the offset at turn-on goes uncorrected (if the servo integrator isn't entirely locked up already). A 50mV offset is enough to create a noticeable pop at the speakers when the amp is turned on.
All my amps have pots these days, because product managers are frightened to death the amp might produce the minutest "pop" when turned on or off. You know, it's the most subtle audio artefact these people can detect so you can imagine they're particular about it😀
classd4sure said:Johan, for some reason I get too many errors trying to import your latest .sch and it fails to complete, would you mind posting a screen shot of it please, so I can see where we're both at.
Ok, attached here.
I didn't think/say a DC servo would affect PSRR. But I did miss that "pop" issue. And we sure don't want pops before or after our music 😀Bruno Putzeys said:Simply using a DC servo to get rid of DC offsets will not improve PSRR because it'll be too slow. In that case, the pot solution is simpler. Additionally, a DC servo can only work when the amp is effectively operating, so the offset at turn-on goes uncorrected (if the servo integrator isn't entirely locked up already). A 50mV offset is enough to create a noticeable pop at the speakers when the amp is turned on.
All my amps have pots these days, because product managers are frightened to death the amp might produce the minutest "pop" when turned on or off. You know, it's the most subtle audio artefact these people can detect so you can imagine they're particular about it😀
Regards / Johan
Attachments
Bruno, very informative, thank you.
Well, there's a day of brainstorming wasted 😀
Could have been worse..the pot will certainly save some aggravation, I would never have seen that problem comming with the idea I had.
You had said 90 degree board temps brought on the schottky problems..I was curious what kind of power levels would bring those temps on?
Thanks for the screenshot Johan.
Well, there's a day of brainstorming wasted 😀
Could have been worse..the pot will certainly save some aggravation, I would never have seen that problem comming with the idea I had.
You had said 90 degree board temps brought on the schottky problems..I was curious what kind of power levels would bring those temps on?
Thanks for the screenshot Johan.
- Status
- Not open for further replies.
- Home
- Amplifiers
- Class D
- Development of a "reference" class D starting point