diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt index 457fef24..12eded40 100644 --- a/library/CMakeLists.txt +++ b/library/CMakeLists.txt @@ -16,6 +16,7 @@ GeDiodes.lib Ideal.lib JFETs.lib LEDs.lib +LaserDiodes.lib Loudspeaker.lib MixerIC.lib MOSFETs.lib diff --git a/library/Digital_CD.lib b/library/Digital_CD.lib index d91e7d25..194c0249 100644 --- a/library/Digital_CD.lib +++ b/library/Digital_CD.lib @@ -1,4 +1,4 @@ - + @@ -1192,4 +1192,4 @@ X1 _net7 _net8 _net9 _net10 _net0 _net1 _net2 _net3 _net4 _net5 _net6 _net11 _ne <.PortSym -50 20 1 0 STB> - \ No newline at end of file + diff --git a/library/Digital_LV.lib b/library/Digital_LV.lib index 5e1ad39e..588f0eef 100644 --- a/library/Digital_LV.lib +++ b/library/Digital_LV.lib @@ -1,4 +1,4 @@ - + @@ -933,4 +933,4 @@ X1 _net0 _net1 _net2 _net3 _net4 _net5 _net6 _net7 _net8 _net9 _net10 _net11 _ne <.PortSym -50 60 1 0 CLR> - \ No newline at end of file + diff --git a/library/LaserDiodes.lib b/library/LaserDiodes.lib new file mode 100644 index 00000000..77f02323 --- /dev/null +++ b/library/LaserDiodes.lib @@ -0,0 +1,264 @@ + + + + +Generic 650nm 100mw Laser Diode +LD=150ma, PD=15piv +by Alexander Bordodynov + + +.Def:LaserDiodes_LaserDiodeRed _net0 _net2 _net1 _net3 +Sub:X1 _net0 _net2 _net1 _net3 gnd Type="LaserDiodeRed_cir" +.Def:End + + + +* Alexander Bordodynov +* 650nm 100mw Laser Diode +.Subckt Laser com lk pha pw Pnom=100m inom=150m ith=35m iphnom=0.1m Pth=1m cLd=10p cph=40p rsLd=1 nLd=2 isLD=1e-17 tauLD=1n tauFd=5n +.param k=(Pnom-Pth*inom/ith)/(inom-ith) +.param kf=iphnom/Pnom +.param ctau=0.001*tauFd +cLd com lk {cLD} +cph com pha {cph} +D1 5 lk0 dLd +D10 com lk0 dLd2 +rs lk0 lk {rsLd} +VAm1 com 5 0 +rut lk com 10Meg +v1 ith 0 {ith} +*v3 kf 0 {iphnom/Pnom} +Hled pwled 0 vam1 {2*Pth/ith} +B1 pw pwled v=uramp(2*i(vam1)-v(ith))*{k} +CtauFd pwtau 0 {ctau} +Rtau pwtau pw 1k +B2 com pha i=v(pwtau)*{kf} +.model dLd D is={isLd/2} n={nLd} eg={nLd*1.11} +.model dLd2 D is={isLd/2} n={nLd} eg={nLd*1.11} tt={tauLD*2} +.ends Laser +* +.SUBCKT LaserDiodes_LaserDiodeRed gnd _net0 _net2 _net1 _net3 +X1 _net0 _net2 _net1 _net3 Laser +.ENDS + + + + + + + + + + + + + + + + + + + + + + + + + + + + <.PortSym 0 -30 1 0 COM> + <.PortSym -20 30 3 0 PHA> + <.PortSym 20 30 2 180 LK> + <.PortSym 50 0 4 180 PW> + <.ID 20 -46 LD> + + + + + + + + + +Sony SLD1121VS +670nm 5mw Laser Diode +PIN Diode Power Monitor +LD=50ma, PD=15piv + + +.Def:LaserDiodes_SLD1121VS _net0 _net2 _net1 +Sub:X1 _net0 _net2 _net1 gnd Type="SLD1121VS_cir" +.Def:End + + + +* SLD1121VS from Sony EDN, RAP 7/97 +* LD = Laser diode cathode +* C = Common pin +* PD = Photodiode anode +.SUBCKT SLD1121 LD C PD +Dld C I dlaser +Vid I LD +Eop op 0 TABLE {I(Vid)} (0,0) (37m,0.3m) (40m,0.5m) (47m,5m) (100m,40m) +Rdummy op 0 1k +Gopd C PD TABLE {V(op)} (0,0) (30m,1.5m) (60m,3.0m) +Dpd PD C pdetec +.model dlaser D IS=5E-37 N=1 RS=2 BV=2 IBV=10u +*EG=2.8 XTI=3 +.model pdetec D CJO=5p BV=15 IBV=10u +.ends SLD1121 +* + +.SUBCKT LaserDiodes_SLD1121VS gnd _net0 _net2 _net1 +X1 _net0 _net2 _net1 SLD1121 +.ENDS + + + + + + + + + + + + + + + + + + + + + + + + + + + <.PortSym -20 30 3 0 PD> + <.ID 20 -46 LD> + + + + + <.PortSym 0 -30 2 0 C> + <.PortSym 20 30 1 180 LD> + + + + + +Rolm RLD90QZW3 +905nm 90W Pulsed Laser Diode +LD=28A, Duty Cycle=0.1% +Requirements: +.spiceinit: set ngbehavior=psa + + +.Def:LaserDiodes_RLD90QZW3 _net0 _net1 _net2 _net3 +Sub:X1 _net0 _net1 _net2 _net3 gnd Type="RLD90QZW3_cir" +.Def:End + + + +* RLD90QZW3 +* Optical Power model +* LD +* 4V 50A +* Model Generated by ROHM +* All Rights Reserved +* Commercial Use or Resale Restricted +* Date: 2020/06/10 +* model version: 1 +**********************A C +.SUBCKT RLD90QZW3_sub 1 2 OPT GND +.PARAM T0=25 +* +.PARAM s_rate= 1 +* +.PARAM K1_fw= 794.3u +.PARAM M1_fw= -5.817k +.PARAM N1_fw= -498.5 +.PARAM k2_fw= 790m +.PARAM M2_fw= -9.271k +.PARAM k3_fw= 230m +.PARAM M3_fw= 448.3 +.PARAM N3_fw= -89.69 +* +.PARAM k1_rv= 1.259u +.PARAM K2_rv= 500 +.PARAM M1_rv= 16.67 +.PARAM k3_rv= 115.3n +.PARAM M3_rv= -1k +.PARAM N3_rv= 314.6 +.PARAM K4_rv= 55.56 +.PARAM M4_rv= -5.405k +* +.PARAM k1_cr= 10.43 +.PARAM k2_cr= 3.956 +.PARAM k3_cr= 40.13 +.PARAM k4_cr= 7.911 +.PARAM k5_cr= -653.7m +.PARAM k6_cr= -5k +* +.PARAM v1_lm_n= 300k +.PARAM v1_lm_p= 400k +.PARAM v42_lm_n= 6k +.PARAM v42_lm_p= 10000 +* +.FUNC R1(I) {k3_fw*I*EXP((TEMP-T0)/M3_fw*EXP((TEMP-T0)/N3_fw))} +.FUNC I1(V) {MIN(MAX(IF(TIME>0,IF(V>0,{K1_fw*(EXP(V/k2_fw/EXP((TEMP-T0)/M2_fw))-1)* ++ EXP((TEMP-T0)/M1_fw*EXP((TEMP-T0)/N1_fw))},0),0),-1MEG),1MEG)} +.FUNC I2(V) {(EXP(V/K2_rv)-1)*k1_rv*EXP((TEMP-T0)/M1_rv)} +.FUNC I3(V) {(EXP(-V/(K4_rv *EXP((TEMP-T0)/M4_rv)))-1)* ++ k3_rv*EXP((TEMP-T0)/M3_rv *EXP((TEMP-T0)/N3_rv))} +.FUNC C1(V,W) {k1_cr*(V-k2_cr)+k3_cr*(1-(-k6_cr)*TANH(W/(-k6_cr))/k4_cr)**k5_cr} +V1 1 3 0 +E1 3 4 VALUE={R1(MIN(MAX(I(V1)/s_rate,-v1_lm_n),v1_lm_p))} +V2 4 5 0 +C1 5 2 {1p * s_rate} +G1 4 2 VALUE={s_rate*(I1(MIN(V(4,2),v42_lm_p))+ ++ I2(MIN(V(4,2),v42_lm_p))-I3(MAX(V(4,2),-v42_lm_n)))+ ++ I(V2)*C1(MAX(V(4,2),k2_cr),MIN(V(4,2),k2_cr))} +R1 4 2 10T +********* ********* ********* ********* ********* ********* ********* ********* ********* ********* ********* +E11 OPT GND VALUE={MIN(MAX(IF(TIME>0,IF(I(V1)>0.95,(-4.00458853433877E-05)*I(V1)*I(V1)*I(V1)+(-0.00857231667301519)*I(V1)*I(V1)+(3.42809879019094)*I(V1)+(-3.21312517416111),0),0),-1MEG),1MEG)} +* +.ENDS RLD90QZW3_sub + + +.SUBCKT LaserDiodes_RLD90QZW3 gnd _net0 _net1 _net2 _net3 +X1 _net0 _net1 _net2 _net3 RLD90QZW3_sub +.ENDS + + + + + + + + + + + + + + + + + + + + + + <.PortSym 40 10 4 180 GND> + <.PortSym 40 -10 3 180 OPT> + <.PortSym 0 -30 1 0 A> + <.PortSym 0 30 2 0 C> + <.ID 20 -46 LD> + + diff --git a/library/qucs.blacklist b/library/qucs.blacklist index d52727af..e179ded8 100644 --- a/library/qucs.blacklist +++ b/library/qucs.blacklist @@ -3,6 +3,7 @@ Cores.lib Digital_CD.lib Digital_HC.lib Digital_LV.lib +LaserDiodes.lib Transformers.lib Xanalogue.lib BF998.lib