LoginSignup
1
0

Autodesk Fusionで回路図作成 →LTspiceでシミュレーション

Last updated at Posted at 2024-03-07

発端

 Autodesk Fusionを用いて、定番のオペアンプ、NJM4580を含む回路を設計しようとしていた。製造元から配布されているspiceモデルをダウンロード、ライブラリに追加しようとした。
 ところが、ライブラリ中の、パラメータを中かっこでくくって後に書く記法にはFusionの回路シミュレータが対応していないようである。(ngspiceでは、LTspiceやPspiceとは .paramコマンドの書き方が異なるのかもしれない)
 しかしFusionの回路図エディタは非常に使いやすいので、どうにかそのままシミュレーションもできたらいいなということで、LTspiceを用いてシミュレーションすることにした。

(Autodesk Fusion側の)ライブラリの準備

 spiceでのシミュレーションにかかわらない部分(シンボルのピンの配置など)については準備済みとする。

抵抗

image.png

 まずはシンボル。「97 Info」レイヤーに「>SPICEMODEL」「>SPICEEXTRA」を書いておいて、回路図でspiceモデルが反映されるようにする

image.png

 次に、コンポーネントの画面上部から、「spiceモデルを追加」。Spice Typeを「R: Resistor」として、Mapボタンからマッピング。

オペアンプ

 
image.png

 抵抗と同様に、シンボルに「>SPICEMODEL」「>SPICEEXTRA」を書いておく。

image.png

 spiceモデルの追加について。spice typeはX: Subcircuitとしておく。Mapボタンから、subcktの設定に移る。

image.png

 姑息なやり方にはなってしまうが、「NJM4580_Fusion」というsubcktを定義し、その中で「NJM4580」というsubcktを参照することにする。これなら、複数のsubcktを定義せずに済む。「NJM4580」は、後ほどLTspiceに移ったとき読み込む。

 ピンのマッピングについては、データシートとにらめっこしながら割り当てていく。

その他

 電源やGNDについては、公式から配布されている「ngspice-simulation」ライブラリを使用する。(特に、GNDについては基板設計でもそのまま使える)

回路図を書く

image.png

 簡単のために、抵抗とオペアンプと電源周りのみを使って、増幅率-2倍の反転増幅回路と増幅率3倍の非反転増幅回路をつなげた回路を書いた。
入力には、振幅0.1Vの1kHzの正弦波を入れている。(V3に対して「値の設定」で、「sine(0 0.1 1k)」を直打ちした)
 電源は±9Vを供給している。また、ネットの名前は上の図の通り。

ネットリストをエクスポートする

image.png

 コマンドラインの窓にexportと入力する。

image.png

 Enterを押すと何やらいろいろ候補が出てくる。ここから、「SpiceNetList」を選択。適当な場所に名前を付けて保存しておく。とりあえず、piyo.cirで保存した。

LTspiceで編集

 ここからは、作業場所をLTspiceに移す。LTspiceで、先ほど作ったpiyo.cirを開く。

(略)

.TEMP=25.0
* --------- .OPTIONS ---------
* --------- .PARAMS ---------

* --------- devices ---------
V_V2 POW_POS 0 +9V 
R_R4 IN2_INV OUT2 20k 
R_R5 0 IN2_INV 10k 
V_V3 IN 0 sine(0 0.1 1k) 
R_R2 IN1_INV OUT1 20k 
V_V1 POW_NEG 0 -9V 
R_R6 0 OUT2 470k 
X_U1 OUT1 IN1_INV 0 POW_NEG OUT1 IN2_INV OUT2 POW_POS NJM4580_FUSION 
R_R1 IN IN1_INV 10k 
R_R3 0 OUT1 1Meg 

* --------- models ---------

* (model found in library)

*
.SUBCKT NJM4580_Fusion 1 2 3 4 5 6 7 8
XU1 1 2 3 4 5 6 7 8 NJM4580
.ENDS subnam


* --------- simulation ---------
.print DC V(OUT2) V(IN) V(IN2_INV) V(IN1_INV) V(POW_POS) V(POW_NEG) V(OUT1) I(V_V3) I(V_V1) I(V_V2)
.print AC V(OUT2) V(IN) V(IN2_INV) V(IN1_INV) V(POW_POS) V(POW_NEG) V(OUT1) I(V_V3) I(V_V1) I(V_V2)
.print TRAN V(OUT2) V(IN) V(IN2_INV) V(IN1_INV) V(POW_POS) V(POW_NEG) V(OUT1) I(V_V3) I(V_V1) I(V_V2)
.END

 LTspiceのライブラリの入っているフォルダに、配布されていたライブラリファイル「njm4580_v2.lib」を放り込み、piyo.cirの適当な場所に「.lib "njm4580_v2.lib"」と追記。
また、simulationの行の次あたりに「.tran 10m」を追記しておく。

シミュレーション実行

 左上のRunボタンを押して実行。
 Runボタンの右隣にいくつかいったところにある「pick visible traces」から、V(in)、V(out1)、V(out2)を選択。

image.png

 1段目で-2倍、2段目で3倍となっている様子が分かる。

感想

 Fusionのシミュレーションの部分だけLTspiceで行うことで、配布されているライブラリにも対応できるようになった。Fusionでの基板設計がはかどりそうだけど、もうちょっと効率のいいやり方は探せばありそう。特にシミュレーションのオプションとライブラリ読み込みの追記の部分は、毎度するのはちょっとめんどくさい。

 おしまい。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0