ベクトル線図は、周波数解析において利用される。
具体的には、周波数を変化させた場合、入力に対して出力がどの様に変化するのかを見たい場合に使用される。
今回は、RL回路について一次遅れ系のベクトル線図がどの様に作図されるのかを、導出した後に、エクセルを用いて本当にその結果が正しいのか数値解析を行う。(エクセルデーターはxlsx形式でダウンロードしてエクセルで開いてください。それ以外では、動作確認しておりません)
1次遅れ系の関数表示
ここで、X,Yをそれぞれ以下の様に定義する。
ここで、第一式を第二式で割り整理すると以下の様になる。これにより、XとYの範囲が分かる。
一方で、さらに式変形をしてωLを表すと以下の様になる。
これをYの式に代入して、角速度成分を除去して整理すると以下の様になる。
ただし、X,Yの移動範囲も含めて考えると、Y<0の範囲で半円を描くことになる。
この軌跡自体は、抵抗やインダクタンスの大きさに関係ない。
数値解析
ここで、計算結果の検証のため、エクセルを用いて解析してみる。エクセルファイルは以下の場所(google drive)にある。
ファイル内の黒枠の部分の抵抗分とインダクタンス分を変化させることで、点の分布を変えることが出来るが、軌跡自体は変化しない。
まとめ
ベクトル線図は、手計算で解くとなると複雑な軌道を描くものが多いので大変である。そこで、エクセルなどの数値解析ソフトを用いれば、描写も容易になる場合がある。今回は、一次遅れ系が半円の軌道を描くことを、導出した上で、数値解析を行って示した。
参考:2次遅れ系
RLC回路などの共振現象や複雑なフィードバック制御の場合は、振動解や発散解を持つ場合がある。この時に考えられるのが、伝達関数が以下の様な二次遅れ系の場合、もしくは、それを含んだ場合の時だ。
ここで、s→jωと変換すると以下の様になる。
これをエクセルを用いて数値解析を行うと以下の様になる。
細かい条件などは、実際のファイルをダウンロードして確認して欲しい。
補足:Pythonでの再現
1次遅れ系と2次遅れ系のナイキスト線図についてそれぞれPythonのcontrolで再現したので確認して欲しい。
事前準備
pip install control
1次遅れ系
from control.matlab import * from matplotlib import pyplot as plt def main(): # 伝達関数のパラメータ num = [1] # 分子の係数 den = [1,-1] # 分母の係数 sys = tf(num, den) # 伝達関数モデルの作成 nyquist(sys) # ナイキスト線図のプロット plt.show() if __name__ == "__main__": main()
この場合は以下の様に円形となる。
2次遅れ系
from control.matlab import * from matplotlib import pyplot as plt def main(): omega_n = int(input("固有角振動数を入力してください")) zeta = float(input("ζ値を入力してください")) # 伝達関数のパラメータ num = [ (omega_n)^2] # 分子の係数 den = [1, 2*omega_n*zeta,(omega_n)^2 ] # 分母の係数 sys = tf(num, den) # 伝達関数モデルの作成 nyquist(sys) # ナイキスト線図のプロット plt.show() if __name__ == "__main__": main()
二次遅れ系のナイキスト線図は以下の様になる。
ライブラリなしの場合
ライブラリ無の場合のコードを以下に示す。
一次遅れ系は以下の通りである。
import numpy as np import matplotlib.pyplot as plt import japanize_matplotlib omega = np.arange(0.0, 100.0, 0.01) R=1.0 L=1.0 x=R**2/(R**2+(omega*L)**2) y= -R*L*omega/(R**2+(omega*L)**2) plt.title("RL回路のベクトル図:一次遅れ系") plt.xlabel('実軸') plt.ylabel('虚軸') plt.plot(x, y, 'b-') plt.show()
綺麗な半円を描いていることが分かる。
一方で二次遅れ系は以下の通りである。
import numpy as np import matplotlib.pyplot as plt import japanize_matplotlib omega = np.arange(0.0, 100.0, 0.01) jita=0.5 omega_n=0.1 k=omega_n**2/((omega_n**2-omega**2)**2+(2*omega_n*jita*omega)**2) x= k*(omega_n**2-omega**2) y= k*(-2*omega_n*jita*omega) plt.title("二次遅れ系") plt.xlabel('実軸') plt.ylabel('虚軸') plt.plot(x, y, 'b-') plt.show()
これもまた、上手く描写できていることが分かる。
参考文献

電材館 第二種電気工事士 技能試験セット 「 電線2回分 」 「 ホーザン 工具 」 「 動画解説・テキスト付き 」 2023年
参加者500人以上
電験三種や電気工事士など
資格合格を目指す人が集まる
無料のオンラインサロン
【みんなのデンキ塾】
コメント