Simetrix入門ーエラー対処法
Ver.1.002 2009.04.25
更新履歴
2009.03.18 Ver.1.000 新規作成
2009.03.21 Ver.1.001 記事追加
2009.04.25 Ver.1.002 記事追加
【シミュレーションモードの指定忘れ】
図A
さあ、やっとかけた大作です。さあ、シミュレーション!
図A-1
Run! おや動かない。
図A-2
「解析モードが指定されてないだと?」とおもって、
図A-3
確かに解析モードは指定されていませんでした。
【コンデンサー結合(フローティング問題)】
これはよく、ひっかかる問題です。
図B-1
C1,C2の初期電圧を指定していませんから、A点の電圧が決定できません。
そこで、シミュレーションすると
図B-2
となるのです。これは、フローティングのポイントがあるということです。
そこで、一つ目のアイデアとしては、無限大に近い超高抵抗でGNDにつなぐということです。
図B-3
820T(820テラΩ)をつけました。
その次は、C1、C2に適当な初期電圧を指定するということです。
図B-4
コンデンサーを選び、定数設定画面に初期電圧を設定するチェックを入れます。
図B-5
矢印に電圧を記入して、また、これを適用する丸で囲んだ解析モードを指定します。
図B-6
同様にC2も指定してこうなります。
さて、SPICEでは、GNDからフローティング回路は許されません。そういう場合は先ほどの超高抵抗でGNDさせます。
図B-7
また、定電流源もDC的にどこかでつながってないとフローティング回路になります。
図B-8
【グラフが表示されない】
図C-1
さて、V1の電流を見てみましょう。
図C-2
こうなってしまいます。
元の回路は、ショートですから電流は無限大なのです。ここでは縦軸に(V1-pos)/E36Aと表示されていますが、-340×1036Aということでグラフに入りきらなかったわけです。
【シミュレーションがされない】
定数を変えても、グラフの結果は変化なし。
というときは、コマンドシェルを見てみましょう。
エラーしていると、シミュレーションは行われず、データは古いままになっています。
【Timestep too small(収束せず)】
図D-1
シミュレーションすると途中で止まってしまいます。
図D-2
実行ウインドウをみると135.784uSで時間分解能を200fでも収束しなかったことが分かります。
図D-3
コマンドシェルではこういうエラーになります。
この回路では、
図D-4
ここに原因があります。U1とARB1の間にCR積分をすこしかけると動きます。
さて、収束とはなんでしょう。回路を計算してつじつまが合うまで時間を詰めてやりなおします。
この計算で一致したら収束したといいます。
ところが、この例では、収束しなかったわけで、時間分解能の限界に行き着いたわけです。
シミュレーションが収束しないで、止まるのは回路動作が発散する場合、たとえば正帰還のときとかよく経験します。
NICの回路は、AC解析では問題ありませんが、Transient(過渡)解析では、大概収束しないので止まります。
まあ、収束しないことは良くありますので、慌てることはありません。
あちこち手を入れると原因がわかります。
スイッチングで電流や電圧が非常に急激に立ち上がるときなんかも収束しません。
こういう場合はコイルに、コンデンサに微小抵抗を入れると解決することがありますし、スイッチング素子をなまらせるなど対策すれば,解決できることがあります。
まあ、シミュレーションがすぐ止まるので、原因すらもたどり着けないことが多いのですが、案外原因は単純なことが多いです
つづく