消費電力のモニタリング

家の消費電力をモニタリングするものをここの所作っていましたがようやく何とか動きました。
モニタリングの目的は、待機電力ってどこがどれくらい使っているのかな、とか、非常用電源装置の容量はいまの使い方だとどの程度必要なのかな、とか、電灯線ってどんな電流が流れてるのかな?とか、単なる興味から、ということです。
電力のモニタリングは、家の分電盤で行います。
分電盤の漏電ブレーカーのところの配線に、カレントトランス(これとか、これとかを挟み、配線に流れる電流をモニタリングします。また、電圧も見るために、ACアダプターを改造して、コンセントの電圧もモニタリングします。
消費電力は、その電流と電圧を掛け算することで求められます。
また、電流の平均値、電圧の平均値から見かけの消費電力が出ますが、それと実際の消費電力の比から力率も求められます。
ACの電流、電圧のサンプリングなどはArduinoボードのADコンバーターで行いました。
データの取得に必要なハードウェアは、こちらを大いに参考にさせていただきました。私の回路の方は、行き当たりばったりに、ジャンク箱にある部品で作っているので、とても人にお見せできるようなものではありません!
ACの測定をするのに、5Vを10kオームで分割して、中点の電位をADで測りつつ、そこを基準にして、ACの電流電圧の測定をするところなどは、先のページとほぼ同じ構成で作っています。
私は、家全体の東京電力からの供給電力、非常用電源装置の充電用供給電力と、インバーターの出力電圧を見たいと考えたので、ちょっと変則的に、
単相3線のうちの片側の電圧で東京電力からの電圧(v1)を測定、単相3線の電流の和(a2)を2このカレントトランスを直列にして測定, 家全体の東京電力からの供給電力はv1*a2.
非常用電源装置の充電用供給電力は、電圧は先のv1と同じ。電流a1は、電源装置行きの系統のラインにカレントトランスを挟み測定。電力は、v1*a1
インバーターの出力電圧は、非常用電源装置が働いたときにはインバーターの出力なので、東電のと関係がなくなりますので、別のチャンネルで測定(v2).
という3種類の情報を収集するように作りました。
ADのサンプリングは、参考にさせていただいたこちらのスケッチをそのまま使うのではなくて、私のシステムでは、インバーターの出力電圧を測ったりする関係で周波数が変わることに対応できるようにプログラムを少し工夫しました。
具体的には、電圧が0Vを横切るタイミングを見つけて、そこから、ACの1周期+アルファ程度の期間のデータを取り、データを取った後1周期後にまた電圧が0Vを横切るタイミングを探し、1周期の長さを確認して、1周期分の電力値などを計算するようにしました。
0Vを横切るタイミングからデータを取ることで、データのとるタイミングが多少ずれても、積分した電力値の誤差が小さくなることが考えられます。
voltcurr.png
これが、arduinoで収集した電圧、電流のデータの例です。複数のサイクルの取得データを重ねてみています。
ADにも有限の時間がかかりますので、そのタイミングの問題で、必ずしも、ばっちり同じ位相でデータがとれているわけではないですが、許容範囲かな。電流はかなりひしゃげていますが、これでも力率は0.9以上あります。
arduinoには、イーサネットシールドを取り付けて、取得した情報はUSBシリアルにも流しますが、arduinoボードにWebサーバーを立ち上げて、そこをアクセスすると情報がみられるようにしました。
とはいっても、そのためのプログラムは、サンプルに入っていたWebサーバープログラムを引っ張ってきて、表示する情報のところを書き換えただけですが。。。
表示する情報は、電力、各電流・電圧の最大最小RMS値、力率、積算電力量(kWh)と波形(シリアルのみ)です。
そのまま役立つ人は一人もいないと思いますが、一応スケッチを貼っておきます。
powermeter.ino
作り始めた時は、データはSDメモリーに保存しつつ、イーサネット上にUDPのパケットを吐き出して、結果を他のPCに通知するようにしようと思っていたのですが、ためしに採用してみたWebサーバーが実は便利だと思ったので方針変更してます。(スケッチ内のコメントはそのまんまになってしまってます)。
こんな感じ
DSCN0245.jpg
で、分電盤の横からカレントトランスの配線をだし、ACアダプターを改造した電圧プローブを取り付けるためのコンセントとarduinoのボードを入れた箱を壁に固定しています。とっても雑。
…..
さて、動かし始めて気が付いたこと。
待機電力が思った以上に多いこと。
なんと300W近くあります。ありえない!!!
一応あれこれ消して様子を見た結果わかったことは、
1.浄化槽ポンプの消費電力は結構大きい。
2.次に給湯器の消費電流も無視できない。
3.それ以外のものの待機電力は精々10W程度ではありますが、チリも積もれば山となる。
もう少し待機電力を下げられるように努力していこうと思います。

いろいろ

最近DIY疲れ気味であまり進捗がないですが、メモ代わりにやったことを書いておきます。
1. 気象観測装置関係
防護管にLANケーブルを入れて、データの処理をしているPCまで直接データの接続をおこなうようにしました。
20mのLANケーブル上にPoEで12VのArduinoボード動作電源とRS485の配線をしました。
データは、1分おきに収集・保存し、Webにグラフ等を表示しています。
近隣の観測点のデータが気になるので、辻堂、海老名、横浜のアメダスデータを気象庁のページから取り込んで比較しています。また、昨日と今日の違いなどが見えるように、時間ごとのデータを昨日と今日の分を表示しています。
weather_5.png
こんな感じ。
また、マイ気象ポータルのような感じで、天気図や、Webカメラ、地震分布などその他近隣の観測データを一緒に表示するようにしてみました。いろいろなデータを一緒に見ることで、気づきがあって楽しいです。
気温を1分ごとに測定してわかったんですが、前線が通るときって急激に温度変わっていますね。最初温度が急変したときに「測定装置壊れた?」と思ったのですが、近隣のアメダスデータでも温度が急変していることに気が付いて、天気図を眺めて温暖前線の通過だとわかった次第。
また、風速のデータからは、我が家はやっぱり風が強い。周りがあまりたてこんでいないのと、高台っぽいところなのが影響しているのかな。
2. 家の電気消費を記録したい!
太陽光発電などをしていると電気代がどれぐらい軽減されるのか、また我が家では電気をどの程度どの時間消費しているのかを測りたくなりましたので、分電盤のところで、電流と電圧を測ってやろうと思います。
今のところ電流プローブをsparkfun これとか、これとか購入してAC電流を、ジャンク箱の中のACアダプターをばらしてコンセント電圧観測アダプターをつくり(作り方はネット検索で出てきます)、オシロで波形を観測しているだけですが。
ArduinoでこのACの電流電圧を計5ch 程度で測り、各部消費電力を算出するものを作って、気象データ収集系と合わせてみようと思っています。
とりあえず、今日は、カレントトランスの感度の確認。
1/2000 のカレントトランス。
カレントトランス10オームの負荷抵抗に30mVの電圧が発生しているときの電流7A(クランプメーターで測定)。
一応、大体スペックとあっていますが、結構電圧小さいので、そのままでは測定難しいかも。もう一方のカレントトランスの方が感度が高そう。
3. ダイニングテーブル届く。
大塚家具で購入したダイニングテーブルが届く。飛騨の工場で作っているとのこと。チェリー材の150cm x85cm程度のテーブルです。もう少し幅広でもいいかもしれませんが、あまり広い部屋でもないので、せまっ苦しくない方がよいと思い、この寸法にしています。
DSCN0181.jpg
Yチェアも購入したいとか妻が言っています。
4. コンパクトデジカメ購入
夏に買ったスマートフォン(docomo optimus-it)のデジカメがあまりに使えないので(どう頑張って撮っても塗り絵)、携帯しやすいデジカメが欲しかった。
とうとう我慢できずに購入。 Nikon P310
明るく(F1.8)、広角(24mm相当)レンズが小さなボディーについていて、夜の感度がよくって、いろいろな機能(インターバル撮影)がついているところにぐっと来た。さらにお値段も、2万円でケースを付けられるぐらいなのが良い。マクロもまあまあ寄れる。
というわけで、お散歩のスナップなどに活躍していますが、こんなものを作ってみました。
121209_nightsky.wmv
これは、我が家のバルコニーから1分おきに夜空のインターバル撮影をして、撮影された画像をWindowsのムービーメーカーでムービーにしたものです。時々流星のようなものが見えますがこれはおそらく羽田から飛んでいる飛行機。我が家の真上が航路だったんだー。と気づきました。
こんな小さいカメラで簡単にこんなものが作れるなんていい時代になったもんだ。と思いました。
ちょっとした欠点?は、マニュアルフォーカスの調整が難しいのと、充電器がACアダプターの代わりにならないこと。充電器コードをカメラに接続するとカメラの電源が入りません。
というわけで、この高速度ムービーは、内蔵の電池が切れることで時間の限界になってしまってます。
5. 床暖房の動作状況の調査。
太陽熱温水器を作ってそれで床暖房のアシストをするために、まず現在の床暖房でどのような温度制御をしているのか、床暖房の戻り配管の温度を測定してみました。
大体35℃でガスで湯沸しをして、45℃でガスを切るような感じで制御をしているようです。大体1時間周期で温度が変化しています。
床暖房のスイッチを入れた時は、1時間程度50℃近くで温度を維持して、床を早く温めようとしています。
何となく動作の方向性がわかった。
こんな感じでちょこちょこと遊んではいますがあまり進捗していません。

気象観測装置をつくる

太陽光発電と太陽熱温水器関係で、気温などを取っていると、我が家の気象のデータを取って、気象庁の発表している近隣の場所との関係を比較してみたくなりました。
そういうわけで、ずいぶん前に気象観測が一通りできるようなものを作ってみようと思っていましたが、家の建築とそのあとの整備が忙しくて、取り掛かれませんでしたが、この週末にようやく作ってみました。
いろいろな観測項目のセンサーは今はいい時代で安価に購入できます。それらセンサーをArduinoにつないでデータをとり、SDメモリーに書くとともにシリアル出力をして、ネットワークから読み出すように作りました。
観測項目とセンサーは下記のとおりです。
1.気温、家の温度
サーミスターを使って測定。サーミスターは、測定するときだけ電流を流すようにしてみました。家の温度というのは、家の屋根裏の空気を換気扇で排気できるようにしたので、その排気温を測って、屋根裏がどの程度暑くなっているのかを調べます。今の時期ですと、換気扇はとめていて、なるべく屋根裏が温まったのが室内に導入されるようにしていますが、どの程度屋根裏に熱がたまっているかも排気をしたら測定ができそうです。
測定プログラムは、arduinoのページにも記載があるので結構簡単にAD値から温度への変換も含めてできました。
2.風向、風力、雨量
Sparkfun のweathermeters というのをGalileo7から購入しました。
arduinoへの接続もサンプルプログラムがダウンロードできますので、そのサンプルのうち関係したところだけを抜き出して、ライブラリを作って使いました。
このサンプルプログラムで、風速 m/s, 風向, 時間雨量 mm/h が測定できます。雨量は、サンプルプログラムは、時間平均まで測定していて優れていると思いました。
3.気圧
MPL115A2 というチップを購入してI2Cバスに接続しました。こちらも読み取りと物理値の変換プログラムがチップの発売元のページからapplication noteがダウンロードできましたので、それを参考につくりました。
(が、今のところ、ちょっと内容をてんこ盛りにしすぎて、メモリが足りなくて動かないので、気圧に関しては太陽熱温水器のコントローラーの方で測定しています)
4.湿度
DHT11 というセンサーをArduinoにつけています。プログラムもArduinoに例があるので、それをパクリます。
5.照度
日が出ているかどうかの測定は、日照計を使うわけですが、高価なものなので、簡易的なものをなるべく安く作ります。
太陽電池を低い値の抵抗でシャントして、電圧をarduinoで読み取ることで、太陽電池の短絡電流を測ることで照度の測定をすることにしました。
シャント抵抗は、ジャンク箱の中に入っていた2オームを使いました。また、太陽電池は、屋外で使うので、一応雨などの対策が取られてそうなものを考え、かつ安上がりに作りたいなということで、
ダイソーのソーラーガーデンライトを改造して作りました。なんといっても屋外で使う前提だし、取り付けようのパイプなどもついてくるのでとっても便利。お値段もこれ以上ないほどの安さの100円だし、言うことありません。
以上で、大体高機能なアメダス相当(当然、校正されていないので、精度は比べられませんが!)の測定ができそうです。
取ったデータは、SDメモリーに保存しつつシリアルで出力して、読み取りますが、屋外にセンサーを設置する関係で、家の中に引き込むのに距離があるので、RS485を使うことにして、ArduinoにLTC1485をつけて、RS485インターフェースを付けました。また、配線をすっきりさせたいので、秋月で売っているトライステートの PoE キットを使って電源の供給とRS485の配線をLANケーブルで行うことにしました。LANケーブルはどこでも売っているのが良いです。
PoEのキットを使ってArduinoに電源を送っていますが、12Vの電源を供給したら1V弱の電圧降下が20mのLANケーブルで発生しましたが、全く動作に問題ない範囲なのでOKとしました。
RS485はRS232Cに変換して、PCでデータの記録と自動プロットなどの処理をします。
IMGP5551.jpg
これが設置した、Sparkfun の風向風速、雨量計です。箱型のが、雨量計で、ますが雨水がたまったところでパッタンパッタン動いて雨量をカウントします。
BSアンテナとUHFのアンテナをマウントしているポールにSparkfunのキットについてくるポールを差し込む形で取り付けました。
気持ちよく風速計と風向計が動いています。
黒いのが、ダイソーのガーデンライトを改造して作った照度計。というか見た目ガーデンライトそのまんまです。
照度を求めるのに、何かドームをかぶせたりした方がいいと思うのですが、これはこれからの検討事項。
IMGP5555.jpg
ArduinoボードとPoEアダプターは、防雨ボックスに収納して、端子盤なども配置しつつ配線をしました。
自動プロットまではまだ作りこめていませんが、とりあえず、ちゃんと雨量計と照度計が動作していることは、雨が降ったので確かめられました。

非常用電源装置の動作メモ

非常用電源システムの動作について、調べています。
12/11/18 21:40 測定
DC電源 31.48V 電流制限回路 30.88V 0.59A バッテリー 27.79V 0.53A インバーターON負荷なしの条件
ここで、停電を模擬して、非常用電源装置の試験をしてみました。
12/11/18 夜21:50
分電盤のところに設置した切替スイッチで、非常用系統へ切り替えを行う。 リビングTV,照明(白熱灯など含む),給湯器, 浄化槽ポンプ, インターネットルーター等が非常用の系統に切り替わる。
消費電流は非常用全体で 100V 5.6A程度。非常用の系統につけたブレーカーは15Aだったかな?OK。
装置のインバーターは転換スイッチ付きなので、この段階では、商用からバイパスされている。
停電を模擬するために、インバーターへの商用電源入力を断。
バッテリーからに切り替わり、インバーターへバッテリーからの電流 23.6-26.1A 流れる。 このとき、バッテリー電圧 24.6Vに低下。
インバーターのファンがガンガン回って一生懸命電力を変換しているような感じでした。
バッテリーへの充電は活かしたままなので、バッテリー充電に2.6A 流れている。
停電終了させる。
バッテリー電圧は、25.3V 程度に戻る。
チャージャーの充電を切っても、25.5V程度であまり変わらない。負荷が減ったのでゆっくりとバッテリー電圧が回復しているようだ。
試験終了。系統切り替えスイッチを元に戻す。
インバーターの効率ははっきりとはわかりませんが、85%程度?まあまあ、よい。
電流を少しでも減らすために24V系でシステムを作りましたが、それでもやっぱり電流はたくさん流れるなあ。バッテリーが115AHのものを2並列なので、0.1C程度の放電率ですが、定格容量は20時間率(=11.5A程度の放電)なので、その約2倍の放電率ですね。まあまあ厳しい条件です。
ソーラーパネルによる充電はせいぜい12A程度だと思うので、今回のような条件でバッテリーを放電しながらだと、ソーラーパネルに太陽の光がフルにあたっていても、蓄電池は放電を続けるということですね。
というわけで、これは、あくまで非常用として使わないといけないです。

非常用電源装置の製作(その?)

今、太陽熱温水器と独立型太陽光発電と非常用電源装置を組み合わせたようなものを作っています。
非常用電源装置は、鉛蓄電池からインバーターを通じて100VのAC電源をつくります。
鉛蓄電池は、太陽光パネルからの電力で充電するのですが、MPPT型のチャージコントローラー(Sunsaver MPPT)を昔購入していたので、それを使って充電します。
製作はかなり前に始めていましたが、ちょっとした問題があったため、その解決のために完成にかなり時間を要してしまいました。
その問題というのは、インバーターやチャージコントローラーの待機電力の問題です。
インバーターが待機電力を食うので、鉛蓄電池を充電しておかなければ、電池が空になってしまいます。
ソーラーパネルはその充電のためにあるのですが、ソーラーパネルだけでは少し心もとないです。前に、充電が不十分で電池を過放電させてしまったことがあるため、今回は、充電が不十分な時に、商用電源から充電をしておく必要があるとおもいました。
商用電源からの充電は、ソーラーパネルと並列に、DC電源をMPPTチャージャーに接続することで、擬似的なソーラーパネルのように扱って、MPPTチャージャーに統一して充電の面倒を見てもらうことにしました。
MPPTチャージャーにDC電源をつなぐときは、電流の制限をする必要があります。そのため、電流制限回路を作り、DC電源とMPPTチャージャーの間に挟みました。ソーラーパネルと電流制限回路の出力はショットキーダイオードを挟んで並列つなぎしました。
電流制限回路は、PCH MOSFETを使ったものですが、人の作った回路をそのまま拝借しました。
回路はこんな感じです。
非常用発電装置_商用電源からの充電.jpg
電流制限抵抗は、DC電源(蓄電池が24V系なので、30V程度の出力が必要)をパソコン用のいらないACアダプターを直列にして作った関係で、2A程度しか取れないので、とりあえず0.3オームとして、2A程度に制限するようにしました。
あとで様子をみて、もっと容量の大きいDC電源を用意したときには、電流制限抵抗を小さくすればよいです。
最初に、電流制限装置の動作を試験するために、回路の出力を直接蓄電池につないでみました。
DC電源の出力 31.19V 電流制限回路出力 26.7V 2.08A
電流制限抵抗0.3オームの電圧 0.617V
蓄電池の充電が進むと出力が28.3V 1.96A -> 28.7V 1.93A と変化しました。
問題なし。
次に、MPPTチャージャーを経由した接続に変えて、動作させてみました。
DC電源の出力 31.26V
電流制限回路出力 30.3V 1.48A
(0.3オームとMOSFETとショットキーダイオードが間に入っているので、妥当)
MPPTチャージャーのバッテリー接続 28.54V 1.58A (MPPTがちゃんと動作しています)。
インバーターの待機電流 0.33A (9.4W!)
ためしにインバーターをOFFにしたときの動作も見ておきます。
MPPTチャージャーのバッテリー接続 28.53V 1.14A
この時電流制限回路の出力 30.54V 1.15A
うまく動作しています。
よさそうなので、しばらくこれで電池を充電しておきます。
ソーラーパネルはまだ接続していません。配線の引き回しを日が沈む前にしてしまいたかったけど、間に合わなかったのでまた今度。