この記事では.modelコマンドの使い方について詳しく説明します。
『.modelコマンド』とは
.modelコマンドとは、ダイオード、バイポーラトランジスタ、MOSFET、スイッチなどのモデルを定義するコマンドです。
例えば、ダイオードは「飽和電流IS」や「直流抵抗RS」など様々なパラメータを持っています。『.modelコマンド』を用いて各パラメータに値を設定することで、ユーザーが自由にモデルを定義することができるようになります。
補足
『.modelコマンド』の構文
『.modelコマンド』の構文は以下のようになっています。
構文
<modname>
モデル名を入力します。モデル名には規則がなくユーザーが自由に設定することができます。
<model type>
モデルタイプを入力します。このモデルタイプには規則があります(例えばDはダイオード、NPNはNPNトランジスタなど)。以下にLTspiceで使うことができるモデルタイプの表を示します。
モデルタイプ | 対応回路素子 |
R | 抵抗 |
C | コンデンサ |
L | インダクタ |
SW | 電圧制御スイッチ |
CSW | 電流制御スイッチ |
URC | 均一分布RC線路 |
LTRA | 損失伝送ライン |
D | ダイオード |
NPN | NPNバイポーラトランジスタ |
PNP | PNPバイポーラトランジスタ |
NJF | NチャネルJFET |
PJF | PチャネルJFET |
NMOS | NチャネルMOSFET |
PMOS | PチャネルMOSFET |
NMES | NチャネルMESFET |
PMES | PチャネルMESFET |
VDMOS | 縦型二重拡散パワーMOSFET |
<param1>=<val1> <param2>=<val2>…
モデルのパラメータと値を入力します。各モデルで設定できるパラメータが別々です。また、各モデルで複数のパラメータを持っています。例えば、ダイオードでは飽和電流ISや直流抵抗RSなど、NPNトランジスタではエミッタ抵抗REやコレクタ抵抗RCなどです。今後、各モデルについて設定できるパラメータをまとめて記事にします。
『.modelコマンド』のコマンド例
- .model D_ideal D(Ron=0.0001 Roff=100G Vfwd=0)
→モデルタイプはダイオード(D)でモデル名は「D_ideal」である。パラメータ値はオン抵抗Ronが0.0001Ω、オフ抵抗Roffが100Gオーム、順方向電圧効果VFが0Vである。
上記のようにモデルを定義します。なおこのモデルは理想ダイオードを示しています。理想ダイオードについては以下の記事に記載しています。 続きを見る
【LTspice】『理想ダイオード』の作成方法
『.modelコマンド』の入力方法
ツールバーの「.op」をクリックする(ショートカットキーは”s”)と、[Edit Text on the Schematic]ダイアログボックスが表示されます。「SPICE Directive」が選択されていることを確認して『.modelコマンド』を入力し、[OK]ボタンをクリックします。
シミュレーション例
シミュレーション回路
上図は電圧源V1とダイオードD1を接続したシミュレーション回路図です。『.dc解析』を行っており、電圧源V1の電圧を0Vから1.2Vまで0.01V刻みで変化させています。また、以下の『.modelコマンド』を用いてダイオードモデルMyDiodeを定義しています。
ダイオードモデルを使用するためには、ダイオードD1のシンボルを「Ctrl+右クリック」すると表示される[Component Attribute Editor]ダイアログボックスのValueにモデル名「MyDiode」を入力します。
補足
- [Component Attribute Editor]ダイアログボックス内にあるSpiceModel,Value2,SpiceLine,SpiceLine2のどれかにモデル名を入力してもダイオードモデルを読み込むことができます。ただし、ValueとSpiceModelなど2箇所にモデル名「MyDiode」を入力するとシミュレーション実行時にエラーが表示されるので注意してください。
- ダイオードの素子値を右クリックすることで表示される[Enter new Value for D1]ダイアログボックスにモデル名「MyDiode」を入力してもダイオードモデルを読み込むことができます。
シミュレーション結果
上図の右はダイオードD1に流れる電流I(D1)をプロットしたものとなっています。『.modelコマンド』を用いて定義したダイオードモデルの特性を観測することができます。
基本のおさらい(グラフの表示方法)
まとめ
この記事では『.modelコマンド』について構文を説明した後、実際にシミュレーションで確認をしました。[SPICE Directive]で『.modelコマンド』を記述することでモデルを定義することができますが、一般的には『.modelコマンド』が記述されたSPICEモデルファイル(拡張子がlib,sub,modのもの)を『.libコマンド』を用いて読み込むことの方が多いと思います。
なお、LTspiceに関する記事は以下にまとめてあるのでぜひ参考にしてください。
また、当サイトの全記事一覧は以下にまとめてあるのでぜひ参考にしてください。