日頃使っている測定器や家電製品がどの程度の電力を消費しているのか調べてみたくなることがあります。そこで、AC電源を利用する電気機器の消費電流や電力を測る測定器を製作してみました。でも、単に電流や電力を測定するだけでは面白くありません。せっかくマイコンを使っているのだから、負荷の特性を様々な角度から調べられるように、いろいろな解析機能を盛り込んであります。
このプロジェクトは数年前に構想はしていたのですが、満足できそうもなかったので着手には至りませんでした。そして、最近になって改めて練り直してみたところ、当初のよりもはるかマシになりそうだったので、プロジェクトをスタートしてみました。思い付いてすぐに始めるよりも、リサーチ期間を長く取ったプロジェクトほど完成度は高くなるものですね。
なお、「へこワット」というネーミングは、あまりにもトンデモな仕様で有名なあの電力計に引っかけたものです:-)



交流(alternating current, AC)とは、図1に示すように向きが周期的に反転する電流のことを言います。交流も直流と同じようにその大きさをある決まった数値で表します。しかし、交流電流iの瞬時値(ある瞬間における値)は時間と共に変化していて大きさが定まりません。それでは何をもって交流の値が決められているのでしょうか。
交流電流の大きさは、特に断りのない限り実効値(RMS)で表されています。実効値とは、その交流電流iのなす仕事と同じ仕事をする(つまり負荷で消費される電力がそれと等しくなる)直流電流Iに置き換えて表したものです。電力は電流の自乗となりますが、それ(i²)もまた常に変動するため、まず解析期間におけるi²の平均値をとります(図2)。そして、それをI²とし、その平方根が対応する直流電流I、つまりiの実効値ということになります。もちろん、電圧についても電力が電圧の自乗となるため全く同様です。なお、RMSというのは Root Mean Square(自乗の平均の平方根)のことを意味しています。
交流の波形として典型的なのが正弦波で、たとえば商用電源がそうです。正弦波交流の実効値は、そのピーク値(瞬時値の最大値)の 1/√2 倍であることが知られています。試しに定義にしたがって式を立てて確認してみましょう。正弦波などの周期関数では、1サイクル期間について解析すれば十分なので、ピーク値Ipで周期Tの正弦波交流 sin(ωt) の実効値Irmsについて表すと、図3の式(1)に示すようになります。これを解くと式(2)が得られ、正弦波交流の実効値がピーク値の 1/√2 倍になる理由が確認できました。
このように、波形が異なればピーク値が同じでも実効値は異なってきます。たとえば、矩形波ならピーク値の1倍、三角波や鋸波なら1/√3 倍となります。


交流回路の電力は上記の定義により VI または I²R などと直流回路と同等に表すことができます。しかし、それでも直流回路のように単純にはならない面もあります。交流では電圧と電流の大きさに加え、それらの間の位相関係もあるからです。たとえば、純リアクタンス負荷の回路では図4に示すように、位相がπ/2ずれた電流が流れることになり、電気エネルギーが電源と負荷を往復するだけで負荷での電力消費はゼロです。部分リアクタンス負荷の場合は、図5のように一部が負荷で消費され、残りが戻ることになります。電圧iと電流vに位相差φがあるとき、負荷で消費される電力は、VIcosφ となります。
このように、交流回路の電力は電圧と電流の積 VI だけでは決まらないことが分かります。それでも交流回路ではVIが重要な意味を持つことには変わらず、これを特に皮相電力(見かけ上の電力という意味)と呼びます。皮相電力の記号はS、単位はVAです。これに対し、実際に消費される電力 VIcosφ を有効電力と呼びます。有効電力の記号はP、単位はWで、単に電力と言ったときは有効電力を意味します。
供給される皮相電力のうち有効電力として消費される分の割合 P / S = VIcosφ / VI = cosφを力率といいます。力率が低くなると同じ電力を供給するためより多くの電流を流さなければならず、それだけ電気設備に大きな電流容量(一般家庭ならより大きな契約電流)が必要となり、不経済といえます。

これまでは、負荷電流が正弦波であることを前提に説明してきました。ところが、負荷の特性によっては電流が非正弦波になることもあります。たとえばコンデンサインプット型の電源では、図6のように入力電圧のピーク付近に集中したパルス状の入力電流が流れる特性があります。このような波形の電流には多くの高調波成分が含まれますが、基本波(=電源周波数)以外の全ての周波数成分は電力に寄与しない無効電流となります。これは、「異なる周波数の正弦波の積の積分はゼロである」ことによります。したがって、電流に高調波成分が多く含まれればそれだけ力率は低下することになります(cosφでは表せません)。またそれだけではなく、高調波電流が電源ラインの電圧波形を歪ませることによる障害が問題となっていて、地域によっては高調波電流に対する規制も始まっています。最近のTVやPCの電源ではPFC(力率改善)回路により力率が良く(98%以上)なっていますが、小容量のACアダプタなどはいまだに低力率(60%程度)なものが多いようです。
以上のことから、AC電源の負荷特性の項目として、電流、電力、皮相電力そして力率の4つは押さえておきたいところ。さらに、電圧、周波数など電源の状態、そして負荷がどの程度のエネルギーを消費したかを示す積算電力も加えてみます。また、せっかくマイコンを使うのだから、その演算能力を活用して電流の高調波成分や電流プロファイルの解析もできるようにしてみます。
電源電圧と負荷電流の波形だけを取り込めば全ての測定項目を得るために必要なデータが得られます。これら2つの信号は波形だけでなく位相特性も重要なため、同時サンプリングする必要があり、したがってADCも2個必要になります。幸いなことに使用するマイコン(LPC1519)は2個の独立したADCを内蔵しているので、マイコン単独でも対応できそうなところです。しかし、残念ながらそうはいきませんでした。電圧はほぼ一定なのに対し、電流は待機電流からヒーター負荷といったように変動範囲が1000倍以上に及ぶため、内蔵ADCの分解能(12ビット)では十分なダイナミックレンジが得られないからです。このように、電流については最低でも16ビットは必要になるため、外付けADCを使って取り込むことになります。
マイコンがとてもローパワーなので、アナログ回路、LCDCも含めた消費電流を10mA以下に抑えることができました。このため、電源はAC入力をリアクタンスドロッパ(直列キャパシタ)で直接降圧して得るようにしています。しかし、マイコンを含めた回路全体が非絶縁となるため、安全のため基板をプラケースなどの絶縁物で完全に覆って充電部が露出しないようにしなければなりません。非絶縁電源にはこのような扱いが面倒な面もありますが、メリットもあります。電源回路の単純化もそうですが、電圧と電流の測定についてもACラインとの絶縁の必要がなくなるので、それらにおいてもトランスのような大物部品が不要になるからです。その結果、コンパクトなセットに仕上げることに成功しています。そもそも、電流トランスは位相エラーや直線性エラーが大きく、精密測定には向いていません。
電子工作でよく使われている128×128ドットTFT-LCD ZY-FGD1442701V1 を使用しています。カラーグラフィック表示により、CLCDとは比較にならない多くの情報を表示することができます。LCDCそのものはそこそこロー パワーですが、LEDバックライトの電流がその他の回路以上に大きいため、バックライトを電源に直列に入れることで消費電流の増加を抑え、小さな降圧キャパシタで済むようにしています。
AC電源の極性(ライン/ニュートラル)をチェックする機能です。逆極性で電源に接続しているときは、アース電極に触れたときにLEDが点灯します。逆極性で使っても測定には何の影響もありませんが、コンセントの極性(長穴がアース、短穴がライン)が正しいかどうかをチェックするためにオマケ機能として入れてみました。

電圧と電流のサンプリングは16 kspsの固定レートで行います。SCTで16kHzの矩形波を出力して、これの立ち上がりを外付けADCと内蔵ADCのトリガソースとして同時サンプリングを行っています。また、立ち下がりで割り込みをかけて変換結果を取り込み、これをシステム全体のタイミング源としています。
サイクル当たりのサンプル数は入力周波数に依存しますが、これが常に一定になるようにすると後の処理が簡単になります。そこで、1サイクルが128サンプルになるようにリサンプリングを行ったあと1サイクル分の波形バッファにストアし、多くの解析はこのリサンプリングされたデータで行います。生サンプルデータそのものは、周波数の測定や連続して行われる必要のある積算電力の計算にのみ使用しています。
本機は4つの表示モードを持っています。表示モードはMODEボタンを押すたびに概要表示→波形モニタ→高調波解析→電流プロファイルと順に切り替わります。
リアルタイムに変更される表示はHOLDボタンを押すと更新を止めることができます。▲▼ボタンは、表示モードによって役割が異なります。
リサンプルされて取り込まれた1サイクル分の電圧・電流波形から、電流、有効電力、皮相電力、力率、電圧を表示します。波形取り込みはノイズを除去するするため、8サイクル分のアベレージングとしているので、表示更新頻度もその程度になります。また、それに経過時間、積算電力、周波数を加えた8項目が表示されます。周波数は64サイクルのサンプリング数から算出(レシプロカル方式)しているため、50Hzの入力なら2.44mHzの分解能となります。表示は10mHz単位に丸めた値としています。
取り込まれた1サイクル分の電圧・電流波形をスコープ表示します。それぞれの波形のピーク値が左下に表示され、ピーク値がある程度以上になるときは、波形が画面に収まるようにスケーリングして表示されます。
取り込まれた1サイクル分の電流波形に対してDFT処理を行い、電流の高調波成分を表示するモードです。波形はリサンプリングにより入力周波数にかかわらず128(つまり2ⁿ)サンプルにフィットしているので矩形窓でDFTを行うことができ、周波数分解能を落とすことなく解析することができます。周波数成分の表示はDC~39次までとしていますが、同時には画面に収まらないので、▲▼ボタンでスクロール表示します。DFTにより得られる各周波数成分の値は正弦波のピーク値なので、1/√2倍して実効値で表示します。なお、本機での高調波解析はIEC61000-4-7で規定する方法(200ms期間(10/12サイクル)のDFT解析)とは異なります。
電流の変動を水平ロール表示します。1サイクル毎に取得した電流値を1水平ドット/サイクルで表示するので、50Hzなら約2秒分の範囲が見られます。▲▼ボタンで縦軸の表示レンジを0.1Aから20Aの範囲で変えることができます。電流が表示レンジを越えた部分は赤で表示されます。また、表示開始からのピークホールド値は下に表示されます。大きな突入電流によって入力部の飽和があったときは、ピーク値が赤で表示されてその値が信用できないことを示します。これらのステータスはHOLD→解除でクリアされます。
回路が非絶縁なので、校正作業はDC電源を2台使って行う必要があります。回路の消費電流は少ないので、一時的に電池(TP6-GNDに9V電池を接続)をつないで書き込みや校正を行うと良いでしょう。P0_13をLレベルにして電源を入れると校正モードに入るので、表示に従って次のように校正作業を行います。得られた校正値はマイコンのEEPROMに書き込まれます。

コンデンサインプット型電源。入力電圧のピーク付近に集中してパルス状の電流が流れるため、電流には奇数次高調波が豊富に含まれ、力率も悪い。電源周波数は正確ではないことに気付いた。±0.1Hz程度の範囲、数分程度の周期でゆらいている。もちろん、長いスパンで見れば正確である。
