アナログ部品とデジタル部品の混在回路をLTspiceでシミュレーションしてみた話

LTspice

関連記事 LTspiceの記事一覧
関連記事 PSpiceの記事一覧

シュミットトリガのインバータ、抵抗、コンデンサを使った発振回路をLTspiceでシミュレーションしようとしましたが、エラーが出てシミュレーションできなかったので調べてみました。

電子回路シミュレータLTspice入門編?素子数無制限!動作を忠実に再現! (ツール活用シリーズ)

新品価格
¥2,640から
(2020/4/29 23:50時点)

スポンサーリンク

シミュレーションしたかった発振回路

LTspiceでシミュレーションしたかった発振回路は以下です。

2つのシュミットトリガインバータ(A1とA2)、抵抗(R1)とコンデンサ(C1)が1個ずつの単純な発振回路です。
R2は負荷抵抗なので、発振とは無関係です。

簡単な動作説明
1. A1の入力の初期値は不定ですが、Lowと仮定
2. A1の出力がHighになる
3. R1とC1で波形がなまり、一定時間経過後にA1とA2の入力がHighのしきい値電圧に到達
4. A1の入力がHighになったので、A1の出力はLowになる。A2の出力も同じ。
5. R1とC1で波形がなまり、一定時間経過後にA1とA2の入力がLowのしきい値電圧に到達

という動作の繰り返します。
すると、R1とC1の値に応じた周波数のクロックがA2から出力されます。

シミュレーションの実行とエラー発生

これでシミュレーションを実行してみます。

エラー発生です。

エラーログを見てみました。

Direct Newton iteration failed to find .op point. (Use “.option noopiter” to skip.)
Starting Gmin stepping
Gmin = 10
Gmin = 1.07374
Gmin = 0.115292
Gmin = 0.0123794
Gmin = 0.00132923
Gmin = 0.000142725
vernier = 0.5
vernier = 0.25
vernier = 0.125
vernier = 0.0625
Gmin = 9.13439e-005
vernier = 0.03125
vernier = 0.015625
vernier = 0.0078125
vernier = 0.00390625
Gmin = 9.04591e-005
vernier = 0.00195313
vernier = 0.000976563
vernier = 0.000488281
Gmin = 0
Gmin stepping failed

Starting source stepping with srcstepmethod=0
Could not converge to DC with sources off!
Starting source stepping with srcstepmethod=1
Could not converge to DC with sources off!
Pseudo Transient failed in finding the operating point at 8.434 µs.
Trouble finding operating point….skipping operating point for Transient analysis.
Changing Tseed to 9.76563e-011
to 1.95313e-010
Heightened Def Con from 7.4451e-006 ++++++++++++++++++++++++++++++++++++++++++++++++++Fatal Error: Analysis: Time step too small; time = 7.4451e-006, timestep = 1.25e-019: trouble with schmitt-instance a1

エラーログを見ても意味はさっぱりわかりません。

原因調査

エラーログを見てもさっぱり原因がわかりませんでしたが、おそらくシュミットトリガインバータのデジタル部品と、抵抗・コンデンサのアナログ部品を混在させていることが原因であろうと考えました。

そこでLTspiceのヘルプを参照したところ、以下の表を見つけました。

気になったのはTrise(立ち上がり時間)です。
デフォルトが0(sec)になっています。

Tfall(立ち下り時間)は、Triseと同じ値なので、これも0(sec)です。

ロジック素子だけでシミュレーションするならTriseもTfallも0で良さそうですが、アナログ部品を含めたシミュレーションで0はおかしい気がします。

そこで、Triseの値を1nsに設定してみました。

Trise設定後のシミュレーション

Triseを1nsに設定後の回路図です。Triseの値も回路図上に表示されました。

この回路でシミュレーションしました。

動きました!立ち上がり時間と立ち下がり時間が原因だったようです。

ただ、シュミットトリガインバータの出力が発振しているのが気になります。これについては原因不明です。

MOSFETを駆動してみる

負荷抵抗R2の代わりにMOSFETを接続してみました。

それに合わせて、シュミットトリガインバータA2の出力High電圧を5Vに設定しました。(出力High電圧のデフォルト値は1V)

これでシミュレーションしてみます。

モニターしたのは、
シュミットトリガインバータA2の出力(MOSFETのゲート)と
MOSFETのドレイン電圧です。

シュミットトリガインバータA2の出力High電圧は5Vになりました。

あまりきれいな波形ではありませんが、MOSFETもON/OFFできているようです。

【手帳サイズ】デジタルテスターDT-10A【携帯用】【オートレンジで簡単測定】【周波数測定/コンデンサ容量測定可能】取説付

新品価格
¥2,760から
(2020/4/29 23:48時点)

まとめ

アナログ部品とデジタル部品を混在させてLTspiceでシミュレーションさせるには一工夫必要だとわかりました。

それと、トラブル発生時にはヘルプを見ることがやっぱり重要ですね。

関連記事 LTspiceの記事一覧

関連記事 PSpiceの記事一覧

タイトルとURLをコピーしました