AnalogDiscoveryを試す/02-CR微分回路
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[AnalogDiscoveryを試す]]
#contents
2014/11/22からのアクセス回数 &counter;
[[AnalogDiscoveryを試す/01-CR積分回路]]でも式にタイプミス...
申し訳ありません。
できるだけ式を誘導できるように展開していきますので、間違...
** CR微分回路 [#d8f1873b]
[[電気回路編 その3>http://www.eonet.ne.jp/~hidarite/me2...
以下に示します。
ちょうど、積分回路の抵抗とコンデンサーの位置を入れ替えた...
&ref(bibun01.gif);
*** LTSpiceを使って方形波に対するVoの変化を見る [#j7fcdef3]
[[AnalogDiscoveryを試す/01-CR積分回路]]と同様に、LTSpice...
します。
モデルは、以下のファイルを使用しました。
- &ref(CR_Dif.asc);
LTSpiceで以下の回路を作成します。
&ref(CR_Dif_cir.png);
50Hzでのシミュレーション結果は、以下の様になりました。
ちょうど入力波を微分したような応答が返ってきます。これがC...
&ref(CR_Dif_Spice_50Hz.png);
500Hzでは、応答が直線的になり(サグと呼ぶそうです)
&ref(CR_Dif_Spice_500Hz.png);
5kHzでは、変化量が小さくなっています。
&ref(CR_Dif_Spice_5kHz.png);
** AnalogDiscoveryを使ってVoを測定する [#lb520348]
次にAnalogDiscoveryを使って実際に測定してみます。
以下の様にブレッドボードに回路を組みAnalogDiscoveryと接続...
&ref(CR_Dif_setting.png);
*** AnalogDiscoveryを使った測定結果 [#j09fa71e]
方形波の周波数を50Hz, 500Hz, 5kHzに変えて、Voの応答を測定...
回路の時定数\(\tau\)は、\(C_1 R_1 = 10K \times 0.1 \mu = ...
50Hzの場合の応答は、以下の様になりました。
((当たり前ですが、トラ技の結果と同じ結果が出ています。))
実際の出力波形の方が大きく変化しており、LTSpiceの結果より...
&ref(th_CR_Dif_50Hz.jpg);
500Hzと5kHzは、以下の様になりました。
&ref(th_CR_Dif_500Hz.jpg);
&ref(th_CR_Dif_5KHz.jpg);
** 周波数特性を測る [#b433596b]
ネットワーク・アナライザを使って周波数特性を調べてみます。
1次のハイパスフィルターの特徴がでています。
&ref(th_CR_Dif_network.jpg);
** CR微分回路のラプラス変換 [#xe8c2b11]
CR微分回路も[[AnalogDiscoveryを試す/01-CR積分回路]]と同じ...
$$
R i + \frac{\int i dt}{C} = E \left\{ u(t) - u(t - T) \r...
$$
ラプラス変換も同じで、iが以下の様に求まります。
$$
i = \frac{E}{R} L^{-1} \left \{ (1 - e^{-Ts}) \frac{1}{s ...
$$
Voは、iRなので、Voは以下の式で求まります。
$$
V_O = E \left \{ e^{-\frac{1}{CR}t} - e^{-\frac{1}{CR}(t ...
$$
*** Sageを使ってグラフを表示 [#w6b3894a]
Sageを使ってVoのグラフをみてみましょう。
ここで紹介するSageのノートは、以下のURLで公開しています。
- http://www15191ue.sakura.ne.jp:8000/home/pub/49/
CRを時間係数\( \tau \)として、VoをSageで表すと以下の様に...
#pre{{
(t, T, tau, E) = var('t T tau E')
Vo = E*(e^(-1/tau*t) - e^(-1/tau*(t - T) )* unit_step(t -...
}}
数式を見やすくすると、
#pre{{
show(Vo)
}}
&ref(eq4.png);
方形波を以下のように定義します。
#pre{{
# 方形波
U = E*(unit_step(t) - unit_step(t - T))-E/2
}}
方形波とVoを合わせてプロットする関数plot_Voを以下の様に定...
#pre{{
# 方形波と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のプロットします。
#pre{{
# Tc=0.01、周期50HzでのVoのプロット
plot_Vo(Tc=0.01)
}}
&ref(plt_CR_Dif_50Hz.png);
Tc=0.001、周期500HzでのVoのプロットします。
#pre{{
# Tc=0.001、周期500HzでのVoのプロット
plot_Vo(Tc=0.001)
}}
&ref(plt_CR_Dif_500Hz.png);
Tc=0.0001、周期5kHzでのVoのプロットします。
#pre{{
# Tc=0.0001、周期5kHzでのVoのプロット
plot_Vo(Tc=0.0001)
}}
&ref(plt_CR_Dif_5kHz.png);
*** 50Hzのピークは4Vが正しい [#ce9c623e]
50Hzでのピークが実験では4Vと-4Vになっているのに、LTSpice...
-2Vから+2Vへの変換したので変動量4となるのが、正しいように...
Sageの計算でも4Vと-4Vがきちんと求まっています。
*** 5kHzの応答が実際の波形と異なるのは何故 [#rdd3fb44]
最後の5kHzの応答波形がLTSpiceや実験で求まった波形と大きく...
((500Hzでも最初の応答波形が4Vになっていますが、その後は、...
これまで、LTSpiceで5kHzの結果を出すときには、安定な形状に...
試しに、0から表示してみると、以下の様にようになります。
シミュレーションの.tranを以下の様に変更します。
#pre{{
.tran 0 0.0005 0.0 100
}}
結果は、以下の様になりました。
&ref(CR_Dif_5kHz_0.0015.png);
最初の波形は、まさにSageで計算したものに一致します。
徐々に、2Vと-2Vでの変化に変わっています。
最初の波形は、コンデンサーの初期電荷が0を仮定していますが...
次の充電が行われているため異なる値となったと思われます。...
** 周波数特性 [#b893b158]
[[AnalogDiscoveryを試す/01-CR積分回路]]と同様にCR微分回路...
伝達関数Hは、\(V_oとV_i\)から以下の様に計算します。
$$
H(s) = \frac{V_o}{V_{i}} = \frac{RI(s)}{( R + \frac{1}{sC...
$$
分母・分子をRI(s)で割ると、
$$
H(s) = \frac{1}{(1 + \frac{1}{RCs})}
$$
*** Sageで伝達関数をプロットする [#h2ebb9b4]
[[AnalogDiscoveryを試す/01-CR積分回路]]の場合には、伝達関...
今回は伝達関数から直接振幅特性と位相特性をプロットしてみ...
上記の式から伝達関数を以下の様に定義します。
Sageへの入力:
#pre{{
# 伝達関数から周波数特性を求める
(s, f,R,C) = var('s f R C')
H = 1/(1/(R*C*s) + 1)
}}
伝達関数を表示すると、
Sageへの入力:
#pre{{
show(H)
}}
&ref(eq5.png);
ラプラス変数sをjω、ω=2πfを代入すると、
Sageへの入力:
#pre{{
# s = jω, ω= 2πfを代入すると
H(f) = H.subs_expr(s == 2*i*pi*f)
}}
db単位で表示するために、toDb関数を以下の様に定義します。
#pre{{
# 電気ではデジベルで表示するため、toDb関数を定義する
def toDb(v):
return 20*log(abs(v), 10)
}}
振幅特性をプロットします。
Sageへの入力:
#pre{{
# 直接表示すると'unable to simplify to float approximatio...
plot(lambda f: toDb(H(f, R=10000, C=10^-7)).n(), [f, 10, ...
}}
&ref(gain_def.png);
位相特性は、定義から以下の様になります。
#pre{{
# 位相は以下の様になる
Phi(f) = arctan(imaginary(H(f))/real(H(f)))
}}
位相を度で表示するために、toDeg関数を以下の様に定義します。
#pre{{
def toDeg(v):
return v*180/pi
}}
位相特性をプロットすると以下の様になります。
Sageへの入力:
#pre{{
plot(lambda f: toDeg(Phi(f, R=10000, C=10^-7)).n(), [f, 1...
}}
&ref(phase_def.png);
このようにSageを使うと伝達関数の周波数特性を非常に簡単に...
** 感想 [#d5879d78]
とても当たり前のように思われていた、CRの微分回路でも実験...
これまで、理論値のグラフは表示するのが大変だったため、代...
** コメント [#c4d02b30]
#vote(おもしろかった[7],そうでもない[0],わかりずらい[1])
皆様のご意見、ご希望をお待ちしております。勉強会で分から...
スパム防止に画像の文字列も入力してください。
#comment_kcaptcha
終了行:
[[AnalogDiscoveryを試す]]
#contents
2014/11/22からのアクセス回数 &counter;
[[AnalogDiscoveryを試す/01-CR積分回路]]でも式にタイプミス...
申し訳ありません。
できるだけ式を誘導できるように展開していきますので、間違...
** CR微分回路 [#d8f1873b]
[[電気回路編 その3>http://www.eonet.ne.jp/~hidarite/me2...
以下に示します。
ちょうど、積分回路の抵抗とコンデンサーの位置を入れ替えた...
&ref(bibun01.gif);
*** LTSpiceを使って方形波に対するVoの変化を見る [#j7fcdef3]
[[AnalogDiscoveryを試す/01-CR積分回路]]と同様に、LTSpice...
します。
モデルは、以下のファイルを使用しました。
- &ref(CR_Dif.asc);
LTSpiceで以下の回路を作成します。
&ref(CR_Dif_cir.png);
50Hzでのシミュレーション結果は、以下の様になりました。
ちょうど入力波を微分したような応答が返ってきます。これがC...
&ref(CR_Dif_Spice_50Hz.png);
500Hzでは、応答が直線的になり(サグと呼ぶそうです)
&ref(CR_Dif_Spice_500Hz.png);
5kHzでは、変化量が小さくなっています。
&ref(CR_Dif_Spice_5kHz.png);
** AnalogDiscoveryを使ってVoを測定する [#lb520348]
次にAnalogDiscoveryを使って実際に測定してみます。
以下の様にブレッドボードに回路を組みAnalogDiscoveryと接続...
&ref(CR_Dif_setting.png);
*** AnalogDiscoveryを使った測定結果 [#j09fa71e]
方形波の周波数を50Hz, 500Hz, 5kHzに変えて、Voの応答を測定...
回路の時定数\(\tau\)は、\(C_1 R_1 = 10K \times 0.1 \mu = ...
50Hzの場合の応答は、以下の様になりました。
((当たり前ですが、トラ技の結果と同じ結果が出ています。))
実際の出力波形の方が大きく変化しており、LTSpiceの結果より...
&ref(th_CR_Dif_50Hz.jpg);
500Hzと5kHzは、以下の様になりました。
&ref(th_CR_Dif_500Hz.jpg);
&ref(th_CR_Dif_5KHz.jpg);
** 周波数特性を測る [#b433596b]
ネットワーク・アナライザを使って周波数特性を調べてみます。
1次のハイパスフィルターの特徴がでています。
&ref(th_CR_Dif_network.jpg);
** CR微分回路のラプラス変換 [#xe8c2b11]
CR微分回路も[[AnalogDiscoveryを試す/01-CR積分回路]]と同じ...
$$
R i + \frac{\int i dt}{C} = E \left\{ u(t) - u(t - T) \r...
$$
ラプラス変換も同じで、iが以下の様に求まります。
$$
i = \frac{E}{R} L^{-1} \left \{ (1 - e^{-Ts}) \frac{1}{s ...
$$
Voは、iRなので、Voは以下の式で求まります。
$$
V_O = E \left \{ e^{-\frac{1}{CR}t} - e^{-\frac{1}{CR}(t ...
$$
*** Sageを使ってグラフを表示 [#w6b3894a]
Sageを使ってVoのグラフをみてみましょう。
ここで紹介するSageのノートは、以下のURLで公開しています。
- http://www15191ue.sakura.ne.jp:8000/home/pub/49/
CRを時間係数\( \tau \)として、VoをSageで表すと以下の様に...
#pre{{
(t, T, tau, E) = var('t T tau E')
Vo = E*(e^(-1/tau*t) - e^(-1/tau*(t - T) )* unit_step(t -...
}}
数式を見やすくすると、
#pre{{
show(Vo)
}}
&ref(eq4.png);
方形波を以下のように定義します。
#pre{{
# 方形波
U = E*(unit_step(t) - unit_step(t - T))-E/2
}}
方形波とVoを合わせてプロットする関数plot_Voを以下の様に定...
#pre{{
# 方形波と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のプロットします。
#pre{{
# Tc=0.01、周期50HzでのVoのプロット
plot_Vo(Tc=0.01)
}}
&ref(plt_CR_Dif_50Hz.png);
Tc=0.001、周期500HzでのVoのプロットします。
#pre{{
# Tc=0.001、周期500HzでのVoのプロット
plot_Vo(Tc=0.001)
}}
&ref(plt_CR_Dif_500Hz.png);
Tc=0.0001、周期5kHzでのVoのプロットします。
#pre{{
# Tc=0.0001、周期5kHzでのVoのプロット
plot_Vo(Tc=0.0001)
}}
&ref(plt_CR_Dif_5kHz.png);
*** 50Hzのピークは4Vが正しい [#ce9c623e]
50Hzでのピークが実験では4Vと-4Vになっているのに、LTSpice...
-2Vから+2Vへの変換したので変動量4となるのが、正しいように...
Sageの計算でも4Vと-4Vがきちんと求まっています。
*** 5kHzの応答が実際の波形と異なるのは何故 [#rdd3fb44]
最後の5kHzの応答波形がLTSpiceや実験で求まった波形と大きく...
((500Hzでも最初の応答波形が4Vになっていますが、その後は、...
これまで、LTSpiceで5kHzの結果を出すときには、安定な形状に...
試しに、0から表示してみると、以下の様にようになります。
シミュレーションの.tranを以下の様に変更します。
#pre{{
.tran 0 0.0005 0.0 100
}}
結果は、以下の様になりました。
&ref(CR_Dif_5kHz_0.0015.png);
最初の波形は、まさにSageで計算したものに一致します。
徐々に、2Vと-2Vでの変化に変わっています。
最初の波形は、コンデンサーの初期電荷が0を仮定していますが...
次の充電が行われているため異なる値となったと思われます。...
** 周波数特性 [#b893b158]
[[AnalogDiscoveryを試す/01-CR積分回路]]と同様にCR微分回路...
伝達関数Hは、\(V_oとV_i\)から以下の様に計算します。
$$
H(s) = \frac{V_o}{V_{i}} = \frac{RI(s)}{( R + \frac{1}{sC...
$$
分母・分子をRI(s)で割ると、
$$
H(s) = \frac{1}{(1 + \frac{1}{RCs})}
$$
*** Sageで伝達関数をプロットする [#h2ebb9b4]
[[AnalogDiscoveryを試す/01-CR積分回路]]の場合には、伝達関...
今回は伝達関数から直接振幅特性と位相特性をプロットしてみ...
上記の式から伝達関数を以下の様に定義します。
Sageへの入力:
#pre{{
# 伝達関数から周波数特性を求める
(s, f,R,C) = var('s f R C')
H = 1/(1/(R*C*s) + 1)
}}
伝達関数を表示すると、
Sageへの入力:
#pre{{
show(H)
}}
&ref(eq5.png);
ラプラス変数sをjω、ω=2πfを代入すると、
Sageへの入力:
#pre{{
# s = jω, ω= 2πfを代入すると
H(f) = H.subs_expr(s == 2*i*pi*f)
}}
db単位で表示するために、toDb関数を以下の様に定義します。
#pre{{
# 電気ではデジベルで表示するため、toDb関数を定義する
def toDb(v):
return 20*log(abs(v), 10)
}}
振幅特性をプロットします。
Sageへの入力:
#pre{{
# 直接表示すると'unable to simplify to float approximatio...
plot(lambda f: toDb(H(f, R=10000, C=10^-7)).n(), [f, 10, ...
}}
&ref(gain_def.png);
位相特性は、定義から以下の様になります。
#pre{{
# 位相は以下の様になる
Phi(f) = arctan(imaginary(H(f))/real(H(f)))
}}
位相を度で表示するために、toDeg関数を以下の様に定義します。
#pre{{
def toDeg(v):
return v*180/pi
}}
位相特性をプロットすると以下の様になります。
Sageへの入力:
#pre{{
plot(lambda f: toDeg(Phi(f, R=10000, C=10^-7)).n(), [f, 1...
}}
&ref(phase_def.png);
このようにSageを使うと伝達関数の周波数特性を非常に簡単に...
** 感想 [#d5879d78]
とても当たり前のように思われていた、CRの微分回路でも実験...
これまで、理論値のグラフは表示するのが大変だったため、代...
** コメント [#c4d02b30]
#vote(おもしろかった[7],そうでもない[0],わかりずらい[1])
皆様のご意見、ご希望をお待ちしております。勉強会で分から...
スパム防止に画像の文字列も入力してください。
#comment_kcaptcha
ページ名:
SmartDoc