秋月ファンクラブ掲示板 過去ログ

LTSPICEシミュレーションスピードを上げる工夫 - kuuuuuuuuuuuuu12

2012/12/16 (Sun) 21:48

okwave_inara1さん
いつもお世話になります。

SW電源の回路図です。
検討してみてください。
少し見づらいかも。

お願いします。

Re: LTSPICEシミュレーションスピードを上げる工夫 - inara1

2012/12/17 (Mon) 07:10

inara1です。
こちらでシミュレーションしてみますので少々お待ちください。

Re: LTSPICEシミュレーションスピードを上げる工夫 - inara1

2012/12/17 (Mon) 19:03

平日は仕事なので時間が取れないのですが、会社で回路図を見てみました(会社か
らは投稿はできないので見るだけ)。
質問があります。

(1) L1のインダクタンスはいくつでしょうか(回路図に表示されていない)。
(2) パルス電源V6の立上がり時間は1ps、立下り時間は1ps、パルス幅は3.47ns、
周期は7.14nsで正しいでしょうか。

パルス電源V6のパルス幅がかなり狭く、立上がり・立下り時間が非常に短いという
のがが、シミュレーションに時間がかかる主な原因ではないかと思います。このよ
うな速い信号(135MHz)を入力すると、短い時間間隔でシミュレーションしなくて
はならないので、全体で1msの時間の解析では莫大なステップ数になると思いま
す。

パルス電源V6の周波数が135MHzというのは間違っていませんか。この周波数を
10MHz程度に下げ、立上がり・立下り時間を2ns程度にしてみると計算が速くなるか
もしれません。

Cinという大容量のコンデンサはシミュレーションでは入れないほうがいいです
(他のコンデンサとの容量差が大きすぎるので予期しない不都合が起きる可能性が
ある)。V1は理想電圧源(出力インピーダンス0)なので、Cinを入れてもシミュ
レーション結果に影響しないはずですが、この部分の影響で実行速度が遅くなって
いる可能性もあります。

Re: LTSPICEシミュレーションスピードを上げる工夫 - kuuuuuuuuuuuuu12

2012/12/17 (Mon) 21:00

いつも回答ありがとうございます。

(1) L1のインダクタンスはいくつでしょうか
4000uHです。

(2) パルス電源V6の立上がり時間は1ps、立下り時間は1ps、パルス幅は3.47ns、
周期は7.14nsで正しいでしょうか。
PULSE(0 5 0 1p 1p 3.47u 7.14u)になります。

Re: LTSPICEシミュレーションスピードを上げる工夫 - inara1

2012/12/18 (Tue) 18:20

パルス電源V6の設定をPULSE(0 5 0 10n 10n 3.47u 7.14u)にしたら速くなります
か?

回路図ファイル toukou.asc をNotePadなどのテキストエディタで開くと、回路図
情報がテキスト形式で表示されますが、その文章をコピーして、この掲示板に貼れ
ますか?

それを、こちらでコピーして、拡張子をascにして保存すると、LTspiceでそのまま
読み込めるので、回路図を見ながら入力するより間違いが少ないと思います。

Re: LTSPICEシミュレーションスピードを上げる工夫 - kuuuuuuuuuuuuu12

2012/12/18 (Tue) 22:36

早くなりました。半分の時間でシミュレーションできます。

以下にその情報を貼り付けます。

Version 4
SHEET 1 4524 1292
WIRE 256 -336 256 -352
WIRE 240 -304 224 -304
WIRE 256 -304 240 -304
WIRE -1168 -288 -1248 -288
WIRE -960 -288 -1168 -288
WIRE -896 -288 -960 -288
WIRE -848 -288 -896 -288
WIRE -672 -288 -848 -288
WIRE -608 -288 -672 -288
WIRE -560 -288 -608 -288
WIRE -352 -288 -560 -288
WIRE -352 -272 -352 -288
WIRE -848 -224 -896 -224
WIRE -560 -224 -608 -224
WIRE 224 -224 224 -304
WIRE 224 -224 192 -224
WIRE 304 -224 288 -224
WIRE 320 -224 304 -224
WIRE -1008 -208 -1008 -224
WIRE -960 -208 -1008 -208
WIRE -896 -208 -896 -224
WIRE -896 -208 -960 -208
WIRE -720 -208 -720 -224
WIRE -672 -208 -720 -208
WIRE -608 -208 -608 -224
WIRE -608 -208 -672 -208
WIRE -1248 -192 -1248 -288
WIRE -1168 -192 -1168 -288
WIRE 224 -176 224 -224
WIRE 288 -176 288 -224
WIRE -960 -96 -960 -208
WIRE -896 -96 -960 -96
WIRE -848 -96 -896 -96
WIRE -784 -96 -848 -96
WIRE -112 -96 -704 -96
WIRE -16 -96 -112 -96
WIRE 0 -96 -16 -96
WIRE -960 -64 -960 -96
WIRE -608 -64 -608 -208
WIRE -608 -64 -672 -64
WIRE -560 -64 -608 -64
WIRE -512 -64 -560 -64
WIRE 336 -64 192 -64
WIRE 368 -64 336 -64
WIRE 528 -64 448 -64
WIRE 608 -64 528 -64
WIRE -672 -48 -672 -64
WIRE 2048 -48 1936 -48
WIRE -848 -32 -896 -32
WIRE -672 -32 -672 -48
WIRE -512 -16 -512 -64
WIRE -480 -16 -512 -16
WIRE -352 -16 -352 -208
WIRE -352 -16 -400 -16
WIRE -112 -16 -352 -16
WIRE 0 -16 -112 -16
WIRE -560 0 -608 0
WIRE -352 0 -352 -16
WIRE 1712 0 1600 0
WIRE 1728 0 1712 0
WIRE 1824 0 1792 0
WIRE 2048 0 2048 -48
WIRE 2112 0 2048 0
WIRE 2224 0 2176 0
WIRE -1008 32 -1008 0
WIRE -960 32 -960 16
WIRE -960 32 -1008 32
WIRE -896 32 -896 -32
WIRE -896 32 -960 32
WIRE -720 32 -720 16
WIRE -672 32 -720 32
WIRE -608 32 -608 0
WIRE -608 32 -672 32
WIRE 2112 32 1984 32
WIRE 1712 64 1712 0
WIRE 1760 64 1712 64
WIRE 528 80 528 0
WIRE 576 80 528 80
WIRE 608 80 608 16
WIRE 608 80 576 80
WIRE 1824 80 1808 80
WIRE 1984 80 1984 32
WIRE 1984 80 1824 80
WIRE 1760 96 1648 96
WIRE -1248 112 -1248 -128
WIRE -1168 112 -1168 -112
WIRE -1168 112 -1248 112
WIRE -960 112 -960 32
WIRE -960 112 -1168 112
WIRE -608 112 -608 32
WIRE -608 112 -960 112
WIRE -352 112 -352 64
WIRE -352 112 -608 112
WIRE 1648 144 1648 96
WIRE 1776 144 1776 128
WIRE 192 160 192 96
WIRE 192 224 192 160
WIRE 192 304 192 224
WIRE 240 304 192 304
WIRE 304 352 304 336
WIRE 1664 384 1648 384
WIRE 1760 384 1728 384
WIRE 2080 384 2064 384
WIRE 2160 384 2080 384
WIRE 2272 384 2224 384
WIRE 2160 416 2096 416
WIRE 1648 448 1648 384
WIRE 1648 448 1632 448
WIRE 1696 448 1648 448
WIRE 1760 464 1744 464
WIRE 2096 464 2096 416
WIRE 2096 464 1760 464
WIRE 1696 480 1536 480
WIRE 1712 528 1712 512
WIRE 1712 544 1712 528
FLAG -1008 -48 vg2+
FLAG -720 -32 vg4+
FLAG -720 -272 vg3+
FLAG -960 112 0
FLAG -1008 -208 vg1-
FLAG 752 -64 vg1+
FLAG 752 240 vg2+
FLAG -960 -288 Vds
FLAG -1008 -272 vg1+
FLAG 752 16 vg1-
FLAG -720 -208 vg3-
FLAG 608 -64 Vo
FLAG -16 -96 Vp+
FLAG 576 80 0
FLAG 0 -16 Vp-
FLAG 320 -304 0
FLAG 304 -352 0
FLAG 256 352 gate6
FLAG 320 304 0
FLAG 256 224 0
FLAG 304 352 0
FLAG 224 -304 vs1
FLAG 336 -64 vs2
FLAG 192 224 vs3
FLAG 256 160 0
FLAG -560 -64 VL-
FLAG 256 -352 gate5
FLAG -720 32 vg4-
FLAG -1008 32 vg2-
FLAG 752 320 vg2-
FLAG 2224 0 gate5
FLAG 1712 544 0
FLAG 2272 384 gate6
FLAG 1712 528 v1
FLAG 1680 400 v1
FLAG 2176 432 v1
FLAG 2128 48 v1
FLAG 1520 224 0
FLAG 1744 16 0
FLAG 1776 144 0
FLAG 304 -224 0
FLAG -544 -576 0
FLAG -544 -656 vg4+
FLAG 560 384 cont
FLAG 560 464 0
FLAG 528 -64 Vo
FLAG 880 32 0
FLAG 880 -48 vg1
FLAG 880 320 0
FLAG 880 240 vg2
FLAG -544 -912 vg3+
FLAG -544 -832 vg3-
FLAG 1520 0 0
FLAG 1552 448 0
FLAG 1264 560 0
FLAG 1520 144 g3d
FLAG 1648 224 0
FLAG 1824 0 g5-on-timing
FLAG 1936 32 0
FLAG 1264 480 g4d
FLAG 1536 560 0
FLAG 1760 384 g6-on-timing
FLAG 2000 384 0
SYMBOL ind2 -496 0 R270
WINDOW 0 32 56 VTop 2
WINDOW 3 -8 41 VBottom 2
SYMATTR InstName L10
SYMATTR Value 20u
SYMATTR Type ind
SYMATTR SpiceLine Rser=100m
SYMBOL voltage -1168 -208 R0
WINDOW 123 0 0 Left 2
WINDOW 0 -39 4 Left 2
SYMATTR InstName V1
SYMATTR SpiceLine Rser=1m
SYMATTR Value 100
SYMBOL voltage 752 224 R0
WINDOW 3 -163 -40 Invisible 2
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
SYMATTR Value PULSE(0 5 3.57u 1p 1p 3.47u 7.14u 10000)
SYMATTR InstName V4
SYMBOL voltage 752 -80 R0
WINDOW 3 -62 199 Left 2
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
SYMATTR Value PULSE(0 5 0 1p 1p 3.47u 7.14u)
SYMATTR InstName V6
SYMBOL sw -960 -192 M180
WINDOW 3 24 68 Invisible 2
SYMATTR Value mySW
SYMATTR InstName S1
SYMBOL sw -960 32 M180
WINDOW 3 24 68 Invisible 2
SYMATTR Value mySW
SYMATTR InstName S2
SYMBOL sw -672 48 M180
WINDOW 3 24 68 Invisible 2
SYMATTR Value mySW
SYMATTR InstName S4
SYMBOL sw -672 -192 M180
WINDOW 3 24 68 Invisible 2
SYMATTR Value mySW
SYMATTR InstName S3
SYMBOL ind2 208 32 R180
WINDOW 0 48 55 Left 2
WINDOW 3 36 40 Invisible 2
SYMATTR InstName L3
SYMATTR Value 160u
SYMATTR Type ind
SYMATTR SpiceLine Rser=50m
SYMBOL cap 512 -64 R0
WINDOW 3 -59 83 Left 2
SYMATTR Value 400u
SYMATTR InstName Cout
SYMATTR SpiceLine Rser=53m
SYMBOL ind 352 -48 R270
WINDOW 0 32 56 VTop 2
WINDOW 3 5 56 VBottom 2
SYMATTR InstName Lo
SYMATTR Value 2.2u
SYMATTR SpiceLine Rser=10m
SYMBOL ind2 -16 0 M180
WINDOW 0 36 80 Left 2
WINDOW 3 36 40 Invisible 2
SYMATTR InstName L1
SYMATTR Value 4000u
SYMATTR Type ind
SYMATTR SpiceLine Rser=100m
SYMBOL ind2 208 -48 R180
WINDOW 0 36 80 Left 2
WINDOW 3 79 42 Invisible 2
SYMATTR InstName L2
SYMATTR Value 160u
SYMATTR Type ind
SYMATTR SpiceLine Rser=50m
SYMBOL sw 336 -304 R90
WINDOW 3 24 68 Invisible 2
WINDOW 0 24 16 Invisible 2
SYMATTR Value mySW1
SYMATTR InstName S5
SYMBOL sw 336 304 M270
WINDOW 3 24 68 Invisible 2
SYMATTR Value mySW1
SYMATTR InstName S6
SYMBOL cap -1264 -192 R0
WINDOW 3 -12 79 Left 2
SYMATTR Value 1000u
SYMATTR InstName Cin
SYMBOL Digital\\and 1792 32 R0
SYMATTR InstName A1
SYMBOL Digital\\or 2144 -48 R0
SYMATTR InstName A2
SYMBOL Digital\\and 1760 -80 R0
SYMATTR InstName A3
SYMBOL Digital\\and 1728 416 R0
SYMATTR InstName A4
SYMBOL Digital\\or 2192 336 R0
SYMATTR InstName A5
SYMBOL Digital\\and 1696 304 R0
SYMATTR InstName A6
SYMBOL bv 1520 128 R0
WINDOW 3 -324 78 Left 2
SYMATTR Value V=0.2*(v(vg3+)-v(vg3-))
SYMATTR InstName B2
SYMBOL res -688 -112 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName R6
SYMATTR Value 0.01
SYMBOL current 608 -64 R0
WINDOW 123 0 0 Left 2
WINDOW 39 24 124 Left 2
SYMATTR SpiceLine load
SYMATTR InstName I1
SYMATTR Value 20
SYMBOL ind2 -128 -112 R0
SYMATTR InstName Lm
SYMATTR Value 50m
SYMATTR Type ind
SYMATTR SpiceLine Rser=100m
SYMBOL ind 208 -128 R180
WINDOW 0 36 80 Left 2
WINDOW 3 36 40 Left 2
SYMATTR InstName L5r
SYMATTR Value 50n
SYMBOL ind 208 112 R180
WINDOW 0 36 80 Left 2
WINDOW 3 36 40 Left 2
SYMATTR InstName L6r
SYMATTR Value 50n
SYMBOL bv -544 -672 R0
WINDOW 3 69 78 Left 2
SYMATTR Value V=absdelay(V(vg1),if(V(vg1)-Vth+0.5,if(V(cont)-tdmin+0.5,if(V(cont)-tdmax+0.5,tdmax,V(cont)),tdmin),if(V(cont)-tdmin+0.5,if(V(cont)-tdmax+0.5,tdmax,V(cont)),tdmin)))
SYMATTR InstName B3
SYMBOL bv 560 368 R0
SYMATTR InstName B4
SYMATTR Value V=62.5*v(vo)/1G-2.6125/1Meg
SYMBOL bv 880 -64 R0
SYMATTR InstName B5
SYMATTR Value V=v(vg1+)-v(vg1-)
SYMBOL bv 880 224 R0
SYMATTR InstName B6
SYMATTR Value V=v(vg2+)-v(vg2-)
SYMBOL bv -544 -928 R0
WINDOW 3 24 131 Left 2
SYMATTR Value V=absdelay(V(vg2),if(V(vg2)-Vth+0.5,if(V(cont)-tdmin+0.5,if(V(cont)-tdmax+0.5,tdmax,V(cont)),tdmin),if(V(cont)-tdmin+0.5,if(V(cont)-tdmax+0.5,tdmax,V(cont)),tdmin)))
SYMATTR InstName B7
SYMBOL diode -880 -224 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Invisible 2
SYMATTR InstName D1
SYMATTR Value D8L60_SDM_01
SYMBOL diode -880 -32 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Invisible 2
SYMATTR InstName D2
SYMATTR Value D8L60_SDM_01
SYMBOL diode -592 -224 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Invisible 2
SYMATTR InstName D3
SYMATTR Value D8L60_SDM_01
SYMBOL diode -592 0 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Invisible 2
SYMATTR InstName D4
SYMATTR Value D8L60_SDM_01
SYMBOL diode -336 -208 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Invisible 2
SYMATTR InstName D7
SYMATTR Value D8L60_SDM_01
SYMBOL diode -336 64 R180
WINDOW 0 24 64 Left 2
WINDOW 3 24 0 Invisible 2
SYMATTR InstName D8
SYMATTR Value D8L60_SDM_01
SYMBOL diode 288 -240 R90
WINDOW 0 0 32 VBottom 2
WINDOW 3 32 32 Invisible 2
SYMATTR InstName D5
SYMATTR Value PG905C4_ver01
SYMBOL diode 256 208 R90
WINDOW 0 0 32 Invisible 2
WINDOW 3 32 32 Invisible 2
SYMATTR InstName D6
SYMATTR Value PG905C4_ver01
SYMBOL cap -864 -288 R0
SYMATTR InstName C1
SYMATTR Value 810p
SYMBOL cap -864 -96 R0
SYMATTR InstName C2
SYMATTR Value 80p
SYMBOL cap -576 -288 R0
SYMATTR InstName C3
SYMATTR Value 810p
SYMBOL cap -576 -64 R0
SYMATTR InstName C4
SYMATTR Value 80p
SYMBOL cap 288 -192 R90
WINDOW 0 0 32 VBottom 2
WINDOW 3 32 32 VTop 2
SYMATTR InstName C5
SYMATTR Value 80p
SYMBOL cap 256 144 R90
WINDOW 0 0 32 VBottom 2
WINDOW 3 32 32 VTop 2
SYMATTR InstName C6
SYMATTR Value 80p
SYMBOL bv 1616 0 R90
WINDOW 0 -32 56 VBottom 2
WINDOW 3 -35 243 VTop 2
SYMATTR InstName B1
SYMATTR Value V=0.2*v(vg1)
SYMBOL bv 1648 448 R90
WINDOW 0 -32 56 VBottom 2
WINDOW 3 -79 209 VTop 2
SYMATTR InstName B8
SYMATTR Value V=0.2*v(vg2)
SYMBOL bv 1264 464 R0
WINDOW 3 -84 130 Left 2
SYMATTR Value V=0.2*v(vg4+)
SYMATTR InstName B9
SYMBOL bv 1648 128 R0
WINDOW 3 44 78 Invisible 2
SYMATTR Value V=absdelay(v(g3d), if(v(g3d),0,deadtime45))
SYMATTR InstName B10
SYMBOL bv 1936 -64 R0
WINDOW 3 -23 -51 Invisible 2
SYMATTR Value V=absdelay(v(g5-on-timing), if(v(g5-on-timing),deadtime25,0))
SYMATTR InstName B111
SYMBOL bv 1536 464 R0
WINDOW 3 44 78 Invisible 2
SYMATTR Value V=absdelay(v(g4d), if(v(g4d),0,deadtime45))
SYMATTR InstName B12
SYMBOL bv 2096 384 R90
WINDOW 0 -32 56 VBottom 2
WINDOW 3 -171 -109 Invisible 2
SYMATTR InstName B13
SYMATTR Value V=absdelay(v(g6-on-timing), if(v(g6-on-timing),deadtime25,0))
TEXT -1256 216 Left 2 !.tran 0 2m 0 100n startup uic
TEXT -1112 -328 Left 2 !.model mysw sw(ron=10m roff=100Meg Vt=0.5 Vh=0.2)
TEXT -176 64 Left 2 !K5 L1 L2 L3 1
TEXT 360 -304 Left 2 !.model mysw1 sw(ron=200m roff=100Meg Vt=0.5 Vh=0.2)
TEXT 840 -144 Left 2 !.param Vth=2.5V tdmin=0.1us tdmax=3.46us
TEXT 304 64 Left 2 !.ic v(vo)=0
TEXT 1424 592 Left 2 ;gate6 off-timing
TEXT 1960 288 Left 2 ;gate6 on-timing
TEXT 1680 208 Left 2 ;gate5 off-timing
TEXT 1848 -88 Left 2 ;gate5 on-timeing
TEXT 1512 -152 Left 2 !.param deadtime25=50n deadtime45=50n
TEXT -1256 -384 Left 2 !.ic v(cin)=0 v(c1)=0 v(c2)=0 v(c3)=0 v(c4)=0
LINE Normal 224 -208 224 -304 2

Re: LTSPICEシミュレーションスピードを上げる工夫 - inara1

2012/12/19 (Wed) 05:42

回路図ファイルありがとうございます。
こちらでもやってみますが、回路が複雑で時間ステップも多いので、ある程度時間がかかるのは仕方ないかもしれません。

Re: LTSPICEシミュレーションスピードを上げる工夫 - inara1

2012/12/21 (Fri) 18:14

自宅PCでシミュレーションしてみました。ダイオードのモデルがなかったので適当
なダイオードとしました。パルス電源V6の立上がり・立下り時間を10nsにすると計
算時間は多少短くなりましたが、劇的には減らないです。

Re: LTSPICEシミュレーションスピードを上げる工夫 - kuuuuuuuuuuuuu12

2012/12/21 (Fri) 23:32

返信ありがとうございます。

そうですよね。私もいろいろやってみましたが、速度は多少の違いがありますが、大きな差は出ないようです。
しかし、電源の立ち上がり下がり時間は半分の時間でシミュレーションできます。

いろいろなご指摘ありがとうございます。