コンパレータを使った回路のシミュレーションをしようと思いましたが、汎用のコンパレータのライブラリが初期のものの中にありません。
シンボルを見るとLT1017が近そうですが、出力にプルアップレジスタがあるのと、同相入力電圧の範囲が広く、高級そうです。
仕方がないので、メーカのサイトからモデルをダウンロードして自分で作成しました。
今回はTIのLM2901のライブラリを作成します。
目次
1 シンボル検索
下図のメニューで〇のついたアイコンをクリックし、でてきた画面で[comparator]を選択し「OK」を押します。
更に出てきたリストから使えそうなシンボルをLT1017にしました。
2 作り方の基本
部品のライブラリは、シンボルとSPICEのモデルで構成されています。
今回はシンボルとしてLT1017のシンボルを使い、LM2901のスパイスモデルをそのシンボルに関連付けます。
シンボルは下記で、
C:\*************\LTspiceXVII\lib\sym\Comparators\LT1017.asy
モデルは以下に保存されていました。メモ帳で開いてみましたが、バイナリー形式のため記載内容が分かりませんでした。
C:\************\LTspiceXVII\lib\sub\LT1017.sub
3 LM2901のモデルをダウンロード
TIのサイトでデータをダウンロードします。
4 モデルとピンを合わせる
LT1017.asyを開いて(2 作り方の基本のキャプチャ画面)、LM2901.asyで保存します。
右クリックで下図のリストが出てきますので、更に[View]→[Pin Table]と押すと各ピンの名前とピン番号が出てきます。
ダウンロードしたLM2901のモデルをメモ帳で開きます。
先ほどの各ピンの名前とピン番号と突き合わせると、合致しているのが確認できます。
- * LM2901 VOLTAGE COMPARATOR "MACROMODEL" SUBCIRCUIT
- * CREATED USING PARTS VERSION 4.03 ON 03/14/90 AT 13:05
- * REV (N/A)
- * CONNECTIONS: NON-INVERTING INPUT
- * | INVERTING INPUT
- * | | POSITIVE POWER SUPPLY
- * | | | NEGATIVE POWER SUPPLY
- * | | | | OPEN COLLECTOR OUTPUT
- * | | | | |
- .SUBCKT LM2901 1 2 3 4 5
- *
- F1 9 3 V1 1
- IEE 3 7 DC 100.0E-6
- VI1 21 1 DC .75
- VI2 22 2 DC .75
- Q1 9 21 7 QIN
- Q2 8 22 7 QIN
- Q3 9 8 4 QMO
- Q4 8 8 4 QMI
- .MODEL QIN PNP(IS=800.0E-18 BF=2.000E3)
- .MODEL QMI NPN(IS=800.0E-18 BF=1002)
- .MODEL QMO NPN(IS=800.0E-18 BF=1000 CJC=1E-15 TR=807.4E-9)
- E1 10 4 9 4 1
- V1 10 11 DC 0
- Q5 5 11 4 QOC
- .MODEL QOC NPN(IS=800.0E-18 BF=3.378E3 CJC=1E-15 TF=930.2E-12 TR=543.8E-9)
- DP 4 3 DX
- RP 3 4 50.00E3
- .MODEL DX D(IS=800.0E-18)
- *
- .ENDS
どうやら1~5番までのピン配置はあっているようです。
クワッドのコンパレータですが、モデルは1個だけで作ってくれているので何も手を加える必要がありません。
そのまま拡張子「.lib」を付加して、lib\subホルダーに保存します。
今回は追加したライブラリの保存先であるlib\sub\mylibホルダーに保存しました。
元々の名前は「LM2901.5_1」でしたが、「LM2901.lib」として保存しました。
シンボルに戻って、右クリック→[Attributes]→[Edit Attoributes]
を選択します。変更箇所は下記の赤枠の中です。
これで、ライブラリは完成です。
早速このライブラリーを使って動作確認をしてみました。
コンパレターとしての機能は問題なく動作しますが、下記に記載のとおり、このコンパレータが正常に動作するためには入力が(電源-15V)でなければなりません。電源を5Vとして4V付近で反転入力と非反転入力の電圧を入れ替えてみましたが、正しくコンパレータとして動作します。
このあたりは実物と異なるので注意が必要です。
次回はこのライブラリを使って、「電圧レベルの表示」回路を作成します。