LTspice入門   

Spiceはパソコン上で電子回路の動作をシュミレートするためのソフトウェアです。
LTspiceはリニアテクノロジー社(現アナログ・デバイセズ社)が開発したフリーで使える回路シュミレーターで、素子数に制限がありません。

LTspice 中からシステムに合う版をダウンロードしてインストールします。




当サイト管理人著

 <テスターの職人技>
出版社名   :   技術評論社
税込価格:    2,030円

全国書店ネットワーク
amazon.co.jp






LTspiceの使い方



File: 新しいファイルを作る、ファイルを開く、上書きしてセーブ

実行(Run)
: 作った回路でシュミレーションを実行して、波形を観測します。

停止: 実行を停止

消す: 配置した部品などを削除します。

複写: 指定する範囲の回路を別な位置に複写します。
 別ファイルへコピーする時は、元ファイルと先ファイルを二つ開いておき、まず元ファイルのコピーする回路をこの複写ツールを使ってコピーし、次に先ファイル画面をクリックして Edit→Paste で貼り付けます。

配線
: 配線を接続します。

GND: グランド  (GNDから浮いた回路が無いようにしてください)

ラベル: ラベルに名前を付けて配置します。 (VccやVddに接続する時にも使用)

抵抗、C、L、D: パーツを配置。 値はパーツを右クリックして表示される欄に記入します。
 値の単位 "Ω"、"V"、"A"は省略することもできます。
 また、
 PET(1015)ペタ, T(1012)テラ, G(109)ギガ, meg (106)メガ, k (103)キロ
 m (10-3)ミリ, u (10-6)マイクロ, n (10-9)ナノ, p (10-12)ピコ, f(10-15)フェムト
が使用できます。 ただし、μの替わりに"u"を使うので、toolsのcontrol panel の netkist optionsで "Convert μto u" をチェックしておきます。

部品(Component): クリックしてライブラリの中の各種部品を選択して配置することができます。

選択: 部品を掴み、選択した状態にします。選択された部品は移動することができます。

ドラッグ: 配線ごと部品を引き摺ります。

回転: 部品を掴み選択した状態にしてから、ここをクリックして回転させます。

ミラー: 部品を掴み選択した状態にしてから、ここをクリックして左右を反転させます。



電源および信号源
 電源は部品の中からVoltageを選び、右クリックで電圧を指定します。
 Stop Timeはシュミレーションを停止するまでの時間、例えば1(sec)を入力します。

 単なる一定の電圧ではなく変化する信号のような場合はAdvencedをクリックしてFunctionsから波形を選びます。
 サイン波の場合は振幅Amplitude、周波数Freqなどを指定します。
 Pulseは矩形波、三角波、ノコギリ波など、直線的に変化する信号を作ることができます。

 Vinitial :初期電圧(V)
 Von   :ON電圧(V)
 Tdelay :最初の遅延時間(s)
 Trize  :電圧の上昇時間(s)
 Tfall   :電圧の降下時間(s)
 Ton   :ON時間(s)
 Tperiod :周期時間(s)

下の例を参考にしてください・



独立電源
 電池記号の cell と信号源記号の signal も機能自体は Voltage と同じですが、用途により使い分けると回路を見やすくすることができます。

電流源
 current は直流電流源、sine波電流源、パルス電流源を設定することができます。

ビヘイビア電源
動作することにより、発生する電圧源または電流源はビヘイビア電源と呼ばれ、bvとbjを使用することができます。
モーターに回路電流が流れると回転し、この回転がモーターを発電する例などこれに当たります。
i

bv : ビヘイビア電源の電圧式
bj : ビヘイビア電源の電流式
 例えば、ラベル(V1) に所定の電圧が入力されている場合、ビヘイビア電源(bv) を V=V(V1)*2 に設定すると、bv にはv1の2倍の電圧が発生します。


デジタル素子
 部品の degital→ and を選択すると 普通とゲート記号と少々違って、出力側に正と負の両出力がでている記号が現れますが、必要な出力を使います。入力ゲートも必要な本数を引き出して使います。

 右クリックして、SpiceLine  を選択して入力項に
   Vhigh=5V Vlow=0V Vt=2.5V
 のようにON電圧,OFF電圧,スレッシュレベル電圧を記入します。
 この電圧を指定しない場合は、ON=1 OFF=0 となります。



作った回路の例 特定の周波数だけを通さないノッチフィルタ



注意
回路は必ずGNDを必要とします。GNDから浮いた回路があるとエラーになります。
なお、エラーが検出された場合は、そのノード番号が表示されますが、回路をポイントすると、画面下に This is node N002 のように表示されますから捜すことができます。



実行して波形を表示させる
Runを実行して、測定したい位置の配線をマウスでポイントすると下図のようにプローブが表示されるので、
左クリックすると画面に電圧波形が表示されます。


複数箇所の測定値を重ねて表示することができます。また、波形の一部を選択して囲み、拡大表示させることができます。



相対電圧の測定
グランドを基準にした電圧ではなく、2点間の電位差は、測定回路位置で左ボタンを押し込んだままドラッグして、基準回路位置で左ボタンを離すことで、相対電圧を測定することができます。


電流を測定する
電流が流れている素子をポイントして下のような電流プローブのマークが表示されたら左クリックすると素子に流れる電流を測定することができます。



なお、素子の上ではなく信号線上で流れる電流を測定する場合はAltキーを押しながら信号線をクリックします。



周波数特性を表示させる。
 入力信号として接続したvoltageを右クリックでadvancedを選び、function を non にして、
 small signal AC analysis(AC) のAC Amplitude に入力信号の振幅、例えば 1 を入力します。
 次に、画面の部品が何も無い場所で右クリックして Edit Simulation Cmd を選び、 AC Analysis タグを
 クリックして、Octave 、Number of points..に25、Start Freq に 1、Stop Freq に100kのように入力してOKします。
 この条件データを画面の中に貼り付けます。
 Runして測定位置をポイントすると、周波数特性カーブが表示されます。
 例に用いた回路では1KHzのやや上に鋭い落ち込みが見られます。破線は位相特性です。





【デシベル】 音量や音声信号などの量は、測定器の感度ではなく、人間の感覚の感度に合わせた尺度が用いられます。人間は静かな環境では小さな音量の差もわかりますが、大音響下では、小さな音が加わっても感知できません。その感度の変化のしかたは対数関数(log)的といわれ、測定単位としてはデシベル(dB)が使われます。

電圧がA倍の場合、デシベル表現では  10 log A  で表します。(電力は 20 log A)
    1倍=0dB
    2倍=3dB    1/2=-3dB
   10倍=10dB   1/10=-10dB
   50倍=17dB   1/50=-17dB
  100倍=20dB   1/100=-20dB
  500倍=27dB   1/500=-27dB

Ltspiceでは1Vを0dB基準としていますが、オーディオでは1mWを0dB、無線では1μV/mを0dBとしています。
dB計算は、人間感覚に近いという以外にも便利なことがあって、乗除算に替えて加減算を使えることです。試しに
 ×50÷2 → 17-3=14dB



DC Sweepを表示させる。
入力をリニアに振って、その出力特性を調べるのが DC Sweepです。
作成した回路の入力はDC5Vのような固定値を与え、回路の部品の無いスペース部分で右クリックして、 Edit Simulation Cmd を選びます。すると下図のような入力画面が現れますので DC Sweep タグをクリックして、スタート、ストップ、ステップ条件を入力したらOKして、この条件データを画面の中に貼り付けます。Runして測定位置をポイントすると、特性カーブが表示されます。




2nd Source を使う DC sweep
第2条件を振りながらDCスイープをする方法です。

例としてトランジスタのベース電流をステップで振った場合のコレクタ電圧と電流の関係を調べます。
下のように current I1 と voltage V1 を配置(値は共に0)


前例同様、部品の無いスペース部分で右クリックしてEdit Simulation Cmd を選び、下の例のようにDC sweepの1st Source を指定します。



2nd Source を指定します。下の場合はI1を0Aから5μAずつ増やして50μAまで計11本のグラフを描きます。



この条件データを画面の中に貼り付けます。
Run して、Altキーを押して電流測定モードにしながら、コレクタの上の線をポイントすると、ベース電流を0〜50μAまで,
5μAごと増加させた時のコレクタ電圧とコレクタ電流の関係グラフが表示されます。







波形の時間(周波数)や電圧を測る。
波形が表示されたら測定したい波形の部分を左クリックで範囲指定します。
下の例は1周期の波形を囲んだ状態です。画面の左下に 時間差dx(周波数) と電圧差dy が表示されます。




消費電力を測る
Altキーを押しながら、消費電力を測りたい部品を左クリックすると、温度計の絵が現われ、(W)ワットが表示されます。


下はサイン波電圧を掛けた二つの抵抗の消費電力です。半導体やICの発熱も測定できます。



平均消費電力は、上の方法で調べたい消費電力のグラフを画面に表示させた状態で、Ctrl キーを押しながらグラフのタイトル名 【下図矢印で示す"V(N003)*I(R1)"と表示された部分】 をクリックすると表が現れます。


なお、このCtrlキーを使う方法は 電圧や電流測定時にも、AverageやRMS(実効値)を表示する方法として使うことができます。



複数のパネルを並べて表示する。
実行して、波形をパネルにひとつ表示させたら、その表示されているパネル枠をクリックすると Settings というメニューが表示されるので、メニューの中の Add plot Pane をクリックして、表示させたい信号を指定します。



FFT
どのような波形も、
 A + (B×基本周波数のsin波) + (C×基本の2倍周波数のsin波) + (D×基本の3倍周波数のsin波) +、、、
のように変換することができ、これをフーリエ変換といいます。
つまり、どんな波形も基本周波数の倍数のsin波の成分に分解できることになります。

FFT(高速フーリエ変換)は、フーリエ変換により波形の周波数成分を抽出することのできるLTspiceの機能です。

Edit → SPICE Analysis で Stop tyme を5サイクル程度に設定してRunさせて出力波形が表示されたら、波形画面をクリックしてから、Viewをクリックして「FFT」を呼び出して必要な信号を指定してOKするとFFT分析グラフが表示されます。

下は1kHz sin × 5波 のFFTの例です。




1kHzのsin波が正確に増幅された場合、出力信号に含まれる周波数成分は1kHzだけですが、波形が不正確に増幅されると、2kHz、3kHz、4kHz、、といった基本周波数の倍数の周波数成分が入ってくるようになります。これら高調波成分の合計値の%を全高調波歪率といいます。

FFTの機能を使って全高調波歪率を調べるには以下のようにします。



調べる回路に vout のように適当なラベルを付けます。
Edit → SPACE Directive で .four 1k v(vout) のようなフーリエ解析コマンドを入力し、画面に貼ります。
  .four 周波数 v(観測ラベル1) v(観測ラベル2) ,,,
のように、複数のラベルもOKです。
周波数は通常、1kHzを使います。

実行すると、実行ディレクトリ内に 実行回路名.log ができますから、エディタで各次数の高調波歪量を知ることができます。Total Hamonic Distortion が全高調波歪率 です。

なお、stopサイクル数は5波程度が適当で、少な過ぎたり、あまり多過ぎるとデータ精度が劣化するようです。




相互インダクタンスの設定
トランスや中間タップ付きコイルには相互インダクタンスを設定します。2つのインダクタを配置して、各自己インダクタンスの値を設定後、
 Edit → Spice directive で開いた欄に
 K1 L1 L2 1
のように記入し、データを画面の適当な場所に貼り付けます。最後の値は相互インダクタンス係数(1以下)です。



初期条件
マルチバイブレーターのような回路はそのままでは発振が開始しないため、回路に初期条件をセットしてやると
発振が開始します。
先ず、初期化電圧を設定したい回路位置にラベル名を付けます。そのラベル名が in とか out の場合は、
 Edit → Spice directive で開いた記述欄に
  .ic V(in)=0 V(out)=5
あるいは
  .ic V(in)=5
のように記述し、OKでそれを画面に貼り付けます。


バリスタの使い方


Component->Special Functions の中からVaristor を選択し、貼り付けます(上図のA1)
バリスタを右クリックして開いた表の Value欄に Rclamp=1 のようにバリスタが導通した場合の抵抗値を記入し、バリスタの動作電圧が30Vなら図のように30Vの電源を接続します。



SW(電圧制御スイッチ)の使いかた
LTspiceには、プッシュスイッチの代わりに電圧で制御するスイッチSWがあります。リレー回路としても使うことができます。
部品の中からSWを選択して配置します。 SWをクリックしてValueをSW1のように変更後、
 Edit → SPICE Directive で開いた記述欄に
 .Model SW1 SW(Ron=10meg Roff=10m Vt=2.5)
のようにスパイスモデルを定義し、OKで画面に貼り付けます。
これでSW1は駆動電圧が2.5Vで動作し、接点抵抗が10mΩになり、駆動電圧がOFFで10megΩになります。

注意
することは、記号の上ではSWの接点が開いているため、N.O (通常オープン)のスイッチを連想してしまいますが、このスイッチは N.C (通常クローズ)型のスイッチであるということです。RonとRoffの設定に注意してください。

                                 赤:駆動電圧V2  白:out電圧




CSW(電流制御スイッチ)の使い方
回路の中に電流センサーをセットし、そのセンサーの検出によりON-OFFするスイッチがCSWです。
部品の中からCSWを選びます。下図W1がCSWです。
センサーの端子のラベル(例 A,B)を回路図に配置し、センサーの回路を配線します。



センサー端子A-B間には仮想電流計のダミー抵抗R1を入れておきます。ダミー抵抗値は何でもよく、シュミレーションしても電流は流れないようですが、入れておかないと電流計は動かないようです(?)。
センサーに流す電流を回路で決めます(例では I=V1/R2)。この電流検出素子はLやCでも構わないようですが、GND側に入れる必要があるようです。
次に、スイッチを右クリックし、Valueに [電流センサパラメータ] [スイッチ接触パラメータ] を記入します
例ではパラメータを  VSW TSW  としています。


Edit → Spice Directive に
 VSW A B 0

 .model TSW CSW(Ron=0.01 Roff=10meg It=8m)
のように設定します。Ronは接点のON抵抗、Roffはoff抵抗、It は検出する電流のスレッシュ値です。
例図は、センサー回路A-Bに0〜20mAの電流(青波形)を流した時のout電圧(緑波形)です。R2を流れる電流が8mAを越えるとスイッチW1がONして、outにV1が出力されています。
RonとRoffの値を逆にすれば、逆動作型のスイッチにすることもできます。



 Time step too small エラー
帰還を利用したデジタル回路などの場合、起動するとこのエラーが発生して困ってしまう場合があります。この場合は、デジタル素子を右クリックして表示される Spice Line の欄に、 Td=10n のように遅延時間を入れるとエラーが止まる場合があります。


時間で変化する電源
Voltageを配置し、右クリックでAdvencedを選び、PWL(t1 V1,t2 v2)をチェックします。
入力画面で、各時間毎の電圧を指定します。


White noise
ランダムなノイズ信号(white nose)を発生させる方法。
componentからbvを選び配置する (アイコンはvoltageと同じ)。
bvを右クリックしてValueの欄に、
 V=white(2*pi*100meg*Time)     (100meg の部分は上の周波数帯域?)
のように記載 。次に、何もない画面上を右クリックして Edit Simulation Cmd を選び、Transient の Stop Time の値を、下の周波数に応じた時間 (例 1m )にしてからrunします。

この方法で、振幅1Vのホワイトノイズが得られるようです。振幅の大きさは V=white(2*pi*100meg*Time)*10 のようにします。
FFTを表示させて確認することができます。


modulate
変調信号を発生します。
componentから special functions のmodulate を選び変調出力器を配置します。
modulateのシンボルを右クリックして、表示される表のValue欄に mark=1kHz space=10kHz のように記入します。
FM変調:変調電圧が0Vの時spaceで指定する搬送周波数が出力され、1Vの時markの搬送周波数が出力されます。
AM変調:markが搬送波の周波数です。spaceにダミーの数値を入れないとエラーになるので適当な数値をセットしておきます。
シンボルのFMまたはAM端子に変調用の信号を接続します。


上例の変調信号は 
FM変調信号V1:Amptitude 0.5V 、Freq 20Hz
AM変調信号V2:DC offset 0.4V 、Amptitude 0.2V 、Freq 10Hz
  図において DC offset は "off"、Amptitude は "A" の示されるレベルです。



素子の値をパラメーター化
例えば、コンデンサの値を定数ではなく {C1} のように記述しておき、Edit → Spice Directive に
 .step param C1 list 値1 値2 値3 ,,,,
のように指定して実行することができます。





LTspiseのバージョンによるライブラリ位置の違い

ここでは LTspiceIV に基づいて解説していますが、現在リニアテクノロジー社からダウンロードできるLTspiceはXVIIになっています。LTspiceの操作方法に基本的な違いはないようですが、ライブラリの配置場所が異なるため注意を要します。





LTspiceIV のライブラリは Program files\LTC\LTspiceIV\lib でしたが、LTspiceXVII では ドキュメント・フォルダ の LTspiceXVII の lib に変更されています。 上の例では、インストールしたバイポーラトランジスタのライブラリは org_standard.bjt にファイル名を変更し、standard.bjt は従来 LTspiceIVで使っていたファイルをコピーして使っています。

Program files\LTC\ の下にもlibはあるのですが、ここを変更しても実行されるLTspiceには反映されません。注意が必要です。

なお、Win10でも、 従来のLTspiceIVは問題なく動作するようですし、LTspiceIVと、LTspiceXVIIを共存させることもできるようです。


部品を作る

作った回路を一つの部品のように取り扱うのがサブサーキット機能です。

1)部品を入れるフォルダを用意する
例として作るのは、JK-FF です。
まず、作った部品を入れるフォルダを準備します。ここではフォルダ名を "PARTS" とします。

LTspiceIV を起動し、 File → New Schematic で新しい図面を起こします。
次に、このファイルに名前を付けて、PARTSのフォルダにいったんセーブします。

File → Save as  で、先程作ったフォルダ PARTS を指定し、ファイル名を "jkflop.asc"  として保存します。

これで、中身が空のファイル jkflop.asc が フォルダ PARTS にできました (一見、無駄な作業ですがLTspiceのファイル環境を用意するためです)


2)部品の回路図を作る
空のjkflop.asc を開きます。
下図のように、JKフリップフロップの回路を作成し、各端子に ラベルを付けます。Port TypeはNoneで構いません。



完成したらファイルはセーブします。


3)部品のシンボルを作る
次に、上で作った部品(JKフリップフロップ)のシンボルマークを作ります。

File → New Symbol

で、シンボル編集画面が開きます。この作業で主に使うのは Draw(描く) と Edit(編集)です。

Draw でシンボルに表示する図形を描きます。
 Line  線     端子の線など。 端子はグリッドの点に合わせて配置します。
 Rect  四角形  部品の枠など
 Circle  円
 Arc   円弧
 Text  文字    部品名称など

Edit  部品を編集します。
 Add Pin/Port  入出力端子を取り付けます。
 ハサミや移動も可能です。



入出力端子(Pin)を付ける際には、回路図で指定したLabelに指定し、Pin名を表示する位置を指定します。上図の J ならBOTTOMといういうに、Pinを示す青い小さな四角に対する文字の表示位置方向を指定します。
線で描いた端子の末端にピンを注意して貼り付けます。表示されるグリッドの点を参考に、線端部の赤丸とピン位置を示す小さな青い四角を正確に一致させて配置します。 

シンボル図ができたら、
File → Save as
でPARTSフォルダを選び、 "jkflop" として書き込みすると。 シンボルファイル jkflop.asy ができあがります。

ここで重要なのは asc ファイルと asy ファイルは同じフォルダに作られる必要があることです。



4)部品を使ってみる
作った部品を使って、回路図を作成する場合の注意点は、上の例で部品回路図を作った時と同じように、

 File → New Schematic に続いて、File → Save as で、PARTSフォルダを指定してから新しいファイル名(例:TEST.asc)を作ります。

すると、配置する部品を選択する画面で、下図のように、Top Directory をポイントすると、部品のフォルダがアクセスできるようになります。インストールした一般部品も同じく、Top Directoryで選択することができます。




作った部品 JKフリップフロップ を3個配置して動作させた結果が下図。全体回路としても正常に動作していることがわかります。



オリジナルのLTspiceには、FFとしてはD-FFしかインストールされていませんが、この方法を使うことで、構成が分かっているデバイスは部品化して、回路に組み込むことができるという訳です。






SPICEデータ

コンパレーターLM339をLTspiceに導入する  (LT wiki より翻訳抜粋)
 以下の作業は Programfiles\LTC\LTspice の下で作業  

1)シンボルを改造して作る
 lib\sym\Comparators\LT1017.asy を リネームコピーして LM339.asy を作り、下記部分を変更。

SYMATTR Value LT1017
SYMATTR Prefix X
SYMATTR SpiceModel LTC1.lib
SYMATTR Value2 LT1017
SYMATTR Description μPower Dual Comparator(1 of 2)


SYMATTR Value LM339
SYMATTR Prefix X
SYMATTR SpiceModel LM339.sub
SYMATTR Value2 LM339
SYMATTR Description Quad Single Supply 3V/5V Comparator LM339

これを、LM339.asy としてlib\sym\Comparators へセーブ。

2)マクロモデルを作る。
下のデータを一旦エディタに読み込み、 lib\sub の中へ LM339.sub として書き込む。

* LM339 VOLTAGE COMPARATOR "MACROMODEL" SUBCIRCUIT
* CREATED USING PARTS VERSION 4.03 ON 03/07/90 AT 14:17
* REV (N/A)
* CONNECTIONS: NON-INVERTING INPUT
* | INVERTING INPUT
* | | POSITIVE POWER SUPPLY
* | | | NEGATIVE POWER SUPPLY
* | | | | OPEN COLLECTOR OUTPUT
* | | | | |
.SUBCKT LM339 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=20.29E3 CJC=1E-15 TF=942.6E-12 TR=543.8E-9)
DP 4 3 DX
RP 3 4 46.3E3
.MODEL DX D(IS=800.0E-18)
*
.ENDS

* Model for packaged LM339 devices
* 14-pin DIP, 4 comparators per package
* CONNECTIONS: Output 2
* | Output 1
* | | Positive Power Supply
* | | | Input 1 Inverting
* | | | | Input 1 Non-Inverting
* | | | | | Input 2 Inverting
* | | | | | | Input 2 Non-Inverting
* | | | | | | | Input 3 Inverting
* | | | | | | | | Input 3 Non-inverting
* | | | | | | | | | Input 4 Inverting
* | | | | | | | | | | Input 4 Non-inverting
* | | | | | | | | | | | Negative Power Supply (or Gnd)
* | | | | | | | | | | | | Output 4
* | | | | | | | | | | | | | Output 3
* | | | | | | | | | | | | | |
.SUBCKT LM339_DIP14 1 2 3 4 5 6 7 8 9 10 11 12 13 14
X1 5 4 3 12 2 LM339
X2 7 6 3 12 1 LM339
X3 9 8 3 12 14 LM339
X4 11 10 3 12 13 LM339
.ENDS


三端子レギュレーター LM7805/7812/7815/7905
1) シンボルを作る
下のシンボル LM7805.asy を使い LM7812.asy,LM7815.asy,LM7905.asy に改造し
Programfiles\LTC\LTspiceIV\lib\sym\PowerProducts にセーブします。

*///LM7805.asy///
Version 4
SymbolType CELL
RECTANGLE Normal -128 -48 128 112
TEXT 0 0 Center 0 LM
WINDOW 0 0 -48 Bottom 0
WINDOW 3 0 48 Center 0
SYMATTR Value LM7805
SYMATTR Prefix X
SYMATTR SpiceModel LM7805.lib
SYMATTR Value2 LM7805
SYMATTR Description オPower SOT-23 Low Dropout 5V Reference
PIN -128 0 LEFT 8
PINATTR PinName IN
PINATTR SpiceOrder 1
PIN 0 112 BOTTOM 8
PINATTR PinName GND
PINATTR SpiceOrder 2
PIN 128 0 RIGHT 8
PINATTR PinName OUT
PINATTR SpiceOrder 3

2)マクロモデルを作る
下の各libを  Programfiles\LTC\LTspiceIV\lib\sub にセーブします。

.
*/// LM7805.lib ///

.SUBCKT LM7805 1 2 3
* In GND Out
QT6 23 10 2 Q_NPN 0.1
QT7 5 4 10 Q_NPN 0.1
QT5 7 6 5 Q_NPN 0.1
QT1 1 9 8 Q_NPN 0.1
QT3 11 8 7 Q_NPN 0.1
QT2 11 13 12 Q_NPN 0.1
QT17 1 15 14 Q_NPN 10
C2 10 23 4P
R16 12 5 500
R12 16 2 12.1K
QT18 17 23 16 Q_NPN 0.1
D1 18 19 D_D
R11 20 21 850
R5 22 3 100
QT14 24 18 2 Q_NPN 0.1
R21 6 2 2.67K
R20 3 6 640
DZ2 25 26 D_5V1
R19 1 26 16K
R18 14 3 250M
R17 25 14 380
R15 25 15 1.62K
QT16 1 20 15 Q_NPN 1
QT15 2 24 21 Q_PNP 0.1
*OFF
R14 21 24 4K
C1 27 24 20P
R13 19 2 4K
QT13 24 27 18 Q_NPN 0.1
QT12 20 25 22 Q_NPN 1
*OFF
QT11 20 28 2 Q_NPN 0.1
*OFF
QT10 20 11 1 Q_PNP 0.1
R10 17 27 16.5K
R9 5 4 1.9K
R8 4 23 26
R7 10 2 1.2K
R6 29 2 1K
QT9 11 11 1 Q_PNP 0.1
QT8 27 16 29 Q_NPN 0.1
QT4 15 6 17 Q_NPN 0.1
DZ1 2 9 D_5V6
R4 1 9 80K
R3 28 2 830
R2 13 28 4.97K
R1 8 13 7K

.MODEL D_5V1 D( IS=10F N=1.16 BV=5.1 IBV=0.5M CJ0 = 1P TT = 10p )
.MODEL D_5V6 D( IS=10F N=1.16 BV=5.6 IBV=5U CJ0 = 1P TT = 10p )
.MODEL Q_NPN NPN( IS=10F NF=1.16 NR=1.16 BF=80 CJC=1P CJE=2P
+ TF=10P TR=1N )
.MODEL Q_PNP PNP( IS=10F NF=1.16 NR=1.16 BF=80 CJC=1P CJE=2P
+ TF=10P TR=1N )
.MODEL D_D D( IS=1F N=1.16 CJ0 = 1P TT = 10p )

.ENDS LM7805



*/// LM7812.lib ///

.SUBCKT LM7812 1 2 3
QT6 23 10 2 Q_NPN 0.1
QT7 5 4 10 Q_NPN 0.1
QT5 7 6 5 Q_NPN 0.1
QT1 1 9 8 Q_NPN 0.1
QT3 11 8 7 Q_NPN 0.1
QT2 11 13 12 Q_NPN 0.1
QT17 1 15 14 Q_NPN 10
C2 10 23 4P
R16 12 5 500
R12 16 2 12.1K
QT18 17 23 16 Q_NPN 0.1
D1 18 19 D_D
R11 20 21 850
R5 22 3 100
QT14 24 18 2 Q_NPN 0.1
R21 6 2 2.67K
R20 3 6 5.22K
DZ2 25 26 D_5V1
R19 1 26 16K
R18 14 3 250M
R17 25 14 380
R15 25 15 1.62K
QT16 1 20 15 Q_NPN 1
QT15 2 24 21 Q_PNP 0.1
*OFF
R14 21 24 4K
C1 27 24 20P
R13 19 2 4K
QT13 24 27 18 Q_NPN 0.1
QT12 20 25 22 Q_NPN 1
*OFF
QT11 20 28 2 Q_NPN 0.1
*OFF
QT10 20 11 1 Q_PNP 0.1
R10 17 27 16.5K
R9 5 4 1.9K
R8 4 23 26
R7 10 2 1.2K
R6 29 2 1K
QT9 11 11 1 Q_PNP 0.1
QT8 27 16 29 Q_NPN 0.1
QT4 15 6 17 Q_NPN 0.1
DZ1 2 9 D_5V6
R4 1 9 80K
R3 28 2 830
R2 13 28 4.97K
R1 8 13 7K

.MODEL D_5V1 D( IS=10F N=1.16 BV=5.1 IBV=0.5M CJ0 = 1P TT = 10p )
.MODEL D_5V6 D( IS=10F N=1.16 BV=5.6 IBV=5U CJ0 = 1P TT = 10p )
.MODEL Q_NPN NPN( IS=10F NF=1.16 NR=1.16 BF=80 CJC=1P CJE=2P
+ TF=10P TR=1N )
.MODEL Q_PNP PNP( IS=10F NF=1.16 NR=1.16 BF=80 CJC=1P CJE=2P
+ TF=10P TR=1N )
.MODEL D_D D( IS=1F N=1.16 CJ0 = 1P TT = 10p )

.ENDS LM7812


*/// LM7815.lib ///
.SUBCKT LM7815 1 2 3
QT6 23 10 2 Q_NPN 0.1
QT7 5 4 10 Q_NPN 0.1
QT5 7 6 5 Q_NPN 0.1
QT1 1 9 8 Q_NPN 0.1
QT3 11 8 7 Q_NPN 0.1
QT2 11 13 12 Q_NPN 0.1
QT17 1 15 14 Q_NPN 10
C2 10 23 4P
R16 12 5 500
R12 16 2 12.1K
QT18 17 23 16 Q_NPN 0.1
D1 18 19 D_D
R11 20 21 850
R5 22 3 100
QT14 24 18 2 Q_NPN 0.1
R21 6 2 2.67K
R20 3 6 7.18K
DZ2 25 26 D_5V1
R19 1 26 16K
R18 14 3 250M
R17 25 14 380
R15 25 15 1.62K
QT16 1 20 15 Q_NPN 1
QT15 2 24 21 Q_PNP 0.1
*OFF
R14 21 24 4K
C1 27 24 20P
R13 19 2 4K
QT13 24 27 18 Q_NPN 0.1
QT12 20 25 22 Q_NPN 1
*OFF
QT11 20 28 2 Q_NPN 0.1
*OFF
QT10 20 11 1 Q_PNP 0.1
R10 17 27 16.5K
R9 5 4 1.9K
R8 4 23 26
R7 10 2 1.2K
R6 29 2 1K
QT9 11 11 1 Q_PNP 0.1
QT8 27 16 29 Q_NPN 0.1
QT4 15 6 17 Q_NPN 0.1
DZ1 2 9 D_5V6
R4 1 9 80K
R3 28 2 830
R2 13 28 4.97K
R1 8 13 7K

.MODEL D_5V1 D( IS=10F N=1.16 BV=5.1 IBV=0.5M CJ0 = 1P TT = 10p )
.MODEL D_5V6 D( IS=10F N=1.16 BV=5.6 IBV=5U CJ0 = 1P TT = 10p )
.MODEL Q_NPN NPN( IS=10F NF=1.16 NR=1.16 BF=80 CJC=1P CJE=2P
+ TF=10P TR=1N )
.MODEL Q_PNP PNP( IS=10F NF=1.16 NR=1.16 BF=80 CJC=1P CJE=2P
+ TF=10P TR=1N )
.MODEL D_D D( IS=1F N=1.16 CJ0 = 1P TT = 10p )

.ENDS LM7815



*///LM7905.lib
.SUBCKT LM7905 1 2 3

DD4 4 5 D_6V3_0
DD2 6 2 D_3V9_0
DD1 7 2 D_4V7_0
DD3 8 3 D_6V3_0
C2 9 10 5P
C1 2 9 15P
QTU15 10 9 3 Q_PNP_0 1.000
R17 11 12 4.2K
QTU22 3 10 13 Q_NPN_0 3.000
R18 8 5 15.65K
R20 13 14 1K
R19 4 14 75
QTU31 12 11 4 Q_NPN_1 1.000
R16 15 1 160
R24 16 1 1.8K
C3 17 1 10P
QTU30 18 12 15 Q_NPN_1 1.000
QTU29 10 16 1 Q_NPN_1 1.000
R15 19 1 400
QTU28 10 20 19 Q_NPN_1 1.000
R14 21 1 200
QTU27 17 20 21 Q_NPN_1 1.000
R11 22 23 1K
R10 24 25 1K
QTU19 18 27 26 Q_NPN_1 1.000
R9 2 18 7.1K
QTU8 16 18 2 Q_PNP_0 1.000
QTU7 28 18 2 Q_PNP_0 1.000
QTU6 18 18 2 Q_PNP_0 1.000
QTU5 11 29 2 Q_PNP_0 1.000
QTU4 20 29 2 Q_PNP_0 1.000
QTU3 1 29 2 Q_PNP_0 1.000
QTU2 1 29 2 Q_PNP_0 1.000
R13 28 1 400
R12 30 1 400
QTU18 29 29 31 Q_NPN_1 1.000
QTU1 29 29 2 Q_PNP_0 1.000
R6 31 32 6.5K
R7 32 27 5.6K
R8 27 26 950
QTU10 33 6 26 Q_PNP_0 1.000
QTU17 34 35 33 Q_PNP_0 1.000
R5 36 1 2K
QTU24 34 34 36 Q_NPN_1 1.000
R1 37 6 6.3K
R2 37 38 670
R3 38 35 550
QTU9 38 35 6 Q_PNP_0 1.000
R4 39 1 2K
QTU23 35 34 39 Q_NPN_1 1.000
QTU16 1 7 35 Q_PNP_0 1.000
JT1 7 1 1 J_2N3458_N
QTU14 3 17 23 Q_PNP_0 1.000
QTU13 17 17 23 Q_PNP_0 1.000
QTU12 17 17 25 Q_PNP_0 1.000
QTU11 9 17 25 Q_PNP_0 1.000
QTU32 3 13 14 Q_NPN_2 10.000
QTU26 9 20 28 Q_NPN_1 1.000
QTU25 20 20 30 Q_NPN_1 1.000
QTU21 2 40 22 Q_NPN_1 1.000
QTU20 2 37 24 Q_NPN_1 1.000
R21 2 40 4.29K
R22 40 3 500
R23 14 1 500M

.MODEL J_2N3458_N NJF( VTO=-3.05 BETA=699.53U LAMBDA=6M RD=1 RS=1
+ CGD=2.81P CGS=2.91P M=227.1M PB=500M IS=114.41F
+ VTOTC=-2.5M BETATCE=-500M KF=0 AF=1 )
.MODEL D_6V3_0 D( IS=10F N=1.24 BV=6.3 IBV=1M CJ0 = 1P TT = 10p )
.MODEL D_3V9_0 D( IS=10F N=1.24 BV=3.9 IBV=1M CJ0 = 1P TT = 10p )
.MODEL D_4V7_0 D( IS=10F N=1.24 BV=4.7 IBV=1M CJ0 = 1P TT = 10p )
.MODEL Q_PNP_0 PNP( IS=10F NF=1.04 NR=1.04 BF=50 CJC=1P CJE=2P
+ TF=10P TR=1N VAF=45)
.MODEL Q_NPN_0 NPN( IS=10F NF=1.04 NR=1.04 BF=100 CJC=1P CJE=2P
+ TF=10P TR=1N VAF=90)
.MODEL Q_NPN_1 NPN( IS=10F NF=1.04 NR=1.04 BF=100 CJC=1P CJE=2P
+ TF=10P TR=1N VAF=90)
.MODEL Q_NPN_2 NPN( IS=10F NF=1.04 NR=1.04 BF=100 CJC=1P CJE=2P
+ TF=10P TR=1N VAF=90)
.ENDS LM7905



標準モデルのSpiceデータ   

インストールされた状態では日本製デバイスは少ないようですが、各メーカーのHPにはspiceデータが公表されている場合があります。スパイスモデルを取り込むと、LTspiceで使うことができるようになります(そのまますべて有効という訳ではないようですが)。

トランジスタ、FET、ダイオードなどの標準モデルは、
Program files\LTC\LTspiceIV\lib\cmpに、(LTspiceXVIIは後述を参照のこと)
 standard.bjt バイポーラトランジスタ
 standard.dio ダイオード
 standard.jft FET
 standard.mos MOSFET
のようにライブラリが入っています。データはテキストですからメモ帳などのエディタで「ファイルの種類」を「すべてのファイル」にして開けて、必要な部分をコピー&ペーストすることでモデルを拡張することができます。
下に公開されている日本製半導体のSpiceデータを添付しておきます。ただし、メーカーが保証するものではなく、あくまで参考データです。2SC1815始め、本サイトで使用しているSPICEモデルにも使っています。
同様にbjtも掲載されています。


Spice_std.txt

またLTwikiからも、例えばEETの場合は
 Standard.jft LTwiki-forWiki for LTspice
から検索することができ、日本製の半導体も掲載されているようです。


Fileの保護】 WindowsのsystemやProgran Filesのフォルダにはアクセス保護がかかっている場合があります。ここに強制的にファイルを書く場合は、copyするファイルをエクスプローラで一旦デスクトップに落とし、このショートカットをエクスプローラでドラッグして保護されたフォルダにドロップすることで強制的にファイルの追加や書換えが可能になります。

改造したLTspiceのデータのセーブ
改造したり追加したLTspiceのデータは再インストールやPCを更新すると消えてしまいます。
Program files\LTC\LTspiceIV\lib
の中の追加変更したファイルは控えのフォルダにセーブしておくことを薦めます。変更したファイルだけでなく、Libフォルダごと全ファイルをセーブしておいたほうが管理は簡単です。


Spiceパラメータ
トランジスタの新たなモデルを作ったり、現行のモデルの特性を変更することができます。
トランジスタのパラメータに関する説明はLTspice BJT資料を参考にすることができます。

主なパラメーターとしては、
   [デフォルト値]
 Is= [0.1f]  飽和電流 Vbeを決めるパラメータ
 Vaf= [∞]  アーリー電圧 儼ce/僮c を決めるパラメータ
 Bf= [100]  Hfe
 Cjc= [0]   ゼロバイアスの時のB-C接合容量







アクセスカウンター アクセスカウンター

                           Top page




Top page
 
inserted by FC2 system