二電力計法とPython

二電力計法とPython

はじめに

二電力計法とは、三相交流において消費される有効電力を2つの電力計を用いて測定する方法である。2つの異なる線間に電力計を挿入して、そこで計測された電力の和が求める有効電力になる。この考え方は、平衡三相負荷回路だけでなく、非平衡三相負荷回路でも扱うことができる。一方で、平衡三相負荷回路の場合のみ、2つの電力計の”有効電力”を計測して差を√3倍することによって無効電力を求めることができる。本記事では、YーY結線の場合についてミルマンの定理を用いて上記の事項が成立するかどうかをプログラムを用いて確認する。

問題設定

まず、問題設定としては上記のようなYーY結線を考えた。系統は、対称三相電源として負荷の力率や平衡・不平衡は自在に変化させることができるとする。この回路を以下のようなミルマンの定理が使えるような形に変換する。

相電流をそれぞれ求めると以下のようになる。

キルヒホッフの電流則により、以下のことがわかる。

故に、中性点間における電位差は以下のように表すことができる。

プログラム

以上のことを踏まえてpythonによるプログラムを書くと以下のようになる。
(電力は複素電力として扱う。系統はリアクトル負荷がメインのために遅れを正とした。
ちなみに、電力計算で共役複素数を用いるのは、力率つまり位相”差”を表したいからである。)

#ログファイルの作成
import os

path = 'out_log.txt'
f = open(path, 'w')


#円周率を扱うため
import math
#ベクトルオペレーターの定義
a= math.cos(2*math.pi/3)+math.sin(2*math.pi/3)*1j
print("ベクトルオペレーター")
print(a)



#Y結線パラメーターの定義
z_a=3+1j
z_b=2+2j
z_c=1+3j

E=100
E_a=E
E_b=E*a**2
E_c=E*a

f.write("z_a="+str(z_a)+"\n") 
f.write("z_b="+str(z_b)+"\n") 
f.write("z_c="+str(z_c)+"\n") 

f.write("E_a="+str(E_a)+"\n") 
f.write("E_b="+str(E_b)+"\n") 
f.write("E_c="+str(E_c)+"\n") 

#ミルマンの定理
V=(E_a/z_a+E_b/z_b+E_c/z_c)/(1/z_a+1/z_b+1/z_c)
print("中性点電位差")
print(abs(V))


f.write("中性点電位差="+str(abs(V))+"\n") 

#相電流(線電流)
I_a=(E_a-V)/z_a
I_b=(E_b-V)/z_b
I_c=(E_c-V)/z_c

#三相電流の和は必ず0
print("三相電流の和=0")
print(abs(I_a+I_b+I_c))

f.write("三相電流の和=0"+"\n")
f.write(str(abs(I_a+I_b+I_c))+"\n")



#負荷側の有効電力

E_aa=z_a*I_a
E_bb=z_b*I_b
E_cc=z_c*I_c

#複素電力を計算する

S= E_aa*I_a.conjugate()+E_bb*I_b.conjugate()+E_cc*I_c.conjugate()

print("負荷側の有効電力")

P=S.real

print(P)
f.write("負荷側の有効電力:"+str(P)+"\n")
#負荷側の無効電力

Q=S.imag
print("負荷側の無効電力")
print(Q)
f.write("負荷側の無効電力:"+str(P)+"\n")
#2電力計法

#線間での複素電力を求める:電圧と複素共役電流の積
S_1=(E_a-E_c)*(I_a.conjugate())
S_2=(E_b-E_c)*(I_b.conjugate())

#計測される有効電力
P_1=S_1.real
P_2=S_2.real

P_c=P_1+P_2
print("計算される負荷側の有効電力")
print(P_c)
f.write("計算される負荷側の有効電力:"+str(P_c)+"\n")
#計測される無効電力



Q_c = (P_1-P_2)*3**0.5

print("計算される負荷側の無効電力(対称三相負荷のときのみ意味ある値となる)")
print(Q_c)
f.write("計算される負荷側の無効電力(対称三相負荷のときのみ意味ある値となる):"+str(Q_c)+"\n")

#計算される有効電力と実際の有効電力の差
print("計算される有効電力と実際の有効電力の差")
print(P-P_c)
f.write("計算される有効電力と実際の有効電力の差:"+str(P-P_c)+"\n")

#計算される無効電力と実際の無効電力の差
print("計算される無効電力と実際の無効電力の差(対称三相負荷のときのみ意味ある値となる)")
print(Q-Q_c)
f.write("計算される無効電力と実際の無効電力の差(対称三相負荷のときのみ意味ある値となる):"+str(Q-Q_c)+"\n")


f.close()



ログファイルの確認

上記のプログラムを実行するとログファイルができる。

対称負荷のとき

対称負荷のときのログファイルの一例を以下に示す

z_a=(1+1j)
z_b=(1+1j)
z_c=(1+1j)
E_a=100
E_b=(-50.000000000000036-86.60254037844383j)
E_c=(-49.99999999999998+86.60254037844388j)
中性点電位差=1.430920090398825e-14
三相電流の和=0
0.0
負荷側の有効電力:15000.0
負荷側の無効電力:15000.0
計算される負荷側の有効電力:14999.999999999996
計算される負荷側の無効電力(対称三相負荷のときのみ意味ある値となる):14999.999999999996
計算される有効電力と実際の有効電力の差:3.637978807091713e-12
計算される無効電力と実際の無効電力の差(対称三相負荷のときのみ意味ある値となる):3.637978807091713e-12

このように、電力の計測値と理論値の差は、有効電力・無効電力共に0であると言える。

非平衡の場合

一方で非平衡三相負荷の場合の一例として以下のようなものを示す。


z_a=(3+1j)
z_b=(2+2j)
z_c=(1+3j)
E_a=100
E_b=(-50.000000000000036-86.60254037844383j)
E_c=(-49.99999999999998+86.60254037844388j)
中性点電位差=18.954627808751965
三相電流の和=0
1.0658141036401503e-14
負荷側の有効電力:6923.076923076922
負荷側の無効電力:6923.076923076922
計算される負荷側の有効電力:6923.076923076922
計算される負荷側の無効電力(対称三相負荷のときのみ意味ある値となる):6923.076923076922
計算される有効電力と実際の有効電力の差:0.0
計算される無効電力と実際の無効電力の差(対称三相負荷のときのみ意味ある値となる):1463.0182989589866


この様に、三相不平衡負荷の場合は、計測有効電力は正しいが、計測無効電力は正しくなくなってしまう。

まとめ

今回はpythonを用いたプログラムにより、Y-Y結線の場合の電力について考察した。有効電力の場合は、2つの電力計を用いて和を求めれば測定できるということがわかった。しかし、無効電力の場合は、非対称では2つの電力計で測定することができないということも分かった。これらの違いに注意して計測を行いたいと思う。

関連記事

コメント

  1. この記事へのコメントはありません。

コメントするためには、 ログイン してください。