LTspiceを使った回路設計手法 1


●LTspiceのインストール

「LTspice」で検索を掛ければ、容易に供給元に辿り着けます。インストール後に初期設定なども済ませておきます。
(バージョンIVではコメントも含め日本語は使えませんが、新しいバージョンXVIIでは日本語にも対応しています。)

設定の詳しい説明は他の解説を見ていただくとして、ここでは省略。

●回路図の作図

最初は何もない真っ白な所から始まりますので、まずは適当に回路を書いて動作を試します。

(回路図エディタのメニュー説明)


回路図エディタの機能を使って部品を配置して行きます。
(基本的な使い方は、ネット上でも調べられますし、まずは使いながら覚えるのが早いです。)

ここでは、「複合ダーリントン(SAP)を使用したシンプルアンプの実験」で試作した回路をシミュレートします。



使った要素は、
・能動素子
 V1,V2,V3,V4 :電圧源(voltage)
 Q1,Q2,Q7,Q8,Q9:トランジスタ(npn)
 Q3,Q4,Q5,Q6,Q10,Q11:トランジスタ(pnp)
 B1:可変電圧源(bv)
・受動素子
 R1-R16:抵抗
 C1,C2:コンデンサ
 D1-D7:ダイオード
・ラベル
 input, Vout, NFB, +Vcc, -Vcc, Vin, Vdc
・コメント
 青文字のSAP-15N/SAP-15Pの説明文
・その他
 GND、配線

抵抗やコンデンサ、電圧源の値は、右クリックして設定しないと実行時にエラーになります。
半導体は何も設定しないとデフォルトの値(理想素子)が適用されます。


元の回路では、初段の定電流にFETを入れていますが、ここでは抵抗1本(R4)で代用。
半導体はとりあえず品番なし(デフォルトの値が適用される)、下の定電流用の基準電圧に使うLED(D1)のみは品番を指定しました。
これは、デフォルトのダイオードでは電圧が不足するためです。

→最初にトランジスタなどと同様に能動素子からLEDをピックアップすることもできますが、単にダイオードで回路図を書いてから、Dのシンボルを右クリックしてLEDの品種を選ぶと、回路図記号が勝手にLEDになります。(最初にLEDを選んでも、品種のリストでLEDが優先されるわけではないので無意味)

図の左下にある「.tran 10m」などの文字は、シミュレーション条件を設定すると表記されます。(マウスで配置する)


●解析1:AC解析 →振幅の概念がなく、動作点での微小振幅比率のみを計算。

回路図の空白部を右クリックして「Edit Simulation Command」から「AC Analysis」を選び、AC解析の周波数範囲を設定します。
さらに信号源(ここではV1)を右クリックしてAC解析の信号源電圧を「1」にします。→これで入力電圧が0dBとなる。

上の回路図は、入力正弦波に振幅変調を掛けるための仕掛け(V1のsin波にV2の値を掛けた電圧をB1に発生させる)を
していますので、単にAC特性を見るなら図の可変電圧源B1の代わりに普通の電圧源V1を置いてください。
 

条件設定後にRUNさせて回路図のVoutの配線をクリックすると出力電圧の周波数特性が表示されます。

NFB抵抗が100Ωと2kΩなので、低域ゲインは21倍(26.5dB)あり、NFBがしっかり働いている事が分かります。

ここでは半導体の周波数特性は理想素子(hfe=100で無限大周波数までフラット)なので、NFB回路の2kΩと150pFとの時定数で500kHzのカットオフ周波数になるはずですが、計算結果は200kHzで-3dBであり、予想値と異なっています。

シミュレーションを走らせた後でカーソルを配線や素子の上に置くと、各部の電圧、電流、消費電力の値が一番下に表示されます。
この機能を使って各トランジスタに流れている初期の電流値を確認すると、その理由が判明します。

実は、この回路設定ではQ9,Q11の出力段のトランジスタのアイドリング電流はほとんどゼロで、ゼロクロス付近の微小な範囲では裸ゲインが小さく、そのためにNFB後のカットオフが低く出ます。

実際に1V入力して21Vの出力を出している状態では、ゼロクロスの部分はほとんどないので計算通りの500kHzカットオフになりますが、AC解析では「微小振幅」での値が無限大振幅まで適用されるのでこのようになるのです。

AC解析では回路の非線形(クリップなど)は全く無視されるので、計算上では例え100万V(+120dB)の出力が出たとしても実際にその値が出ると思ってはいけません。

あくまで、「設定した動作点」での「微小振幅に対する振幅の比率」が表示されるのみです。

したがって、AC解析の結果を見るときは、動作点が設計した意図からずれていないかを確認する必要があります。
(よくあるのは、クリップした所で計算され、中途半端にゲインが落ちる状態。)


●解析2:トランジェント解析

回路図の空白部を右クリックして「Edit Simulation Command」から「Transient」を選び、10msまでをRUNした結果がこれです。
 
RUNする前に、信号源の値を設定必要で、
V1はsin波で1kHz、1V、
V2はPWLで初期値1V、10ms後に3V、
B1の値(Value)をv=v(vin)*v(vdc)として、
最初は1V、10ms後には3Vに直線的に増加する1kHz信号を発生させます。(上の回路図を参照)

※テクニックとして、回路図にラベルを記入してラベルを使って式を表記することで、このように式が書きやすくなる

ゲインが21倍なので、アンプ出力電圧V(vout)のピークは21Vから10ms後には63Vに上昇しようとするが、電源電圧が±50Vなので47V付近でクリップする様子がよくわかります。

青の線は初段(Q1)のコレクタ電流で、クリップが始まると急激に振幅が増大し、初段の差動回路もクリップが始まります。

赤の線は初段差動出力を受けるPNPトランジスタ(Q5)のベース電流、初段のクリップと同時に大きなベース電流が流入しますが、黄緑で示すダイオード(D7)のクランプ回路の働きで電流値が制限されています。
(D6,D7のダイオードがないと、クリップ時にQ5に大きな電流が流れるのが確認できます。)


解析手法にはDC sweepやNoiseのメニューもありますが、まずはACとトランジェントを見れば大体のことは把握できます。



●回路定数を変えてみる

シミュレーションで便利なのは、回路定数を自由に変えられることです。

すでに、この回路では出力段のアイドリング設定に問題があることを指摘しましたが、最適値を探すのに変数を用いる便利な方法があります。



上の回路図と変えた点は4か所、

1、R15の値を {rb} に

2、メニューの「.OP」コマンドを使って、
 .step param rb list 180 190 200 210 220 230  と記載。

→これでR15の値を180Ωから230Ωまで変化

3、V1のsin波を100mVに変更

4、.tranコマンドの値を1msまでに

(注): step paramの書式は、変化幅が固定の時は
 .step param rb 180 230 10
と書くこともできます。










走らせて、出力段のQ9, Q11の電流を表示したのが下のグラフ。

2か所を重ねて表示すると変化した順番が分からなくなりますが、R15は大きくなるほどアイドリングが増えるので、下からR15=180Ω~230Ωです。

エミッタ抵抗が0.22Ωでは、アイドリングの最適値は70mA程度ですので、R15の値は215Ωとすれば良い事が分かります。

(注): この値は、あくまでLTspiceのデフォルトで設定されているダイオードとトランジスタでの値であり、現実の素子とは異なる。



.step paramや .tran、.acを切り替える際のTips

バージョンXVIIになって、コマンドを編集しようとすると必ず "Statement editor" が起動するようになりました。
条件一つだけなら良いのですが、複数の条件を切り替えたい場合にはStatement editorはかえって邪魔になります。

(あまりにうっとおしいので、この為にわざわざIVにダウングレードした事もある位。)

シミュレーション条件の .ac oct 50 1k 10megと .tran 0 10m 1u 50nを切り替えたい場合も邪魔をするので、Statement editorをパスしてコマンド文の編集をする方法を紹介します。

Statement editorから"Cancel"またはEscを押すとコマンド文編集画面になりますので、Cont-Mで改行し、ここに複数の設定条件を入れてしまいます。

シミュレーション条件なら、例えば
 .ac oct 50 1k 10meg
 ;.dc V2 0 5 20m I1 0 500m 50m
 ;.tran 0 10m 1u 50n

パラメータを変化する場合は、
 ;.step param ic list 5m 10m 20m
 ;.step param Cn list 5p 10p 20p 100p
 ;.step NPN C1815(Bf) list 100 200 400

のように記入し、必要な行のみを頭の";"を削除して有効なコマンドにします。

条件を切り替えたい場合は、";"でコメントにしている行をクリックすれば
Statement editorの起動をパスしてすぐにコマンド文の編集が出来ます。



次は、LTspiceを使った歪率の評価方法について書きます。

    目次に戻る     歪率の評価方法に進む       アンプ設計のTOPに戻る