今日は久しぶりにLTspiceの話題
ワテの場合、LTspiceはもう十数年前から使っている。
電子工作をやる前にほぼ毎回その回路図をLTspiceで描いてシミュレーションしている。
なぜなら自作の電子回路が正常に動く保証なんて全くないので、事前にシミュレーションしてみればその挙動を掴むことができるからだ。
LTspiceの操作方法は非常に簡単なので、電子回路シミュレーターを使ったことがない人でも、やる気を出せば一日も有れば基本操作は出来るようになると思う。
では本題に入ろう。
LTspiceの最新版をインストールした
以下のように更新を行う。
LTspiceバージョン
更新前 | 17.0.37.0 |
更新後 | 17.1.15 |
アナログ・デバイセズ社のサイトから
をダウンロードした。↓のリンク先にある。
なお、ワテのパソコンはWindows10 Pro x64だ。
Windows11のアップデート要件を満たしていないので未だにWindows10のままなのだ。
ちなみにLTspiceはMacOSでも動く。本日の最新版は下の通りなのでWindows版よりは若干古いようだ。
早速更新作業に取り掛かる。
なおワテが使っているディスプレイはDell U4320Q UltraSharp 43インチ 4Kモニターだ。
その導入作業は以下の記事で紹介している。
アマゾンで43インチディスプレイを見る>>>
最近では43インチでも3万円台からあるのは驚きだ。
更新前のLTspiceの画面の様子
まずは更新前の画面の様子を示す。
図 LTspice更新前(17.0.37.0)
更新前のLTspiceで、下図のように100Wパワーアンプの回路図を読み込んでみた。
図 LTspice更新前(17.0.37.0)に読み込んだ100Wアンプ回路図
上図に於いて、背景がピンクなのはワテが設定を変更しているからだ。デフォルトでは薄い灰色っぽい色だったと思う。
100Wパワーアンプの回路図は、LTspiceに標準で付属しているサンプルファイルの中に有ったやつだ。下図のフォルダに入っている。
図 LTspiceに標準で付属している各種サンプル回路図ファイル
この後で、LTspice最新版のインストールした。
更新後のLTspiceの画面の様子
LTspice最新版をインストールすると旧バージョンに上書きされるのかなあと思ったら、そうならずに新旧の二種類のバージョンが共存するようにインストールされた。
図 LTspice新バージョン(17.1.15)をインストールした
早速、LTspice新バージョン(17.1.15)を起動して、先程と同じサンプルの100Wパワーアンプ回路図を読み込んでみた。
図 LTspice新バージョン(17.1.15)の画面の様子
その結果、上図のように二つの問題がある。
- アイコンが大きい
- 回路図の配線や部品の輪郭線が太くて滲んでいる
アイコンのサイズは以下のメニューで変更可能だ。
図 LTspiceの[Tool→Control Panel→Operation]画面でアイコンサイズ設定
上図の画面でツールバーのアイコンサイズは変更出来るのだが、回路図の配線や部品の輪郭線が太くて滲んでいる症状は解消しない。
で、数分間ほどネット検索して類似の症状に関する情報が無いかなあと調べてみたのだがヒットしない。
おかしい。
ワテのパソコンで起こったLTspice解像度問題は世界初の発見なのか!?
不思議だ。
まあでも、情報が無い以上は自力で解決するしかない。
高DPI設定の変更でLTspice最新版の解像度問題解決した
五分ほど試行錯誤していたら、無事に解決することが出来た。
まず、Windowsデスクトップ上にある最新版LTspiceのアイコンを右クリックしてプロパティ画面を開く(下図)。
その中で「互換性」のタブをクリックして開く。
図 最新版LTspiceのアイコンを右クリックしてプロパティ画面を開く
上図の「高DPI設定の変更」ボタンをクリックすると下図が出る。
図 「高DPIスケール設定の上書き」を有効化する
上図のように「高DPIスケール設定の上書き」チェックを入れて有効化する。
✅高いDPIスケールの動作を上書きします。
拡大縮小の実行元:
アプリケーション
あとはOKボタンをクリックして設定メニューを終了する。
この設定を行った後でLTspice最新版を再び起動してみた(下図)。
図 LTspice最新版で回路図の配線や部品の輪郭線が太くて滲んでいる症状が解消した
その結果、上図のようにLTspice最新版で回路図の配線や部品の輪郭線が太くて滲んでいる症状が解消された。
素晴らしい。
新旧LTspiceのインストール先フォルダ
新旧LTspiceでインストール先のフォルダが大きく変更されている事に気づいたので以下にまとめておく。
新LTspice(17.1.15)
実行ファイル名 | LTspice.exe |
インストールフォルダ | C:\Users\wate\AppData\Local\Programs\ADI\LTspice |
旧LTspice(17.0.37.0)
実行ファイル名 |
XVIIx64.exe XVIIx86.exe |
インストールフォルダ | C:\Program Files\LTC\LTspiceXVII |
新LTspiceはAppDataフォルダの中にインストールされた。
Windowsのアプリは以下のフォルダにインストールされるのが普通だと思っていたのだが、AppDataフォルダに入れる場合も有るのか。知らなんだ。
C:\Program Files (x86)
新LTspiceで100Wパワーアンプをシミュレーションしてみる
LTspice未経験者の皆さんの為に、LTspiceの操作を簡単に説明しょう。
先程紹介したサンプルフォルダにある100Wパワーアンプの回路図を開く。
その画面で上部アイコンの左から五番目にある人が走っているアイコン(Run)をクリックするとシミュレーションが開始される。
図 シミュレーション実行後にプローブで出力波形を表示させた(transient解析)
上図のような波形を表示させるには、回路図上にマウスポインターを移動させて、波形を見たい場所にマウスポインターを移動させる。
そうすると、マウスポインターが電圧プローブアイコンに変わるので、そのプローブアイコンで配線を触ればその配線の電圧波形がグラフで表示される。
あるいはマウスポインターが電流プローブに変化する事もある。具体的には抵抗やトランジスタなどの部品の上にマウスポインターを移動させると電流プローブに変化する。
その状態でクリックすれば電流波形をモニター出来るのだ。
と言う事でLTspiceをインストールして、サンプルファイルを開いて、Runアイコンをクリックすればあなたも直ぐに電子回路シミュレーターを使いこなすことが出来るのだ。
シミュレーションのコマンドを編集する
100Wパワーアンプサンプル回路でRunアイコンをクリックして得られたのは、トランジェント解析あるいは過渡解析と呼ばれる波形だ。
つまり、時刻0から時刻10m秒までの波形の変化をシミュレーションしている。
それらの設定は下図に示すEdit Simulation Cmdメニューで行う。
図 「Edit Simulation Cmd」メニューを開くには回路図ウインドウを有効化しておく必要あり
下図のように「Edit Simulation Cmd」メニューを開いた。
図 トランジェント解析の設定例
現状は上図のようにシミュレーションコマンドが設定されていて、それは回路図の中に下図のように描かれている。
図 回路図中に描かれているシミュレーションコマンド
なので、上図に於いて「.tran 10m」の部分をマウス右クリックすると、先程表示させた「Edit Simulation Cmd」メニューを表示させることが出来る。
AC Analysisを実行してみる
Transient解析ではなくAC解析と言うのをやってみる。
下図のように設定してOKをクリックする。
図 AC解析の設定例
その結果、回路図においても下図のようにtran解析行の先頭にセミコロン「;」が挿入されてコメント化された。
一方、下図のように新たに「.ac dec 10m 100 1Meg」と言う行が有効化されている。
図 AC解析行が追加された状態
ちなみにLTspiceでは「m」や「M」は「ミリ」を意味する。10mなら10ミリだ。
「.tran 10m」の場合は10ミリ秒だ。この場合、「.tran 10ms」と書いても良い。
一方、「mega」や「MEGA」は文字通り「メガ」を意味する。
なので、以下のようにsやhzと言った単位を付けなくても付けても良い。
.ac dec 10ms 100hz 1megahz
さて、下図がAC解析の結果だ。この場合はプローブアイコンを出力部分に置いている。
図 100WパワーアンプのAC解析結果
上図のようにAC解析では、電子回路の周波数特性、位相特性をシミュレーションすることが出来る。
このAC解析機能はアンプを作る場合に、事前にシミュレーションすることでそのアンプのおおよその特性を予測することが出来るのでワテは良く使う。
ライブラリ関連の設定
LTspiceをある程度使い込んで来たら必ずやりたくなるのが、他社製のSPICEモデルを組み込む作業だ。
LTspiceは標準ではアナログ・デバイセズ社と旧リニアテクノロジー社(現アナログ・デバイセズ社に合併)の膨大なデバイスモデル(ネットリストとも言う)を持っている。
でも、テキサス・インスツルメンツのサイトにあるデバイスを使ってLTspiceシミュレーションしたい、東芝のトランジスタ2SC1815GRや2SA1015GRなどのトランジスタを使ったシミュレーションをしたいと言う人は多い。
その辺りの詳しい手順は各自ネット検索して試して頂きたい。
あるいはワテの過去記事でもそのあたりの作業のやり方を詳しく説明しているので参考にして戴きたい。
以下ではワテが行っているライブラリ関連設定を簡単に紹介しておく。
図 Library Search Pathの設定例
ワテの場合はライブラリ検索パスの設定は上図のようにやっている。
二種類のパスを設定している理由は深い理由はなくて、LTspiceを長く使っているうちに色々実験していて自作モデルファイルを保管するライブラリの場所を何度か変更したからだ。
つまりネットで見付けた他社製のスパイスモデルと自作のシンボルを組み合わせてLTspice用の自作のモデルを作り、これらのフォルダ内に保管している。当記事後半ではテキサス・インスツルメンツ社のLM301オペアンプのLTspice用モデルを自作するやり方を紹介している。
自作モデルファイルをどこか一箇所にまとめても良いのだが、そうすると過去に作った回路図を開いてシミュレーションしようとするとパスが見付からないエラーが出る。この機会に自作モデルファイルをどこか一か所のフォルダに集めて整理しようかなと思っている。
.libコマンドでライブラリファイルを読み込む方法
そして、ネットで見付けたスパイスモデルファイル(例 jfet.lib, jbipolar.libなど)を下図のように回路図中で「.lib」コマンドで読み込んでいる。
図 他社製のライブラリファイルを回路図中で.libコマンドで指定する例
あるいは下図のように絶対パスでライブラリファイルを指定しても良い。
図 オン・セミコンダクター1N4007ダイオードモデルを使う方法
上図のシミュレーションでは信号源V1はサイン波でDCオフセット0V、振幅10V、周波数1KHzの設定にしている。
ちなみに上図で以下のように試したが、これは出来ないようだ。
つまり、外部ウエブサイトにあるデバイスモデルファイルをライブラリファイルとして直接指定出来ないかなあと思ったのだが、駄目だった。LTspiceの将来バージョンではこんな機能を付けて欲しい。
1N4007ダイオードのスパイスモデルはこのオン・セミコンダクター社のサイトからダウンロードした。
http://www.onsemi.com/pub/Collateral/1N4007.REV0.LIB
その中身は以下の通り。
************************************** * Model Generated by MODPEX * *Copyright(c) Symmetry Design Systems* * All Rights Reserved * * UNPUBLISHED LICENSED SOFTWARE * * Contains Proprietary Information * * Which is The Property of * * SYMMETRY OR ITS LICENSORS * *Commercial Use or Resale Restricted * * by Symmetry License Agreement * ************************************** * Model generated on May 30, 03 * MODEL FORMAT: PSpice .MODEL D1n4007 d +IS=7.02767e-09 RS=0.0341512 N=1.80803 EG=1.05743 +XTI=5 BV=1000 IBV=5e-08 CJO=1e-11 +VJ=0.7 M=0.5 FC=0.5 TT=1e-07 +KF=0 AF=1
このデバイスモデル定義ファイルでアスタリスク*記号はコメント行だ。
上の部分がD1n4007と言う名前のモデルをダイオードモデル(d)として定義する開始行だ。
一行に続けても良いが、上例の場合にはプラス+記号を使って数行に分けて定義している。
回路図にデバイスモデル定義を直接書き込む方法
このデバイスモデル定義ファイルが有れば、上で紹介したようにライブラリで読み込んでも良いし、あるいは下図のように回路図中に直接書き込んでも良い。
図 ダイオードD1n4007のデバイスモデルを回路図に直接書き込む例
上図では、「.lib」の行はセミコロン「;」を付けてコメント化している。これはアスタリスク*でも良い。
上図の設定でRunを実行すると、LTspiceシミュレーターは回路図中にあるダイオードの絵柄に設定されているD1n4007と言う名前のデバイスモデルを探すが、今の場合には回路図の「.MODEL D1n4007 d」の部分で発見出来るので、そのモデル定義に従ってシミュレーションを行うのだ。
もし .libと .MODEL の両方に同じ名前D1n4007 でダイオード定義情報がある場合にはどっちが使われるのかは未確認だ。
もし試した人がいましたら結果を教えて下さい。
下図は良く使う東芝のN-ch FET 2SK30 のデバイスモデル定義だ。
ネットで見付けたやつを使っているが、いつどこで見付けたのかすら忘れた。
図 東芝のN-ch FET 2SK30 のデバイスモデル定義例
という訳で、これらの手法を使えばネット検索して見付けたデバイスモデルをLTspiceに組み込んで使う事が出来る。
部品の図形情報(シンボル)は自分で作ることも可能
なお、デバイスモデルはSPICEシミュレーターがシミュレーションを行うのに必要なデバイスモデル情報であり、図形としての情報は持っていない。
一方、LTspiceの回路図中に描く図形としての情報はシンボルと呼ばれる。
東芝のFETやトランジスタ、オン・セミコンダクターのダイオードなどで有ればLTspiceが標準で持っているFET、トランジスタ、ダイオードの絵柄(シンボル)で回路図を描いて、そのシンボルを右クリックしてD1n4007などのデバイスモデル名を割り当てれば良い。
LTspiceは膨大なシンボルを持っているので、ネットで見付けたデバイスモデルはそれらのシンボルに割り当てれば殆どの場合には解決するだろう。
でも例えば、何か特殊なパーツのデバイスモデルをどこかの会社のサイトで見付けた。そのシンボルは当然ながらLTspiceには標準では無い。
そう言う場合には、LTspice自身にシンボルを作成する機能があるので、その機能を使って自分の好きな形状で図形を描けば良い。
そして、トランジスタなら三本足、ダイオードなら二本足のように、自分が必要とする数の入出力ポートをシンボルに追加すれば良いのだ。
それらの入出力ポートに付ける名前(ラベル)は任意だが、デバイスモデルファイル(=ネットリストファイル)の中にあるポート名と正しく対応させる必要がある。
言葉で説明するとややこしいので実際にやってみる。
例えばテキサス・インスツルメンツの汎用オペアンプLM301のデバイスモデル(=ネットリスト)を入手した。
.SUBCKT LM301 3 2 6 7 4 1 8 * NODE NUMBERS CORRESPOND TO DEVICE PIN NUMBERS * 3=+INPUT 2=-INPUT 6=OUTPUT 7=B+ 4=B- 1=BAL/COMP 8=COMP RC1 7 9 5.767K RC2 7 10 5.767K RE1 11 13 2.918K RE2 12 13 2.918K R2 1 0 1.3MEG R3 8 0 92.26K R4 6 8 2K CE 9 10 10.5P CS 13 0 6P C4 6 8 159P D1 1 0 DIODE D2 0 1 DIODE D3 6 7 DIODE D4 4 6 DIODE .MODEL DIODE D IS=1.0E-15 Q1 9 2 11 XSTR Q2 10 3 12 XSTR .MODEL XSTR NPN BF=36 IS=1.0E-15 IO 13 4 18U GM2V2 1 0 9 10 173.4U GM3V3 8 0 1 0 7.72M GM4V4 0 6 8 6 7.72M .ENDS LM301
LM301オペアンプのスパイスモデル(テキサス・インスツルメンツ社のサイトから入手)
このファイルのサブサーキット定義開始行は以下の通り。
3 2 6 7 4 1 8の数字があるが、7個のノード(入出力ピン)を持つデバイスという意味だ。
この例ではノード名は数字だが、アルファベットの場合もある。
一方、このオペアンプ用にLTspiceのシンボルエディタを使って下図のようにDIP8ピンの図形を描いた。LTspiceは汎用のDIP8ピンのシンボルを持っているので、それを流用してLM301用に線を追加したのだ。勿論、何もない状態から描いても良い。
図 LM301オペアンプ用にワテが描いたDIP8ピン図形のLabel「2」はNetlist Order=2
先程紹介したサブサーキット定義開始行を再び掲載する。
この場合、ノード名「3」は1番目のノードだ。Netlist Order=1
ノード名「2」は2番目になる。Netlist Order=2
ノード名「8」は7番目になる。Netlist Order=7
なので、先程のDIP8のシンボル図形にLabel「2」はNetlist Order=2に設定している。
つまりオペアンプのマイナス入力端子はサブサーキット定義開始行にある2番目のノード「2」に対応するように指示しているのだ。
なお、DIP8のシンボル図形にLabel「2」としている部分は「-input」などの様に好きな文字列に変えても良い。その場合でもNetlist Order=2に設定していればその入力端子「-input」はサブサーキット定義開始行にある2番目のノード「2」に対応する事が分かるのでスパイスシミュレーターは混乱すること無く、同じ計算結果を示す。
まあ、その辺りの作業は色々と試行錯誤してみると分かると思う。
ワテも十数年前にはネットにはLTspiceに関する情報も少なかったので、一人で必死で試行錯誤した経験がある。
LTspiceの背景色を変える
今後は更新版のLTspiceを使う予定だが、暫くの間は旧バージョンも残しておく。
新旧二つのバージョンのLTspiceが同じ背景色だと混同する。
そこで、新バージョンのほうの背景色を少し灰色っぽく変更した。
写真 変更前の桃色背景色
その結果、下図右のように最新版LTspiceの背景色は少し灰色がかった色になった。
更新前LTspice(17.0.37.0) | 更新後LTspice(17.1.15) |
図 更新前後のLTspiceを区別する為に背景色を変えた
➡その後、旧バージョンは削除した。新旧二種類もあると混乱の元なので。
まとめ
LTspiceはとっても便利だ。
ワテみたいな電子回路素人が設計した回路の動作確認には必須のツールと言っても良い。
当記事では、Windows版LTspiceの最新版をインストールする作業とインストール後に発生した低解像度の問題の解決方法を紹介した。そしてLTspiceの使い方も簡単に説明した。
LTspiceをある程度使い込んでくると必ずやりたくなるのが他社製のデバイスモデルを組み込む事だ。
記事中で紹介したようにコマンド(.lib)でデバイスモデルファイルを指定する方法が一般的だろう。
もし一時的にデバイスモデルを使いたい場合にはライブラリとして読み込まずに回路図中にモデルコマンド(.model)を使って直接埋め込んでも良い。
LTspiceはその辺りの融通が効くので、自分がやり易い手法を使うと良いだろう。
あと、一つ注意としては、LTspiceはバージョンアップすると、フォルダの構造も変化する。
記事中でも紹介したように新旧バージョンで実行ファイルのインストール先が変わっている。
同様に、LTspiceが標準で持っているライブラリファイル、シンボルファイルのインストール先もこの十数年でコロコロ変わっている。
ワテの場合には、そう言うふうにフォルダが変更されるたびに、その場しのぎで適当に対処してきたので、現状ではライブラリ関連フォルダが数か所に分かれてしまっている。
とは言っても、一箇所にまとめようとしても、今後もLTspiceのバージョンが上がればフォルダ構造が変化する可能性もある。
あるいは一箇所に集めてしまうと、過去に作成した回路図の中に記述しているライブラリパスが変化してしまうのでそのままではシミュレーション出来ない問題が生じる。
まあ逆に言えば、パスを少し修正すれば解決するのだが。
なので、この際、LTspice関連の自作モデルファイル、ネットで見付けたモデルファイルの保管場所を一箇所に集約しようかなあと思っている。
LTspiceを教科書で勉強する
ワテがLTspiceをやり始めた頃にこんな教科書が有れば楽だったのになあと思うが、無かったからこそ必死で独学で勉強したので、今でも身に付いていると言う事にしておこう。
人間やる気だ。
(続く)
コメント