AnalogDiscoveryを試す

2014/11/22からのアクセス回数 7397

AnalogDiscoveryを試す/01-CR積分回路でも式にタイプミスがあったりして、 申し訳ありません。

できるだけ式を誘導できるように展開していきますので、間違いを見つけられたらお知らせ下さい。

CR微分回路

電気回路編 その3から微分回路を引用し、 以下に示します。

ちょうど、積分回路の抵抗とコンデンサーの位置を入れ替えた形になっています。

bibun01.gif

LTSpiceを使って方形波に対するVoの変化を見る

AnalogDiscoveryを試す/01-CR積分回路と同様に、LTSpiceを使って方形波に対するVoの応答をシミュレーション します。

モデルは、以下のファイルを使用しました。

LTSpiceで以下の回路を作成します。

CR_Dif_cir.png

50Hzでのシミュレーション結果は、以下の様になりました。 ちょうど入力波を微分したような応答が返ってきます。これがCR微分回路と呼ばれる理由です。

CR_Dif_Spice_50Hz.png

500Hzでは、応答が直線的になり(サグと呼ぶそうです)

CR_Dif_Spice_500Hz.png

5kHzでは、変化量が小さくなっています。

CR_Dif_Spice_5kHz.png

AnalogDiscoveryを使ってVoを測定する

次にAnalogDiscoveryを使って実際に測定してみます。

以下の様にブレッドボードに回路を組みAnalogDiscoveryと接続します。

CR_Dif_setting.png

AnalogDiscoveryを使った測定結果

方形波の周波数を50Hz, 500Hz, 5kHzに変えて、Voの応答を測定してみました。

回路の時定数\(\tau\)は、\(C_1 R_1 = 10K \times 0.1 \mu = 1 ms \)となっています。

50Hzの場合の応答は、以下の様になりました。 *1

実際の出力波形の方が大きく変化しており、LTSpiceの結果よりも大きな初期変動が見られます。

th_CR_Dif_50Hz.jpg

500Hzと5kHzは、以下の様になりました。

th_CR_Dif_500Hz.jpg

th_CR_Dif_5KHz.jpg

周波数特性を測る

ネットワーク・アナライザを使って周波数特性を調べてみます。 1次のハイパスフィルターの特徴がでています。

th_CR_Dif_network.jpg

CR微分回路のラプラス変換

CR微分回路もAnalogDiscoveryを試す/01-CR積分回路と同じで、入力波とRとCの電圧の関係に以下の式が成り立ちます。 $$ R i + \frac{\int i dt}{C} = E \left\{ u(t) - u(t - T) \right\} $$ ラプラス変換も同じで、iが以下の様に求まります。 $$ i = \frac{E}{R} L^{-1} \left \{ (1 - e^{-Ts}) \frac{1}{s + \frac{1}{CR}} \right \} $$ Voは、iRなので、Voは以下の式で求まります。 $$ V_O = E \left \{ e^{-\frac{1}{CR}t} - e^{-\frac{1}{CR}(t - T) } u(t -T)\right \} $$

Sageを使ってグラフを表示

Sageを使ってVoのグラフをみてみましょう。

ここで紹介するSageのノートは、以下のURLで公開しています。

CRを時間係数\( \tau \)として、VoをSageで表すと以下の様になります。

(t, T, tau, E) = var('t T tau E')
Vo = E*(e^(-1/tau*t) - e^(-1/tau*(t - T) )* unit_step(t - T))

数式を見やすくすると、

show(Vo)

eq4.png

方形波を以下のように定義します。

# 方形波
U = E*(unit_step(t) - unit_step(t - T))-E/2

方形波とVoを合わせてプロットする関数plot_Voを以下の様に定義します。

# 方形波とVoをプロットする関数を定義します
def plot_Vo(Tc):
    Ut(t) = U(T=Tc, E=4.0)
    fvo(t) = Vo(t, tau=0.001, T=Tc, E=4.0)
    vo_plt = plot(fvo(t), [t, 0, 2*Tc], color='blue')
    ut_plt = plot(Ut(t), [t, 0, 2*Tc], color='green')
    (vo_plt + ut_plt).show(figsize=4)

Tc=0.01、周期50HzでのVoのプロットします。

# Tc=0.01、周期50HzでのVoのプロット
plot_Vo(Tc=0.01)

plt_CR_Dif_50Hz.png

Tc=0.001、周期500HzでのVoのプロットします。

# Tc=0.001、周期500HzでのVoのプロット
plot_Vo(Tc=0.001)

plt_CR_Dif_500Hz.png

Tc=0.0001、周期5kHzでのVoのプロットします。

# Tc=0.0001、周期5kHzでのVoのプロット
plot_Vo(Tc=0.0001)

plt_CR_Dif_5kHz.png

50Hzのピークは4Vが正しい

50Hzでのピークが実験では4Vと-4Vになっているのに、LTSpiceでは2.5V, -2.5Vになっています。

Sageの計算でも4Vと-4Vがきちんと求まっています。

5kHzの応答が実際の波形とことなるのは何故

最後の5kHzの応答波形がLTSpiceや実験で求まった波形と大きく異なります。 ((500Hzでも最初の応答波形が4Vになっていますが、その後は、-3Vから-1Vの範囲で変化しており、 実際の観測値とも合っています))

これまで、LTSpiceで5kHzの結果を出すときには、安定な形状になってから表示していましたが、 試しに、0から表示してみると、以下の様にようになります。

シミュレーションの.tranを以下の様に変更します。

.tran 0 0.0005 0.0 100

結果は、以下の様になりました。

CR_Dif_5kHz_0.0015.png

最初の波形は、まさにSageで計算したものに一致します。 徐々に、2Vと-2Vでの変化に変わっています。 最初の波形は、コンデンサーの初期電荷が0を仮定していますが、周波数が大きいため、完全に放電するまえに 次の充電が行われているため異なる値となったと思われます。(要確認です!)

感想

とても当たり前のように思われていた、CRの微分回路でも実験と計算値にずれが生じることに改めて驚きました。

これまで、理論値のグラフは表示するのが大変だったため、代表的な計算値のみが紹介されているケースが多かったのですが、Sageを使うことで様々なケースのプロットが簡単に行うことができ、新たな発見ができたことは大きな収穫でした。

コメント

選択肢 投票
おもしろかった 0  
そうでもない 0  
わかりずらい 0  

皆様のご意見、ご希望をお待ちしております。勉強会で分からなかったこと等、お気軽に問い合わせて下さい。

スパム防止に画像の文字列も入力してください。


(Input image string)

*1 当たり前ですが、トラ技の結果と同じ結果が出ています。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
SmartDoc