mbedによる自宅の電力消費量測定 単相3線式対応

mbedによる消費電力測定システムを作成して使用していましたが、自宅の分電盤は「単相3線式」になっており、電流センサー一つでは片系の電力しか測定していない事がわかりました。

中部電力のサイトに、「単相3線式」を説明する図がありました。

100Vは赤と黒の2系統あるので、センサーをそれぞれに付けて電流を測定する必要があります。
さっそく、電流センサーと回路を増設しました。

分電盤とmbedによる測定システム

赤、黒それぞれに電流センサーを接続

ブレッドボード上に回路を増設

mbedをのせているブレッドボードは、まだ余裕があったので、同じ回路を増設し、アナログ入力ポートを追加しました。
測定データが増えるだけなので、ソフトウェアの変更も簡単に終わりました。

下は結果表示のグラフ例です。

2系統の消費電力グラフ表示

 冬になって、暖房や浴室乾燥機を使用するようになり、消費電力が増えてきました。
どの機器が消費電力が大きいか、視覚的にわかるので非常に便利です。

mbedによる自宅の電力消費量測定

mbedを使用して、自宅の電力消費量を測定し、ロギングするシステムを作成しました。

分電盤の横に設置したシステム

分電盤に電流センサーを取り付け、出力をmbedのAnalog inで測定し、webサーバーに送信します。
電流センサーは、U_RDという会社のCTL-10-CLSクランプ型センサーを使用しました。クランプ部分が開くようになっていて、分電盤の電源ラインに容易に取り付け可能です。

センサーで測定した電流が電圧に変換されて出力されます。それを技術情報に掲載されている「平均値整流型電流変換回路」で直流電圧にして、mbedで測定します。センサーはブレーカーの入り口のケーブルに取り付けました。

ブレーカに取り付けた電流センサー

mbedは、ブレッドボードに載せて、適当なプラスチックケースに納めました。ブレッドボード上に上記技術情報にある変換回路を実装しています。

ブレッドボードに実装したmbedと平均値整流型電流変換回路

平均値整流型電流変換回路

RLは100Ωで、ブリッジのダイオードは指定通り電圧降下の低いショットキーバリアーを使用しています。
交流電流Ioと出力電圧Eoは以下の変換式で表されます。

出力電圧 Eo=0.9・K・Io・RL/n(VDC)

n(巻数)はこのセンサーでは3000になります。kはRL=100Ωの場合、1になります。(センサー特性より)
この式で交流電流Ioを算出し、電力に変換しています。

Etherインターフェースは、PLANEXのMZK-RP150Nをコンバーターモードで使用して、無線LANに変換しています。
マッチ箱程度の大きさで、非常に小型です。
電源は、AC100Vを近くまで延長し、小型の2ポートUSB電源を使用してmbedとMZK-RP150Nに供給しています。
ケース内に入れると電波到達や発熱が心配なので、両面テープでケースの前面に貼付けています。

ケースに貼付けたUSB電源と無線LANアダプター

電流を約2秒に1回測定し、Webサーバーに平均値を10分間隔で送信しています。
webサーバーには、mbedからデータを受け取ってテキストファイルに保存するPHPプログラムを置いています。

保存されたテキストファイルを読んで、グラフに表示するPHPプログラムも合わせて作成しました。

PHPによるグラフ表示

これで、どこからでも自宅の電力消費量を確認できるようになりました。
グラフ上部には消費電力の積算値をKWhで表示しています。
mbedとPHPのソースコード詳細は別途掲載できればと思います。

*このシステムの作成は、個人的に行っているもので、これを見て作成され何らかの不具合・故障・事故等が発生しても、当方は一切責任を負いません。あくまでも自己責任で行い下さい。

mbedに屋外の気温・湿度測定用センサーを接続

mbedに、屋外の気温と湿度を測定するためのセンサーを接続しました。
使用したのは、Sensirion社のSHT11という、1チップで温度と湿度を測定できるもので、ストロベリーリナックスで購入しました。
こちらで購入すると変換プリント基板が付いてきます。

写真のように、プラスチックのシール容器にSHT11の基板を両面テープで貼付け、電話用の4芯ケーブルで接続しています。
SHT11は、I2Cインターフェースでデジタル接続できるので、ある程度ケーブルの長さがあっても大丈夫です。(これが屋外用にSHT11を選択した理由です)
当方は、5mの長さのケーブルで接続しましたが、特に問題なくデータのやり取りが行えています。mbedとは、データシートにある通り、10kオームの抵抗でデータラインをプルアップして接続しています。


シール容器の下部には、5mm程度の穴を複数開けて、空気が出入りできるようにしています。これで特に雨がシール容器内に吹き込んだりはしていません。

ベランダに設置したセンサーBOX

測定はmbedで10分毎に行われ、データはPHP POSTでサーバに送信し、csvファイルに保存されます。
測定結果をグラフ表示するPHPプログラムを作成しました。

屋外の温度と湿度変化グラフ表示

以下のリンクで、現在と昨日のグラフが表示できます。
調布市布田の温度、湿度、気圧グラフ表示

全体のソースコードは、ちょっときれいにしてから公開出来ればと思います。
(今は、つぎはぎでぐちゃぐちゃな状態なので)

mbedを使用した温度・湿度・気圧ロガー

mbedマイクロコントローラーを使用した、データロガーを作成しました。

温度・湿度・気圧を測定して、Web/httpサーバーに送信します。
温度センサー(LM35)と湿度センサー(CHS-UGS)は、mbedのA/Dコンバーターで出力電圧を読んで各値に変換します。
気圧センサー(SPC1000)は、SPIインターフェースで接続され、デジタルで読み取ります。

データは10分毎に測定され、httpサーバーのPHPプログラムにpostメソッドで送信します。
サーバーでは、受信したデータをcsvファイルで保存し、以下のように別のPHPプログラムでグラフ表示させています。


今までは単体の気圧計等を使っていましたが、時系列の変化はもちろん追うことはできず、気象庁のデータをグラフ表示して利用していました。
(PHPのメニューに入れています)
これで、ネットに繋がっていれば、どこからでも自宅の温度・湿度・気圧変化がモニター可能になりました。

mbedは「高速プロトタイピング・マイコンモジュール」と呼ばれ、以下のような多くの特徴を持っています。

  • Analog・Digital In/Outや、SPI,I2C,USB,シリアル等、多種類のI/Fが小型のボードに全て集約されている。
  • EtherのI/Fも実装されており、安価なパルストランスを接続するだけでIP接続が可能になる。
  • PCとはUSBケーブルで接続でき、電源もそこから取れる。PCと接続せず、電源だけUSBから供給しての単体動作も可能。
  • USBから5Vで供給して、ボードから3.3Vを出力可能で、それが必要な外部ICの駆動に便利。
  • 基盤のヘッダが標準ピッチで並行なので、ブレッドボードに簡単に載せられる。
  • 開発ソフトエアがWebのクラウド上にあり、ブラウザだけあればプログラム作成可能。当然MacでもPCでもOKで、特別なソフトウェアのインストール等が不要。
  • 言語がC++で非常に柔軟にプログラム制御可能。
  • 多数のライブラリーを簡単に利用できる。特にWeb関係のhttpライブラリーが非常に充実しているので、Webサーバーとの連携やTwitterへの送信など高度な機能が実装できる。

特に最後のライブラリーが非常に強力で、PHPと連携するプログラムが簡単に実現できました。ベーシックなDHCPによるIPアドレスの取得から、PHP/POSTまでほんの数行で実現できるのには感動しました。
アナログ系の温度・湿度センサーは、センサー自体がデータをリニアに電圧に変換してくれるので、プログラムは単純換算するだけで簡単ですが、気圧の方はSPIのデジタル接続で、バス制御やコマンド受け渡しが複雑です。ところがなんとこのSPC1000用のライブラリが公開され、これで簡単に気圧測定データの読み込みが可能になりました。クラウド上の開発ツールは、世界中の開発者が作成した上記のようなライブラリーが無料で利用できるようになっており、非常にすばらしいと思います。

mbed 開発画面

現在は室内で測定しているだけですが、次のステップでは屋外にセンサーを設置して、そのデータを取り込めればと思います。

このmbedを使用すると、他にも面白いことが色々実現できそうです。
良い楽器(当方の場合リュートですが)を入手すると、自分の能力が何十倍にも拡大されたような興奮を感じることができますが、このmbedもそれと同じような気持ちにさせてくれます。