ttl.png



おぼえ書き

無理に配線でつながず、 ノード名を使って接続したほうが楽です。

回路編集時のキーボード文字・Fn キーのショートカットを少し覚えると能率が向上します。 私の場合、ESC と F5, F6, F7 を 最初に覚えました。 メニューバーの Edit をクリックしてメニューをドロップダウン させるとショートカットキーの意味を教えてもらえます。

部品番号や 型番を示す文字の表示位置も「Move」で変更できます。 複数の回路図を open して いるとき、「Duplicate」は別の回路図に対しても働きます。 通常通りに コピーしたい部分を選択し、タブで回路図を切り換えます。 それを置く 操作は CTRL-V、左クリックです。

「Tools → Color References」で、各部の表示色を変更できます。


「μ」が文字化けする件は、Control Panel → Netlist Options → Style/Convertion の Convert 'μ' to 'u' にチェックをつけると解決します。 これは junzo さまに教えていただきました。 (ゲストブック No.2 参照)

インダクタンスの 直列抵抗値は、説明書によるとデフォルトで 1mΩ です。

例えばキャパシターの値を変えて、それぞれの場合についてシ ミュレートしたい場合は、C の容量値を "{C}" として、「.step param C list 100p 200p 500p」などと SPICE Directive で指定します。


過渡解析などで、たくさんの波形が重なって見にくいときは、グ ラフ右クリック → Add Plot Pane → Visible Traces でグラフを分離できます。 ほかに Add Trace、Delete Traces も使えます。 グラフの重ね書きの順序は Add Trace 指定の順序で決まります。


新品種のトランジスター、FET を追加するのは容易そうです。

論理ゲートには Td=10n のように、遅延時間を指定できます。
D-FF の出力から D 入力に、ゲートを介して帰還接続する場合、ゲート遅延時間を指定しな いとエラーになります。
0 〜 +1V 以外の出力電圧も、Vhigh=5 などと指定できます。 このとき、入力スレッショルド電圧のデフォルト値は (Vlow + Vhigh) / 2 になります。

シュミットトリガー (SCHMITT) は Vt=2.5 とか Vh=0.1 など 追加指定ができます。

電圧制御スイッチ SW は、Attribute value を独自の名前 (たとえば BiSW) と しておき、SPICE Directive で「.model BiSW SW(Ron=30 Roff=10e9 Vt=.5 Vh=-0)」などと指定します。 Vh には負の値を指定することができます。 (詳細は説明書参照。)
そういえば、SW の制御 "+" 端子を接地して、信号を制御 "-" 端子に加えると うまく働きません。 当たり前です。 Vt が正なら、制御には負の電圧が 必要なのでしょう。 (未追求)

パルス電源の出力は、デフォルトでも 0 と指定しても rise, fall time があり、Toff は指定した通りにはなり ません。 例えば PULSE(0 1 0 0 0 5e-6 10e-6) と指定すると、
 Tr = 497.895ns, Ton = 5.00211μs, Tfall = 497.895ns, Toff = 3.99474μs
と画面上で読み取れました。 合計が 9.99264μs となってしまいますが、 これは各種誤差の合計と思われます。 おそらく内部動作は Trise = 500ns, Ton = 5μs, Tfall = 500ns, Toff = 4μs なのでしょう。

「.save dialogbox V(out) V(sw) I(L1) I(D1)」とかいった directive を指定ができます。 大規模なシミュレーション・時間が かかるシミュレーションをするときや、結果を ltsputil で処理したいときなどは有効・便利に使えます。


電圧依存電圧源 (Voltage Dependent Voltage Source) を測定器のように使う方法があります。 例えばグランドから浮いているインダクタンスの 両端電圧を、対グランド電圧に変換できます。 制御端子に目的のノードを接続して Value 欄に <gain> を表す数値 "1.0" などと書くだけです。 「ディスクリート VFC」 の最後のほうに使用例があります。


B (arbitrary behavioral voltage or current sources) の計算式にべき乗の記号 "^" は使えません。 "**" に置き換えれば、まともに計算してもらえます。


過渡解析グラフのウィンドウを選択した状態で File → Export をクリックすると、グラフの数値データをファイルに書き出すことができます。 ファイル名 は回路図ファイルと同じ名前で、エクステンションは txt になります。 数値データを別のプログラム で処理すれば、より柔軟な解析ができます。


MODULATOR の FM 入力を使うと、直線目盛の正弦波スイープ発振器として使えます。 周波数は、パラメーター mark と space で指定します。 前段で指数変換を行うと、対数目盛 の正弦波スイープ発振器になります。 (実例は次項参照)

B や E に記述する Laplace とは、フィルターの特性をラプラス変換の記法で表したものです。 Educational フォルダー にある PLL.asc の E1 は、中心周波数 1kHz で Q = 5 の二次 バンドパスフィルターです。 パラメーターの mtol、cache は説明書にも記載がなく、Web 検索 もしてみたのですが、不明でした。
ちょっと実感がわかないので、スイープ発振器 (対数スイープ) を作ってシミュレートしてみました。

mp1.png
mp2.png

E1 の振幅が最大になる周波数が 1kHz より少し大きく見え、包絡線が左右非対称に見えますが、これは Q が高くて、 応答が遅れるためです。 スイープの速さをゆっくりにすれば、正確な値が求まります。


グラフのトレースの名前を右クリックして、例 えば V(o)-2.34 など、式を書くことができます。 .step、.dc あるいは .temp で解析した 場合、V(1)@3 などと書いて、N 番目のステップのトレースのみを表示させることができます。

式の中に次の定数が使えます。
 e := 2.7182818284590452354
 pi := 3.14159265358979323846
 k := 1.3806503e-23
 q := 1.602176462e-19

過渡解析をした場合は time が使えます。 .ac 解析では freq と omega が使え ます。 "w" は omega の代わりに使えます。

グラフのトレースの名前を CTRL キーを押しながら左クリックすると、平均値と RMS 値を 計算して表示します。 Zoom 機能とあわせて使うと、指定範囲内での値を計算します。

ユーザー定義関数も使えます。 例: .func Pythag(x,y) {sqrt(x*x+y*y)}
定数の定義もできます。 例: .param twopi = 2*pi

グラフの目盛り部分にマウスポインターを移動させて左クリックすると、表示範囲を 変更することができます。 対数目盛りにすることもできます。

Add Plot Pane を使って複数のペーンを使っているとき、トレース名を drag and drop すれ ば、トレースをペーン間で移動できます。


.include で指定する *.sub などのパス名は、SwCADIII\lib\sub\ からの相対パス名以外に、カレントディレクトリー 「./」 から の相対パス名でもかまいません。


過渡応答や FFT のグラフにカーソルを設定した場合、キーボード の ← → 矢印キーでカーソルを 1 ピクセル 少しづつ移動できます。


論理信号 (デジタル信号) を一つの Pane に まとめて書きたいとき、V(a) V(b)-2 V(c)-4 などと書けば見やすくなり ます。「変わった制御方式のスイッチング電源」に使用例があります。


PWL 電圧・電流源の記述に repeat for 〜 endrepeat を 指定することができます。 まずは適当に voltage 等を置いて、電圧・電流源の本体でなく 電圧値などを書く部分を右クリックして記述を変更します。
 PWL(repeat for 5 0 0 1m 1 2m 0 3m -1 4m 0 endrepeat)
 PWL(repeat for 5 0 0 1m 1 2m 0 3m -1 4m 0 endrepeat 35m -1 50m 0)
 PWL(0 0 10m 1 20m 0 repeat for 5 0 0 1m 1 2m 0 3m -1 4m 0 endrepeat)

書式は repeat for <times> <PWL list> endrepeat のほかに、repeat forever <PWL list> endrepeat が使えます。

時刻を相対的に指定することもできます。
 PWL(0 0 +0.1 1 +0.1 0 +0.1 1 +0.1 0 +0.1 0.5)

時刻と電圧・電流値をカッコに入れる書式もあります。
 PWL(0.2 0 repeat for 5 (0.01, 0) (0.025, 2) (0.045, 2) (0.05, 0) endrepeat)

ファイルから読み込んで、値・時刻に係数を乗じることもできます。
 PWL FILE=pwl.txt
 PWL value_scale_factor=0.5 time_scale_factor=0.7 FILE=pwl.txt

読み込ませるファイルの内容は次のようにします。 途中で適当に改行してもかまいません。 連続した行を示す "+" は使えません。
 (0 0 0.1 1 0.2 0.5 0.5 0 0.7 0.3 1 0)


時間軸に対するランダム信号は rand(), random(), white() 関数によって発生させます。
 rand(time * <周波数>)   方形波状で 0 〜 1 の範囲
 random(time * <周波数>)  三角波状で 0 〜 1 の範囲
 white(time * <周波数>)   ホワイトノイズ、-0.5 〜 0.5 の範囲

.options maxstep は 0.01 / <周波数> 以下に設定し、plotwinsize=0 も指定したほうが 正確な結果が得られます。

mp3.png

これは http://groups.yahoo.com/group/LTspice の helmutsennewald さまに教えてもらいました。 全体は "Time domain noise sources" にあります。


グランドから浮いて いるコンデンサーの両端電圧の初期値を指定したいとき、.ic V(Nxxx, Nyyy)=vv という書式が使えます。


Waveform Arithmetic (グラフの計算式) に微分 d()/d() が 使えます。 次の例はバイポーラトランジスタの hFE と hfe を計算表示してい ます。 hfe の計算式 d(Ic(Q1))/d(Ib(Q1)) が微分です。

mp4.png

 Draft2.asc Draft2.plt

実行後、グラフ横軸の範囲を再設定する必要があります。 横軸の目盛りが I(I1) でよければ再設定の必要はないのですが。
BJT モデルの中には小電流領域で hFE や hfe が低下する現象を反映しないものもあります。


Laplace 式で表した基本的なフィルターのおぼえ書き。
mp5.png

上から順に、1次 LPF、1次 HPF、2次 LPF、2次 HPF、2次 BPF。 2次フィルターの Q は全部 1/√2 です。

 Lfilters.asc Lfilters.plt


コンデンサー、コイル、フェライトビーズについて、部品を 右クリック → select ・・ → Quit and Edit Database をクリックすると、寄生素子の値や 定格を詳しく知ることができます。


時間について微分・積分を行う関数 ddt(), idt(), idtmod(), sdt() があります。 B. Arbitrary behavioral voltage or current sources の項を参照して下さい。

mp6.png
mp7.png


Sample and hold が A デバイスとして使えるようになりま した。 サンプル回路は LTC\SwCADIII\examples\Educational\SampleAndHold.asc にあり ます。 シンボルファイルは LTC\SwCADIII\lib\sym\SpecialFunctions\sample.asy です。


AM (DSB), FM 変調器、SFFM 電圧源の使い方。
fc: キャリア周波数、fs: 信号周波数、fdeb: FM 変調のデビエーション周波数。
mp8.png

2つの FM 変調波を FFT しました。
mp9.png

V(o2) と V(o3) は、ほとんど重なっています。
 HF_MOD.asc  HF_MOD.plt

AM (DSB) 変調結果を FFT 解析するときは、キャリア周波数を 1MHz 程度にしたほうが見やすいでしょう。
信号周波数を変えたときは、.param ts= 式の分子と .tran の全時間を、信号周波数 の1周期 (またはその整数倍) に合わせるのがいいと思います。


Modulator2 (sin, cos 2相出力を持った AM, FM 変調器) が使えるようになりました。 周波数可変の3相信号源などを簡単に記述できます。

E, B, BI, G 電源について、周波数・振幅・位相角をテーブル形式で指定する FREQ-tables が使えます。
 MAG (freq, magnitude, degree) ...
 DB (freq, dB, degree) ...
 R_I (freq, real, imag) ...

使用例:
 * FREQ DB PHASE
 E1 3 0 FREQ {V(2,1)} =
 + (0.5G, -2.79, -3.50)
 + (1.0G, -2.76, -7.29)
 + (2.0G, -2.91, -14.10)

接続にバスが使えます。 普通の部品や subckt、階層のある回路などは全て複合部品 としても使えます。 (R1[1:4]、U1[1:4] など)


解析結果のグラフを一部拡大した状態などで、Plot Settings → Open Plot Settings File (Reload Plot Settings) を 行うと表示が崩れることがあります。 すぐに終わる解析なら再度 Run してもいい のですが、長時間かかる解析の場合はちょっと困ります。 この場合、グラフの ウィンドウを右クリックして Zoom to Fit を選択すると回復します。


ある区間の信号を積分するとき .meas[ure] が 使えます。 結果は ErrorLog ファイル (*.log) に出力され ます。 例: .meas TRAN result1 INTEG V(sig)**2 FROM 1ms TO 2ms
「結果のプロットとグラフの座標軸」の最後の追記部分を御覧下さい。


表示などの有効数字桁数の指定、.options numdgt=12 measdgt=12 とかが使え ます。 まあめったに必要ないでしょうが。 これは LTspice User Group の Files > Tut に ある genaral_crystal_osc.asc を見ていて気付きました。 そのほか、Help の .OPTIONS の項を参照して下さい。


電圧 (電流) 制御抵抗・コンデンサーの 話です。 抵抗値やコンデンサーの静電容量の記述にノードの電圧・電流を含めることができ ます。 I(R1) と V(c1) をプロットしてみて下さい。
 mp10.png
抵抗に関して、もちろん B1 1 2 I=V(1,2)/V(ctrl) という記述方法も可能です。


デバイスのパラメーターをステップさせるときに使う「ako」とは、 Ako, a k(ind) o(f) model なんだそうです。 全く思い至らなかったな。
 .STEP param M list 1 2
 .model 1 ako:2N3904
 .model 2 ako:2N3904 NPN BF=200

この辺でいろいろ紹介されています。
http://groups.yahoo.com/group/LTspice/files/%20Tut/Stepping%20to%20the%20max/


.AC 解析と .TRAN 解析を手軽に済ませようとして、
 SYMATTR Value PULSE(1 -1 50n 50n 50n 450n 1u)
 SYMATTR Value2 AC 1
 SYMATTR InstName V1
などという電源 (信号源) を作ると、首をひねるような結果が得られることがあります。

  mp11.png
どこが まずいのか。V1 の "PULSE(1" のところです。 初期値 Vinitial が 0 なら問題ないのですが、 そうでないと .AC 解析結果がとんでもない値になることを経験しました。 初期値が 0 でない場合は、おとなしく AC / TRAN 解析 に応じて信号源を切り換える方法等をお勧めします。


.AC 解析の新しい書式 .ac list <freq> が使えます。

 mp12.png

周波数は固定の一点で (上記の例では 1MHz)、横軸は .step リストの値になります。


LC の寄生素子や初期値を指定して、それを回路図に 表示させることができます。

 mp13.png

Lについては1行、Cについては2行まで書けます。 記入の方法ですが、テンプレート部品を 用意しておいて、それをコピー・ペーストするのが楽です。 回転させたときは "vertical text" のチェックをはずしたりする必要があります。
 RserRparIC-1.asc RserRparIC-2.asc


LTspice (scad3.exe) が version 2.20 にアップデートされました。(2007/2/23)
・ .noise 解析機能が拡張されています。examples\Educational\stepnoise.asc 参照。

・ モンテカルロ解析時に便利な mc(val, tol) 関数が追加されました。 同 MonteCarlo.asc 参照。 Control Panel の Hacks に mc() 関数の乱数シードをシステム時刻から得るか否かのチェックボックスもあります。

・ 今までグラフのプロット線幅は 1 pixel で変更できませんでしたが、プレゼンテーション資料を作る場合に便利なように太線表示ができるようになりました。 Control Panel → Waveforms に "Plot data with thick lines" というチェックボックスがあります。

・ MinDeltaGmin parameter option が追加されました。シミュレーション開始時に gmin stepping が失敗する場合に使います。


V 電圧源などにトリガーをかけることができます。
 V1 1 0 TRIGGER V(trig) > 0.5 PWL(0 0 1 1 2 0)
 V2 2 0 SINE(0 1 10 1n 5) TRIGGER V(trig) > 0.5
http://tech.groups.yahoo.com/group/LTspice/ の files/%20Tut/TRIGGER/ に使用例があります。


LTspice User Group の Files > FAQ 中の Non_documented_functions_guidelines_1.05.txt に、説明書に記載されていない機能の説明があります。



SwitcherCAD III/LTspice の 情報交換サイト http://groups.yahoo.com/group/LTspice/ はかなり活発に活動して います。 メンバー登録が必要です。

ここ↓ から、いろいろなファイルをダウンロードできます。 危なっかしいものもあるので、ご注意を。
http://groups.yahoo.com/group/LTspice/files/

http://www.electronicchat.org/ の Electronic Cad や、http://www.electronics-forum.info/cad/index.html http://forum.allaboutcircuits.com/newsgroups/viewforum.php?f=2 にも SPICE 関連の情報があります。 これらはメンバー登録不要です。


もどる
Valid HTML 4.01!