TDO のシミュレーションのための基礎と実際 | |
---|---|
ファイル ' na101.cir ' の中身。 Download
* circuit a101 * Check NonLinear .DC V1 -2.2 2.2 0.02 V1 1 0 6 R1 1 2 1k R2 0 2 1k R3 3 0 1k E1 3 0 poly(1) (2,0) 0 0 0 1 .probe .END | |
回路 na101 は,ngspice において「非線形特性が実現できる」ことを体験する教材である。 回路 na101 をシミュレーションするための操作 (1) ngspice の起動 (2) 「file」>「open」から na101.cir を開く (3) 「file」>「run」 コマンドによるシミュレーションの実行 (4) 「Graph」>「Select Vector」コマンドを選ぶ --->すると,表示すべき電圧を聞いてくる。 (5) v(1) v(2) v(3) と打ち込む (6) (お好みで)「Command」>「Edit source」から編集すればパラメタを変えられる。 DC解析は,直流電圧を変えたときの出力を見ることである。 ここで,R2 に加わる電圧を,E1 という「電圧制御電圧源」によって,R3 に加わる電圧に変換する。 その際に,POLY オプションを使うことによって,非線形性を実現している。 ---課題: E1 3 0 poly(1) (2,0) 0 0 0 1 ← これは(2,0)の端子間電圧を3乗して3,0 の端子間電圧にする。 E1 3 0 poly(1) (2,0) 0 0 1 0 ← これは2乗特性。 E1 3 0 poly(1) (2,0) 0 5 0 0 ← これは比例特性。 E1 3 0 poly(1) (2,0) 5 0 0 0 ← これは0乗特性(=定数) 注意:課題の3行目(比例)は,次の3行のいずれとも同じである。 E1 3 0 poly(1) (2,0) 0 5 0 E1 3 0 poly(1) (2,0) 0 5 E1 3 0 2 0 5 注意:4行目(定数)は,次の行と同一である。 注意:課題の4行目(比例)は,次の4行のいずれとも同じである。 E1 3 0 poly(1) (2,0) 5 0 0 E1 3 0 poly(1) (2,0) 5 0 E1 3 0 poly(1) (2,0) 5 V1 3 0 DC 5 | |
ファイル ' na102.cir ' の中身。 Download
* circuit a102 * make Esaki Diode Simulator .DC V1 -0.1 0.6 0.02 V1 1 0 6 E1 3 0 0 10 10000 R1 10 3 1k G1 1 10 poly(1) (1,10) 0 0.063 -0.27 0.3 .probe .END | |
回路 na102 は,G を用いることで江崎ダイオードの特性を代替できることを確認する教材である。 なお,G とは電圧制御電流源をシミュレーションする素子のことである。 江崎ダイオードの電圧電流特性の例を次に上げる。 回路 na102 内の G1 という素子が,この電圧電流特性を実現している。 この回路は,素子E1(電圧制御電圧源)が,ちょうど演算増幅器として働き, ノード「10」が仮想接地点となり,素子 G1 と抵抗 R1 には同じ電流が流れる。 したがって,R1の両端に現われる電圧を見ると,G1 に流れる電流値が推察できる。 回路 na102 をシミュレーションするための操作 (1) ngspice の起動 (2) 「file」>「open」から na102.cir を開く (3) 「file」>「run」 コマンドによるシミュレーションの実行 (4) 「Graph」>「Select Vector」コマンドを選ぶ --->すると,表示すべき電圧を聞いてくる。 (5) v(1)-v(10) v(10)-v(3) と打ち込む (6) (お好みで)「Command」>「Edit source」から編集すればパラメタを変えられる。 注意:v(1)-v(10) とは,素子 G1 に加わる電圧 注意:v(10)-v(3) とは,抵抗 R1 に加わる電圧であるが,この値は,R1 に流れる電流に比例し, その電流はそのまま素子 G1 に流れる。従って,v(10)-v(3) は素子 G1 に流れる電流とみて良い。 | |
ファイル ' na103.cir ' の中身。 Download
* circuit a103 * Esaki Diode Oscillator (Idea - HAMAYA, Simulation - MOCHIZUKI) .tran 1n 100u 0 .ic V(1)=0.25 V1 10 0 0.30 Rp 2 10 4.5 L1 1 2 0.14mH C1 1 0 120nF G1 1 0 poly(1) (1,0) 0 0.063 -0.27 0.3 .probe .END ファイル ' na103b.cir ' の中身。 Download * circuit a103b * Esaki Diode Oscillator (Idea - HAMAYA, Simulation - MOCHIZUKI) .tran 0.25u 100u 0 .ic V(1)=0.25 V1 10 0 0.30 Rp 2 10 4.5 L1 1 2 0.47mH C1 1 0 120nF G1 1 0 poly(1) (1,0) 0 0.063 -0.27 0.3 .probe .END | |
回路 na103 または na103b をシミュレーションするための操作 (1) ngspice の起動 (2) 「file」>「open」から na103.cir または na103b.cir を開く (3) 「file」>「run」 コマンドによるシミュレーションの実行 (4) 「Graph」>「Select Vector」コマンドを選ぶ --->すると,表示すべき電圧を聞いてくる。 (5) (v(10)-v(2))/4.5 v(1) と打ち込む 注意1:v(1) とは,エサキダイオードに加わる電位差のことである。 注意2:v(10)-v(2) とは,Rp の両端の電位差のことである。 注意3:(v(10)-v(2))/4.5 とは,Rp が 4.5Ω の時の,Rpに流れる電流のことである。 注意4:(v(10)-v(2))/4.5 がグラフ上で小さすぎるなら,例えば (v(10)-v(2))/0.45 により10倍に広げられる。 (6) (お好みで)「Command」>「Edit source」から編集すればパラメタを変えられる。 注意5:抵抗値を変えたなら,(v(10)-v(2))/rrr の,rrrの部分も変更する。 (7) 「Graph」>「Select Vector」コマンドを選ぶ --->すると,表示すべき電圧を聞いてくる。 (8) (v(10)-v(2))/4.5 vs v(1) と打ち込む 注意6: vs というのはリサージュ図を描くためのコマンド リサージュ図形を書く場合,vs の左に1個以上,右に1個のパラメタが必要である。 注意7:抵抗値を変えたなら,(v(10)-v(2))/rrr の,rrrの部分も変更する。 .ic というコマンドは,強制的に初期条件を設定するもの。発振を始めるには必須。 ---課題: ・容量 C1 を減らしたときの波形の変化を見よう ・コイル L1 を減らしたときの波形の変化を見よう ・電圧 V1 を変えたときの周期とデューティー比について調べよう。また,発振しない条件は? ・抵抗 Rp をどこまで大きくすると,発振が止むだろう? 参考:E4学生実験「負性抵抗発振回路の特性」 |
コンデンサと制御電源を組み合わせることで、単体のコンデンサとは異なる容量を実現する | |
---|---|
ファイル ' na106.cir ' の中身。 Download* circuit a106 * Check NonLinear Capacitor .tran 100n 6m 0 V1 11 0 sin(0 1.0V 500) R1 11 1 1k C1 1 0 1uF R2 11 2 1k C2 2 12 10nF E2 0 12 2 0 100 R3 11 3 1k C3 3 13 10nF E3 0 13 poly(1) (3,0) 0 89 0 90 .probe .END | |
これは spice にて「コンデンサ等でも非線形特性が実現できる」ことを理解する教材である。 回路 na106 をシミュレーションするための操作 (1) ngspice の起動 (2) 「file」>「open」から na106.cir を開く (3) 「file」>「run」 コマンドによるシミュレーションの実行 (4) 「Graph」>「Select Vector」コマンドを選ぶ --->すると,表示すべき電圧を聞いてくる。 (5) v(1) v(2) v(3) と打ち込む (6) (お好みで)「Command」>「Edit source」から編集すればパラメタを変えられる。 (課題)V1 の振幅を,0.3[V], 1.0[V],3.0[V] と変更したときの応答を見てみよう。 この回路は,ひとつの電源V1と, R1とC1からなる分路1と, R2とC2と制御電源E2からなる分路2と, R3とC3と制御電源E3からなる分路3 から出来ている。 抵抗は,R1=R2=R3=1kΩである。 容量は,V1の振幅が1[V]のときに,どれも1μF として働くように,定数を調整してある。 分路1は,まさに文字通りのRC回路であり,特に解説は不要であろう。 分路2は,使われている容量は10nFであるが,制御電源をつかった「ミラー効果」によって 等価的な容量値を100倍(= 1+A 倍)にしている。 今回の課題では,どの条件のときも,分路1と同じ結果が得られるはずである。 分路3は,ミラー効果を利用して等価的な容量値を増やしているが,制御電源に非線形性を 含めたために,等価的な容量も非線形性を持っている。 従って, ・V1の振幅が0.3[V]のときは,等価的な容量値がC1よりも小さいため,V(3}はV(1)より大きい, ・V1の振幅が1.0[V]のときは,等価的な容量値がC1とほぼ同じになるため,V(3}はV(1)とほぼ同じ, ・V1の振幅が3.0[V]のときは,等価的な容量値がC1よりも大きいため,V(3}はV(1)より小さい, という結果が得られる。 |