はじめに
東電福島第1原発の爆発事故の混乱の中で行われた計画停電は、関東圏で生活する者に社会の隅々まで電気をベースに成り立っているという事実を体感させました。東京電力が十分な準備も無く計画停電をあえて行った理由は家庭の電力消費は東京電力が制御できないものであるという推測からでした。これについては平成23年3月25日に経済産業省が発表した資料「「計画停電」の実施状況について」に書かれています。計画停電以外の選択肢がなかったかどうかは分かりませんが、それほど家庭の電力消費の実態把握が重要なテーマになるならば、自宅での使用電力を定量的に測ってみようと考えました。Webで検索した情報などをもとにLabVIEWとUSB-6008を使いながら試行錯誤を行いました。

原発事故から初めての夏、大電力を消費する企業が稼働日をシフトさせたことや会社や家庭での緊急避難的な節電によって当面の電力危機は回避することができましたが、今後の電力供給をどのようなものにしていくべきか議論の行方は定まっていません。年金問題で顕在化している少子化問題とIT化や国際化による産業構造の変化を見込みながら10年、20年後の社会構造の落ち着く先を考えることが電力需給を考えるスタートポイントだと思います。しかしながら、現在の企業や家庭での電力の使われ方自体が定量的に捉えられていないということも明らかになっています。山小屋や山奥の秘湯でも電気なしで生活を維持していくことは困難な時代であることは確かであり、必要な電力と無駄な電力を意識することから今後の電力供給の問題は検討をスタートさせなければならないと思います。

この夏には多くの家庭で節電が試みられました。前年に比べて15%以上の削減を達成できた家庭も多いと聞きますが、努力の割りに5%未満の削減に終わった家庭も多いようです。精神論で節電を試みても、多くのダイエット作戦と同様に、気がつくとリバウンドしているという事態になりかねません。さらに、電力の危機的状態の解消には10年単位の長い年月を要するものと考えられますから、自分の生活にとって必要な電力がどれだけなのか定量的に把握しておく必要があると思います。その上で、その電力をどのようなリスクを持った発電システムで得るのがふさわしいのか考えなければならないのだろうと思います。
さて、LabVIEWとUSB-6008による電力の測定は順調に進みましたが、PCを分電盤のそばにおく必要がありますので、生活の邪魔という家庭内での評価もありました。


最終的には日本ナショナルインスツルメンツ(株)から無線DAQを借用して快適なシステムを作成運用することができました。使用電力を測定するだけであればオーバースペックなシステムですが、電圧波形、電流波形などを見ながら電力を考えるのには好適なシステムだろうと思います。電力計測は当面今日的な意義があると思いますので一例として紹介させていただきます。もともと電力に関心があったわけでも、知識があったわけでもありませんので、誤り等がありましたらご指摘いただければ幸いです。


目的
自分自身の暮らし方をもとに将来の電力について考えてみたいと考えられる方が測定を試みられる際の参考として活用されることを期待して家庭電力の無線計測システムを構成する機材とプログラムについて紹介したいと思います。
電力測定システムのあらまし
家庭への電気の出入り口である分電盤に電流センサを取り付けて電力を測定します。一般家庭では電信柱のトランスから単相3線式といわれる3本の電線で各家庭に供給される方式が普及しています。中性線と2本の電圧線が分電盤の中の契約ブレーカーを通して家庭内の個別ブレーカーに配線されています。
2個の電流センサを電圧線に取り付けて家庭で使用している電流を測定し、電圧センサで電圧を測定します。センサからの信号を受けて測定デバイスから無線でデータを送信します。1秒ごとに5kHzのサンプリング周波数で1000個のデータを取り込んでアドホックモードで送信します。
家庭内のPCでデータを受信し、電力に関連する諸データを演算により求めて画面に表示します。1秒毎の使用電力、電源電圧、電源周波数と測定時刻を記憶し、日付が変わる変わるタイミングでファイルに保存します。
測定中には下の図のようにリアルタイムでデータを観察することができます。電圧、電流、電力の生波形や電力を使用している機器の特性を示す電圧・電流位相グラフなどは普段交流電力に関心のない人でも興味を示すかもしれません。

スクロールすることで電力、電圧、周波数の時系列データを確認することができます。その日の家庭での電力の使い方や、供給されている電力の電圧や周波数の変動を確認することができます。今夏はそんな事態になりませんでしたが、電力供給量に対して消費量が大きくなると周波数が低下して、大停電に至るというシナリオが現実視されていました。当分の間は注目しておいて良い特性値だと思います。
保存した電力、周波数、電圧はデータは専用のプログラムで閲覧することができます。電力グラフには詳しく見ると朝起きた時刻や、眠りについた時刻などが記録されています。

使用機器
DAQ:NI WLS-9163(Wi-Fi Cシリーズシングルモジュールキャリア)とNI cRIO-9215(4chアナログ入力モジュール)
交流電流センサー:(株)ユー・アール・ディー製 CTL-10-CLS 2個(使用負荷抵抗402Ω)
交流電圧センサー:(株)ユー・アール・ディー製 APT-2S(200V:1V)
プログラム:LabVIEW 2009
PC:Eee PC 1001PXD


測定方法
単相3線式の契約ブレーカーの2本の電圧線(次のページの写真では赤と黒のケーブル)に電流センサーをクランプします。2本の電圧線は互いに180度位相の異なる電圧が供給されているため、流れる電流も互いに逆方向となります。したがって、使用電力を求めるには電流センサーを互いに逆方向に取り付ける必要があります。
電流センサーCTL-10-CLS はクランプした電線に流れる電流に比例した電流を出力しますので、出力端子間に抵抗を接続して閉回路を作ることにより抵抗両端に電圧を生じます。抵抗が小さすぎる場合には低電流側での電圧出力が小さすぎて測定が難しくなりますし、抵抗が大きすぎると高電流側で直線性が悪くなってしまいます。今回は家庭での電力測定を目的としていますので402Ωの抵抗を使用しました。センサーと入力モジュールは2m程度の長さのケーブルで接続することになりますが、抵抗を設置するポイントとしてはアナログ入力端子側としました。下の右側の写真で端子部についている熱収縮チューブをかぶっているのが抵抗です。測定した電圧(V)を電流(A)に変換する係数として実測により求めた6.44を使用しています。
電圧波形は交流電圧センサーを100Vコンセントに接続して出力電圧を測定します。変換係数は200を使用します。
4chアナログ入力モジュールへの接続は差動入力とし、電流は±2.5V、電圧は±1Vレンジとしました。ただし、安定した波形が得られなかったので、差動入力の(-)側はCOM端子と接続しました。


通信設定
PCと無線DAQをイーサネットケーブルで接続し、無線の設定を行います。NIのドライバー設定アプリケーションMAX (Measurent & Automation Explorer) では、リモートシステムではなく、PCに接続されたデバイスとして扱われます。
無線LANには、アクセスポイントを経由して接続を行うインフラストラクチャモードと、 アクセスポイントを利用せずに機器同士で直接接続するアドホックモードがあります。アドホックモードでは他の無線端末の通信状態に影響されないため安定した通信が可能です。
PCと無線DAQをアドホックモードに設定してからイーサネットケーブルを外します。
今回無線LAN経由で収録するデータは1秒ごとに0.2秒間サンプリングします。5kHzでチャンネルあたり16ビットデータが1000個、電流2チャンネル、電圧1チャンネルの合計3chですが、特にストレス無く収録できました。今回使用したPC(Eee PC 1001PXD)はインフラストラクチャモードかアドホックモードかどちらか一方しか使用できないため、ネットにつなげない状態となってしまったので若干不便を感じます。
通信設定に関する参考文献は次のものが良いでしょう。これを読みながら設定したところ大きな問題も無く設定することができました。
「How to Configure a WLS-9163 in Ad-hoc Mode with a Supported C-Series Module in Windows XP」(http://zone.ni.com/devzone/cda/tut/p/id/8597)



プログラムの構成
LabVIEWのプロジェクトエクスプローラで表示されているように、「データセイバー.vi」、「交流探訪(WLSAHm).vi」、「データリーダー.vi」、「WLS error.vi」など、4個のプログラムで構成されています。


実質的な測定プログラム「交流探訪(WLSAHm).vi」は「データセイバー.vi」のWhileループ内に配置されています。
「データセイバー.vi」が実行されると、サブVIである「交流探訪(WLSAHm).vi」を起動し、データが出力されるのを待ちます。データが出力されるとファイルに保存して、また「交流探訪(WLSAHm).vi」を起動します。このループは「データセイバー.vi」の停止ボタンが押されるまで継続します。
プログラムの詳細
「交流探訪(WLSAHm).vi」を機能的に分割してみると、データを取り込む機能、データ処理とグラフ表示機能、データの蓄積機能、エラー処理機能、通信の遅延状態の表示機能の5つの機能から構成されています。

データ収録
「交流探訪(WLSAHm).vi」は、DAQアシスタントによる3chのアナログ入力データにチャンネルごとの係数を1次元配列にして乗算をおこなっています。それぞれのチャンネルで1秒間に1000個(5kHz)のデータが入ってきますので、1000個単位で処理を行います。電流は±2.5V、電圧は±1Vの入力範囲にしました。


DAQアシスタントからはダイナミックデータタイプで出力されます。ダイナミックデータタイプは関数に接続すると自動的にうまくやってくれる新世界的な印象もありますが、「ダイナミックデータから変換」関数のプロパティで指定して波形データの1次元配列に変換します。
それぞれの波形データに校正係数をかけて、オフセット(DC成分)を引いてからチャンネル毎に波形を取り出します。0CH、1CHは電流波形、2CHは電圧波形となります。


電流は二つのチャンネルを合計して使用します。その後、電流波形と電圧波形をかけて、電力波形を作成します。
電圧、電流、電力のRMS値は「基本平均DC-RMS」関数を使用して求めます。0.2秒間を切り取ったデータですので、両端の影響を少なくするためにHanning窓をかけています。電力波形のRMS値は実際に消費される電力、有効電力(W)ですが、電圧のRMS値と電流のRMS値をかけたものは皮相電力(VA)と呼ばれます。皮相電力は電圧波形と電流波形の位相の違いや波形の歪で有効電力よりも大きな値となります。有効電力を皮相電力で割った値が力率です。
X-Yグラフの横軸に電圧、縦軸に電流をプロットすれば電圧電流の位相関係を知ることができます。電圧と電流が正弦波のとき、位相が合っていれば原点を通る正の傾きのグラフとなりますし、位相が異なると楕円となります。
電圧が正で電流が正の第1象限では、それぞれをかけた電力は正ですが、電圧が負で電流が正の第2象限では電力が負の値となります。第3象限は正の電力、第4象限は負の電力となります。電流と電圧の位相が異なって楕円のグラフになるときには第2象限、第4象限を通りますので電力は負の値となります。この部分が大きいと送電設備への負担を増加させる力率の悪い機器ということのようです。


電力の1次元配列の要素を調べゼロまたは負の値となっている要素を1、正の値となっている要素を0とした1次元配列をつくり、電力の1次元配列にかけると電力が正の部分を除去することができるので、平均値を計算し負の電力(W)として表示しました。
力率に影響を与えるもうひとつの要因である波形の歪について触れておきます。皮相電力は電圧のRMS値と電流のRMS値をかけたものですので、電流の波形により皮相電力が変化します。正弦波よりもパルス波の方が皮相電力は大きめに計算されるため力率は低い値になります。少し前のプログラムで測定したものですが、携帯電話を充電中の波形です。ほぼ第1象限と第3象限の正の電力ですが、力率は0.5ぐらいしかありません。RMSのマジックです。

データの蓄積機能とエラー処理機能のダイアグラムを紹介します。

シフトレジスタに1次元配列で電圧、周波数、電力、タイムスタンプを蓄積しています。通信が失敗したときには0、Inf、Nanなど異常値になりますのでそれは蓄積しないようにしています。
ループが停止するのは、1)エラーが発生した場合、2)タイムスタンプの時間が23時から0時に切り替わったとき、3)停止ボタンが押されたときです。正常に動作していれば0時に停止→データセイバーでファイルに保存→起動、という流れになります。

通信・データ収録のエラー-50405、-200284、-50300が何かのタイミングで発生するので、これらのエラーの場合はエラーをクリアしてしまうことにしました。それ以外のエラーの場合はループ停止にしました。
無線でデータを伝達していますので、ループの遅延の頻度がどの程度なのか気になります。いわゆる普通の無線LANであるインフラストラクチャモードでは10秒弱の遅延が時々ありましたが、アドホックモードでは遅延が気にならないレベルでした。タイミングループのデフォルトでは”モード”は「Discard missed periods, maintain original phase」です。タイミングループの次のサイクルが開始する予定時刻に処理が終了していないときに、次の予定時刻まで開始タイミングを延期します。下のダイアグラムでは6サイクルまでのループ遅延の頻度をカウントします。タイミングループの「実際の終了[i-1]」と「終了予定[i-1]」の出力タブはこんなときに少し便利だと思いました。

データセイバー.viとデータリーダー.viについて


データセイバー.viでは、測定したデータを「名前でバンドル」関数でクラスターにして「バイナリファイルに書き込み」関数に渡しています。データリーダーでもデータタイプにクラスター定数を指定して読み取ります。読み込んだデータが要素が1個のクラスターの1次元配列で出力されますので0番目の要素を取り出して「名前でバンドル解除」関数で必要なデータを得ることができます。
まとめ
今回紹介させていただいた家庭電力の測定システムはいくつか利点があります。
1)電流、電圧の波形データを直接観察することができる。
2)1秒毎の電力を測定することができる。
3)分電盤など測定ポイントから無線でPCにデータを送信することができる。
4)必要なデータを自分で加工することができる。
自分自身の暮らし方をもとに将来の電力について考えてみたいと考えられる方の役に立つようであれば幸いです。
下のグラフは我が家の8月の電力使用状態を可視化したものです。
8月5日の夜から安定に記録可能となりました。9月になったら止めようと思ったのがシステムに伝わってしまったか、最終日の8月31日にPC側の無線LANが不調になってしまったのはご愛嬌です。お盆の頃は生活人数が増えて電力が高めになっていたとか、起きた時刻、寝た時刻そんなものがマッピンググラフに記されています。