Monthly FB NEWS 月刊FBニュース 月刊FBニュースはアマチュア無線の電子WEBマガジン。ベテランから入門まで、楽しく役立つ情報が満載です。

ジャンク堂

第22回 LTspiceのススメ(前編)

JH3NRV 松尾信一


ジャンク堂第20回でMSオフィスのExcelを使った回路計算のお話をしました。今回はExcelと共に回路設計の良き友(ツール)であるSpice系回路シミュレータのLTspiceの紹介をしたいと思います。無償で全機能が制限なく使えるLTspiceは非常に多くのユーザーがおられるようで、ネット上にも多くの情報があります。また、CQ出版社からは解説本も出ています。

私自身はLTspiceを十年くらい前から手探りで使ってきました。しかしきちんと勉強したのではなく、その都度ネットを調べたりして見よう見まねで使っている程度です。なので、ここで偉そうにLTspiceを語るのは少し気恥ずかしいのですが、電子回路工作をされている方でまだ回路シミュレータを使っていない方に、是非その世界を垣間見て頂きたいと思います。

Spice系のシミュレータは1970年代にICを設計するために開発されたと聞いていますが、相当の精度で実回路を再現できるようです。反面、そのためには精緻な部品モデルや実装モデルのパラメータをシミュレータに与える必要があり、一般のアマチュア/個人がそのレベルのシミュレーションをすることは困難と思います。

しかし、理論を忠実に再現してくれるので電子回路の勉強や自分で回路を考えるときの方向性の確認には実回路を組んでアレコレするよりは手軽にできます。特にLCフィルタなどは標準で使える部品(R/L/C)だけで手軽に回路が入力できるので、各定数の値や入出力のインピーダンスによる特性の変化を確認するには持ってこいだと思います。

シミュレーションソフトは入り口程度でも使えるようになると、電子回路工作の楽しみを大きく広げてくれると思います。今回と次回の2回に分けて、まだ回路シミュレータを使ったことがない方に向けてLTspiceの入り口を紹介したいと思います。

取り敢えず、LTspiceをインストールしてみましょう

LTspiceは以下のURLからダウンロードできます。(2022年8月現在)
https://www.analog.com/jp/design-center/design-tools-and-calculators/ltspice-simulator.html

Windowsの64bit、32bit用とMac OS用の3種類があるので使用するPCのOSに合わせて選択します。なお、私はMacを持っていないので、ここでの話しはWindows(64bit版)で説明します。

LTspiceは旧リニアテクノロジー社がリリースしていましたが、リニアテクノロジー社がアナログデバイセズ社に吸収されたために、現在はアナログデバイセズ社のツールになっています。ただ、LTspiceは既にメジャーになっていたためか、リニアテクノロジー社由来の名前はアナログデバイセズ社のツールになっても変わっていません。

インストール

ダウンロードしたファイル(Win64ビット用であればLTspice64.exe)をダブルクリックするとインストールが始まります。


このような画面が出てきたら、Acceptのボタンをクリックし、続いて一番下のInstall Nowのボタンをクリックします。画面の下の方でインストールするフォルダを設定出来ますが、初期状態のままが良いでしょう。

インストールが終わると、LTspiceが起動して、場合によって以下のような画面が現れるかも知れません。


一度、“はい”をクリックしてみて、再び同じ画面が現れるようでしたら、“いいえ”をクリックしてください。この画面は正しくインストールされていても定期的に現れて、アップデートを促します。これで、インストールは終了です。

知っておくべきフォルダの位置

LTspiceをインストールするとプログラム本体は通常、Cドライブの\Program Filesの中の\LTCというフォルダ内に置かれます。ただ、LTspiceを使う上でアクセスが必要なファイル類はマイドキュメントの中にLTspiceXVIIというフォルダが作られて、その中に収められます。

作成した回路情報やシミュレーション情報とともに、シミュレーションに必要な部品モデルの情報はマイドキュメントのLTspiceXVIIのフォルダに置かれます。また、LTspiceには豊富なサンプル回路(サンプルシミュレーション)がexamplesというフォルダのなかにあり、それを見ていくだけでも色々と使い方が分かります。

取り敢えず使ってみる

まず、以下のファイルをダウンロードして、解凍後にマイドキュメントのLTspiceXVIIのフォルダに移動します。
TR_amp.zip

LTspiceを起動してメニューバーからOpen(ファイルを開く)をクリックして先ほどのTR_amp.ascを開きます。LTspiceのインターフェースは一般的なアプリと同じようにできているので、迷うことはないと思います。ファイルを開くと回路図が表れます。そこでツールバーの人間が走っているようなアイコン(RUN)をクリックします。これはシミュレーションを実行させるボタンです。


そうするとシミュレーションが行われ、回路図の上にグラフが現れます。この時点ではグラフには何も表示されていません。そこで回路図のV1とR1を繋ぐ線の部分にマウスカーソルを持っていくと十字のカーソルがヒモのついた赤いペンのような形に変わるので、その状態でマウスをクリックすると上のグラフに波形が表示されます。


これはV1の出力波形で、トランジスタに入力する信号です。通常、シミュレーションを行う場合は必ず回路に入力する信号が必要で、V1がその信号を出力する電圧源です。波形を見ると±100mV peakで1kHz(周期1mS)のサイン波であることが分かります。このシミュレーションで表示されるグラフはオシロスコープに相当します。縦軸が電圧で、横軸が時間を表します。なお、縦軸は電流や電力になる場合もあります。

次に、トランジスタのコレクタとR3を繋ぐ線にマウスカーソルを持っていき、やはり赤いペン型になったらマウスをクリックします。そうすると、トランジスタのコレクタの電圧波形が追加で表示されます。


回路図上でカーソルが赤いペン型になる場所であれば電圧波形をみることができます。上の画面は色の都合でグラフ波形が見にくいのはご容赦ください。

また、トランジスタなどの素子の端子根元にマウスカーソルを持っていくと、ハンディ型のクランプメーターのようなアイコンに変わります。この状態でマウスをクリックすると、素子に流れる電流がグラフに表示されます。その状態で“ALT”キーを押すと温度計のアイコンになり、マウスをクリックすると電力がグラフに表示されます。手軽に各部の電圧、電流、電力の波形をグラフに表すことができます。

なお、これまでの画像は初期設定のままの色の組み合わせで見にくいので、以後の画像は背景などの色を変更しています。この変更の方法については最後に述べます。

シミュレーションの種類

Spice系シミュレーションは一般的に以下の種類の特性をシミュレーションできます。

(1) Transient(トランジェント解析)
回路の振幅特性をシミュレーションします。アンプなどの入出力の波形を見るときなどに使用します。回路に発振器を繋いで信号を入力し、出力などをオシロスコープで波形観測をすることに相当します。先に紹介したシミュレーションはこのトランジェント解析になります。

(2) AC Analysis(AC解析)
回路の周波数特性/位相特性をシミュレーションします。スペアナとトラッキングジェネレータを組み合わせて特性を見ることに相当します。

(3) DC sweep
直流電圧を変化させてデバイスの直流的な特性変化をシミュレーションします。例えば、ダイオードの電流対接合電圧の特性など、カーブトレーサに相当するようなシミュレーションができます。

これらのシミュレーションに工夫を加えることで色々と応用が可能になりますが、逆にいうと目的に応じてこれらのシミュレーションを使い分ける必要があります。一度のシミュレーションで、電圧波形と周波数特性を同時にみることはできません。

AC解析をしてみる

次に、TR_amp_AC.ascというファイルを用意しましたので、先ほどと同様にダウンロード/解凍して同じくLTspiceXIIのフォルダにコピー(移動)させます。
TR_amp_AC.zip

LTspiceを起動して、TR_amp_AC.ascを開きます。先ほどのTR_amp.ascの回路図が残っていれば、TR_ampの回路図の右上のバッテン(✕)をクリックして閉じてから、TR_amp_AC.ascを開きます。同様にシミュレーションを実行して、波形を観測してみます。やり方は先ほどと同様です。


赤線がV1の出力特性、緑線がQ1のコレクタの周波数特性、青線がR4における周波数特性を表します。C2によって低域の周波数特性が変わっていることが分かります。また、V1のレベルを0dBとしてQ1のコレクタの電圧が1kHz以上で25dBになっていることも分かります。

なお、AC解析では1ヶ所につきレベルと位相の2つのグラフが現れます。実線がレベルで破線が位相を表します。位相の目盛はグラフの右側に表示されています。今回は同じ回路でトランジェント解析とAC解析を別々のファイルとしましたが、1つのファイルにすることも可能です。これについては別途説明をします。

サンプル回路について
サンプル回路では、信号源(V1)と直列にR1(600Ω)が繋がっています。これは信号源インピーダンスを600Ωとするためです。またアンプの出力となるトランジスタのコレクタにはC2を介してR4(600Ω)が繋がれていますが、これはアンプの負荷に相当します。つまり、アンプを入出力インピーダンスが600Ωのラインに入れたときのシミュレーション結果です。これらの入出力インピーダンスを変化させて周波数特性や波形の変化を確認するのも良いでしょう。

注) 信号源としているV1で出力インピーダンスを設定することも出来ますが、私は外部に抵抗を接続して、明示的に出力インピーダンスを表すようにしています。

習うより慣れろ?

初めての方は、まずは上記の2つのファイルを開いてシミュレーションを実行して、いろいろな部分の波形を見たり、部品の定数を変えてみたりしてください。

何か所も波形を見ているとどんどんグラフの線が増えて見にくくなりますが、そのようなときは見たい波形の箇所でマウスをダブルクリックするとそこの波形だけになります。また、いったんグラフを閉じて再度シミュレーションを行うのもよいでしょう。

部品の定数(ここではC,R)の定数を変えてみる。

部品の所にマウスを持ってゆくと、シミュレーション前であれば指差しのアイコンが現れます。シミュレーションの後であれば、ハンディ型クランプ電流計のアイコンが現れるので、その状態でマウスを右クリックすると、定数を入力する画面が現れます。


これはR3の定数を入力する画面です。一番上のResistance(抵抗値)の部分だけに値を入力すれば良く、下の2つは空のままでもOKです。コンデンサなども同様で、容量の部分だけ入力すればOKです。

注) 補助単位について
抵抗(Ω)、コンデンサ(F)、周波数(Hz)、電圧(V)などは、当然ですがk(キロ)などの補助単位が使用できます。ただし、ミリ(m)とメガ(M)はどちらも“エム”の文字を使うために、mはミリを表し、メガはmegと書く必要があります。また、マイクロ(μ)はu(小文字のユー)を使います。

シミュレーション条件の設定

説明の順番が逆になりましたが、シミュレーションを行うには回路を入力すると共にシミュレーションの条件を設定する必要があります。これはメニューバーの中ほどにあるSimulateをクリックし、一番下にあるEdit Simulation Cmdをクリックすると現れます。



上の画面はトランジェント解析の設定画面ですが、AC解析を行う場合はタブのAC AnalysisをクリックするとAC解析の設定画面が現れます。

トランジェント解析の場合、最低Stop Timeの1ヶ所のみ設定すればOKです。例えば、1kHzの信号源を用いる場合、Stop Timeを2mに設定すると0秒から2m秒までの時間をシミュレーションします。したがって1kHzの波形の2周期分になります。4mに設定すれば4周期分の波形を見ることができます。また、条件を入力すると一番下にテキスト(ここでは .tran 10m)が現れますが、これがシミュレーション条件をSpice本体へ伝える指示文(Spice Directive)になります。

AC解析の場合は以下のような設定項目を入力します。


設定項目の一番上は、ここではOctaveとなっていますが、この設定にするとグラフの横軸が対数になります。ここのプルダウンリストにはDecadeやLinearなどもあります。Decadeも横軸は対数になり、Linearはリニアスケールになります。

次の項目はグラフラインの細かさと理解してください。この例ではOctave(周波数が倍)の間を100ポイントの細かさでグラフが描かれます。細かくするほど、グラフは滑らかになります。

その下の2行はシミュレーションする周波数範囲の下限と上限です。ここでは10Hzから1MHzを設定しています。1MHzを設定するには1の後ろにmegを入力します。1Mとすると1mHzを意味します。100kHzであれば100kと入力します。

以上を入力して、右下のOKを押すと回路画面に戻り、マウスカーソルに設定した内容の文字が付いてくるので、回路画面の適当に空いている所でマウスをクリックします。そうすると設定内容の文字列が回路図に置かれます。この文字が回路画面に置かれていないとシミュレーションが出来ませんので、注意が必要です。

シミュレーション(条件)設定の注意点
LTspiceでは上で説明したように、シミュレーションの条件を入力するインターフェース画面がありますが、実はその入力画面は重要ではなく、回路画面上に書かれた指示のための文字で動作します。つまり、シミュレーションに関する色々な指示/条件はSpice Directiveというコマンドとして回路図に書いておく必要があります。

先の説明で、シミュレーション設定した内容を表す文字を回路図の空いているところに置く必要があるということはそのためです。Spice Directiveはシミュレーションの条件以外にも、部品の特性など色々な条件をSpiceに対して指示を行うことができます。Spice Directiveは“.”で始まる文字列で、使用できる指示の表記方法はあらかじめ決まっています。

なお、このSpice Directiveの前に“;”を入れるとその指示は無視されます(REMアウトのようなもの)。回路上にトランジェント解析の指示文とAC解析の指示文の両方書いてシミュレーションを実行するとエラーが出ますが、片方の指示文の前に“;”を入れると、もう片方の指示文の内容でシミュレーションが実行されます。

適宜、“;”を入れ替えることで、一つの回路上で行うシミュレーションを切り替えることができます。例えば、下のように記載した場合はトランジェント解析が実行されます。


なお、Spice Directiveの前に“;”を入れるのは、やはり文字の上にマウスカーソルを持っていき右クリックします。シミュレーション条件の画面が出たら、一番下のキャンセルをクリックします。そうすると、回路図上へのテキスト入力の画面が現れるので、矢印キーなどを使い一番前に“;”を入力します。


入力信号の設定

シミュレーションでは入力信号が必要なので、その信号の設定について述べます。先ずは、トランジェント解析でもAC解析でも良いので、V2を先ほどの抵抗などの値を変更するときと同様に、部品にマウスカーソルを持っていき右クリックします。V2はこの回路ではトランジスタの電源ですが、電源も入力信号の一つと見なせます。


このような画面が現れて、現在は5(V)が設定されています。ここで、数字を変えてOKを押すと電源電圧が設定した値に変更できます。

次にV1の方を同じようにマウスで右クリックします。今度は少し複雑な画面が出てきます。


設定画面の左側は色々な波形を選択して、画面の下側にその波形の条件を入力するようになっています。これはトランジェント解析の時の入力信号になります。ここでは、サイン波でAmplitude(振幅)を100mV、Freq(周波数)を1kHzに設定しています。なお、ここでの振幅の値はピーク電圧で、100mVに設定すると±100mVp(=200mVp-p)を意味します。

次に右側ですが、DC Valueはグレーアウトされて、その下にSmall AC Analysis(AC)と表示された所があります。これは、AC解析の時の信号源になり、ここでは振幅(AC Amplitude)に1を設定しています。これは1Vという意味ではなく単に1(=0dB)の意味です。通常は1を設定しますが、LCフィルタなど信号源インピーダンスと、負荷インピーダンスが等しいことを前提とする回路では回路の出力が1/2(-6dB)になります。そのレベルを0dBとする、場合はAC Amplitudeの値を2に設定します。

トランジェント解析だけであればAC解析に必要な信号源の設定はしなくても良く、AC解析のみであれば、設定画面右側のトランジェント解析のための設定は不要ですが、2種類のシミュレーションを切り替える場合は両方を設定しておきます。また、V2の設定画面でも一番下のAdvancedを押すと、V1の設定画面に切り替わります。

全体画面の簡単な説明

まずメニューバーとツールバーです。Fileなどの文字が並んでいる部分をメニューバー、アイコンが並んでいる部分をツールバーとします。


メニューバーでよくアクセスするのはSimulateの中のシミュレーションの条件設定(Edit Simulation Cmd)だと思います。また、ツールバーの内容は、主にメニューバーのEditの内容が展開されています。したがって、主な操作はおおむねツールバーで行えます。またツールバーではアイコンにマウスカーソルを持っていくと機能名が表示されます。

マウスカーソルの形状と画面の拡大縮小など
回路画面上ではマウスカーソルの形でいろいろな状態を表します。通常の回路入力画面ではマウスカーソルが十字になっています。その状態でマウスの左クリックを保持すると、回路画面全体を掴んで動かせます。Adobeのアクロバットの手のひらアイコンのような働きです。また、そのアイコンの状態でマウスホイールを回すと画面の拡大縮小ができます。

ツールバーについて
回路の作成/変更は主にツールバーの右半分のアイコン類を使って行うのでツールバーの右側について説明します。各操作は、ツールバーのアイコンを最初にクリックして行います。

.opとAa
ツールバーの一番右の.opをクリックするとSpice Directiveを入力できます。シミュレーションの条件も、ここから直接書くこともできます。左隣のAaはテキスト文字の入力です。回路上にメモを残すような使い方ができます。ただし、文字入力は1行のみで2行に渡って書くことはできません。そのほかは以下の通りです。


部品や配線の削除(ハサミマーク)
部品や配線を消す場合は、ツールバーのハサミアイコンをクリックして、目的の部品に持っていきクリックします。また、クリックを保持してマウスを移動すると領域指定で削除ができます。

コピー(紙が2枚並んだマーク)
個別の部品や領域を複製できます。同じ定数の部品を使い回すときに便利です。なお、横にペーストキーもありますが、私は使ったことがありません(笑)。

配線(鉛筆マーク)
配線(部品同士を接続する)をするときは鉛筆アイコンをクリックしますが、そうするとマウスカーソルが画面の上下/左右いっぱいまでの点線になるので、配線を行う状態であることが分かります。

部品を回路に置く
アースと抵抗からICのAND記号までは回路図に配置する部品の選択になります。LCRとアース以外の部品はICのAND記号(Components)をクリックすると色々な部品が出てきます。

部品の移動
部品を移動させる場合は、手のひらの形のアイコンを使います。これは、部品だけを移動する場合と配線を保持して移動する場合の2種類があります。これは部品を移動させるだけでなく、部品の向きを変える場合にも使います。

部品の向きを変える
部品の回転と反転は、部品の向きを変えるときに使いますが、先に部品を移動させる状態でこのアイコンをクリックする必要があります。これは使ってみると分かりますが、少々使い辛い所があります。これだけはキーボードのショートカットキーを使う方が楽です。部品を移動させる状態で、キーボードから回転はCTRL+R、反転はCTRL+Eを押します。

ラベル
シミュレーション結果のグラフ波形はV(n003)といったような、回路図のノード(接続点)の番号で表されます。しかし、回路にはノード番号が表れないので、どこの波形のことか分からなくなります。その場合、ノードにラベルで名前を付けてやると分かりやすくなります。使い方は、ラベルをクリックすると、ノードの名前を入れる所があるので、好みの名前をいれてOKを押すと入力した文字がマウスカーソルになるので、好みの接続点(配線や部品の端子など)に持って行きクリックします。ラベルと追加した場合は、再度シミュレーションを行う必要があります。

なお、同じラベルのノードは回路図上で繋がっていなくても繋がっていることになります。逆にいうと、線を引いて配線するのではなく同じラベルを各所に置くと配線として繋がることになります。他にもいろいろとありますが、これらはまさに習うより慣れろで、サンプルの回路図をいろいろとイジってみてください。失敗してグチャグチャになっても、ファイルをもう一度開き直せば良いだけです。

ここでは細かなことには触れませんがインターフェースとしては非常に多くの機能/状態があり、全てを説明すると読む方も嫌になると思います。なので、習うより慣れろです。それであっても、私の感想ですがLTspiceの回路図入力のインターフェースは馴れやすいと思います。

今回はここまでです。シミュレーションソフトを使う時の一番のハードルは回路図やシミュレーション条件の設定/変更だと思います。特に回路入力は馴れが大きくモノをいいます。回路が入力できるようになれば、いろいろな使い方ややりたいことはネットで調べれば何とかなります。この記事を見て、LTspiceを使ってみようと思われた方は、取り敢えず回路入力/定数変更までをモノにしていただければと思います。

次回の後編ではシミュレーションに使用する部品などについても書きたいと思います。今回はトランジスタの2N2222というトランジスタを使っていますが、もう少し馴染みある部品を使うためのヒントにも触れたいと思います。

回路画面やグラフ画面の変更方法

初期設定の画面が見にくいので変更をしましたが、その方法はメニューバーのToolsをクリックし、Color Preferencesをクリックします。



色設定はWave Form(波形グラフ)、Schematic(回路図)で別々になっています。上の図は回路図の色設定画面ですが、OKの左横のプルダウンリストの一番下にBackgroundという項目があるので、それを指定して好きな色に設定します。色はRGBの割合を下のスライドバーで設定します。スライドバーを動かすと色が変わるので好みの色になればApplyを押します。回路図の場合はワイヤーや部品など各々設定できます。グラフウィンドウも同様に、Wave Formタブをクリックして行います。私は背景(Background)を白にしています。

もう一つ、グラフを見やすくする設定があるので紹介します。波形グラフの線が細いと思う場合は、メニューバーのToolsにControl Panelがあります。ここで、LTspiceの色々な設定を行いますが、その中にWave Formsというタブがあるので、その一番上のData trace widthの値をプルダウンリストから2~3を選びます。(初期値は1)そうすると、グラフの線が太くなり見やすくなります。

それでは、Best 73 & 88!

ジャンク堂 バックナンバー

2022年10月号トップへ戻る

次号は 12月 1日(木) に公開予定

サイトのご利用について

©2022 月刊FBニュース編集部 All Rights Reserved. 発行元: 月刊FBニュース編集部