前回までの投稿で、発電から電力の利用に至るまでの基本的な太陽光発電システムの機能を実現できました。
以降は一般的な構成の太陽光発電システムに対し、IoTで付加価値を付け加えようと思います。今回は、IoTで実現したい具体的な目的と、それぞ実現するための方針を定めていきます。
IoT化とは
と、その前に、IoTという言葉の意味から振り返ってみましょう。「そんなもん知っているよ!」という方は読み飛ばしてください。
IoTとはInternet of Thingsの略で、直訳すると「モノのインターネット」になります。この時点では意味不明ですね。かっこいい言葉を使っていますが、所詮「今まで繋がっていなかったものをインターネットに繋ぐ」程度の意味しかない言葉です。
重要なのは、インターネットに繋いで何をするかです。
モノをインターネットに接続するメリットは、何かを遠隔で監視や制御できるようになることだと私は思っています。例えば、部屋に設置したカメラ映像をインターネットで観覧できれば、外出中のペットの様子を確認でき(監視)、エアコンをネットに繋げば、帰宅する30分前にスマホから操作することで電源をONする(制御)し、家に着くころには「涼し~~~!」もしくは「温か~~~!」ということができます。
IoT化の方針
この発電システムにおいて、いつでもどこでも監視したり制御できると嬉しい部分はどこでしょうか。
真っ先に思いつくのはバッテリの充電状況やパネル・インバータの健全性確認(ちゃんと動いている?の確認)ですね。外出していても、システムが問題なく動いていて、問題なく発電できていることが確認できれば安心です。また、外出中に自宅付近で落雷の予報が出された場合は家電への給電をカットし、停電に備えて充電に専念させるなどのマニュアル制御もできるとなおよいです。
初めに、IoT化の方針を以下のように決めました。
IoT化の方針
1. 機器の状態(電圧・電流など)をオンラインでグラフ表示し、データを見える化する。
2. 機器の入出力信号を自動監視し、異常な値であれば管理者に警報(メール・SNSのボット等)を上げる。
3. 機器の異常を検知したら、当該機器の配線を遮断(入力遮断・負荷遮断)する。
4. 管理者(俺)はオンラインでシステムを操作(停止・起動・負荷遮断・入力遮断など)できる。
設計
異常検知を実現するために、センサを配置する観測点を決めました。主に電流と電圧を監視する必要があります。
黄色のSensorと書いている部分が観測点、紫のRelayが制御対象です。センサ類はIoT化の方針1,2を実現するため、リレーはIoT化の方針3,4を実現するために必要なハードウェアです。
各センサの詳細は表の通りです。
No. | 対象機器 | 目的 | 観測点 | センサ種別 | レンジ | レート |
---|---|---|---|---|---|---|
1 | バッテリ#1 | 充電状況確認 | 端子 | DC電圧 | 0~20V | 10 sample/s |
2 | バッテリ#2 | 充電状況確認 | 端子 | DC電圧 | 0~20V | 10 sample/s |
3 | ソーラーパネル | 健全性確認 | 出力 | DC電圧 | 0~25V | 10 sample/s |
4 | ソーラーパネル | 健全性確認 | 出力 | DC電流 | 0~30A | 10 sample/s |
5 | インバータ | 健全性確認 | DC入力端子 | DC電流 | 0~100A | 10 sample/s |
6 | インバータ | 健全性確認 | AC100V出力 | AC電圧 | 85~120V (実効値) | 10 sample/s |
7 | インバータ | 健全性確認 | AC100V出力 | AC電圧波形 | 10mV | 0.5K sample/s |
8 | インバータ | 健全性確認 | AC100V出力 | AC周波数 | 45~65Hz | 0.5K sample/s |
9 | インバータ | 負荷確認 | AC100V出力 | AC電流 | 0~30A | 10 sample/s |
10 | DC/DCコンバータ | 負荷確認 | AC100V出力 | DC電流 | 0~20A | 10 sample/s |
リレーについては回路を遮断するだけのものなので、詳細は省きます。ただ、Relay#1は50~60Aが流れる可能性のある部分なので、部品の選定には慎重にならなくてはいけません。
観測点の詳細
バッテリの監視(#1,#2)
インバータやチャージコントローラにもバッテリ電圧の表示はされていますが、ただ電圧を数字で表示しているだけで、今が減っている途中なのか、充電されている途中なのかが分かりません。これでは、負荷を増やしていいのか(追加で家電を使っていいのか)判断が付きません。
また、バッテリ劣化を防ぐため、過放電防保護も必要です。インバータに過放電の保護機能がついていますが、もう少し安全側に倒す意味で、マージンを加味して出力を遮断する機能を追加します。
過放電とは
バッテリは電気を取り出し続けると電圧が下がってきますが、下がり過ぎるとバッテリ内部の電極に致命的なダメージを残してしまい、著しく性能を落としてしまいます。この現象を過放電と言います。いわゆる、車の「バッテリー上がり」というやつです。
過放電防止のため、インバータには電圧が一定値よりも下がると警報を出す機能がありますが、インバータの警報を挙げるしきい値が甘く、その電圧では既に時すでに遅し(バッテリの劣化が始まっている)となっている場合もあります。
バッテリの電圧を一定周期で監視し、取得したデータをデータベースに蓄積します。過去から現在までのデータは、スマホやPCのブラウザでグラフを観覧できるようにします。グラフで表示することで、充電している途中なのか、放電中なのかが分かります。
合わせて、2直列にしているバッテリをそれぞれ監視することで、個別に劣化具合を監視できます。
ソーラーパネル監視(#3,#4)
ソーラーパネルの出力を監視するメリットは、発電量が可視化できることです。ソーラーパネルの端子電圧はチャージコントローラに表示されないため、テスタで計測しない限り知ることができません。どれくらいの電圧が来ていて、どれくらいの電流が流れているかを知ることで、配線や機器の安全管理に役立てられます。また、単に天気に応じた発電量が見れるので面白いです。
安全監視に使うならば、明るさを検知するセンサを取り付け、「これだけ明るいのに出力が低い→故障の可能性があるため、入力を遮断して警報を挙げる」などの機能を追加しても面白いですね。
インバータ監視(#5~#9)
インバータは、このシステムにおいて最も複雑で大電力を扱う機器です。そのため念入りにセンシングし、電源品質を監視します。
バッテリから供給されるDC24Vは最大で60Aにもなる大電流です。電流値が正常な範囲に入っているかを常に監視します。
また出力はAC100Vであり、一般的な家電が使えるような周波数・波形(ひずみ率)・電圧である必要があります。これらの値が、家電を使用できる正常な範囲であるかを監視します。
ひずみ率について
ひずみ率とは、交流波形が「正弦波からどれだけ歪んでいるか」を定量的に数値で示したものです。波形がsin(ωt)で示されるきれいな正弦波であれば、ひずみ率は0%です。ここに別の高調波が混ざって、細かい振動が乗ったり(リンギング)、瞬間的な電圧変動が起こったり(スパイク)するとひずみ率が高くなります。
では、なぜリンギングやスパイクなどのノイズが乗ると問題なのでしょうか。それは、AC100Vを使用する機器の大半は50Hzもしくは60Hzの正弦波しか受け付けられないように作られているからです。
そのような機器に数kHz~数百kHzの高調波が乗った交流を入力してしまうと、高周波に対応していない回路は発熱したり振動したりして、最終的には破壊に繋がる可能性があります。仮に破壊まで至らないとしても、高調波を含む品質の悪い電源を使うことは、製品にとってダメージとなり、製品の寿命を短くする原因となりかねません。
リレーによる回路の遮断
出力に接続される家電の保護や、バッテリを保護する目的でリレーを回路に組み込みます。リレーを組み込む場所は2か所です。
一つはバッテリの出力(インバータの入力)です。バッテリ監視を行うセンサ#1,2の値が許容値以下になった場合にリレーを駆動し、回路を遮断します。こうすることで、バッテリの過放電を防止することができます。
二つ目はインバータの出力遮断&切り替え用のリレーです。インバータ出力の電圧・周波数・波形を監視し、これらの値が異常な値であればRelay#2を駆動して、電源をコンセントからの給電器切り替えます。(リレーで切り替える以上、瞬停(瞬間停電)してもよいような家電しか接続できませんね)
まとめ
回路中のどこにどんなセンサを付け、どんな制御をするかがまとまりました。こうして機器の入出力を細かく考えていくと、ただ発電して蓄電・利用するだけのシステムでも、安全に、便利に電力を使うためには監視すべきポイントが結構あることが分かりました。
今回はインバータ出力の監視に力を入れて構想を練ってみました。既製品のインバータを使うため、正直そこまで厳重な監視は必要ないのかもしれません。しかし、今回は「電源品質」という観点で交流波形をセンシングした経験がなかったため、お勉強の意味で周波数やひずみ率というパラメータの監視を入れてみました。
次回は、今回考案した構想を実現するための具体的な設計編です。AC100VをマイコンのA/Dコンバータが読み取れる信号レベルに変換する回路や、A/Dコンバータで読み取った後に周波数・ひずみ率を算出するアルゴリズムを具体的に設計していきたいと思います。
続きます。