写真 LTspiceのAutoGenerate機能(ネットリストから自動で回路図シンボル生成)を発見したSpiceシミュレーション女子
ワテのブログ読者の方から以下の質問を頂いた。
タントおやじ より:
2020年5月19日 4:32 午後 (編集)
はじめまして、LTSpiceに新規にモデルを取り込みたくて、こちらに辿り着きました。
私がシミュレーションを行いたいのは東芝の2SK3301です。東芝のサイトで相当品のTK1P90AでPSpiceとLTSpiceのモデルがDLできました。
しかしどちらもTK1P40Aの定義が見当たらないみたいなエラーが出て、シミュレーションが出来なくて困っています。東芝のDLサイトは、LTSpice、PSpiceともに
https://toshiba.semicon-storage.com/jp/semiconductor/product/mosfets/400v-900v-mosfets/detail.TK1P90A.html
です。アドバイスいただけないでしょうか?よろしくお願いします。
コメントを見る https://www.wareko.jp/blog/use-other-companys-spice-model-with-ltspice-lm317#comment-33842
つまりまあ、LTspiceで東芝のNチャンネルMOSFETのスパイスモデルを使いたいけれどエラーで上手く行かないとのご質問だ。
当記事では、ワテもこの東芝のNMOS FETのスパイスモデルを入手してLTspiceで使う実験をしてみたので、その過程を紹介したい。
結論としては、簡単に出来たぞ!
では、本題に入ろう。
LTspiceで他社製のスパイスモデルを使う方法(ワテ流)
ワテの場合、2000年初頭からLTspiceを使っている。
確か、最初の頃は、SwitcherCADとか言う名前だった。
LTspiceにはLinear Technology社の膨大な量のオペアンプなどのシンボルが含まれているので、Linear Technology社の製品を使ってシミュレーションするだけであれば、簡単に出来る。
しかしながら、Linear Technology社に無い製品は他社製の物を使わざるを得ない。例えばテキサスインスツルメンツとか、ON Semiconductorとか。
その当時も今でも、LTspiceを使い始めてすぐにやりたくなるのが、他社製のSPICEモデルをLTspiceで使う事だ。
その当時は、今ほどはインターネットにLTspice関連の情報が無かったので、ワテの場合には、ネットリストやシンボルファイルなどをいじくり回して、他社製のSPICEモデルをLTspiceで使えるようにする手法を見つけ出して自己流でやっていた。
その手法を簡単にまとめた記事を記事を以前に執筆した。
上の記事では。テキサスインスツルメンツのLM317可変三端子レギュレータのスパイスモデルをLTspiceで使う方法を紹介している。
具体的には、既存のDIP8ピンのシンボルを利用して、それを4ピンに加工する。そのように作成したシンボルに、LM317のスパイスモデルファイルを割り当てると言うやり方だ。
その過程でネットリストの中に出て来るノードの意味や、そのネットリストオーダー(Netlist Order)の意味を解説した。
ワテの場合は、長年この手法で他社製のスパイスモデルをLTspiceで使って来たのであるが、最近ではそんなややこしいやり方をしなくても全自動でシンボルを生成してくれる便利機能がLTspiceには備わっているのだ!
と言っても、かなり前から備わっていたのかも知れないが、ワテの場合、最近まで知らなんだw
と言う事では、当記事では、タントおやじさんの質問に答えるべく、東芝のNMOSFETのSPICEモデルを使って、最新式の全自動シンボルファイル生成手法を紹介したい。
TK1P90A東芝MOSFETシリコンNチャンネルMOS形(π-MOSⅣ)とは何か?
ワテが聞いた事も見た事もないデバイスだ。
取り敢えずこの型番「TK1P90A」でネット検索したら、簡単にヒットした。
図 TK1P90A東芝MOSFETシリコンNチャンネルMOS形(π-MOSⅣ)のデータシートから引用
引用元 https://toshiba.semicon-storage.com/jp/semiconductor/product/mosfets/400v-900v-mosfets/detail.TK1P90A.html
まあ、ドレイン・ソース間電圧VDSSが900Vと高いNMOSFETのようだ。
そのPSpiceデータと言うのが同じく東芝のサイトに公開されていたのでワテもダウンロードした。
*********************************************************************
* (C) Copyright TOSHIBA CORPORATION 2016
* Date : 22/08/2016
* File name : TK1P90A.lib
* Part Number : TK1P90A
* Parameter ver. : Ver.1
* Simulator : PSPICE
* Model call name : NMOS_TK1P90A
* TNOM : 25 degree
* Pin Assign : 1=Drain 2=Gate 3=Source
*********************************************************************
.SUBCKT NMOS_TK1P90A 1 2 3
M0 1 22 3 3 smsmosfet
+ L = 5e-06
+ W = 0.01
+ AD = 1e-08
+ AS = 1e-08
+ PD = 0.02
+ PS = 0.02
D0 3 1 DDS1
D1 3 1 DDS2
D2 2 10 DGS1
D3 3 10 DGS2
R2 10 2 1E+009
R3 10 3 1E+009
RG 2 22 20.0
.MODEL smsmosfet NMOS
+ LEVEL = 7
+ MOBMOD = 1
+ CAPMOD = 3
+ NOIMOD = 1
+ TOX = 1.5e-08
+ XJ = 1.5E-007
+ NCH = 1.7E+017
+ NGATE = 0
+ RSH = 0
+ TNOM = 25
+ VTH0 = 2.9593
+ VOFF = -0.08
+ NFACTOR = 4.0087
+ U0 = 2069
+ K1 = 0.5
+ K2 = 0
+ K3 = 80
+ K3B = 0
+ W0 = 2.5E-006
+ NLX = 1.74E-007
+ DVT0 = 2.2
+ DVT1 = 0.53
+ DVT2 = -0.032
+ DVT0W = 0
+ DVT1W = 5.3E+006
+ DVT2W = -0.032
+ DWG = 0
+ DWB = 0
+ UA = 1.0008e-12
+ UB = 5.87E-019
+ UC = -4.65E-011
+ VSAT = 53520
+ A0 = 0.17665
+ AGS = 13.937
+ B0 = 0
+ B1 = 0
+ KETA = -0.047
+ A1 = 0
+ A2 = 1
+ DELTA = 2.2101e-05
+ RDSW = 64000
+ PRWG = 0
+ PRWB = 0
+ WR = 1
+ CDSC = 2.4E-004
+ CDSCD = 0
+ CDSCB = 0
+ CIT = 0
+ ETA0 = 0.08
+ ETAB = -0.07
+ DSUB = 0.56
+ PCLM = 0.00041351
+ PDIBLC1 = 0.39
+ PDIBLC2 = 1.8461e-05
+ PDIBLCB = 0
+ DROUT = 0.56
+ PSCBE1 = 4.24E+008
+ PSCBE2 = 1E-009
+ PVAG = 0
+ ALPHA0 = 0
+ ALPHA1 = 0
+ BETA0 = 30
+ NJ = 1
+ JS = 0
+ XPART = 0
+ CGSO = 2.515e-08
+ CGDO = 1.1843e-10
+ CGBO = 0
+ CGDL = 7.1692e-08
+ CGSL = 1.9638e-10
+ CKAPPA = 0.28
+ CF = 0
+ CLC = 1E-007
+ CLE = 0.6
+ VOFFCV = 0
+ NOFF = 1
+ DLC = 0
+ ACDE = 1
+ MOIN = 15
+ CJ = 0
+ CJSW = 1E-012
+ CJSWG = 1E-012
+ PB = 1
+ PBSW = 1
+ PBSWG = 1
+ MJ = 0.5
+ MJSW = 0.33
+ MJSWG = 0.33
+ AF = 1
+ EF = 1
+ KF = 0
+ UTE = -1
+ KT1 = -3.15
+ KT1L = 0
+ KT2 = 0.022
+ UA1 = 4.31E-009
+ UB1 = -7.61E-018
+ UC1 = -5.6E-011
+ AT = 33000
+ PRT = 170000
+ XTI = 3
+ TCJ = 0
+ TPB = 0
+ TCJSW = 0
+ TPBSW = 0
+ TCJSWG = 0
+ TPBSWG = 0
+ DWC = 0.00018
.MODEL DDS1 D
+ TNOM = 25
+ IS = 1e-08
+ RS = 0.4414
+ N = 1.6397
+ CJO = 3.8e-10
+ VJ = 1.5
+ M = 0.85
+ XTI = 3
+ TT = 2.36e-06
+ BV = 900
+ IBV = 0.01
.MODEL DDS2 D
+ TNOM = 25
+ IS = 1e-08
+ RS = 0.4414
+ N = 1.6397
+ CJO = 1E-15
+ VJ = 0.7
+ M = 0.3
+ XTI = 3
+ TT = 2.36e-06
.MODEL DGS1 D
+ TNOM = 25
+ IS = 1E-015
.MODEL DGS2 D
+ TNOM = 25
+ IS = 1E-015
.ENDS
東芝TK1P90AのPSPICEデータ
引用元 https://toshiba.semicon-storage.com/jp/semiconductor/product/mosfets/400v-900v-mosfets/detail.TK1P90A.html
さて、このスパイスモデルのファイルはどこに保管しても良いのだが、ワテの場合はその時の気分で、適当なフォルダに置いている。
でも、本当は、LTspiceの以下のフォルダがお勧めだ。
E:\MyDocuments\LTspiceXVII\lib\sym\AutoGenerated
(注:ワテの場合はE:ドライブだが、通常はC:ドライブだろう)
取り敢えず、以下のように適当なフォルダに入れた。
図 東芝TK1P90AのPSPICEデータを適当なフォルダに保存する
なお、フォルダ名に日本語、空白などが含まれていると、シンボル自動生成を実行した後で若干の手作業による修正が必要になる。それらはこの後で紹介する。
もし、上で紹介したLTspiceのAutoGeneratedフォルダにスパイスモデルファイルを保管しておくと、そのような問題は出ないので、そう言う点でも、AutoGeneratedフォルダに入れておくと良いかも。
まあ、その辺りは色々と試行錯誤して、AutoGeneratedの仕組みを理解してから、自分好みに整理すれば良いだろう。
AutoGenerate(シンボル自動生成)機能を実行する
まず、LTspiceを起動する。
下図のようにファイルOpenを実行する。
図 LTspiceのファイルOpenメニュー
LTspiceのファイルOpenメニューを実行すると、下図のようにファイル選択画面が出る。
図 LTspiceのファイルOpen実行して表示されるファイル選択画面
上図に於いて、表示するファイルの拡張子をAll Files(*.*)に変更する。
そうすると、下図のように、先ほど保管した東芝TK1P90AのPSPICEデータをのテキストファイル(拡張子 .lib)も表示されている。
図 LTspiceのファイルOpen画面で東芝TK1P90AのPSPICEデータファイルを開く
上図のようにLTspiceのファイルOpen画面で東芝TK1P90AのPSPICEデータファイルを選択して開くを実行する。
そうすると、下図のようにLTspiceにそのスパイスモデルファイルが読み込まれる。
図 LTspiceに東芝TK1P90AのPSPICEデータファイルを読み込んだ直後
さて、上図において、.SUBCKTと言う行を見付ける。
所謂、サブサーキット定義の開始行だ。
まあ要するに、東芝TK1P90Aと言うNMOSFETのデバイスモデルが定義されているのだ。
ワテの場合、デバイスモデルの各行の意味はさっぱり分かっていないw
昔勉強したのだが、すっかり忘れてしまったのだ。
まあ、次に進もう。
下図のようにサブサーキット定義の開始行を反転選択しておいて、右クリックメニューを出して、Create Symbolを実行する。
図 LTspiceに読み込んだPSPICEモデルのサブサーキットに対してCreate Symbolを実行
そうすると、下図の確認画面が出る。
まあ要するに、三つのポートを持ったNMOS_TK1P90Aと言うsubcircuitに対して、シンボルを自動生成しますか?
と言う確認画面だ。
なので、はい(Y)を実行する。
その結果、一瞬にして、TK1P90Aのシンボルファイルが生成される。
その保管場所は、最初に登場したが、以下のフォルダだ。
E:\MyDocuments\LTspiceXVII\lib\sym\AutoGenerated
実際にワテのパソコンでこのフォルダを開くと以下の通り。
図 ワテのパソコンのE:\MyDocuments\LTspiceXVII\lib\sym\AutoGeneratedフォルダの中身の例
上図では、一個しかファイルが無いが、実際にはワテのパソコンには数十種類のシンボルが保管されている。どれも、自動生成したシンボルだ。
これらの自動生成シンボルは、必要がなくなれば削除してしまっても良い。
さて、自動生成したシンボルをダブルクリックで開くと下図が出る。
自動生成したNMOS_TK1P90Aシンボルを使う前の修正作業
皆さんの場合には、下図のDGSの部分が123になっているはずだ。
これは、ワテが123を右クリック編集して、DGSに書き換えただけなので、皆さんも同じようにすると良いだろう。やってもやらなくても良いが、123よりはDGSのほうが分かり易い。
図 NMOS_TK1P90Aシンボルの3ピン(1、2、3)をD、G、Sに変更した
ピンのラベル(名前)が1,2,3でもD,G,Sでもどっちでも良いが、重要なのはそのNetlist Orderなので、それは変更してはいけない。
ピンのラベル(オリジナル) | ピンのラベル(変更後) | Netlist Order |
“1” | “D” | 1 |
“2” | “G” | 2 |
“3” | “S” | 3 |
表 NMOS_TK1P90Aシンボルの3ピンのラベル名とNetlist Orderの対応表
上表の、Netlist Orderとは、上で示した.SUBCKT行にある “1” , “2”, “3” と言う三つのラベルの順番を意味している。
さて、もうこれで自動生成したTK1P90Aシンボルを使う事が出来るのだが、現状では、上図のように長方形の絵柄なので、出来ればNMOSFET風にしておこう。
シンボルの絵柄を自分で描く
下図のようにDrawメニューにある描画ツールを使ってNMOSFETを線で描いた。
図 Drawツールを使ってNMOSFETを描いた
長方形の絵柄はもう不要なので削除する。
あとは、DGSの三つのラベルを好きな位置に移動して、ファイルを上書き保管すれば完成だ。
図 NMOS_TK1P90Aシンボルに手で修正を加えてNMOSFET風にした
スパイスモデルファイルのパスに日本語や空白が含まれている場合の対策
最初に説明したように、もしスパイスモデルファイルを
E:\MyDocuments\LTspiceXVII\lib\sym\AutoGenerated
などの英数文字からなるフォルダに保管した人は、以下の処理は不要だ。
一方、パスに日本語や半角記号(カッコとか空白とか、、)が含まれている場合には、以下の修正が必要になる。つまりまあLTspiceのAutoGenerate機能は些細なバグがあるのだ。
まず、下図のようにシンボルを右クリックしてAttribute-> Edit Attributeを実行する。
図 シンボルを右クリックしてAttribute-> Edit Attributeを実行する手順
そうすると、下図が開く。
この中で、ModelFileの部分に注目する。
図 ModelFileの部分にスパイスモデルファイルが絶対パスで正しく入っているか確認する
上図のModelFileの部分にスパイスモデルファイル(TK1P90A_PSpice_20160830.lib)が絶対パスで正しく入っていれば問題ない。
ワテの経験では、スパイスモデルファイルのパスに日本語や半角記号、半角空白などが混じっていると、自動生成したこのシンボルに置いてModelFileの部分のファイルパスが完全では無くて、途中で途切れているのだ。
なので、もしそんな問題を発見したら、スパイスモデルファイルを正しく絶対パスで入力してやる。
その為には、まず、スパイスモデルファイルの絶対パスをコピーする。
具体的には、SHIFTを押して右クリックメニューを出すと、「パスのコピー」と言うメニューがある(下図)。
図 パスのコピー機能を使ってスパイスモデルファイルの絶対パスをコピーする
ワテの場合には、パスをコピーするを実際に実行すると以下のようにパスが得られた。
"E:\Desktop\DailyWork\2020\2020-05\2020-05-19(火)1-東芝TK1P90AパワーMOSFET (N-ch 700VVDSS)\TK1P90A_PSpice_20160830.lib"
まあ、こんなヘンテコな日本語パスを含んでいるので、AutoGenerate機能が正しく動かないのだ。
まあ英語圏のLTspiceの開発元の人も知らないのは当然だw
バグ報告をすれば修正して貰えるとは思うのだが、面倒なのでやっていないww
このようにして得られた絶対パスをModelFileの欄の右側にコピペすれば良い。
なお、ワテの経験では、上に示すように絶対パスの前後にクオーテーションマークが入っていても良いようだ。
無事にModelFileの部分を書き換えたら、上書き保存をして完了。
図 東芝NMOSFET TK1P90Aのシンボルが無事に完成した
これでようやく東芝NMOSFET TK1P90Aのシンボルが無事に完成した。
自動生成したNMOS_TK1P90Aシンボルを使う
では、早速このモデルを使ってみよう。
東芝NMOSFET TK1P90Aのデータシートにある測定回路をLTspiceで描画してみる。
引用元 https://toshiba.semicon-storage.com/jp/semiconductor/product/mosfets/400v-900v-mosfets/detail.TK1P90A.html の日本語データシート
自動生成したシンボルは、下図のように、AutoGeneratedフォルダに保管されているので、そのフォルダを開く。
図 AutoGeneratedフォルダの場所を探す
そのAutoGeneratedフォルダに、先ほど完成した東芝NMOSFET TK1P90Aのシンボルが有るので、それを選択してOKをクリックする。
図 AutoGeneratedディレクトリにある自動生成したシンボル
ワテの場合は、上図のようにNJM4556Aオペアンプも新日本無線株式会社さんのサイトからSPICEモデルをダウンロードしてシンボルを自動生成して使っている。
あとは、LTspiceの回路図描画ツールを使ってササっと描いてみた(下図)。
図 スイッチング時間の測定回路例をLTspiceで描画してみた
なお、上図の回路図は、上で示した東芝のデータシートの回路図と完全に一致しているかどうかは確認していない。即席で描いたので、ワテの描いた回路図に間違いがあるかも知れないので、各自で確認お願いします。
で、取り敢えず信号源V1に10ボルトのパルスを入れてみる(下図)。
図 信号源V1に10Vのパルスを入れる定義
PULSE(0 10 0 1p 1p 0.5m 1m)
で、下図に示すVinとVdの電圧を計測してみた。
図 東芝NMOSFET TK1P90Aのスイッチング動作の例
まあ、一応、ドレインに印可した200V電圧をスイッチングしていると言う事でいいのかな?
ワテの場合、電子回路初心者なので、トランジスタとかMOSFETの動作の詳しい事は分からない。
あかんがなw
まとめ
当記事では、タントおやじ様から寄せられた質問の回答と言う事で、LTspiceの自動シンボル生成機能の手順を紹介した。
この手順通りにやって頂ければ、ワテと同じ結果が得られるはずだ。
なお、この記事の内容が、タントおやじ様が必要されている内容かどうかは分からない。
もしワテの勘違いで頓珍漢な解説記事を書いてしまったとしたら、ご指摘ください。
その後、タントおやじさんからは音信不通だ。
あかんがなww
コメント
こんにちは、こちらの記事を参考にさせて頂き、何とかPch MosFETの”AO3401A”でシュミレーションできるようになりました。
ありがとうございました。
これほどの機能を持った物が無料で使用できるとは、便利な世の中になった物だと思います。40年以上前に「仕事で使えていたなら」とも思います。
今後も”ワレコ”さんの記事を参考にさせて頂くことになると思いますので、多方面の情報を楽しみにしています。
とぅーしゃん様
この度は小生の記事にコメント有難うございました。
私はLTspiceは昔から使っているのですが、自己流なので自分の知っている機能しか使っていません。
このAutoGenerated機能も昔から有ったようなのですが、私は最近その存在に気付きました。
本当はセミナーなどに参加してLTspiceのちゃんとした使い方を覚えたいのですが。
最近の私は何か電子回路を作成する場合には、
1. LTspiceでシミュレーション
2. 必要ならブレッドボードで実験
3. KiCadでプリント基板設計
4. 基板製造業者さんに発注
5. 基板にパーツを半田付けして完成
と言うパターンが多いです。
これを機会に世の中の皆さんの役に立つような記事執筆により一層の努力をしたいと思います。