※ 商用電源のモニタリング

[2004/04/04 13:12:40]

 これまでの WENS700 モニターはサンプリング間隔が1秒で固定でした。これだと一日で 24*60*60 = 86400 サンプルになり実用的ではありません。そこでサンプリング間隔を変更できるよう改良してみました。


 上記は自宅に引いてある商用電源モニター中の画像です。サンプリング間隔を1分とし、その間の電圧と周波数の最高、平均、最低、標準偏差を表示、保存しています。

● トレンド図

 まずはモニター結果のトレンド図を CalendarMemo の mc (matrix calculator) で描いてみるましょう。下記はそのプログラムです。

a$ = loadText("20040404.txt");
b$ = swapTextString(a$,"------< START >------"+asc(10),"");
b$ = swapTextString(b$,"------< STOP >------"+asc(10),"");
b$ = swapTextString(b$,"/"," ");
b$ = swapTextString(b$,":"," ");
copy(b$);
a = getClipData(0);
t = jst2mjd(a[#,1|6])-jst2mjd(a[1,1|3]);
t = t[#,1]*24;
b = addP(t,a[#,7|14]);
bb= selectIf(b,b[#,5]<1 and b[#,9]<1);
cc = change(bb,|1,4,2,3,7|);
cc[#,5] = cc[#,5]*2;
f = |0,13,1,99,106,1|;
parametricLinePlot(cc[#,1],cc[#,2|5],f);

 上記プログラムで作図した結果を OmniGraffle で説明等を加え編集したものを下図に示します。

 横軸は時刻で 2004/04/04 の零時からの時間です。赤は一分間の最高電圧、緑は平均電圧、黒は最低電圧です。青(紫)は電源周波数ですが同じグラフに表示するため二倍にしています。

 このトレンドを見ると相当大きな電圧変動があるようです。特に午前8時過ぎから9時にかけて2ボルト程度も電圧降下しているようです。今日は日曜日なのでこの時間に朝食の支度をしているのではないでしょうか(寝坊か!)。また午後9時には元の電圧に戻っています。というか電圧を強制的に上げているようです。見るに電圧の調節の仕方が1ボルト単位で、しかも定時に調節しているようです。いかにも人為的に行っている、そんな感じです。電力会社の方も大変だな〜と思うようなモニター結果でした。

● 最高電圧ー最低電圧

 電圧は毎秒4回程度サンプリングしています(RS232C への垂れ流し)。これから1分間の平均と1分間の最高最低電圧を求め記録しています。1分間で電圧がどれほど変動しているのか見てみましょう。

f = |0,13,1,0,3.4,0.5|;
parametricLinePlot(cc[#,1],cc[#,3]-cc[#,4],f);

 1分間では 0.2〜0.3V 程度の変動があるようです。稀に2V程度の変動が認められます。これは何なんでしょう?

● (最高電圧ー最低電圧)のヒストグラム

上のグラフでは判らないのでヒストグラムを描いてみます。

ff = frequency(cc[#,3]-cc[#,4],20);
parametricPlot(ff[#,1],ff[#,2],|0,3.5,0.5,0,160,20|);

 電圧変動は 0.5V 程度が多い事が判る。ただそれだけ?ヒストグラムではあまりよく判らないですね。

● 電源周波数の変動

 電源周波数は負荷変動(電圧変動)に影響されているか調べてみましょう。影響は相関係数を求めると判りますが数字があっても感覚的に納得できません。そこで散布図を描いてみます。

pointMode(0);
f = |49.9,50.1,0.1,101,105,0.5|;
parametricPointPlot(bb[#,7],bb[#,3],f);

 上記は横軸が電源周波数で縦軸が電圧にとった散布図です。見て判るよう奇麗な正規分布をしているような感じでです。よって電源周波数は負荷変動に影響を受けているとはいえないようである。当たり前だよな〜

 でも中心が 50Hz より若干低いのが気になります。これは実際に周波数が低いのか、それとも WENS700 のエラーなのでしょうか。電源周波数は時計にも使うくらいだから、周波数が低く計測されるのは WENS700 のエラーなんでしょうね。でも 0.05% の誤差なら凄いんでないかい?

 遊びで7分間の移動平均を計算し折れ線でグラフを描いてみます。

f = |49.92,50.04,0.04,101,105,0.5|;
cc = smooth(bb,7);
parametricLinePlot(cc[#,7],cc[#,3],f);

 折れ線の接続は時間の流れと見る事が出来ます。ということは電圧に関係なく周波数の細かな調節を行っているような感じです。ついでなので周波数分析をしてみましょう。周波数の周波数分析? ちょっと変ですね。でも、どの程度の周期で電源周波数の調節を行っているかが判るかもしれません。機械で調節しているなら何らかの周期性があるだろうと思ったからです。

f = |0,13,1,49.93,50.03,0.01|;
parametricLinePlot(cc[#,1],cc[#,7],f);

 上記は電源周波数のトレンドです。思ったより細かく調節していますね。それではフーリエ変換してみましょう。

d = CZT2(cc[#,7]);
d = log(c_abs(d));
f = |0,0.6,0.1,-2.5,0.5,0.5|;
parametricLinePlot(cc[2|msize(d)/2,1]*60/msize(d),d[2|msize(d)/2,1],f);

 横軸は周波数ですがサンプリングが1回/分なので数値は適当です。このスペクトルの形をみると元は想像できますね。矩形波をフーリエ変換するとこんなパターンになります。しかもデューティ比が10%程度の矩形波ですね。横軸が適当なのでデューティ比を変えた矩形波を与え近いものを探してみます。

 色々と矩形波を試してみたら半波 0.18 時間のものが似ていました。

d = CZT2(cc[#,1]<0.18);
d = log(c_abs(d));
f = |0,0.6,0.1,-2,1,0.5|;
parametricLinePlot(cc[2|msize(d)/2,1]*60/msize(d),d[2|msize(d)/2,1],f);

 どうですか? そっくりでしょう。 この結果から 60*0.18 =10.8 .....  約11分の遅れ持った装置で電源周波数の調節を行っているのではないでしょうか? 10分なら切れが良いのだが何で11分なんだろう? ちょっと不思議!

 自分でもむちゃくちゃいい加減な分析と思っているので深く考えないで下さい。たぶん私の家に届いている商用電源の電圧は監視する方が手動で1ボルト単位で調節しているのでしょう。電源周波数は約11分程の間の変動を調節しトータルで 50Hz にしようとする機械を使っているような???

 電圧の調節にはでかいスライダックを使っているのでしょうか。見てみたいな〜。それに周波数の調節、これどうやっているんだろう? 発電機の回転数を水蒸気の調節だけでできるのでしょうか。もし私なら派手な放電をさせて・・・奇麗だろうな〜

本当のところは???よくわからん!!

 まさかばかでかい UPS(CVCF) のような装置を使って??? いやいや半導体で高電圧・大電力が可能なはずは・・・・・


by Nishimura Hiromi