Baxandall class-D oscillator squegging and the VBIC model

The Baxandall parallel class-D oscillator "squegs" in real life if you build it with a high value inductance in the current feed and bipolar switches. An LTSpice circuit using the Gummel-Poon model for the bipolar transistors doesn't show this - it settles down to a stable sinusoidal oscillation within less than a hundred cycles.

The obvious effect of using a high value inductor is that the current through the inductor over-shoots dramatically at start-up and actually reverses polarity as it recovers, so the bipolar transistors briefly run inverted (emitter and collector diffusions swap roles). In real life this clearly makes the circuit behave very oddly, but the Gummel- Poon model equally clearly doesn't capture this particular oddness.

VBIC might do better, but it doesn't with the model parameters that I bodged out of Gummel-Poon parameters. Somebody who had a better - some - understanding of the VBIC parameters might well be able to do better.

Version 4 SHEET 1 3272 1144 WIRE -160 -160 -464 -160 WIRE 80 -160 -160 -160 WIRE 368 -160 80 -160 WIRE 80 -128 80 -160 WIRE -160 -64 -160 -160 WIRE 368 -64 368 -160 WIRE -64 -16 -96 -16 WIRE 80 -16 80 -48 WIRE 80 -16 16 -16 WIRE 112 -16 80 -16 WIRE 176 -16 112 -16 WIRE 304 -16 256 -16 WIRE -160 96 -160 32 WIRE -80 96 -160 96 WIRE 0 96 -80 96 WIRE 288 96 64 96 WIRE 368 96 368 32 WIRE 368 96 288 96 WIRE -160 192 -160 96 WIRE -112 192 -160 192 WIRE 80 192 -32 192 WIRE 208 192 80 192 WIRE 368 192 368 96 WIRE 368 192 288 192 WIRE -224 272 -288 272 WIRE 16 272 -144 272 WIRE 80 272 80 192 WIRE 80 272 16 272 WIRE -464 336 -464 -160 WIRE -128 416 -160 416 WIRE -32 416 -128 416 WIRE 192 416 48 416 WIRE 224 416 192 416 WIRE 384 416 304 416 WIRE 400 416 384 416 WIRE 112 464 112 -16 WIRE -160 560 -160 416 WIRE -48 560 -160 560 WIRE 400 560 400 416 WIRE 400 560 32 560 WIRE -464 624 -464 416 WIRE -288 624 -288 272 WIRE -288 624 -464 624 WIRE 112 624 112 544 WIRE 112 624 -288 624 WIRE 192 624 192 416 WIRE 192 624 112 624 WIRE -464 656 -464 624 FLAG -464 656 0 FLAG 16 272 Vct FLAG 384 416 Vout+ FLAG -128 416 Vout- FLAG -80 96 tank- FLAG 288 96 tank+ SYMBOL ind2 -128 208 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 4 56 VBottom 2 SYMATTR InstName L1 SYMATTR Value 250=B5 SYMATTR Type ind SYMATTR SpiceLine Rser=3D0.022 Cpar=3D1p SYMBOL ind2 192 208 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 4 56 VBottom 2 SYMATTR InstName L2 SYMATTR Value 250=B5 SYMATTR Type ind SYMATTR SpiceLine Rser=3D0.022 Cpar=3D1p SYMBOL cap 64 80 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 46 32 VTop 2 SYMATTR InstName C1 SYMATTR Value 100n SYMBOL ind2 -240 288 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L7 SYMATTR Value 33m SYMATTR SpiceLine Ipk=3D0.03 Rser=3D80 Cpar=3D8.5p SYMATTR Type ind SYMBOL voltage -464 320 R0 WINDOW 123 0 0 Left 2 WINDOW 39 24 132 Left 2 SYMATTR SpiceLine Rser=3D0.001 SYMATTR InstName V1 SYMATTR Value 5 SYMBOL ind2 32 0 M270 WINDOW 0 44 45 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L3 SYMATTR Value 1.4=B5 SYMATTR Type ind SYMATTR SpiceLine Rser=3D0.001 Cpar=3D1pF SYMBOL ind2 272 0 M270 WINDOW 0 32 56 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L4 SYMATTR Value 1.4=B5 SYMATTR Type ind SYMATTR SpiceLine Rser=3D0.001 Cpar=3D1p SYMBOL res 96 448 R0 SYMATTR InstName R1 SYMATTR Value 3k9 SYMBOL pnp -96 32 R180 SYMATTR InstName Q3 SYMATTR Value 2N3906A SYMBOL pnp 304 32 M180 SYMATTR InstName Q4 SYMATTR Value 2N3906A SYMBOL ind2 -48 432 R270 WINDOW 0 44 45 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L5 SYMATTR Value 22.5=B5 SYMATTR Type ind SYMATTR SpiceLine Rser=3D0.004 Cpar=3D1pF SYMBOL ind2 208 432 R270 WINDOW 0 44 45 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L6 SYMATTR Value 22.5=B5 SYMATTR Type ind SYMATTR SpiceLine Rser=3D0.004 Cpar=3D1pF SYMBOL res 48 544 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R2 SYMATTR Value 1k SYMBOL res 64 -144 R0 SYMATTR InstName R3 SYMATTR Value 1k TEXT -488 720 Left 2 !.tran 0 10m 0m 10n TEXT -488 760 Left 2 !.ic V(tank-)=3D5 V(Vct)=3D4.995 V(tank+)=3D4.99 V(Vo= ut

+)=3D0.0 V(Vout-)=3D-0.0 I(L3)=3D0.00 I(L1)=3D0 I(L2)=3D0 I(L4)=3D-0.0 I(L5)=3D-0.0 I(L7)=3D-0.0033 TEXT -480 800 Left 2 !K1 L1 L2 L3 L4 L5 L6 0.99 TEXT -488 840 Left 2 !.model 2N3906A PNP(ibei=3D2.22716E-18 xii=3D3 Ea=3D1.11 Vef=3D16.8 \n+ Iben=3D7.558f Nen=3D1.536 Ikf=3D.293583 Xin=3D1.= 5 Ver=3D50 ibcn=3D529.3E-18 \n+ Ncn=3D15.51 Ikr=3D10. Rcx=3D.8508 Cjc=3D10.1= 3p Mc=3D. 6993 pc=3D1.006 Fc=3D.5 \n+ Cje=3D10.39p Me=3D.6931 pe=3D.9937 Tr=3D10n Tf= =3D181.2p Itf=3D4.881m rth=3D0. cth=3D0.\n+ Xtf=3D.7939 Vtf=3D10 Rbx=3D10)\n+ Level= =3D9

-- Bill Sloman, Nijmegen

Reply to
Bill Sloman
Loading thread data ...

(LTSpice _schematic_ (Phil) snipped)

Since it's balanced, why do you need a monster inductor there? Why not use a resistor, or put a resistor in series with the L to dampen the squegging?

--
My liberal friends think I'm a conservative kook.
My conservative friends think I'm a liberal kook.
Why am I not happy that they have found common ground?

Tim Wescott, Communications, Control, Circuits & Software
http://www.wescottdesign.com
Reply to
Tim Wescott

It seems to wobble a bit on startup, but doesn't actually squegg even with a full henry as the feed inductor.

Oscillators sure simulate slowly.

John

Reply to
John Larkin

-

That's what I'm complaining about. A real circuit would almost certainly squeg.

-- Bill Sloman, Nijmegen

Reply to
Bill Sloman

r
n

on

-

Using a big inductor reduces the level of odd harmonics (3rd, 5th etc) in the sine wave generated. Using an inductor at all is the kern of the Class-D oscillator

formatting link

Adding more resistance in series with the inductor makes the circuit less efficient. Jim William's versions get over 90% efficiency - Linear Technology application notes AN45, AN49, AN51, AN55, AN61, AN65.

If it were big enough, it might damp the overshoot on start-up enough to prevent the initial reversal of current in the inductor, which might - in turn - stop the squegging from starting.

-- Bill Sloman, Nijmegen

Reply to
Bill Sloman

Well there's one way to find out isn't there? :)

--

John Devereux
Reply to
John Devereux

u
y

mel-

-

The last one I built with an over-sized oscillator (which was the first one I ever built, more than forty years ago) certainly squegged. Building another just to prove the point would be something of a waste of time. An example with a diode to prevent the current through the inductor going the wrong way might make more sense.

-- Bill Sloman, Nijmegen

Reply to
Bill Sloman

Well of course the next step is to fix the squegging. But if it does not show up in the simulation, then the simulation is not going to be much use for fixing it!

--

John Devereux
Reply to
John Devereux

On Jan 14, 3:41=A0pm, John Devereux wrote:

you

lar

e

ent

ally

ly

l

Gummel-

.
t

er -

do

n

If the problem is the current going the wrong way through the inductor

- which is what the simulations seem to suggest - then one extra diode might well fix it. If this were to work, I'd have found something - thanks to the simulation - which Peter Baxandall (amongst many others, including me and Tony Williams) had missed. If it were that simple, someone should have found it out earlier, so it probably won't work.

Version 4 SHEET 1 3272 1144 WIRE -160 -160 -464 -160 WIRE 80 -160 -160 -160 WIRE 368 -160 80 -160 WIRE 80 -128 80 -160 WIRE -160 -64 -160 -160 WIRE 368 -64 368 -160 WIRE -64 -16 -96 -16 WIRE 80 -16 80 -48 WIRE 80 -16 16 -16 WIRE 112 -16 80 -16 WIRE 176 -16 112 -16 WIRE 304 -16 256 -16 WIRE -160 96 -160 32 WIRE -80 96 -160 96 WIRE 0 96 -80 96 WIRE 288 96 64 96 WIRE 368 96 368 32 WIRE 368 96 288 96 WIRE -160 192 -160 96 WIRE -112 192 -160 192 WIRE 80 192 -32 192 WIRE 208 192 80 192 WIRE 368 192 368 96 WIRE 368 192 288 192 WIRE -224 272 -304 272 WIRE 16 272 -144 272 WIRE 80 272 80 192 WIRE 80 272 16 272 WIRE -464 336 -464 -160 WIRE -128 416 -160 416 WIRE -32 416 -128 416 WIRE 192 416 48 416 WIRE 224 416 192 416 WIRE 384 416 304 416 WIRE 400 416 384 416 WIRE 112 464 112 -16 WIRE -304 496 -304 272 WIRE -160 560 -160 416 WIRE -48 560 -160 560 WIRE 400 560 400 416 WIRE 400 560 32 560 WIRE -464 624 -464 416 WIRE -304 624 -304 560 WIRE -304 624 -464 624 WIRE 112 624 112 544 WIRE 112 624 -304 624 WIRE 192 624 192 416 WIRE 192 624 112 624 WIRE -464 656 -464 624 FLAG -464 656 0 FLAG 16 272 Vct FLAG 384 416 Vout+ FLAG -128 416 Vout- FLAG -80 96 tank- FLAG 288 96 tank+ SYMBOL ind2 -128 208 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 4 56 VBottom 2 SYMATTR InstName L1 SYMATTR Value 250=B5 SYMATTR Type ind SYMATTR SpiceLine Rser=3D0.022 Cpar=3D1p SYMBOL ind2 192 208 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 4 56 VBottom 2 SYMATTR InstName L2 SYMATTR Value 250=B5 SYMATTR Type ind SYMATTR SpiceLine Rser=3D0.022 Cpar=3D1p SYMBOL cap 64 80 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 46 32 VTop 2 SYMATTR InstName C1 SYMATTR Value 100n SYMBOL ind2 -240 288 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L7 SYMATTR Value 33m SYMATTR SpiceLine Ipk=3D0.03 Rser=3D80 Cpar=3D8.5p SYMATTR Type ind SYMBOL voltage -464 320 R0 WINDOW 123 0 0 Left 2 WINDOW 39 24 132 Left 2 SYMATTR SpiceLine Rser=3D0.001 SYMATTR InstName V1 SYMATTR Value 5 SYMBOL ind2 32 0 M270 WINDOW 0 44 45 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L3 SYMATTR Value 1.4=B5 SYMATTR Type ind SYMATTR SpiceLine Rser=3D0.001 Cpar=3D1pF SYMBOL ind2 272 0 M270 WINDOW 0 32 56 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L4 SYMATTR Value 1.4=B5 SYMATTR Type ind SYMATTR SpiceLine Rser=3D0.001 Cpar=3D1p SYMBOL res 96 448 R0 SYMATTR InstName R1 SYMATTR Value 3k9 SYMBOL pnp -96 32 R180 SYMATTR InstName Q3 SYMATTR Value 2N3906A SYMBOL pnp 304 32 M180 SYMATTR InstName Q4 SYMATTR Value 2N3906A SYMBOL ind2 -48 432 R270 WINDOW 0 44 45 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L5 SYMATTR Value 22.5=B5 SYMATTR Type ind SYMATTR SpiceLine Rser=3D0.004 Cpar=3D1pF SYMBOL ind2 208 432 R270 WINDOW 0 44 45 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L6 SYMATTR Value 22.5=B5 SYMATTR Type ind SYMATTR SpiceLine Rser=3D0.004 Cpar=3D1pF SYMBOL res 48 544 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R2 SYMATTR Value 1k SYMBOL res 64 -144 R0 SYMATTR InstName R3 SYMATTR Value 1k SYMBOL schottky -320 496 R0 SYMATTR InstName D1 SYMATTR Value BAT54 SYMATTR Description Diode SYMATTR Type diode TEXT -488 720 Left 2 !.tran 0 10m 0m 10n TEXT -488 760 Left 2 !.ic V(tank-)=3D5 V(Vct)=3D4.995 V(tank+)=3D4.99 V(Vo= ut

+)=3D0.0 V(Vout-)=3D-0.0 I(L3)=3D0.00 I(L1)=3D0 I(L2)=3D0 I(L4)=3D-0.0 I(L5)=3D-0.0 I(L7)=3D-0.0033 TEXT -480 800 Left 2 !K1 L1 L2 L3 L4 L5 L6 0.99 TEXT -488 840 Left 2 !.model 2N3906A PNP(ibei=3D2.22716E-18 xii=3D3 Ea=3D1.11 Vef=3D16.8 \n+ Iben=3D7.558f Nen=3D1.536 Ikf=3D.293583 Xin=3D1.= 5 Ver=3D50 ibcn=3D529.3E-18 \n+ Ncn=3D15.51 Ikr=3D10. Rcx=3D.8508 Cjc=3D10.1= 3p Mc=3D. 6993 pc=3D1.006 Fc=3D.5 \n+ Cje=3D10.39p Me=3D.6931 pe=3D.9937 Tr=3D10n Tf= =3D181.2p Itf=3D4.881m rth=3D0. cth=3D0.\n+ Xtf=3D.7939 Vtf=3D10 Rbx=3D10)\n+ Level= =3D9
Reply to
Bill Sloman

You might also consider putting diodes in series with the transistor collectors, to force the transistors to only work one way.

--
Tim Wescott
Control system and signal processing consulting
www.wescottdesign.com
Reply to
Tim Wescott

I know that putting a resistor in makes things less efficient -- but what do you want? An astonishingly efficient oscillator that wastes some power, but still works? Or an oscillator that is is astonishingly efficient and useless?

--
Tim Wescott
Control system and signal processing consulting
www.wescottdesign.com
Reply to
Tim Wescott

I doubt it. The whole thing is domnated by the Q of the tuned circuit. It's not a higher-order system. A cap in the base bias network could push it over the edge, like a super-regen receiver.

But why don't you build one and see?

John

Reply to
John Larkin

If the behavior of this oscillator is a waste of time, give it up.

If it were interesting to me, I'd have one running in about 30 minutes, on a handsome, dremeled, labeled slice of copperclad.

John

Reply to
John Larkin

you

lar

e

ent

ally

ly

l

Gummel-

.
t

er -

do

n

A bit extravagant for a 16kHz oscillator. If I get enthusiastic enough to build one I'll put it on a perforated prototyping board. I rather like the one Farnell sells that comes with a "collander ground plane" on the component side of the board. The copper rings around the holes on the track side can be chopped up to support surface mount parts if you want to mix and match.

It will take a bit longer than half an hour - winding transformers is tedious, even when you've got access to a coil winding machine.

-- Bill Sloman

Reply to
Bill Sloman

u
y

mel-

-

Doubt all you like. It squegs anyway, and always has, if you make the feed inductor too big

formatting link

See Baxandall's footnote on page 752.

I've built several over the years. I've got no urgent need to build one now.

-- Bill Sloman, Nijmegen

Reply to
Bill Sloman

t
s
t
I

not

o

One in series with the feed inductor makes more sense than one in series with each of the switching transistors - see today's version of the circuit in my response to John Devereux. it doesn't help the efficiency.

-- Bill Sloman,Nijmegen

Reply to
Bill Sloman

t
s
t
I

not

o

Jim Williams' application notes AN45, AN49, AN51, AN55, AN61, AN65 make it perfectly clear that the circuit can be both efficient and useful. A bigger feed inductor would just reduce the (odd) harmonic content of the output. There's no perceptible even harmonic content.

It has been claimed here that using MOSFET switches rather than bipolar transistors lets you use a big feed inductor and still avoid squegging. My primary interest is trying to work out what causes the squegging, rather than in coming up with a cure for the squegging when it does happen.

If you can live with a slightly less efficient circuit, I think I've got a variant that keeps the harmonics some 80dB below the fundamental, which is better than you could do with any practical inductor (short of a high temperature super-conductor coil in liquid nitrogen).

-- Bill Sloman, Nijmegen

Reply to
Bill Sloman

Can't the resistance be added in parallel with the inductor and achieve a lower Q?

Reply to
John S

You can wind a pot core in a few minutes, by hand.

ftp://jjlarkin.lmi.net/Z206_pcb.JPG

Or buy one of those dual-winding inductors for about a dollar.

Or not.

John

Reply to
John Larkin

u

lar

l
y

run

Poon

e -

not

It's no less inefficient. Any resistor carrying current is dissipating heat.

-- Bill Sloman, Nijmegen

Reply to
Bill Sloman

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.