秋月ファンクラブ掲示板 過去ログ

LTSPICE容量変える - kurin

2013/06/23 (Sun) 14:12

LTSPICEでコンデンサ容量をある電圧で自由に可変したいのですが、そんな事可能で
しょうか?

例えばあるpointの電圧が100vの時100uF
そのpointが0Vになると10000uFのようにリニアな容量可変をしたいです。

Re: LTSPICE容量変える - inara1

2013/06/23 (Sun) 15:20

外部電圧で容量を変えるコンデンサを作るには、ビヘイビア電流源を使います。

コンデンサに流れる電流I(A)と、コンデンサの両端の電圧V(V)の関係は
I = C*dV/dt
で表されます。Cが静電容量(F)になります。したがって、ビヘイビア電流源の電
流が、コンデンサの両端の電圧を時間微分したものに比例するようにすればコンデ
ンサになります。

添付図のB1がビヘイビア電流源で、その電流の式を
I=V(vc)*ddt(V(a)-V(b))
とすれば容量がV(vc)のコンデンサになります。vcを回路図上のある点のラベル名
とすれば、vcの電圧が容量になります(電圧が1Vなら容量は1F)。aとbはコンデン
サの両端になります。電流の式ではaとbを使うので、回路にもaとbのラベルをつけ
る必要があります。

あるpointの電圧が100Vの時容量が100uF、そのpointが0Vになると容量を10000uFと
したいときは、ビヘイビア電流源で、その電流の式を
I=(10000u-99u*V(vc))*ddt(V(a)-V(b))
とすればいいです。

Re: LTSPICE容量変える - kurin

2013/06/23 (Sun) 15:52

いつも返信ありがとうございます。

すごいですね。いつも関心させられます。
これだけ自由自在だとシミュレーションが楽しいく感じるのではないでしょうか?
私はこのLTSPICEを使用してから1年間くらいたちますが
私でも最近このシミュレーションの楽しさを感じているくらいです。

回答を参考にシミュレーションしてみます。


Re: LTSPICE容量変える - inara1

2013/06/23 (Sun) 18:01

LT-spiceは良いです。タダだし回路規模に制限がないですから。

私がよく見ているサイトを紹介します。
・ねがてぃぶろぐのLT-spiceカテゴリ 
http://gomisai.blog75.fc2.com/blog-category-15.html
・ベルが鳴ってます(2009年以降更新されてません)
http://www7b.biglobe.ne.jp/~river_r/bell/


外部電圧で抵抗も変えられます。抵抗の場合 I=V/R なので、ビヘイビア電流源の電流をそのように書けば抵抗になります。

添付図はその応用例で、可変抵抗を実現したものです。c点の電圧が0Vのとき、可変抵抗の可動接点が下端にある状態に、c点の電圧が1Vのとき、可変抵抗の可動接点が上端にある状態になります。


添付図の例ではc点の電圧は0Vから1Vまでしか変化しませんが、c点の電圧が負になるとB2の抵抗値が負になり、c点の電圧が1Vを超えるとB1の抵抗値が負になります。現実にはこのような素子は実現できませんが、そういうこともシミュレーションできます。やってみると分かりますが、b点の電圧が負になったり電源電圧を越えたりします。つまり、負の抵抗があれば電圧コンバータ(正電源から負電圧を作ったり、電源電圧を越える電圧を生成する)ができます。

Re: LTSPICE容量変える - kurin

2013/06/23 (Sun) 21:03

ダイオードの寄生容量はその印加した電圧でC値が変わります。
spiceでそのモデルを使うのではなく、シミュレーション時間がかからないように置
き換えたいのですが、
単純にあるC値をおくとその値は固定になります。

inara1さんの回答でこれが可能になりますか?


Re: LTSPICE容量変える - kurin

2013/06/24 (Mon) 23:03

昨日からコンデンサ容量を外部制御するを考えていましたが、
容量の可変になるんですね。

んーー難しい というか この考えはひらめかない。
このように教えてもらっても中々理解できない。

何でだろう?

Re: LTSPICE容量変える - kurin

2013/06/24 (Mon) 23:52

やっぱり今思ったのですが、
コンデンサ可変は確かにその容量になるのですが、
ある回路の中で過渡的にコンデンサに印加する電圧が変動する時
その容量は変わります。
その時には回路中の電圧源からコンデンサに充電されます。
このコンデンサは電圧上昇とともに小さい容量になります。

inara1さんに回答は電圧に対して新たに電流源を作っていますのでこの電流源を
loadとすれば私がほしい回路に近づくような気がしますがどうでしょうか?


Re: LTSPICE容量変える - inara1

2013/06/26 (Wed) 06:46

コンデンサの電圧で容量が変わるコンデンサを作るには、ビヘイビア電流源の電流
の式
I=V(vc)*ddt(V(a)-V(b))
のvcをコンデンサの両端の電圧とすればいいです。

この可変容量コンデンサとダイオードを並列にすれば、可変容量ダイオードになり
ます。添付図の破線で囲まれたところがそれになります。

ダイオードの逆方向電圧Vrに対して容量Cが直線的に変化するとした場合
C = k1*Vr + k2
と書けるので、特定の逆方向電圧V1とV2に対する容量(C1とC2)から、係数k1,k2
が計算できます(その結果が添付図の .param k1=...)。

ビヘイビア電流源の電流の式では、IF文で場合分けしています。ダイオードにかか
る電圧が順方向のときと逆方向のときで、別々の容量設定をしています。

添付図のビヘイビア電流源の電流の式は、逆方向電圧が11Vを超えると容量が負に
なってしまうので、逆方向電圧が11Vを超える可能性がある場合は、さらにIF文を
入れて、逆方向電圧が11Vを超えたときに、例えば、容量が一定になるようにすれ
ばいいです。その容量をk1*(-11)+k2となるようにすれば容量が不連続になりませ
ん。

Re: LTSPICE容量変える - kurin

2013/06/26 (Wed) 23:06

回答ありがとうございます。

ようやく可変容量コンデンサの意味が解ってきました。
確かに使えそうです。

自分が作った回路にあてはめてシミュしてみます。
ビヘイビア電圧源 電流源は使いかた次第で多くの考え方ができそうですね。奥が深いな

でもinara1さんはすごいなあ

Re: LTSPICE容量変える - kurin

2013/06/27 (Thu) 23:52

実際の回路にこの容量可変を追加してみました。
その回路とはMOSを想定したswに並列にこの容量可変を追加しました。
SWがoffする時、通常はそこに寄生容量があってある時限をもちながら上昇するで
す。
しかしこの容量可変はSWがoffすると急峻なdvdtが発生し、
容量可変のddt(Va-Vb)が大きな値になってしまい、
コンデンサに瞬時ですが多くの電流が流れてしまう。
ここが本当のコンデンサの振る舞いと異なる箇所で、
シミュレーションで再現できないでいます。

違いますかね???

Re: LTSPICE容量変える - inara1

2013/06/28 (Fri) 05:59

>コンデンサに瞬時ですが多くの電流が流れてしまう
ダイオードとコンデンサを並列にしただけだとそうなりますね。添付図の赤色の破線で囲ったように、可変容量ダイオードと直列に抵抗Rdを入れてみてはいかがでしょうか。

Rdがあるとコンデンサに流れる電流が制限されます。Rdの値はダイオードの等価直列抵抗と同じとするのがいいと思います。等価直列抵抗はダイオードのSPICEモデルの中でRs=と書かれた部分です。LT-spiceのダイオードモデルの中にあるBAT54というショットキーダイオードのモデル
.model BAT54 D(Is=.1u Rs=2.2 N=1 Cjo=12p M=.3 Eg=.69 Xti=2 Iave=300m Vpk=30 mfg=Vishay type=Schottky)
のRs=2.2が等価直列抵抗になります。この値を、添付図のRsの値とすればいいと思います。ただし、Rdを2.2Ωとすると、このRdと直列にダイオードが入ることになって、ダイオードの等価直列抵抗がRd+Rsになってしまうので、SPICEモデルのRsを非常に小さい値(Rs=1mなど)に変更すれば、コンデンサとダイオードの直列抵抗が共にRdになります。

ダイオードのSPICEモデルは「LTC\LTspiceIV\lib\cmp」にあります。この中のダイオードモデルのRsを変更することになりますが、変更してしまうと、後でこのダイオードを使ったときRsが変更されたままになってしまうので、モデル名を少し変えたものを追加して、そのモデルを変更したほうが安全です。例えば、.model BAT54・・の下に
.model BAT54-1 D(Is=.1u Rs=1m N=1 Cjo=12p M=.3 Eg=.69 Xti=2 Iave=300m Vpk=30 mfg=Vishay type=Schottky)
というのを追加して、シミュレーションでは追加したBAT54-1を使うといいです。

添付図はスイッチング電源の例ですが、インダクタにも直列抵抗を入れています。添付図のシミュレーションではRdを2.2Ωとし、ダイオードのモデルをBAT54-1とした例ですが、Rdに流れる電流は1A程度に抑えられています。

Re: LTSPICE容量変える - kurin

2013/06/29 (Sat) 09:48

返信ありがとうございます。

1つ質問ですが、電流がダイオードに対して逆方向にバイアスされた時、その逆バイアス電圧はV=1/c∫idtになるかと思います。
この電圧傾斜は今までの可変容量で再現できるのでしょうか?

Re: LTSPICE容量変える - inara1

2013/06/29 (Sat) 10:11

>V=1/c∫idtになる
これは容量Cが一定のコンデンサの場合です。

可変容量コンデンサの場合はCがVの関数になっていて、上の例では
C=k1*V+k2
という1次式なので
V*(k1*V+k2)=∫idt
という関係になります。

これはVに関する二次方程式なので、k2^2+k1*∫idt>=0 のとき
V={ -k2+√(k2^2+k1*∫idt) }/(2*k1)
となります。

Re: LTSPICE容量変える - kurin

2013/06/30 (Sun) 21:29

コンデンサがついたSW電源と電流源可変容量が付いたSW電源
同じ容量で比較検討しました。

結果は、同じ電圧波形、電流波形であり、この2つが等しいことを確認できました。

コンデンサを電流源で作る発想はすばらしいです。




Re: LTSPICE容量変える - kurin

2013/07/06 (Sat) 13:49

電流源可変容量とスイッチを並列につないだブリッジ回路 電源400Vの高い電圧を印加す
ると電流源が無限大に発散します。

この場合電流源に2Ω程度の抵抗を入れると安定するのですが、なぜこのような動
作になるのでしょうか?

可変電流源の数式は
I=if(V(a)-v(b1)-100+0.5,(-1.48p*(v(a)-v(b1))+648p)*ddt(V(a)-V(b1)),(-95p*(
v(a)-v(b1))+10000p)*ddt(V(a)-V(b1)))で

おそらくddt値だと思うのですが・・・

Re: LTSPICE容量変える - inara1

2013/07/06 (Sat) 17:55

可変電流源の式は可変容量コンデンサの式になっていますが、これと並列に、接点
の抵抗がゼロのスイッチをつないでいるのですか?

可変電流源の数式には直列抵抗が入っていないので、可変容量コンデンサが充電さ
れた状態でスイッチをONにすると、コンデンサの放電電流は無限大になってしまい
ます。

前に投稿した回路
(http://bbs3.fc2.com//bbs/img/_454800/454703/full/454703_1372366939.jpg)
にあるように、適当な抵抗値の直列抵抗Rdをいれたほうがいいです。

Re: LTSPICE容量変える - 返信ありがとう

2013/07/07 (Sun) 15:25

SWのON抵抗は0.2オーム程度です。

可変電流源がある時間が経過すると継続的に増え続けます。
2オームにすると安定するのですが、増え続ける意味がよくわかりません。

Re: LTSPICE容量変える - SBD大好きさん

2013/10/07 (Mon) 02:26

いきなりすみません。

ダイオードの逆サージ電圧が上昇する原因は、
逆方向電流が流れている際に、接合容量が小さくなってdv/dtが上昇すると思っているのですが、合っていますでしょうか。

是非シミュレーションをしてみたいのですが、
私にはすこし閾が高いです。