From here I can't say what it is. Maybe your practical phase-marging is worse than the simulation suggests.
If you are interested to try there is a trick to improve the phase marging a little.
Regards
Charles
If you are interested to try there is a trick to improve the phase marging a little.
Regards
Charles
If you can tell me that good little trick, I can simulate it now and test it in real life this afternoon, I promise to keep you posted and take some photos!
Best regards,
Pierre
Best regards,
Pierre
I have 20uH and 440nf, then a 22ohm+120n Zobel network.
I suspect that, if the problem was a too small phase margin, it wouldn't work with my speaker, perhaps. And what's more, it only appears when the output is near clipping. Another thing that is strange to me is that the transient (square wave) response is perfect with the same load that I get that ringing. Mmmmm
Best regards,
Pierre
I suspect that, if the problem was a too small phase margin, it wouldn't work with my speaker, perhaps. And what's more, it only appears when the output is near clipping. Another thing that is strange to me is that the transient (square wave) response is perfect with the same load that I get that ringing. Mmmmm
Best regards,
Pierre
According to a papaer by Brian Attwood it can happen that pulses get lost at the extremes of modulation and that this might cause some ripple. He did however not mention how this is caused exactly.
Regards
Charles
Regards
Charles
Are this values still valid ?
And is the triangle still 6Vpp ? And the "main" feedback resistor still 47 k ?
In this case your unity gain point is around 200 kHz and therefore too high !
Regards
Charles
The feedback components are:
- 10k series NFB resistor
- 68k || 68 pF comp. network
- 330pF + 1k (now 10k) integrator, in parallel with 150kohm
- 2k input resistor
And is the triangle still 6Vpp ? And the "main" feedback resistor still 47 k ?
In this case your unity gain point is around 200 kHz and therefore too high !
Regards
Charles
No, the feedback network is 1k+ (68k|| 68pF)
The rest is correct.
Following the simulations, it gives me 0dB open loop gain at 140KHz, with a 78 degs PM with 5ohm resistive load.
The rest is correct.
Following the simulations, it gives me 0dB open loop gain at 140KHz, with a 78 degs PM with 5ohm resistive load.
when I simulate i get a unit-gain frequency of170 kHz approx. but even your 144 kHz can be too high, depending on your switching frequency (around 230 kHz, isn't it ?).
Try with the integrator cap of 470 pF and series resistor of 6.8 k.
Regards
Charles
Try with the integrator cap of 470 pF and series resistor of 6.8 k.
Regards
Charles
Sw. freq is about 285KHz.
I have reduced the 150k to 47k back again and I have noticed that the amplitude at which the oscillation starts to appear is higher. Before was about 28Vp, now is about 36Vp.
The ringing freq. is very difficult to measure, although one of the times I have catched it, the freq. was about 140KHz (casuality?)
This is a photo (20V/div) of what occurs.
BTW: I have tried the no-load situations, and it doesn't start (goes to the negative rail). Loaded with 2.2k it goes to about -10Vdc and starts good as soon as I inject some signal.
With 1uF as the load, it doesn't start either. If I put 5 ohms in parallel with 1uH, it is fine.
I have reduced the 150k to 47k back again and I have noticed that the amplitude at which the oscillation starts to appear is higher. Before was about 28Vp, now is about 36Vp.
The ringing freq. is very difficult to measure, although one of the times I have catched it, the freq. was about 140KHz (casuality?)
This is a photo (20V/div) of what occurs.
BTW: I have tried the no-load situations, and it doesn't start (goes to the negative rail). Loaded with 2.2k it goes to about -10Vdc and starts good as soon as I inject some signal.
With 1uF as the load, it doesn't start either. If I put 5 ohms in parallel with 1uH, it is fine.
Attachments
So why is it so critial that the unity gain frequency of the open loop is below 1/2 the switching freq?
What do you think about the other effects (sticking to lower rail with no-load)?
What do you think about the other effects (sticking to lower rail with no-load)?
The sticking to the rail is most probably not caused by the unity-gain point. I don't have an idea what might cause it at the moment.
The 1/2 f-carrier unity-gain point comes from the fact that a class-d amp is a discrete-time system and therefore the Nyqvist theorem should be taken care of (or one can get instability).
Regards
Charles
The 1/2 f-carrier unity-gain point comes from the fact that a class-d amp is a discrete-time system and therefore the Nyqvist theorem should be taken care of (or one can get instability).
Regards
Charles
Just a quick thought from looking at your wave...
You're probably using a fast comparator.. but toward the peaks of your triangle reference.... try cranking up the gain on your triangle a little bit and see if it goes away? I know you don't want to add hysteresis to the comparator..
I don't know, seems funny how it's only happening at the peaks.
Good luck
You're probably using a fast comparator.. but toward the peaks of your triangle reference.... try cranking up the gain on your triangle a little bit and see if it goes away? I know you don't want to add hysteresis to the comparator..
I don't know, seems funny how it's only happening at the peaks.
Good luck
I know what you refer to, classd4sure. My comparator is not extremely fast, but the effect you talk about is seen with more amplitude and in a more erratical way just at the peaks, I have seen it. It is produced when the duty-cycle is required to be near 0% or near 100% as the pulses are so thin that they sometimes disappear.
This is ringing, not false triggering of the comparator. The proof is that it also appears with a square wave of enough amplitude: the top and bottom have oscillation but you can continue turning the amplitude up.
I am getting more and more convinced that it is a problem of estability, although the square wave response is very good.
I will try the 6.8k + 470pF I had before as Charles suggests (I think that during all the tweaking I have been doing during the past weeks with the feedback network, I haven't had this problem with some value combinations)
Best regards
This is ringing, not false triggering of the comparator. The proof is that it also appears with a square wave of enough amplitude: the top and bottom have oscillation but you can continue turning the amplitude up.
I am getting more and more convinced that it is a problem of estability, although the square wave response is very good.
I will try the 6.8k + 470pF I had before as Charles suggests (I think that during all the tweaking I have been doing during the past weeks with the feedback network, I haven't had this problem with some value combinations)
Best regards
I have changed the values to 6.8k and 470pF, no noticeable improvement.
I have also replaced my zobel resistor, that had blown up during the oscillations when I connected my speaker. No change afterwards.
I have also done some tests with a good CD player and a test CD I created some years ago with Matlab. It has a lot of tracks with sine waves of different frequencies. I haven't noticed any distortion by eye in the whole audio band (I think I am going to throw away my old crappy function generator, that had a lot of distortion! 😉
I have done some listening tests also and I am surprised what low the noise really is with no signal!
Well, I don't know if I should forget about that ringing by the moment, perhaps something is bad in the board after so many tests. I will go for it when I re-design the board if it still exists.
Best regards
I have also replaced my zobel resistor, that had blown up during the oscillations when I connected my speaker. No change afterwards.
I have also done some tests with a good CD player and a test CD I created some years ago with Matlab. It has a lot of tracks with sine waves of different frequencies. I haven't noticed any distortion by eye in the whole audio band (I think I am going to throw away my old crappy function generator, that had a lot of distortion! 😉
I have done some listening tests also and I am surprised what low the noise really is with no signal!
Well, I don't know if I should forget about that ringing by the moment, perhaps something is bad in the board after so many tests. I will go for it when I re-design the board if it still exists.
Best regards
As I etched two boards I have built the second one, and it shows the same problems as the other (it has ringing with big signals), but it is even more prone to oscillation than the first board.
So I am starting to think that my phase margin is smaller than what my simulation show and that any parasitic can make it conditionally estable or even unestable.
A question for Charles: what happens if the 0dB point of the open loop freq. response is located at a higher frequency than fsw/2? I know that's not good due to undersampling (violation of Nyquist theorem), but I want to know if that can make it oscillate.
The amp runs fine up to, say, 40Vpp with sine wave, above that, the oscillations are big. The square wave response is also good, until a certain amplitude where the oscillations are sustained (not damped).
You talked about a trick to improve phase margin, could you give us more clues?
Thanks!
So I am starting to think that my phase margin is smaller than what my simulation show and that any parasitic can make it conditionally estable or even unestable.
A question for Charles: what happens if the 0dB point of the open loop freq. response is located at a higher frequency than fsw/2? I know that's not good due to undersampling (violation of Nyquist theorem), but I want to know if that can make it oscillate.
The amp runs fine up to, say, 40Vpp with sine wave, above that, the oscillations are big. The square wave response is also good, until a certain amplitude where the oscillations are sustained (not damped).
You talked about a trick to improve phase margin, could you give us more clues?
Thanks!
There could indeed some instability arise if your unity-gain point is higher than the Nyqvist frequency. This is what the written theory says (the reason why I never even tried to go over it in proctice though I should maybe try once) and also what simulations showed.
In order to get more phase marging one has to add more phase-lead in the forward path. This could either be done by adding a lead filter (i.e. using an additional op-amp) or by a modification to the ffedback network of the integrator. I would recommend the latter but you would have to use a fast op-amp.
Regards
Charles
In order to get more phase marging one has to add more phase-lead in the forward path. This could either be done by adding a lead filter (i.e. using an additional op-amp) or by a modification to the ffedback network of the integrator. I would recommend the latter but you would have to use a fast op-amp.
Regards
Charles
Thanks, Charles. You are always very willing to help.
To check if the problem is coming from excessive unity gain frequency, I will progressively increase my switching frequency to see if it disappears. I don't want to go much higher for efficiency reasons, but at least this can give me info without modifying the FB network, right?
At the end, some additional phase marging will be good, but I don't like opamps in my feedback path, so I prefer the last solution. I don't mind using a fast opamp. What are the mods you propose?
Best regards,
Pierre
To check if the problem is coming from excessive unity gain frequency, I will progressively increase my switching frequency to see if it disappears. I don't want to go much higher for efficiency reasons, but at least this can give me info without modifying the FB network, right?
At the end, some additional phase marging will be good, but I don't like opamps in my feedback path, so I prefer the last solution. I don't mind using a fast opamp. What are the mods you propose?
Best regards,
Pierre
but at least this can give me info without modifying the FB network, right?
Yes
What are the mods you propose?
Wait a moment !
Regards
Charles
- Status
- Not open for further replies.
- Home
- Amplifiers
- Class D
- Help with feedback