Re: PWM Amp Design




Chris Carlen wrote:

> [For] academic purposes I am still curious about what other
> approaches other than an equalizing network one might try to solve
> the reactance problem? It seems to me that one approach might be
> to try to sense the PWM output post-filter, and then compensate
> for the peaking within the PWM amplifier control loop.

Here's an example of a self oscillating class d amplifier 'a la the
leapfrog method that both contains the output filter within its
feedback loop and provides integral output current limiting:

http://groups.yahoo.com/group/LTspice/files/adventures%20with%20analog/class%20d%20audio/ClassD_LeapFrog_UcD.asc

~~~~ ClassD_LeapFrog_UcD.asc (cut&paste & mind the word wrap) ~~~~
Version 4
*** 1 1328 1060
WIRE -1152 -112 -1152 -208
WIRE -1152 -32 -1152 -112
WIRE -1152 112 -1152 80
WIRE -1152 208 -1152 192
WIRE -1136 80 -1152 80
WIRE -1120 -208 -1152 -208
WIRE -1120 -112 -1152 -112
WIRE -1120 -32 -1152 -32
WIRE -1120 0 -1136 0
WIRE -1008 -208 -1040 -208
WIRE -1008 -112 -1040 -112
WIRE -1008 -16 -1056 -16
WIRE -1008 -16 -1008 -112
WIRE -976 -16 -1008 -16
WIRE -976 80 -992 80
WIRE -864 -144 -864 -160
WIRE -864 -64 -864 -80
WIRE -864 -16 -896 -16
WIRE -864 -16 -864 -64
WIRE -864 32 -864 -16
WIRE -864 80 -896 80
WIRE -864 80 -864 32
WIRE -864 128 -864 80
WIRE -864 208 -864 128
WIRE -832 -160 -864 -160
WIRE -832 -64 -864 -64
WIRE -832 32 -864 32
WIRE -832 128 -864 128
WIRE -832 208 -864 208
WIRE -832 240 -848 240
WIRE -720 -160 -752 -160
WIRE -720 -64 -752 -64
WIRE -720 -64 -720 -160
WIRE -720 32 -752 32
WIRE -720 128 -752 128
WIRE -720 128 -720 32
WIRE -720 224 -768 224
WIRE -720 224 -720 128
WIRE -688 -160 -720 -160
WIRE -688 32 -720 32
WIRE -576 32 -608 32
WIRE -576 64 -576 32
WIRE -576 160 -576 128
WIRE -560 32 -576 32
WIRE -496 -16 -496 -48
WIRE -496 128 -496 80
WIRE -496 224 -496 128
WIRE -496 400 -496 224
WIRE -496 480 -496 400
WIRE -496 640 -496 576
WIRE -480 400 -496 400
WIRE -416 128 -496 128
WIRE -416 224 -496 224
WIRE -416 352 -416 320
WIRE -416 528 -432 528
WIRE -416 528 -416 448
WIRE -384 -160 -384 -192
WIRE -384 -48 -496 -48
WIRE -384 -48 -384 -80
WIRE -384 528 -416 528
WIRE -384 544 -384 528
WIRE -384 640 -496 640
WIRE -384 640 -384 624
WIRE -352 352 -352 288
WIRE -352 528 -384 528
WIRE -352 528 -352 448
WIRE -336 528 -352 528
WIRE -272 -48 -384 -48
WIRE -272 -16 -272 -48
WIRE -272 128 -352 128
WIRE -272 128 -272 80
WIRE -272 224 -352 224
WIRE -272 224 -272 128
WIRE -272 400 -288 400
WIRE -272 400 -272 224
WIRE -272 480 -272 400
WIRE -272 640 -384 640
WIRE -272 640 -272 576
WIRE -192 32 -208 32
WIRE -192 64 -192 32
WIRE -192 160 -192 128
WIRE -112 288 -352 288
WIRE -112 288 -112 -64
WIRE -112 320 -416 320
WIRE -112 432 -112 320
WIRE -64 144 -64 -256
WIRE -64 160 -64 144
WIRE -64 240 -64 224
WIRE -64 496 -64 240
WIRE -64 640 -272 640
WIRE -64 640 -64 576
WIRE -32 32 -192 32
WIRE 32 -256 -64 -256
WIRE 32 -240 32 -256
WIRE 32 -144 32 -160
WIRE 32 -64 -112 -64
WIRE 32 -64 32 -144
WIRE 32 240 -64 240
WIRE 32 256 32 240
WIRE 32 352 32 336
WIRE 32 432 -112 432
WIRE 32 432 32 352
WIRE 48 -64 32 -64
WIRE 48 432 32 432
WIRE 64 -144 32 -144
WIRE 64 352 32 352
WIRE 80 32 48 32
WIRE 96 144 -64 144
WIRE 112 240 32 240
WIRE 128 -256 32 -256
WIRE 128 -192 128 -256
WIRE 128 -64 112 -64
WIRE 128 -64 128 -96
WIRE 128 240 112 240
WIRE 128 304 128 240
WIRE 128 432 112 432
WIRE 128 432 128 400
WIRE 144 -64 128 -64
WIRE 144 432 128 432
WIRE 240 -64 224 -64
WIRE 240 32 240 -64
WIRE 240 48 240 32
WIRE 240 144 160 144
WIRE 240 144 240 128
WIRE 240 432 224 432
WIRE 240 528 240 432
WIRE 240 544 240 528
WIRE 240 640 -64 640
WIRE 240 640 240 624
WIRE 256 -64 240 -64
WIRE 256 432 240 432
WIRE 272 32 240 32
WIRE 272 528 240 528
WIRE 336 -64 320 -64
WIRE 336 -16 336 -64
WIRE 336 144 240 144
WIRE 336 144 336 80
WIRE 336 432 320 432
WIRE 336 480 336 432
WIRE 336 640 240 640
WIRE 336 640 336 576
WIRE 352 -240 352 -256
WIRE 352 -64 336 -64
WIRE 352 -64 352 -96
WIRE 352 256 352 240
WIRE 352 432 336 432
WIRE 352 432 352 400
WIRE 384 -64 352 -64
WIRE 384 432 352 432
WIRE 432 -256 352 -256
WIRE 432 -144 432 -256
WIRE 432 144 336 144
WIRE 432 144 432 -48
WIRE 432 192 432 144
WIRE 432 240 352 240
WIRE 432 240 432 192
WIRE 432 352 432 240
WIRE 432 640 336 640
WIRE 432 640 432 448
WIRE 464 -256 432 -256
WIRE 464 192 432 192
WIRE 464 640 432 640
WIRE 480 192 464 192
WIRE 608 -256 464 -256
WIRE 608 -240 608 -256
WIRE 608 -144 608 -160
WIRE 608 -32 608 -48
WIRE 608 256 608 -32
WIRE 608 416 608 336
WIRE 608 432 608 416
WIRE 608 544 608 528
WIRE 608 640 464 640
WIRE 608 640 608 624
WIRE 656 -256 608 -256
WIRE 656 640 608 640
WIRE 688 -96 672 -96
WIRE 688 -32 608 -32
WIRE 688 -32 688 -96
WIRE 688 32 544 32
WIRE 688 48 688 32
WIRE 688 128 688 112
WIRE 688 192 560 192
WIRE 688 208 688 192
WIRE 688 304 688 272
WIRE 688 416 608 416
WIRE 688 480 672 480
WIRE 688 480 688 416
WIRE 704 -96 688 -96
WIRE 704 480 688 480
WIRE 768 -256 736 -256
WIRE 768 -240 768 -256
WIRE 768 -144 768 -160
WIRE 768 32 688 32
WIRE 768 32 768 -48
WIRE 768 432 768 32
WIRE 768 544 768 528
WIRE 768 640 736 640
WIRE 768 640 768 624
WIRE 848 -256 768 -256
WIRE 848 640 768 640
WIRE 880 112 848 112
WIRE 880 192 688 192
WIRE 880 192 880 112
WIRE 880 208 880 192
WIRE 880 304 880 288
WIRE 944 -256 928 -256
WIRE 944 640 928 640
FLAG 688 304 0
FLAG 880 304 0
FLAG 944 640 0
FLAG 944 -256 0
FLAG 464 -256 Vcc
FLAG 464 640 Vee
FLAG 112 240 Vb
FLAG -1152 208 0
FLAG -688 -160 Vo
IOPIN -688 -160 In
FLAG 848 112 Vo
IOPIN 848 112 Out
FLAG -384 -192 0
FLAG 464 192 x
FLAG 688 128 0
FLAG -1136 80 Vin
IOPIN -1136 80 Out
FLAG 80 32 ifb
IOPIN 80 32 In
FLAG -1136 0 0
FLAG -1008 -208 ifb
IOPIN -1008 -208 In
FLAG 544 32 ifb
IOPIN 544 32 Out
FLAG -192 160 0
FLAG -576 160 0
FLAG -848 240 0
FLAG -992 80 Vin
IOPIN -992 80 In
SYMBOL npn -336 480 R0
WINDOW 0 51 32 Left 0
WINDOW 3 51 64 Left 0
SYMATTR InstName Q6
SYMATTR Value 2N4401
SYMBOL npn -432 480 M0
WINDOW 0 51 32 Left 0
WINDOW 3 51 64 Left 0
SYMATTR InstName Q5
SYMATTR Value 2N4401
SYMBOL nmos 384 -144 R0
WINDOW 3 56 32 Left 0
WINDOW 0 57 64 Left 0
SYMATTR Value STP14NF12
SYMATTR InstName M2
SYMBOL pnp 272 80 M180
WINDOW 0 51 64 Left 0
WINDOW 3 51 32 Left 0
SYMATTR InstName Q8
SYMATTR Value 2N2907
SYMBOL diode 256 -48 R270
WINDOW 0 32 32 VTop 0
WINDOW 3 0 32 VBottom 0
SYMATTR InstName D6
SYMATTR Value 1N914
SYMBOL pnp 64 -96 M180
WINDOW 0 51 64 Left 0
WINDOW 3 51 32 Left 0
SYMATTR InstName Q7
SYMATTR Value 2N4403
SYMBOL res 256 144 R180
WINDOW 0 36 76 Left 0
WINDOW 3 36 40 Left 0
SYMATTR InstName R13
SYMATTR Value 220
SYMBOL voltage -64 480 R0
SYMATTR InstName V1
SYMATTR Value 12V
SYMBOL cap 96 160 R270
WINDOW 0 32 32 VTop 0
WINDOW 3 0 32 VBottom 0
WINDOW 123 32 0 VLeft 0
SYMATTR InstName C4
SYMATTR Value 100µ
SYMATTR Value2 IC=11V
SYMBOL diode -80 224 M180
WINDOW 0 48 48 Left 0
WINDOW 3 48 24 Left 0
SYMATTR InstName D4
SYMATTR Value MURS120
SYMBOL voltage 944 640 R90
WINDOW 0 -32 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName V3
SYMATTR Value 45V
SYMBOL voltage 832 -256 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 -32 56 VBottom 0
SYMATTR InstName V2
SYMATTR Value 45V
SYMBOL ind2 464 208 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 5 56 VBottom 0
SYMATTR InstName L1
SYMATTR Value 30µ
SYMATTR SpiceLine Rser=10m Rpar=10k
SYMATTR Type ind
SYMBOL cap 672 208 R0
SYMATTR InstName C8
SYMATTR Value 680n
SYMBOL npn -288 352 M0
WINDOW 0 -32 32 Right 0
WINDOW 3 -32 64 Right 0
SYMATTR InstName Q4
SYMATTR Value 2N5550
SYMBOL npn -480 352 R0
WINDOW 0 -32 32 Right 0
WINDOW 3 -32 64 Right 0
SYMATTR InstName Q3
SYMATTR Value 2N5550
SYMBOL res -400 528 R0
SYMATTR InstName R9
SYMATTR Value 75
SYMBOL res 240 -80 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R12
SYMATTR Value 33
SYMBOL res 48 -144 R180
WINDOW 0 36 76 Left 0
WINDOW 3 36 40 Left 0
SYMATTR InstName R11
SYMATTR Value 150
SYMBOL schottky 112 -48 M270
WINDOW 0 32 32 VTop 0
WINDOW 3 -3 32 VBottom 0
SYMATTR InstName D5
SYMATTR Value BAT54
SYMATTR Description Diode
SYMATTR Type diode
SYMBOL nmos 384 352 R0
WINDOW 3 56 64 Left 0
SYMATTR Value STP14NF12
SYMATTR InstName M1
SYMBOL pnp 272 576 M180
WINDOW 0 51 64 Left 0
WINDOW 3 51 32 Left 0
SYMATTR InstName Q10
SYMATTR Value 2N2907
SYMBOL diode 256 448 R270
WINDOW 0 32 32 VTop 0
WINDOW 3 0 32 VBottom 0
SYMATTR InstName D8
SYMATTR Value 1N914
SYMBOL pnp 64 400 M180
WINDOW 0 51 64 Left 0
WINDOW 3 51 32 Left 0
SYMATTR InstName Q9
SYMATTR Value 2N4403
SYMBOL res 256 640 R180
WINDOW 0 36 76 Left 0
WINDOW 3 36 40 Left 0
SYMATTR InstName R17
SYMATTR Value 220
SYMBOL res 240 416 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R16
SYMATTR Value 33
SYMBOL res 48 352 R180
WINDOW 0 36 76 Left 0
WINDOW 3 36 40 Left 0
SYMATTR InstName R15
SYMATTR Value 150
SYMBOL pnp -560 80 M180
WINDOW 0 51 64 Left 0
WINDOW 3 51 32 Left 0
SYMATTR InstName Q1
SYMATTR Value 2N5401
SYMBOL pnp -208 80 R180
WINDOW 0 51 64 Left 0
WINDOW 3 51 32 Left 0
SYMATTR InstName Q2
SYMATTR Value 2N5401
SYMBOL diode -352 144 M270
WINDOW 0 32 32 VTop 0
WINDOW 3 0 32 VBottom 0
SYMATTR InstName D2
SYMATTR Value 1N914
SYMBOL diode -416 240 R270
WINDOW 0 32 32 VTop 0
WINDOW 3 0 32 VBottom 0
SYMATTR InstName D3
SYMATTR Value 1N914
SYMBOL current -384 -160 R0
WINDOW 0 48 16 Left 0
WINDOW 3 48 48 Left 0
SYMATTR InstName I1
SYMATTR Value 3m
SYMBOL schottky 112 448 M270
WINDOW 0 32 32 VTop 0
WINDOW 3 -3 32 VBottom 0
SYMATTR InstName D7
SYMATTR Value BAT54
SYMATTR Description Diode
SYMATTR Type diode
SYMBOL voltage -1152 96 R0
WINDOW 0 53 70 Bottom 0
WINDOW 3 -16 183 Left 0
WINDOW 123 0 0 Left 0
WINDOW 39 60 56 VTop 0
SYMATTR InstName Vi
SYMATTR Value PULSE({-a} {a} 0 1u 1u 49u 100u)
SYMBOL pnp 672 -48 R180
WINDOW 0 51 64 Left 0
WINDOW 3 51 32 Left 0
SYMATTR InstName Q11
SYMATTR Value 2N5401
SYMBOL npn 672 432 M0
WINDOW 0 51 32 Left 0
WINDOW 3 51 64 Left 0
SYMATTR InstName Q13
SYMATTR Value 2N5550
SYMBOL res 624 -144 R180
WINDOW 0 36 76 Left 0
WINDOW 3 36 40 Left 0
SYMATTR InstName R20
SYMATTR Value 100
SYMBOL res 624 640 R180
WINDOW 0 36 76 Left 0
WINDOW 3 36 40 Left 0
SYMATTR InstName R23
SYMATTR Value 100
SYMBOL pnp 704 -48 M180
WINDOW 0 51 64 Left 0
WINDOW 3 51 32 Left 0
SYMATTR InstName Q12
SYMATTR Value 2N5401
SYMBOL npn 704 432 R0
WINDOW 0 51 32 Left 0
WINDOW 3 51 64 Left 0
SYMATTR InstName Q14
SYMATTR Value 2N5550
SYMBOL res 752 -256 R0
SYMATTR InstName R22
SYMATTR Value 100
SYMBOL res 752 528 R0
SYMATTR InstName R25
SYMATTR Value 100
SYMBOL res 752 -272 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R21
SYMATTR Value 50m
SYMBOL res 752 624 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R24
SYMATTR Value 50m
SYMBOL res 624 352 R180
WINDOW 0 36 76 Left 0
WINDOW 3 36 40 Left 0
SYMATTR InstName R19
SYMATTR Value 10k
SYMBOL cap 672 112 M180
WINDOW 0 24 64 Left 0
WINDOW 3 24 8 Left 0
SYMATTR InstName C7
SYMATTR Value 150p
SYMBOL res 368 -80 R180
WINDOW 0 36 76 Left 0
WINDOW 3 36 40 Left 0
SYMATTR InstName R14
SYMATTR Value 10
SYMBOL cap 368 -240 M0
WINDOW 0 32 16 Left 0
WINDOW 3 32 48 Left 0
SYMATTR InstName C5
SYMATTR Value 22p
SYMBOL res 368 416 R180
WINDOW 0 36 76 Left 0
WINDOW 3 36 40 Left 0
SYMATTR InstName R18
SYMATTR Value 10
SYMBOL cap 368 256 M0
WINDOW 0 32 16 Left 0
WINDOW 3 32 48 Left 0
SYMATTR InstName C6
SYMATTR Value 22p
SYMBOL res 64 16 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R10
SYMATTR Value 3k3
SYMBOL res -592 16 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R8
SYMATTR Value 3k3
SYMBOL res -1024 -224 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R1
SYMATTR Value 1k
SYMBOL Misc\\xvaristor -848 112 M90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName D1
SYMATTR Value limit
SYMATTR Prefix D
SYMBOL res -736 16 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R7
SYMATTR Value 3k3
SYMBOL cap -848 -144 M0
WINDOW 3 32 48 Left 0
WINDOW 0 32 16 Left 0
SYMATTR Value 100p
SYMATTR InstName C1
SYMBOL res -880 64 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R4
SYMATTR Value 4k3
SYMBOL res -848 -144 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R5
SYMATTR Value 1k5
SYMBOL res -736 -80 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R6
SYMATTR Value 28k7
SYMBOL res -1024 -128 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R2
SYMATTR Value 1k
SYMBOL res -880 -32 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R3
SYMATTR Value 3k3
SYMBOL cap -208 64 R0
SYMATTR InstName C3
SYMATTR Value 47p
SYMBOL cap -560 64 M0
SYMATTR InstName C2
SYMATTR Value 47p
SYMBOL Opamps\\opamp -1088 -80 R0
WINDOW 3 0 96 Left 0
SYMATTR InstName U1
SYMATTR SpiceLine ""
SYMATTR SpiceLine2 ""
SYMBOL Opamps\\opamp -800 160 R0
WINDOW 3 0 96 Left 0
SYMATTR InstName U2
SYMATTR SpiceLine ""
SYMATTR SpiceLine2 ""
SYMBOL res 864 192 R0
SYMATTR InstName Ro
SYMATTR Value {Ro}
TEXT -1168 688 Left 0 !.tran 0 225u 25u uic
TEXT -120 672 Left 0 !.model STP14NF12 vdmos (Rg=5 Rd=90m Rs=70m Vto=3.5 Kp=3\n+ Cgdmax=200p Cgdmin=20p Cgs=420p Cjo=60p Is=10p Rb=140m)
TEXT -1168 312 Left 0 !.model limit d(Ron=1u Vfwd=5 Vrev=5)
TEXT -1168 352 Left 0 !.subckt opamp 1 2 3\nG1 0 3 2 1 10k\nC1 3 0 160µ Rpar=100\nD1 3 0 lim\n.model lim d(Ron=1u Vfwd=12 Vrev=12)\n.ends opamp
TEXT -1168 648 Left 0 !.step param Ro list 1G 6 1u
TEXT -1168 624 Left 0 !.param a=5 Ro=6
TEXT -384 -312 Center 0 ;UcD180 Class D Amplifier Power Stage \ndriven by LeapFrog control\nby analogspiceman, March, 2005
TEXT -1168 528 Left 0 ;10kHz square wave response into\nopen, nominal, and short circuits.\nPlot V(o) and I(L1)
.


Quantcast