今回は初期値を指定するコマンドについての説明です。
不具合解析や電源立ち上がりでの動作を確認したい場合などに有効です。
また、発振回路などで初期信号を与える必要がある場合にも使います。
(現実の回路では抵抗や半導体の雑音がトリガになったりしますが、シミュレータはある意味で理想的な解析を行う為)
初期値の設定方法
初期値の設定方法には大きく2つあります。
それが、コマンド「.ic」とtran解析オプションの「startup」です。
.icコマンド
任意の接点に対して初期電圧を与えることができます。
また、コイル (インダクタ L***) に対しては初期電流を指定できます。
書式は以下の通りです。
.ic I(L***)=初期値 ; コイルにしか初期電流は設定できない
startupオプション
過渡解析 “.tran” のオプションで指定することができます。
解析方法を指定するダイアログ上で “Start external DC supply voltages at 0V” を選択するか、コマンドラインに “startup” と直接打ち込むことで有効になります。
「startup」を有効にすると全ての独立した電圧源と電流源 (V***とI***) が “0V” “0A” から20us掛けて指定した電圧・電流までランプアップします。
この時、電圧源や電流源に固定値 (変数含む) 以外の値を指定するとその電源はシミュレーション開始0sから指定した動作をするようになります。
また、「.ic」コマンドの値も優先されます。
発振回路での使用例
では、無安定マルチバイブレータを例に見ていきましょう。
初期値の設定をしない場合
定数は例により適当です。
回路図上には “.ic V(X)=0V” が載っていますが、セミコロンを行頭に置くことでコメントアウトしています。
このように初期値を指定しない場合、無安定マルチバイブレータは両トランジスタがONした状態で安定します。”無安定” なのに、実はちゃんと安定する状態が存在するというステキな回路なんです。
実際に組む回路では、両トランジスタの性能 (この回路だと主にVbe) が完全に一致することはごく稀なので電源投入時にどちらかのトランジスタが先にONして発振状態に移行します。
シミュレーションだと現実ではなかなかありえない特性が揃ってしまうので、両方がONした状態で安定してしまったということです。
初期値を設定した場合
先ほどの回路に初期値だけを与えてみます。
すると、以下のようにちゃんと発振が始まりました。
今回のように現実的には必ずあり得るバラツキ (不均衡性) を使うような場合、シミュレーションでは動かないことがあるので初期値を設定して均衡を崩す必要があるかもしれません。
※トランジスタのモデルに内蔵の2N2222などを指定すると初期値を設定しなくて発振しました。内蔵モデルの中身はどうなってるんでしょうね…
まとめ
以上、簡単ですがLTSpiceでの初期値設定方法でした。
今回の例とは逆にシミュレーションだとバランスを取る回路や工夫をしなくてもうまいこと “動いてしまう” 回路もある (作動増幅回路とか) ので、バランスすることで安定して動作するはずの回路について検証する場合は敢えてバランスを崩す初期値を与えてみることも必要です。
参考になれば幸いです。
コメントを残す