smpsrecipes.lib
来自「开关电源的设计及仿真.rar」· LIB 代码 · 共 623 行 · 第 1/2 页
LIB
623 行
* To toggle into Voltage-Mode, put RI=0 and VP becomes VR (The PWM sawtooth amplitude)
.PARAM D={SQRT(2*L*VOUT*(VOUT/VIN-1)/VIN*FS/RL)} ; DC duty cycle for Discontinuous mode
.PARAM VAP={-VOUT}
.PARAM VAC={-VIN}
.PARAM VCP={-VOUT+VIN}
.PARAM IA={-((VOUT^2)/RL/VIN)*D}
.PARAM IP={-VOUT/RL}
.PARAM IC={-VOUT/RL/(1-D)}
.PARAM VP={-VAC*(1/FS)*RI*(MC-1)/L}
* .PARAM VP=VR ; Put RI=0 and remove this start (while puting it at the above line) turns into VM
EBD D 0 VALUE = {D}
RL Vin LL {RS}
L LL C {L}
X1 Gnd Vout C Vin Control PWMDCM PARAMS: RI={-RI} L={L} FS={FS} RL={RL} D={D}
+ VAP={VAP} VAC={VAC} VCP={VCP} IC={IC} IA={IA} IP={IP} VP={VP}
.ENDS
*$
***********
.SUBCKT BOOSTCCM Vin Vout Gnd Control D PARAMS: RI=0.4 L=140U RS=190M FS=100K VOUT=100V RL=50 VIN=48V MC=1.5 VR=2V
* To toggle into Voltage-Mode, put RI=0 and VP becomes VR (The PWM sawtooth amplitude)
.PARAM D={(VOUT-VIN)/VOUT} ; DC duty cycle for Continuous mode
.PARAM VAP={-VOUT}
.PARAM VAC={-VIN}
.PARAM VCP={-VOUT+VIN}
.PARAM IA={-((VOUT^2)/RL/VIN)*D}
.PARAM IP={-VOUT/RL}
.PARAM IC={-VOUT/RL/(1-D)}
.PARAM VP={-VAC*(1/FS)*RI*(MC-1)/L}
* .PARAM VP=VR ; Put RI=0 and remove this start (while puting it at the above line) turns into VM
EBD D 0 VALUE = {D}
RL Vin LL {RS}
L LL C {L}
X1 Gnd Vout C Vin Control PWMCCM PARAMS: RI={-RI} L={L} FS={FS} D={D} VAP={VAP} VAC={VAC} IC={IC} VP={VP}
.ENDS
*$
**********
.SUBCKT BUCKDCM Vin Vout Gnd Control D PARAMS: RI=0.33 L=37.5U RS=20M FS=50K VOUT=5V RL=6.25 VIN=25V MC=1 VR=2V
* To toggle into Voltage-Mode, put RI=0 and VP becomes VR (The PWM sawtooth amplitude)
.PARAM D={SQRT((M^2*8*L)/(((2-M)^2-M^2)*RL*(1/FS)))} ; DC Duty cycle for discontinuous mode
.PARAM M={VOUT/VIN} ; Conversion ratio
.PARAM VAP={VIN}
.PARAM VAC={VIN-VOUT}
.PARAM VCP={VOUT}
.PARAM IC={VOUT/RL}
.PARAM IA={(VOUT/RL)*M}
.PARAM IP={IC-IA}
.PARAM VP= {VAC*(1/FS)*RI*(MC-1)/L}
* .PARAM VP=VR ; Put RI=0 and remove this start (while puting it at the above line) turns into VM
EBD D 0 VALUE = {D}
RL Vout LL {RS}
L LL C {L}
X1 Vin Gnd C Vout Control PWMDCM PARAMS: RI={RI} L={L} FS={FS} RL={RL} D={D} VAP={VAP}
+ VAC={VAC} VCP={VCP} IC={IC} IA={IA} IP={IP} VP={VP}
.ENDS
*$
***********
.SUBCKT BUCKCCM Vin Vout Gnd Control D PARAMS: RI=0.1 L=40U RS=100m FS=25k VOUT=15 RL=1.5 VIN=30 MC=1 VR=2.3
* To toggle into Voltage-Mode, put RI=0 and VP becomes VR (The PWM sawtooth amplitude)
.PARAM D={(VOUT/VIN)*(RL+RS)/RL} ; DC duty cycle for continuous mode
.PARAM M={VOUT/VIN} ; Conversion ratio
.PARAM VAP={VIN}
.PARAM VAC={VIN-VOUT}
.PARAM VCP={VOUT}
.PARAM IC={VOUT/RL}
.PARAM IA={(VOUT/RL)*M}
.PARAM IP={IC-IA}
.PARAM VP= {VAC*(1/FS)*RI*(MC-1)/L}
* .PARAM VP=VR ; Put RI=0 and remove this start (while puting it at the above line) turns into VM
EBD D 0 VALUE = {D}
RL Vout LL {RS}
L LL C {L}
X1 Vin Gnd C Vout Control PWMCCM PARAMS: RI={RI} L={L} FS={FS} D={D} VAP={VAP} VAC={VAC} IC={IC} VP={VP}
.ENDS
*$
*********
.SUBCKT FLYBACKCCM Vin Vout Gnd Control D PARAMS: RI=0.15 Lsec=79.86U RS=10M FS=80K VOUT=12 RL=2.4 VIN=12V N=1.1 MC=1 VR=2.5V
* To toggle into Voltage-Mode, put RI=0 and VP becomes VR (The PWM sawtooth amplitude)
.PARAM D={VOUT/((VIN*N)+VOUT)} ; DC duty cycle for Continuous mode
.PARAM VAP={(VIN*N)+VOUT}
.PARAM VAC={VIN*N}
.PARAM VCP={VOUT}
.PARAM IA={(VOUT^2/RL)/VAC}
.PARAM IP={VOUT/RL}
.PARAM IC={VOUT/RL/(1-D)}
.PARAM RSENS={RI*N} ; Current gain pushed to the secondary
.PARAM VP= {VAC*(1/FS)*RSENS*(MC-1)/Lsec}
* .PARAM VP=VR ; Put RI=0 and remove this start (while puting it at the above line) turns into VM
EBD D 0 VALUE = {D}
RL Vout P {RS}
L Gnd C {Lsec}
X2 Vin TR XFMR PARAMS: N={N}
X1 TR P C Gnd Control PWMCCM PARAMS: RI={RSENS} L={Lsec} FS={FS} D={D} VAP={VAP} VAC={VAC} IC={IC} VP={VP}
.ENDS
*$
*********
.SUBCKT FLYBACKDCM Vin Vout Gnd Control D PARAMS: RI=6.06 Lsec=16uH RS=16.9M FS=100K VOUT=15 RL=15 VIN=330V N=0.045 MC=1 VR=1.7V
* To toggle into Voltage-Mode, put RI=0 and VP becomes VR (The PWM sawtooth amplitude)
.PARAM D={(VOUT/(VIN*N))*SQRT(2*Lsec*FS/RL)} ; DC duty cycle for Discontinuous mode
.PARAM VAP={(VIN*N)+VOUT}
.PARAM VAC={VIN*N}
.PARAM VCP={VOUT}
.PARAM IA={(VOUT^2/RL)/VAC}
.PARAM IP={VOUT/RL}
.PARAM IC={(VOUT/RL)/(1-D)}
.PARAM RSENS={RI*N} ; Current gain pushed to the secondary
.PARAM VP= {VAC*(1/FS)*RSENS*(MC-1)/L}
* .PARAM VP=VR ; Put RI=0 and remove this start (while puting it at the above line) turns into VM
EBD D 0 VALUE = {D}
RL Vout P {RS}
L Gnd C {Lsec}
X2 Vin TR XFMR PARAMS: N={N}
X1 TR P C Gnd Control PWMDCM PARAMS: RI={RSENS} L={Lsec} FS={FS} RL={RL} D={D} VAP={VAP}
+ VAC={VAC} VCP={VCP} IC={IC} IA={IA} IP={IP} VP={VP}
.ENDS
*$
*********
.SUBCKT FWDDCM Vin Vout Gnd Control D PARAMS: RI=5.49 L=100U RS=70M FS=200K VOUT=28 RL=277 VIN=165V N=0.4 MC=1.825 VR=2
* To toggle into Voltage-Mode, put RI=0 and VP becomes VR (The PWM sawtooth amplitude)
.PARAM M={VOUT/VIN} ; Conversion ratio
.PARAM D={SQRT(((M/N)^2*8*L)/(((2-(M/N))^2-(M/N)^2)*RL*(1/FS)))} ; DC duty cycle in discontinuous mode
.PARAM VAP={VIN*N}
.PARAM VAC={VIN*N-VOUT}
.PARAM VCP={VOUT}
.PARAM IC={VOUT/RL}
.PARAM IA={(VOUT^2/RL)/VAP}
.PARAM IP={IC-IA}
.PARAM RSENS={RI*N} ; Current gain pushed to the secondary
.PARAM VP= {VAC*(1/FS)*RSENS*(MC-1)/L}
* .PARAM VP=VR ; Put RI=0 and remove this start (while puting it at the above line) turns into VM
EBD D 0 VALUE = {D}
RL Vout LL {RS}
L LL C {L}
X2 Vin IN XFMR PARAMS: N={N}
X1 IN Gnd C Vout Control PWMDCM PARAMS: RI={RSENS} L={L} FS={FS} RL={RL} D={D} VAP={VAP}
+ VAC={VAC} VCP={VCP} IC={IC} IA={IA} IP={IP} VP={VP}
.ENDS
*$
*********
.SUBCKT FWDCCM Vin Vout Gnd Control D PARAMS: RI=1.228 L=100U RS=70M FS=200K VOUT=28 RL=7 VIN=165V N=0.4 MC=1 VR=2
* To toggle into Voltage-Mode, put RI=0 and VP becomes VR (The PWM sawtooth amplitude)
.PARAM D={(VOUT/(VIN*N))} ; DC duty cycle for continuous mode
.PARAM M={VOUT/VIN}
.PARAM VAP={VIN*N}
.PARAM VAC={VIN*N-VOUT}
.PARAM VCP={VOUT}
.PARAM IC={VOUT/RL}
.PARAM IA={(VOUT^2/RL)/VAP}
.PARAM IP={IC-IA}
.PARAM RSENS={RI*N} ; Current gain pushed to the secondary
.PARAM VP= {VAC*(1/FS)*RSENS*(MC-1)/L}
* .PARAM VP=VR ; Put RI=0 and remove this start (while puting it at the above line) turns into VM
EBD D 0 VALUE = {D}
RL Vout LL {RS}
L LL C {L}
X2 Vin IN XFMR PARAMS: N={N}
X1 IN Gnd C Vout Control PWMCCM PARAMS: RI={RSENS} L={L} FS={FS} D={D} VAP={VAP} VAC={VAC} IC={IC} VP={VP}
.ENDS
*$
*********
.SUBCKT XFMR 1 2 PARAMS: N=1
* In Out
Gxf 1 0 VALUE = { I(Vxf)*N }
Exf 3 0 VALUE = { V(1)*N }
Vxf 3 2 0
.ENDS XFMR
*********
*$
.SUBCKT MOC8101 1 2 3 5
* ISOLATOR A C COL EMITTER
RB 4 0 100Meg
VM 1 6
D1 6 2 LED
H1 7 0 VM .0055
R1 7 8 1K
C1 8 0 3.35nF
G1 3 4 8 0 1
Q1 3 4 5 MPSA06
.MODEL LED D(N=1.7 RS=.7 CJO=23.9P IS=85.3p BV=6 IBV=10U
+ VJ=0.75 M=0.333 TT=4.32U)
.MODEL MPSA06 NPN (IS=15.2F NF=1 BF=589 VAF=98.6 IKF=90M ISE=3.34P NE=2
+ BR=4 NR=1 VAR=16 IKR=0.135 RE=0.343 RB=1.37 RC=0.137 XTB=1.5
+ CJE=9.67P VJE=1.1 MJE=0.5 CJC=7.34P VJC=0.3 MJC=0.3 TF=10.29n TR=276N)
.ENDS MOC8101
* OrCAD Model Editor - Version 9.1
*$
.SUBCKT AMPSIMP 1 5 7 PARAMS: POLE=30 GAIN=30000 VHIGH=4V VLOW=100mV
* + - OUT
G1 0 4 1 5 100u
R1 4 0 {GAIN/100U}
C1 4 0 {1/(6.28*(GAIN/100U)*POLE)}
E1 2 0 4 0 1
Ro 2 7 10
Vlow 3 0 DC={VLOW}
Vhigh 8 0 DC={VHIGH}
Dlow 3 4 DCLP
Dhigh 4 8 DCLP
.MODEL DCLP D N=0.01
.ENDS
*$
.SUBCKT ERRAMP 20 8 3 21 PARAMS: ISINK= 15M ISOURCE=500U VHIGH=2.8
+VLOW=100M POLE=30 GAIN=31622
* + - OUT GND
RIN 20 8 8MEG
CP1 11 21 {1/(6.28*(GAIN/100U)*POLE)}
E1 5 21 11 21 1
R9 5 2 5
D14 2 13 DMOD
IS 13 21 {ISINK/100} ; mA
Q1 21 13 16 QPMOD
ISRC 7 3 {ISOURCE} ; uA
D12 3 7 DMOD
D15 21 11 DCLAMP
G1 21 11 20 8 100U
V1 7 21 {VHIGH-0.6V}
V4 3 16 {VLOW-38MV}
RP1 11 21 {GAIN/100U}
.MODEL QPMOD PNP
.MODEL DCLAMP D (RS=10 BV=10 IBV=0.01)
.MODEL DMOD D (TT=1N CJO=10P)
.ENDS
*$
.SUBCKT 608PWM 1 2
* FB Out_Duty
RSUPP 1 0 4.3k ; Internal supply current
RGAIN1 1 70 20 ; Dynamic zener resistance
XERR 71 70 72 AMP ; Internal error amplifier
VREF 71 0 5V ; Internal reference voltage
XPCH 73 72 70 PCHAN ; P-channel MOSFET
RGAIN2 73 0 150 ; I/V converter
DCLP 73 74 DCLAMP ; Negative clamp
VCLP1 74 0 180mV ; lower duty-cycle limit
VD 75 0 740mV ; upper duty-cycle limit
E1 76 0 75 73 1 ; decreasing duty-cycle
RF 76 140 100
CF 140 0 227nF
E2 2 0 TABLE {V(140)} 15M,15M 740m,740m
.MODEL DCLAMP D (RS=1.5 CJO=4PF IS=7E-09 N=2 VJ=.6V
+ TT=6E-09 M=.45 BV=100V)
.ENDS 608PWM
.SUBCKT PCHAN 30 40 50
M1 30 20 50 50 MOD1 L=1U W=1U
RG 40 20 167
RL 30 50 50E6
.MODEL MOD1 PMOS VTO=-1.709 RS=3.091 RD=0.979 IS=1E-15 KP=0.146
+CGSO=26P CGDO=4P CBD=12P PB=1
.ENDS PCHAN
.SUBCKT AMP 1 5 2
* + - OUT
G1 0 4 1 5 100u
R1 4 0 300Meg ; 90dB OL
C1 4 0 53pF IC=8.5 ; 10Hz pole
E1 2 0 4 0 1
V1 3 0 500mV
D2 3 4 DCLP
.MODEL DCLP D (BV=8.7 CJO=40PF IS=7E-09 M=.45 N=2 RS=.8)
+ TT=10E-09 VJ=.6V)
.ENDS AMP
**** SINGLE WINDING TRANSFORMER ****
.SUBCKT XFMR1 1 2 3 4 PARAMS: RATIO=1
RP 1 2 1MEG
E 5 4 VALUE = { V(1,2)*RATIO }
G 1 2 VALUE = { I(VM)*RATIO }
RS 6 3 1U
VM 5 6
.ENDS XFMR1
*********
.model mbrs140t3 d
+ is= 4.41547e-06
+ rs= 0.103922
+ n= 1.03751
+ tt= 1e-12
+ cjo= 1.598e-10
+ vj= 0.4934
+ m= 0.4258
+ eg= 0.6
+ xti= 3.29768
+ fc= 0.5
+ bv= 48
+ ibv= 0.01
+ kf= 0
+ af= 1
*******
.MODEL 1n962A d
+RS=5.2600 BV=10.940
+CJO=710.46P TT=20N N=2
+IS=1E-9 IBV=11.364M
******
.SUBCKT TL431 7 6 11
V1 1 6 2.495
R1 6 2 15.6
C1 2 6 .5U
R2 2 3 100
C2 3 4 .08U
R3 4 6 10
G2 6 8 3 6 1.73
D1 5 8 DC
D2 7 8 DC
V4 5 6 2
G1 6 2 1 11 0.11
.MODEL DC D
+IS=13.5N RS=25M N=1.59
+ CJO=45P VJ=.75 M=.302
+ TT=50.4N BV=34V IBV=1MA
.ENDS
********
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?