google-site-verification: google3bd66dd162ef54c7.html

Arduinoとアナログ電力量計で作った電力ロガーの測定事例

 完成した誘導式電力量計を使った消費電力ロガーは、消費電力がゼロ近くになるとうまく測定出来ないという問題があります。でも、データーが変になったところは後である程度は修正出来ます。それにSDカードに記録しているので長時間の記録が可能という特長があります。

 ということで実際に記録を採ってみました。まずはウォーターサーバーです

▼ウォーターサーバー(クリクラ サーバー04Le)消費電力測定中
ウォーターサーバーの消費電力測定中

▼生データー
ウォーターサーバー生データ
 大きなピークは回転検出穴でパルス割れが発生したため発生しています。また、円盤の回転が止まるとデーターが更新されなくなるため同じ値が連続して記録されています。

 このような異常値を取り除いたのが次のグラフです。

▼ウォーターサーバーの消費電力
ウォーターサーバー消費電力
 約27時間の連続測定結果で、記録間隔は1分です。

 80ワット付近の値は冷凍用のコンプレッサーの動作時、330ワット付近の値は加熱ヒーターの動作時で、410ワット付近の値はその両方が動作している状態と思われます。半日くらい電源を切った状態からスタートしたので、定常状態に持って行くために、最初はヒーターとコンプレッサーが動き続けています。

 平均の消費電力はエクセルで簡単に計算出来ますが、異常値の修正処理がうまくいっていない可能性があるので、あえて細かい値は書きませんが、およそ50Wくらいの消費電力になっていました。

 次は冷蔵庫です。この冷蔵庫の消費電力は以前回路を使って測定したことがあるのでその時の結果と比較出来るはずです。なお、前回は皮相電力測定でしたが今回は有効電力測定になっています。

▼冷蔵庫の消費電力測定中
冷蔵庫の消費電力
 この冷蔵庫は3年前に買った物で、PanasonicのNR-F568XGで、555リットルの6ドアです。

▼エクセルで測定結果の整理中
ロガーの出力をエクセルで整理中

▼生データー
冷蔵庫消費電力、生データ
 クリーピング防止穴の誤検出が原因の大きなピークがあります。

▼異常値を除いた消費電力
パナソニック冷蔵庫の消費電力
 約92時間分のデーターです。180ワットくらいのピークは霜取りを行っているものと思われ、その後消費電力が100ワットくらいになっているのは温度の上がったコンデンサを再度冷やしているのだと思います。
 定常状態では50ワットくらいで運転していて、時々コンプレッサを止めているようです。コンプレッサが止まっている状態の消費電力は7ワットくらいで、これは主にドアまわりの結露防止ヒーターの消費電力ではないかと思います。
 なおこの測定期間全体の平均消費電力は51.2Wでした。

 同時に記録しているデーターです。

▼温度(CPU温度)
温度変化
 このところ涼しくなったので、その様子が記録されているようです。

▼周囲の明るさ
明るさ
 このグラフは下側が明るい状態を示しています。ということで値が上に張り付いている期間は部屋が真っ暗だったことを表しています。このロガーはRTCを持たないので正確な時刻は判りませんが、明るさのデーターがあれば、およその時刻を推定することが可能です。

◆まとめ
 異常値が記録されてしまう問題を何とかする必要がありますが、そこそこ使えるデーターロガーが出来ました。SDメモリーカードなのでデーター量を気にしないでいいのが嬉しいです。

 ところである程度予想していたのですが、ウォーターサーバーの消費電力はかなり大きかったです。大雑把に言うと、最近の大型冷蔵庫と同じくらいの消費電力はあるようです。我が家では使わない時は出来るだけメイン電源を切るようにしていましたが、こういう使い方で正解だったと思います。
 冷蔵庫の消費電力は各社が熾烈な競争を行った結果ここまで下がった訳ですが、ウォーターサーバーでもこのような競争が行われて欲しいところです。

Arduinoとアナログ電力量計で作る消費電力ロガー、完成しました

 このあいだから取り組んでいた誘導式の電力量計(電気メーター)とArduinoを使った消費電力ロガーが完成しました。実は完成したと言っても、ちょっと問題のある物になっているのですが、これ以上改善するのも難しそうなので現状を記事にしておきたいと思います。

 少し間が空いたので、測定原理からざっと説明しておきます。

▼電力量計
誘導式電力量計
 これはヤフオクで落とした機械式(誘導型)の電力量計です。この円盤の動きをレーザー光で検出して電力ロガーを作るというのが今回の試みです。

▼回路図 (クリックで別窓に拡大)
電力ロガーの回路図
 Arduinoを使って液晶表示とSDメモリーカードへデーターを記録します。

▼配線の様子
Arduinoで作る電力ロガー
 木で作った電力量計のスタンドの裏側に、Arduinoとブレッドボードを取り付けています。

 電力量計のパルスを読んで電力を計算するプログラムと、データーをSDメモリーカードに書き込むプログラムを既に作っているので、両者を合体させれば消費電力ロガーのプログラムが完成します。

 完成した電力ロガーのスケッチはこちら (Shift-JISエンコードになっています)

▼液晶表示
表示
 1行目は以前のSDカードロガーと同じで、先頭から記録インターバル表示、記録行数表示、温度表示です。2行目は現在の電力と、累積電力を表示します。なお、記録開始前には LogConf.txt で指定した記録条件の一部を表示しますが、ここは以前作ったSDカードロガーと同じです。

▼ログ出力例
ログの例
 csv ファイルをエクセルで表示したものです。

▼動作テスト
クリクラの電力測定
 ウォーターサーバー(クリクラ サーバー04Le)の消費電力を測定してみました。 仕様の銘板によると、73Wの冷凍用のコンプレッサーと、湯沸用の350Wのヒーターが入っているようです。実際に消費電力を記録してみると、最初は410Wくらいの消費電力で、時間が経って安定すると、ヒーターとコンプレッサーが各々断続運転モードに入っていました。

◆問題発覚
 これで、めでたく完成かと思っていたら、思わぬ問題がありました。

 このウォーターサーバーはヒーターなどが入っていない時は消費電力がほとんどゼロになりますが、そうなると電力量計の円盤が廻らないので電力の測定が出来ません。
 例えば直前に400Wの消費電力があって待機状態に移行したとします。この場合、新しい値が得られないので、測定結果はずっと400Wのままになってしまいます。実際の消費電力はゼロなので、これでは大きな測定誤差が発生してしまいます。

 長時間円盤が回転していないことはプログラムで検出できるので、補正をかけるようにすればある程度の解決策にはなりそうですが完全な補正は難しいと思います、それにアルゴリズムはかなり面倒になります。
 別の解決策として、5Wくらいのダミーロードを入れて、消費電力がゼロにならないようにしてしまう手があります。でもこれって、簡単ですが、あまりスマートな方法ではありません。

 あと、円盤の回転速度が遅い場合、レーザー光の立ち上がり速度が遅くなるため、検出パルスが割れてしまって異常に大きな消費電力として検出される問題があります。これはハードかソフトで対策可能ですが、上に書いたような本質的な問題が解決できたら考えることにします。

◆今後の予定
 作ってみたら本質的な問題にぶち当たってしましました。少なくても数ワットの消費電力はあると思っていたのですが、まさか完全にゼロになるものがあるとは思いませんでした。仕様検討不足です。

 電力が小さくなると測定時間が長くなるので感度を倍にするなどの手を打っていたのですが、完全にゼロになられるともうお手上げです。ということで、この話はおしまいにすることにします。いつもなら記事に掲載するプログラムは清書しているのですが、今回はモチベーションがすっかり下がってしまったので、書きっぱなしになっています。ご容赦ください。

 とは言っても、せっかく作ったロガーなので、データー取りが終わったら出力例のグラフをちょっとだけ次の記事で公開したいと思います。

RTCのバッテリーバックアップ回路

 マイコン工作で正確な時刻が必要な時に、リアルタイムクロック(RTC)は欠かせません。メイン電源が落ちていても時計を動かし続けるために、RTCの電源は電池でバックアップしますが、この回路の部品の選定について、電気の迷宮のFriendship 7さんが、バッテリーバックアップ回路のDiとRを厳密に選定というタイトルで詳しい解説記事を書かれています。

▼バッテリーバックアップに使うコイン電池とダイオード
コイン電池とダイオード
(この写真の電池はCR2025ですが、記事で使った電池はCR2032です)

 バッテリーバックアップ回路は、ダイオードで主電源と電池を切り替える方法が簡単です。これまで私はあまり深く考えないでショットキーバリアダイオード(SBD)を使っていましたが、Friendship 7さんの記事によると小信号用のスイッチングダイオードの方が良いそうです。

 実は2ケ月前にソーラータイマースイッチを作ったのですが、その時はSBDを使いました。良い機会なので、そのハードを使ってダイオードの違いで電池の充放電電流がどのように変わるか実測で確認することにしました。

◆測定準備
 測定する電流は10nAオーダーと微小です。テスターのテスト棒を手に持ってプロービングなどすると人体からの誘導などの影響でまともに測ることは出来ない可能性が高いです。とは言っても回路を切断して測定用の線を引っ張り出すのは面倒です。ということで、測定用に簡単な冶具を作りました。

▼電池電流測定アダプタ
電池電流測定アダプタ
 PETのシートの裏表に銅箔テープを貼り、そこに測定用のツイストペア線を接続しました。

▼使い方
電池に流れる電流測定
 電池ホルダーに入っている電池の上に測定アダプタを差し込んで電池電流を測ります。

▼電流計
バックアップ電流測定
 DMM(アドバンテスト TR6846)の電流レンジで測定しました。この写真は0.24μA(240nA)を表示中。このレベルの電流では配線を少し触っただけで値が変わるので、電流計のゼロ調(NULLセット)を頻繁に行う必要があります。なお、この写真の状態が最高感度で分解能は0.01μAですが、もうちょっと分解能の高い測定器が欲しいところです。

▼測定回路
RTCのバッテリーバックアップ回路図
 RTC-8564NBのバッテリーバックアップ関係の部分を切り出した回路図です。

◆測定結果
1) D1,D2にショットキーバリアダイオード(BAT43)を使った場合
 ・電源ON 時: Vcpu=5.19V, Vrtc=5.10V, Vbat=3.24V, iBat= -60nA
 ・電源OFF時: Vcpu=0.41V, Vrtc=3.16V, Vbat=3.25V, iBat= 240nA

2) D1,D2にスイッチングダイオード(1S4148)を使った場合
 ・電源ON 時: Vcpu=5.19V, Vrtc=4.95V, Vbat=3.25V, iBat= -10~0nA(ほぼゼロ)
 ・電源OFF時: Vcpu=0.40V, Vrtc=3.01V, Vbat=3.25V, iBat= 210nA

◆考察
・電池寿命
 電源OFF時の電池からの流れ出し電流は、BAT43を使った場合のiBat=240nAに対し1S4148を使った場合はiBat=210nAと30nA減っています。これはスイッチングダイオードにすることで、D1のリーク電流が減ったためだと思われます。なお、リーク電流が減ればその分だけ電池寿命が延びます。
 ちなみに、CR2032の容量が220mAhあるとして、BAT43を使った場合の電池寿命は 220/0.00024 = 917000h = 104年 で、全然余裕です。

・電池の充電電流
 電源ON時のiBatはBAT43を使った場合は-60nA(マイナスなので充電)です。これはSBDの逆リーク電流が大きいために電池が充電されていることになります。

 実はこうなるのは予想していて、充電されれば電池の消耗分の補給になるのでかえって好都合ではないかと思っていました。ところが、電池の充電量はライフを通じて電池の電力量の2%以内(1%、3%というSpec.もある)に抑えないといけないというスペックがあることを見逃していました。このルールを適用すると安全な期間は、(220 * 0.02)/0.00006 = 73333h = 8.4年となります。まあOKなんでしょうが、ちょっとマージンが足らない感じです。
 これが1S4148を使った場合は 充電電流は5nA程度なので、安全期間は10倍以上に伸びて全く問題無い領域になります。

・Vcpu と Vrtcの電位差
 実はこれが一番気になっていました、回路図のD1の部分です。このようにダイオードを一つ入れると普通は電圧が0.6V下がると考えます。つまりVrtc はVcpu より0.6V下がります。

 データーシートによるとRTCの入力信号(SCLやSDA)レベルはRTCの電源電圧 +0.5V までしか許容されません。ところが、CPUの電源電圧は0.6V高いのでハイレベルの信号は許容範囲を0.1V上回ることになります。たった0.1Vですが、絶対最大定格なのでちょっとでも上回ることは許されません。
 そんなことを考えて、私はD1に電圧降下が0.3Vで済むショットキーバリアダイオード使っていました。

 今回の測定結果を見ると、VcpuとVrtcの差は予想よりずっと小さくて、1S4148を使った時に0.24Vしかありません(BAT43の場合は0.09V)。これは電流が極めて少ないので、ダイオードの電圧降下も小さくて済んでいるということだと思います。これなら+0.5Vというスペックの範囲内なので安全です。

◆結論
・RTC-8564NBのバッテリーバックアップ回路に使うダイオードは、シリコンのスイッチングダイオードを使うのが正解です。SBDよりスイッチングダイオードの方が値段が安いのでSBDを使う理由は無いでしょう。

・もっと新しい設計のRTCはたぶん消費電流がもっと減っているでしょうから、この結論はたぶん変わらない気がします。

・D2がショートした場合の電池への充電電流を制限するために、抵抗を入れた方が良いそうです。アマチュアの工作なら省略してもかまわない気がしますが、判断はおまかせします。

 最後に、この件について詳しい解説記事を書いた下さった Frendship 7 さんに感謝します。とても勉強になりました。
カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
プロフィール

ラジオペンチ

Author:ラジオペンチ
電子工作を中心としたブログです。たまに近所(東京都稲城市)の話題など。60過ぎて視力や器用さの衰えを感じつつ日々挑戦!
コメントを入れる時にメールアドレスの記入は不要です。なお、非公開コメントは受け付けていません。

記事が気に入ったらクリックを!
最新記事
カテゴリ
最新コメント
リンク
FC2カウンター
検索フォーム
月別アーカイブ
RSSリンクの表示
QRコード
QRコード