
はじめに
直流抵抗回路において、負荷側の抵抗が消費する電力の最大条件、最大値を求める問題は有名である。それには、一般的に微分法もしくは最小定理(相加・相乗平均)を用いた解法が使用される。今回は、理論計算によって消費が最大となる条件を求める。また、Pythonを用いて、負荷側の消費電力が負荷側の抵抗によってどのように変化するのかを調べる。最後に、応用例ということで、交流回路のインピーダンスの場合についても同様に考察する。
インピーダンスマッチングとは
一般的に、直流回路の場合は、電源側の抵抗値と負荷側の抵抗値が等しくなったときに最も電力を効率よく伝えることができる、つまり負荷側の消費電力が最大になるという定理である。上記の直流回路の場合はr=Rつまり、電源側=負荷側となった時に消費電力が最大となる。
一方で、交流回路の場合は、電源側のインピーダンスと負荷側のインピーダンスが共役となった場合、つまり、全体のインピーダンスが実数になり、かつ抵抗値が負荷側と電源側で等しくなった場合に最大となる。つまり、負荷側のインピーダンスがr-jX0のときに負荷側の消費電力が最大となる。
このような関係をインピーダンスマッチングと呼ぶ。(詳しい解説は参考文献に譲る)
このことについて、Pythonを用いた考察と証明をしていこうと思う。
直流回路の場合
証明
以下の式を用いて解く。ただし、負荷側の抵抗値Rは変数で、電源側の抵抗値rは定数とする。
PにIを代入して整理すると以下のようになる。
等号成立は、R=rつまり、電源側の抵抗値と負荷側の抵抗値が等しくなった場合である。
Python
次に、プログラミングを用いて負荷側の抵抗値と消費電力の関係をみてみよう。コードは以下の通りである。
import matplotlib.pyplot as plt import math import numpy as np import japanize_matplotlib #初期設定 E=10 r=10 R = np.linspace(0,20,100) I = E/(R+r) P=I**2*R plt.xlabel('R') # x軸ラベル plt.ylabel('負荷側の消費電力') # y軸ラベル plt.plot(R,P) plt.show()
このプログラムを実行すると以下のような画像が出力される。
このグラフより、負荷側の抵抗値と電源側の抵抗値が等しくなった場合に、負荷側の消費電力は最大になる。
交流回路の場合
このモデルでは、r,X0を定数としてR,Xを変数とした。つまり、負荷側の消費電力PはR,Xの二変数関数となるため直流回路よりも複雑になると考えられる。
証明
まず、負荷側に流れる電流は以下のようになる。
ここで、
となることから、
ここで、Xは、コンデンサの場合やインダクタの場合もあるので、実数全域を定義域にとることに注意すると、
となる。ただし、Rは正の実数域しか存在しないので、最小の定理より最終的には以下のようになる。
Python
このことについて、Pythonを用いて同様に検証してみよう。変数はRとXつまり負荷側のインピーダンスになることに注意して、その場合の負荷側消費電力について調べる。
コードは、複素電力を用いると以下のようになる。
# 利用するライブラリ import numpy as np import matplotlib.pyplot as plt import japanize_matplotlib #初期条件 E=10.0 r=10 X0=10 # 変数 R = np.arange(0, 100, 0.1) X = np.arange(-100, 100, 0.1) # 格子状の点を作成 R1,X1 = np.meshgrid(R, X) #系統側のインピーダンス Z_0=r+1j*X0 #負荷側のインピーダンス Z=R1+1j*X1 I = E/(Z_0+Z) V=Z*I S=V*I.conjugate() #もしくはP=R1*|I|^2 P=S.real # 等高線図を作成 plt.figure(figsize=(7, 6)) plt.contourf(R1, X1, P) # 等高線図 plt.xlabel('R') # x軸ラベル plt.ylabel('X') # y軸ラベル plt.title('インピーダンスと負荷側の消費電力', fontsize=20) # タイトル plt.colorbar() # z軸の値 plt.show()
これを実行すると以下のような画像が出力される。
このコンター図により、負荷側のインピーダンスと電源側のインピーダンスが共役の関係になるときに、負荷側の消費電力は最大値をとることが分かる。つまり、全体ではインピーダンスの虚数部を0にすることが負荷側の消費電力を最大化させる必要条件になるということである。
ただし、Rの範囲は正の実数であることからR=rという条件を更に満たすことが必要である。なので、電気信号などの微小な信号を扱う学問では、できるだけ入力インピーダンスと出力インピーダンスが共役になるようにして信号出力を最大にしてあげるという、インピーダンスマッチングという考え方がある。
可視化のため、3Dのグラフでも調べてみよう。以下のプログラムを実行させる。
import matplotlib.pyplot as plt import numpy as np import japanize_matplotlib fig = plt.figure() ax = fig.add_subplot(projection='3d') #初期条件 E=10.0 r=10 X0=10 # 変数 R = np.arange(0, 100, 0.1) X = np.arange(-100, 100, 0.1) # 格子状の点を作成 R1,X1 = np.meshgrid(R, X) #系統側のインピーダンス Z_0=r+1j*X0 #負荷側のインピーダンス Z=R1+1j*X1 I = E/(Z_0+Z) V=Z*I S=V*I.conjugate() #もしくはP=R1*|I|^2 P=S.real ax.set_xlabel("R") ax.set_ylabel("X") ax.set_zlabel("負荷側の消費電力P") ax.plot_surface(R1,X1,P, cmap='jet') plt.show()
そうすると、以下のような画像が出力される。
グラフから、最大値付近を外れた瞬間に、電源から取り出す事のできる電力は急速に減少してしまうということがわかる。
つまり、電源から取り出す事のできる電力は、負荷側のインピーダンスに依存しているということである。なので、適切なインピーダンスに設定する必要性がある。
まとめ
今回は、直流回路の場合と交流回路の場合について、負荷側の消費電力が最大になるための条件について、最小の法則を用いて調査した。またPythonを用いて、消費電力がどのように変化するのかも検討した。この記事の内容は、電験理論だけでなく、技術士の試験にも頻出であるので、十分に理解しよう!!
コメント