- LTspiceで『Time step too small』のエラー対策方法を知りたい
- LTspiceでシミュレーションに時間がかかるので、短縮する方法を知りたい
電子回路シミュレータLTspiceを使っていると、
『Time step too small』
のエラー画面が表示されたことはありませんか?
せっかく回路図を書いたのに
「シミュレーションが実行されない・・・、」
ちょっと焦りますよね。
本記事では、そのようなときの対策方法について簡単に解説しています。
私もこれまで『Time step too small』のエラーに直面したことがあり、この方法で解決しています。
『Time step too small』のエラーに直面し、
なかなかシミュレーションが進まず困っている方に、この記事がお役に立てば幸いです。
※ 初心者向けのLTspice通信講座(返金保証あり)
LTspiceの初心者向け通信講座です。
通信講座を利用すると、LTspice習得の近道になりますね。
英語ですが、LTspiceのシミュレーション動画を見れるので、けっこう理解できます。
30日間の返金保証があるので、ノーリスクで始められます。
まずは、右クリックの「日本語に翻訳」を活用してカリキュラムを確認してみましょう。
» 初心者向けのLTspiceチュートリアル(Udemy)はこちら
※この講座ではLTspiceのソースファイルをダウンロードできます。
LTspiceで『Time step too small』エラーが発生する理由
『Time step too small』エラーとは
そのまま訳すと『LTspiceのタイムステップが小さすぎます』という意味になります。
LTspiceは想定されたタイムステップで、決められた回数の中で収束できなかったとき、
『Time step too small』のエラーの画面が表示されて、シミュレーションが止まります。
LTspiceは非線形方程式を解くために、
ニュートンラプラス法などの様々なアルゴリズムを使用していますが、
ここでは「エラーの対策方法」という観点で説明するので、アルゴリズムの説明は省略します。
興味のある方は、SPICEのアルゴリズムが
「電子回路シミュレータPSpiceリファレンス・ブック」という本の第6章で説明されていますので
参照してください。
エラーが発生する原因は?
簡単に言うと、回路図の波形に急峻な変化がある場合に発生します。
急峻に変化した波形があると、LTspiceが収束しにくくエラーとなります。
イメージとしては、急峻な変化を計算するためタイムステップを細かくしたいけど、
LTspiceに設定された最小のタイムステップよりも小さいので、
シミュレーションが止まってしまうということです。
もしくは収束エラーとならなくても、
シミュレーションを実行してから終了するまで、非常に時間がかかってしまいます。
もし回路図上に急峻な変化をしている箇所がないのにエラーが発生する場合は、
そもそも回路におかしいところがあると疑った方がよいでしょう。
エラーの対策方法は?
エラーの対策方法としては「LTspiceの設定を変える方法」と「回路図を工夫する方法」があります。
「LTspiceの設定を変える方法」は、
「回路シミュレータLTspiceで学ぶ電子回路(第4版)」の第11章で7つも紹介されてますので、
ここでは割愛します。設定の変更方法を知りたい方は、参照してみてください。
ここでは「回路図を工夫する方法」を説明します。
『Time step too small』エラーの対策方法
電源の降圧回路シミュレーションで説明します。
V(Drain,Source)の信号(青線)は、回路図の「Drain-Source」間のスイッチング波形で、
V(out)の信号(赤線)は、回路図の「OUT」の波形です。
エラーの対策方法と言いましたが、この回路では収束エラーは発生していません。
先程も言ったように、
『Time step too small』の収束エラーが発生するのも、シミュレーションに時間がかかるのも、
急峻な変化があることが原因です。
なので、収束エラーを回避するのも、シミュレーション時間を短縮するのも、根本的には同じ対策のため、
ここでは、シミュレーション時間を短縮することを目指します。
この回路でシミュレーションを実行し、終了するまでの時間をはかってみると、約2分30秒もかかりました。
急峻な変化があることで時間がかかっているので、単純に、この急峻な変化を緩やかにすることを考えます。
スナバ回路で対策する
急峻に変化している波形を緩やかにするにはどうすればよいでしょうか?
一つの答えとしてはスナバ回路を追加することです。
MOSFETとダイオードにCRスナバ回路を追加してみます。
以下はCRスナバ回路がないときと、あるときの、「Drain-Source」間のスイッチング波形を拡大した図です。
CRスナバ回路を追加したことにより、急峻に変化する箇所が減っているのが分かります。
この結果、シミュレーション時間が15秒程度になりました。
急峻に変化する箇所が減ることで、シミュレーション時間が改善されたことになります。
もし、『Time step too small』の収束エラーが発生していたら、
同じ方法でエラーを回避できるということです。
まとめ
今回は、収束エラー『Time step too small』の対策方法について解説しました。
この収束エラーはLTspiceだけで起こるわけではなく、SPICEシミュレータでは、よく起こるエラーです。
この収束エラーについてより詳しく知りたい方は、以下の書籍をオススメします。ぜひ参考にしてください。
第11章に「LTspiceの設定を変える対策方法」が7つも紹介されています。
今回は回路図を工夫する方法で対策方法を説明しましたが、
設定を変える方法で対策する場合は、この本のやり方に従って対策することをオススメします。
付属の「リファレンスマニュアル 第25章」に収束の定義や原因が解説されています。
その他にも、収束エラーが発生したときに試すべき「チェックリスト」があるので参考になります。
第6章に「SPICEのアルゴリズムの解説」や「一般的な収束エラーの対策」が説明されています。
SPICEの解析アルゴリズムについて知りたい方は勉強になると思います。
Column 9-Cに収束性を高めるための「4つの対策方法」が説明されています。
人気記事:【無料の特典と返金保証あり】電子回路のオンライン入門セミナー5選!
※ 初心者向けのLTspice通信講座(返金保証あり)
LTspiceの初心者向け通信講座です。
通信講座を利用すると、LTspice習得の近道になりますね。
英語ですが、LTspiceのシミュレーション動画を見れるので、けっこう理解できます。
30日間の返金保証があるので、ノーリスクで始められます。
まずは、右クリックの「日本語に翻訳」を活用してカリキュラムを確認してみましょう。
» 初心者向けのLTspiceチュートリアル(Udemy)はこちら
※この講座ではLTspiceのソースファイルをダウンロードできます。