From 77e4909ca495294af2c061f42395627c91bcda04 Mon Sep 17 00:00:00 2001 From: Stefan Frederik Date: Wed, 19 Oct 2022 23:59:11 +0200 Subject: [PATCH] example solar_panel.sch update --- xschem_library/ngspice/pv_ngspice.sch | 46 +++++++++++++++----------- xschem_library/ngspice/solar_panel.sch | 15 +++++---- 2 files changed, 35 insertions(+), 26 deletions(-) diff --git a/xschem_library/ngspice/pv_ngspice.sch b/xschem_library/ngspice/pv_ngspice.sch index 73487936..a8f6af21 100644 --- a/xschem_library/ngspice/pv_ngspice.sch +++ b/xschem_library/ngspice/pv_ngspice.sch @@ -16,7 +16,7 @@ divx=8 unitx=1 color=15 node=i(vload) -dataset=4} +dataset=-1} B 2 860 -790 1360 -550 {flags=graph y1 = 0 y2 = 120 @@ -31,35 +31,39 @@ node="\\"Power; plus i(vload) *\\"" -dataset=4} +dataset=-1} T {Voc = 22 Wp = 100W -Vmp = 17.5} 610 -370 0 0 0.4 0.4 {} -N 510 -340 510 -120 { +Vmp = 17.5} 320 -550 0 0 0.4 0.4 {} +T {position the mouse close to one of the curves +and press 't' to display only that curve. +This allows you to annotate the active +waveform in the schematic.} 480 -470 0 0 0.3 0.3 {} +N 230 -440 230 -380 { lab=minus} -N 510 -430 510 -400 { +N 230 -530 230 -500 { lab=mn} -N 280 -360 300 -360 { +N 90 -420 110 -420 { lab=fade} -N 510 -560 510 -490 { +N 230 -660 230 -590 { lab=pn} -N 510 -680 510 -620 { +N 230 -760 230 -720 { lab=plus} -C {iopin.sym} 510 -680 2 1 {name=p1 lab=plus} -C {iopin.sym} 510 -120 2 1 {name=p2 lab=minus} +C {iopin.sym} 230 -760 2 1 {name=p1 lab=plus} +C {iopin.sym} 230 -380 2 1 {name=p2 lab=minus} C {title.sym} 160 -40 0 0 {name=l1 author="Stefan Schippers" net_name=true} -C {ammeter.sym} 510 -370 2 1 {name=Vm} -C {lab_pin.sym} 510 -510 2 0 {name=l2 sig_type=std_logic lab=pn} -C {lab_pin.sym} 510 -410 2 0 {name=l3 sig_type=std_logic lab=mn} -C {isource_arith.sym} 510 -460 2 0 {name=G1 +C {ammeter.sym} 230 -470 2 1 {name=Vm} +C {lab_pin.sym} 230 -610 2 0 {name=l2 sig_type=std_logic lab=pn} +C {lab_pin.sym} 230 -510 2 0 {name=l3 sig_type=std_logic lab=mn} +C {isource_arith.sym} 230 -560 2 0 {name=G1 CUR="v(f) * 6 * (1 - exp( (v(pn,mn) + -18.5 - v(f)*3 ) * 0.7) - + 0.005 * (v(pn,mn) - 18.5 - v(f)*3))" } -C {ipin.sym} 280 -360 2 1 {name=p2 lab=fade} -C {ammeter.sym} 330 -360 3 0 {name=Vf} -C {lab_pin.sym} 360 -360 2 0 {name=l3 sig_type=std_logic lab=f} -C {ammeter.sym} 510 -590 2 1 {name=Vp} +C {ipin.sym} 90 -420 2 1 {name=p2 lab=fade} +C {ammeter.sym} 140 -420 3 0 {name=Vf} +C {lab_pin.sym} 170 -420 2 0 {name=l3 sig_type=std_logic lab=f} +C {ammeter.sym} 230 -690 2 1 {name=Vp} C {code_shown.sym} 30 -280 0 0 {name=CONTROL only_toplevel=true value=" @@ -67,7 +71,7 @@ vload plus minus 0 vsun fade 0 0 vref minus 0 0 .control -save plus i(vload) +save plus i(vload) i(vm) n(pn) v(mn) dc vload 0 22 0.5 vsun 0.2 1.0 0.2 write pv_ngspice.raw quit @@ -150,3 +154,7 @@ AAAAMEAAAAAAAAAwQA6s7aA3JhhAAAAAAACAMEAAAAAAAIAwQJ87BDkR4BdAAAAAAAAAMUAAAAAAAAAx AAAAMkAAAAAAAAAyQKt0WwtVWRZAAAAAAACAMkAAAAAAAIAyQKjNBafJaxVAAAAAAAAAM0AAAAAAAAAzQLZmLAUiIRRAAAAAAACAM0AAAAAAAIAzQOzoJCdZUhJAAAAA AAAANEAAAAAAAAA0QIBI//sfkA9AAAAAAACANEAAAAAAAIA0QEAKcVhmZwhAAAAAAAAANUAAAAAAAAA1QACsoYcGl/w/AAAAAACANUAAAAAAAIA1QAAAAAAAAAAAAAAA AAAANkAAAAAAAAA2QACfbNc4PATA"} +C {ngspice_get_expr.sym} 280 -560 0 0 {name=r24 +node="[format %.4g [expr ([ngspice::get_voltage pn] - [ngspice::get_voltage mn]) * [ngspice::get_current Vm]]] W" +descr = power +} diff --git a/xschem_library/ngspice/solar_panel.sch b/xschem_library/ngspice/solar_panel.sch index 31df7895..6cec0e59 100644 --- a/xschem_library/ngspice/solar_panel.sch +++ b/xschem_library/ngspice/solar_panel.sch @@ -53,7 +53,7 @@ L 4 1130 -1060 1150 -1060 {} L 4 1150 -1060 1150 -1020 {} L 4 1150 -1020 1160 -1020 {} B 2 1260 -560 1680 -390 {flags=graph -y1 = -1.1e-05 +y1 = -0.42 y2 = 22 divy = 6 subdivy=1 @@ -64,8 +64,8 @@ node="panel led" unitx=m color="7 4"} B 2 1260 -390 1680 -220 {flags=graph -y1 = -0.003 -y2 = 7.6 +y1 = 0 +y2 = 6.7 divy = 4 subdivy=1 x1=5e-10 @@ -77,8 +77,8 @@ node="i(vpanel) i(vled) \\"R.Avg. I(vpanel); i(vpanel) 20u ravg()\\""} B 2 1260 -750 1680 -560 {flags=graph -y1 = -0.065 -y2 = 110 +y1 = -8.9e-05 +y2 = 100 divy = 5 subdivy=1 x1=5e-10 @@ -89,7 +89,7 @@ divx=9 color="7 4 6 10" node="\\"Panel power; i(vpanel) v(panel) *\\" \\"Led power; i(vled) v(led) *\\" -\\"R.Avg.Pan. Pwr; i(vpanel) v(panel) * 20u ravg()\\" +\\"Avg.Pan. Pwr; i(vpanel) v(panel) * 20u ravg()\\" \\"SUN %; sun 100 *\\"" hilight_wave=-1} B 2 1260 -940 1680 -750 {flags=graph @@ -170,7 +170,6 @@ N 630 -160 820 -160 {lab=0} N 1000 -560 1010 -560 {lab=VO} N 1100 -390 1140 -390 {lab=LED} N 1100 -390 1100 -310 {lab=LED} -N 820 -280 820 -160 {lab=0} N 820 -380 820 -340 { lab=#net2} N 920 -560 940 -560 { lab=#net3} N 370 -440 370 -390 { @@ -218,6 +217,8 @@ N 770 -1080 770 -1030 { lab=TRIANG} N 770 -1030 890 -1030 { lab=TRIANG} +N 820 -280 820 -160 { +lab=0} C {title.sym} 160 -40 0 0 {name=l1 author="Stefan Schippers" net_name=true} C {code_shown.sym} 190 -200 0 0 {name=CONTROL value=".control save all