The PWM swith model introdued by Vthé Vorpérin in 1986 desribes wy to model voltge-mode swithing onverter with the VM-PWM swith model. The lrge-signl model is equivlent to d trnsformer whose turns rtio is, the ontrolled duty rtio. Lter, in 1990, Vthé published nother model, the CM-PWM swith model, trgetting pek urrent mode ontrolled onverters. The model niely predits subhrmoni osilltions nd works in lrge-signl onditions: it n ompute its bis point nd it works in trnsient nlysis. This urrent mode model ws preeded by tht developed by Ry Ridley using smpled dt nlysis. Ridley s model predits the sme dynmi response thn wht the CM-PWM swith does, but it only works in nd nnot ompute its bis point. The CM-PWM swith is sometimes prone to onvergene problems nd Vthé published revised netlist in his 2004 book Fst Anlytil Tehniques for Eletril nd Eletroni Ciruits. The fix is to dd oeffiient in front of the two soures setting the pek nd verge vlues. It ppers below:
For some designers, the CC-PWM swith ws troublesome given its diffiulty in some ses to onverge. The VM-PWM swith model is more robust nd onverges well. Ridley used the smll-signl version of this VM-PWM swith to whih he dded pir of RHP zeros to represent the smpling tion in the urrent loop. C=1/Fsw/3.1419 L=1/Fsw/3.1419 This extr iruit uses negtive resistne vlue to produe negtive qulity ftor nd thus RHP zeroes. Rther thn implementing omplex iruitry, the ide here is to reuse the lssil VM-PWM swith nd by dding simple extr dummy soure plus pitor, simulte the response of urrent mode onverter subjet to subhrmoni osilltions.
The implementtion is very simple. Build lmped soure driving the duty rtio input of the PWM swith model. It is voltge soure lmped between 10 mv nd 999 mv (1 to 99% duty rtio). ((V(V)-I(VIC)*{Ri})*{Fsw})/({Se}+{Ri}*(V(,)+1u)/(2*)) > 0.99? 0.99 : +((V(V)-I(VIC)*{Ri})*{Fsw})/({Se}+{Ri}*(V(,)+1u)/(2*)) < 10m? 10m : +((V(V)-I(VIC)*{Ri})*{Fsw})/({Se}+{Ri}*(V(,)+1u)/(2*)) It is tully the eqution desribed in the book Swith-Mode Power Supplies: Spie Simultions nd Prtil esigns se. ed. on pge 199. Add dummy voltge soure in series with the terminl tht you ll VIC plus resonting pitor between terminls nd p. The pitor vlue is lssilly Cs=1/(L*(Fsw*3.14)^2) The ontrol voltge V is trnsformed into duty rtio vi the in-line eqution to generte the orret duty rtio. The following slide shows the finl implementtion round the VM-PWM swith model. This is CCM simultion only here nd I m not sure it would be esy to hve the genertor toggle into CM expression esily.
ummy 0-V soure VIC VIC prmeters Fsw=100k L=100u Cs=1/(L*(Fsw*3.14)^2) Ri=-20m Se=0 V=1.6 9.94V 10.0V 4 L2 rl 10m Vin 10 X1 PWMVM 9.94V R6 1u 2.68uV d PWM swith VM p uty rtio genertor 7 p V 1.60V 9.94V 17.V p Vstim {V} AC = 1 Cres {Cs} 433mV Resonting p. p C3 100uF 0V R B1 100m Voltge 11 R4 Vout ((V(V)-I(VIC)*{Ri})*{Fsw})/({Se}+{Ri}*(V(,)+1u)/(2*)) > 0.99? 0.99 : +((V(V)-I(VIC)*{Ri})*{Fsw})/({Se}+{Ri}*(V(,)+1u)/(2*)) < 10m? 10m : +((V(V)-I(VIC)*{Ri})*{Fsw})/({Se}+{Ri}*(V(,)+1u)/(2*)) Clmped expression for the duty rtio expression in CCM urrent-mode: ((V(V)-I(VIC)*{Ri})*{Fsw})/({Se}+{Ri}*(V(,)+1u)/(2*)) > 0.99? 0.99 : +((V(V)-I(VIC)*{Ri})*{Fsw})/({Se}+{Ri}*(V(,)+1u)/(2*)) This is CCM urrent mode boost onverter built round the voltge mode PWM swith model to whih duty rtio genertor hs been dded, together with resonting pitor.
VIC 9.94V C2 {Cs} 9.94V B4 Current {Se}*V()/({Ri}*{Fsw}) + v(,p)*(1-v())*({1/fsw}/(2*)) prmeters Fsw=100k L=100u Cs=1/(L*(Fsw*3.14)^2) Ri=-20m Se=0 V=1.6 9.94V 10.0V 9 L1 rl 10m Vin R3 1u 2.68uV 1 V(V)/{Ri} B2 Current V()*I(VIC) B3 Current p v 1.60V Vstim {V} AC = 1 433mV p C1 100uF 0V B1 R2 Voltge 100m v(,p)/v(,p) 17.V 4 R1 Vout This is the CCM urrent mode boost onverter built round the originl CM-PWM swith purposely thought to model urrent mode ontrol power supplies. It only uses urrent soures. As you n see from the shemti, ll operting points re similr to those from the previous slide.
Plot1 vdbout#1, vdbout in db(volts) 27.0 21.0 1.0 9.00 3.00 V out V f f 13 Plot2 ph_vout#1, ph_vout in degrees 0-90.0-180 -270-360 V V out f f 10 100 1k 10k 100k frequeny in hertz 24 The grphs re well oinident nd smll devition ppers s we pproh F sw but it is resonbly low.
Vin2 Lsw= Fsw={Fsw} CMin=0.0 CMx=0.9 U1 PWM-VM VIC 0 uty Cres {Cs} L OutVM.422481V C R 220µF Vin1 RISense={Ri} Slope={Se} Lsw= Fsw={Fsw} CMin=0.0 CMx=0.9 PWM-CM 42.4818mV d VCtrl X1 L1 OutCM.4226832V C1 220µF R1 42.4603mV V B1 V=if( V(_rw) > 0.99, 0.99, if( V(_rw) < {_lo}, {_lo}, V(_rw) ) ) V _rw VInj {V_set} AC 1 B2 V= ( (V(V) - I(VIC)*{Ri} ) * {Fsw}) / ( {Se}+{Ri}*(V(,)+1u) / (2*) ).Prm L=7uH. de 1000 10 1000kHz.prm _lo = 7u.prm _hi = 0.99.prm Cs = {1/ ( L * (Fsw * 3.14)**2 ) }.prm V_set = 1.prm Fsw=100k.prm Ri=0.8.prm Se=0 Here in LTSpie, I ompred buk onverter in CM driven by the VM-PWM swith model developped by idier to whih I dded the resonting p.
18dB V(outm) V(outvm) 180 9dB 10 0dB 120-9dB 90-18dB -27dB 60-36dB 30-4dB 0-4dB -30-63dB -72dB -60-81dB -90 10Hz 100Hz 1KHz 10KHz 100KHz 1MHz ynmi responses from the VM-PWM swith with the dded pitor nd the CM-PWM swith model. F sw = 100 khz.
Vin2 uty U1 PWM-VM VIC 0 L Cres {Cs} OutVM CMin=0.0 CMx=0.9 Lsw= Fsw={Fsw} C -13.4079V 220µF R Vin1 RISense={Ri} Slope={Se} Lsw= Fsw={Fsw} CMin=0.0 CMx=0.9 PWM-CM 73.33124mV d VCtrl L1 X1 V OutCM C1-13.407927V 220µF R1 73.3222mV B1 V=if( V(_rw) > 0.99, 0.99, if( V(_rw) < {_lo}, {_lo}, V(_rw) ) ) V _rw VInj {V_set} AC 1 B2 V= ( (V(V) - I(VIC)*{Ri} ) * {Fsw}) / ( {Se}+{Ri}*(V(,)+1u) / (2*) ).Prm L=7uH. de 1000 10 1000kHz.prm _lo = 7u.prm _hi = 0.99.prm Cs = {1/ ( L * (Fsw * 3.14)**2 ) }.prm V_set = 2.prm Fsw=100k.prm Ri=0.3.prm Se=0 A buk-boost onverter with the two different models. points re identil.
20dB V(outm) V(outvm) 330 16dB 300 12dB 270 8dB 240 4dB 0dB 210-4dB 180-8dB 10-12dB 120-16dB -20dB 90-24dB 60 10Hz 100Hz 1KHz 10KHz 100KHz 1MHz F sw ynmi responses from the VM-PWM swith with the dded pitor nd the CM-PWM swith model. F sw = 100 khz.
Vin2 L Lsw= Fsw={Fsw} CMin=0.0 CMx=0.9 VIC U1 PWM-VM 0 Cres {Cs} uty Vin1 L1 d PWM-CM CMin=0.0 CMx=0.9 Lsw= Fsw={Fsw} RISense={Ri} Slope={Se} VCtrl X1 uty R2 1µ 0V OutVM 18.92837V C R 220µF V 0V OutCM C1 18.92826V 220µF R1 472.4076mV B1 V=if( V(_rw) > 0.99, 0.99, if( V(_rw) < {_lo}, {_lo}, V(_rw) ) ) V _rw VInj {V_set} AC 1 B2 V= ( (V(V) - I(VIC)*{Ri} ) * {Fsw}) / ( {Se}+{Ri}*(V(,)+1u) / (2*) ).Prm L=0uH. de 1000 10 1000kHz.prm _lo = 7u.prm _hi = 0.99.prm Cs = {1/ ( L * (Fsw * 3.14)**2 ) }.prm V_set = 2.2.prm Fsw=300k.prm Ri=-0.3.prm Se=0 A boost onverter with the two different models. points re identil.
36dB V(outm) V(outvm) 0 32dB -30 28dB -60 24dB -90 20dB 16dB -120 12dB -10 8dB -180 4dB -210 0dB -4dB -240-8dB -270 10Hz 100Hz 1KHz 10KHz 100KHz 1MHz ynmi responses from the VM-PWM swith with the dded pitor nd the CM-PWM swith model. F sw = 300 khz. F sw Speil thnks to Mr imttin for helping me on this pproh nd of ourse to idier Bloo for porting my models to LTSpie.