数年前から、小さな太陽電池パネルを買って遊んでいたのですが、この大震災で、水&電気&通信(含むブロードキャスト)の重要性を痛感しました。そこで、いわゆる『独立系』と呼ばれる電源、つまり、発電&蓄電の仕組みを自前で持つことによって外部との連携を必要とせずに維持可能な電源が、実用的に使えるものなのか実験してみることにしました。
ネタは、最近わりと入手が容易になった、中古の家庭用ソーラーパネル、捨て値で購入可能な 中古の自動車用バッテリー、あとはいつもの秋月電子のパーツ類です。
システム全体は以下の図のようになっています。充放電の制御は例によって秋月電子のAKI-H8/3664Fを使用しています。パネル電圧・電流、バッテリー電圧・電流、温度の監視、最大電力追従充電制御(Max Power Point Tracking:MPPT)などは全てソフトウェアで制御しています。
この中で最も試行錯誤を繰り返したのが充電制御です。もともと回路設計は簡単なディジタル回路程度しかやっていませんでした。今回のようなソーラパネル2枚、最大約100Wの電力をPWM 制御するにはかなり大電流を扱う回路を組む必要があります。また、独立系なのでバッテリーをフローティング充電しながら運用するようにしないと、実用になりません。充放電の状態変化のたびに出力が一旦切れるような運用だと電子機器が切り替えのたびに瞬断してしまうことになります。
仕様とは言っても、試行錯誤で出来上がったものから逆算した結果ですが…(通常、『出来たなり』と言う…)
項目
値
備考
ソーラパネル電圧 12V~20V ソーラパネル電流 5A以下 バッテリー電圧 24V ( 12Vバッテリーを直列に2台 ) バッテリー電流 ±5A 5時間率で定格は8Aだが、回路のFET-SW等の容量が足りない。 充電制御方式 MPPTもどき 1分間隔で、約1秒かけて昇圧型DCDCコンバータのPWM値を変化させ、最大電力を取り出せる値に設定する。 MPPT制御開始電圧 0.0V CV制御開始電圧 28.0V バッテリー電圧が28Vに達したらCV充電に切り替える。 過充電保護電圧 28.8V バッテリー電圧が28.8Vを超えたら充電中止。 異常停止上限電圧 30.0V バッテリー電圧が一瞬でも30Vを超えたらシャットダウンする。リセットしなければ復帰しない。 MPPT制御復帰電圧 27.0V バッテリー電圧が27Vを下回ったらCV制御からMPPT制御に戻す。 放電開始電圧 23.6V バッテリー電圧が23.6V以上になったら負荷への放電を許可する。 過放電保護電圧 22.0V バッテリー電圧が22.0V以下になったら過放電保護処理。緊急用充電制御信号をONにする。10秒間待って電圧が回復しないと、放電を停止する。 異常停止下限電圧 20.0V バッテリー電圧が一瞬でも20Vを下回ったらシャットダウンする。リセットしなければ復帰しない。 高温停止温度 70度 半導体のヒートシンクが70度を越えた場合、シャットダウンする。 異常停止温度 80度 半導体のヒートシンクが一瞬でも80度を超えた場合、即座に停止する。リセットしなければ復帰しない。
動作の要となるのが、MPPT制御です。太陽電池は一定の照射状態であっても、負荷インピーダンスを変えると取り出せる電力が変化します。どのような照射エネルギーであっても最大の電力を取り出せるように負荷(充電回路)のインピーダンスを制御するのがMPPT制御です。
一般の太陽電池パネルは、最大電力を取り出せる負荷インピーダンス点があって、それよりも負荷インピーダンスが大きくても小さくても取り出せる電力は小さくなるような単純な山形の特性を持っています。したがって、負荷電圧と負荷電流を測定し、単純な山登り法などの制御方式でインピーダンスを制御してやればMPPT制御が出来ることになります。負荷インピーダンスを変化させる方法としては、昇圧型DCDCコンバータと同じ回路構成にしてPWM制御するのが一般的なようです。
しかし、今回回路を制御してみてわかったのですが、100W程度の電力をPWM制御すると、FETスイッチの動作でかなりのノイズが電源ラインにのり、正確な電圧・電流を測定するのはかなり難しい作業のようです。今回の回路で単純な山登り法を行うと、ノイズのため正確な電力が測定できず、PWM値がかなりの幅で変動してしまうことがわかりました。制御速度が低下することを覚悟して、電圧・電流の測定値を平均化するなどの方策を採ったのですが、よい結果は得られませんでした。
そこで、今回は1分毎に1回、約1秒間かけてPWM値を10%から90%まで変化させ、最大電力が取り出せるPWM値を確定し、その値で1分間運転するというサイクルを繰り返す方法を取りました。この方法で、おおよそソーラパネルの出力電圧が18~20V程度になる(ソーラパネルの定格)ところで安定するようになりました。
今回は実施しませんでしたが、PWMの制御周期に同期してAD変換を動作させると、スイッチングノイズの影響を受けずにすむはずですので、次回の課題にすることにして、当面は現状の回路で運用してみることにします。
また、まだ実装していませんが、今回の制御回路では、バッテリー電圧が22Vを下回ったら、外部に対して信号を出すようにしてあります。実際の運用では、この信号を受けて、AC電源から緊急にバッテリーを充電する回路を設置する予定です。
バッテリが20Vを切るような過放電を行うと、バッテリーの寿命が極端に短くなりますので、そのような過放電状態になる前にバッテリー保護のために放電を停止しなければなりません。しかし、実用的に運用するためには、負荷への放電停止は可能な限り避けるべきです。そこで、過放電になりそうになったら、ACラインから緊急援助をしてやろうというわけです。バッテリーの容量と、ソーラパネルの平均発電量から、常時使用可能な電力はすぐわかりますので、その範囲内で使用すれば過放電になる危険性は無いはずですが、想定よりも曇天が続くなどの状況が発生すると、バッテリーの電力を使い切るケースもありえます。そのような状況でも実用的に使用するためにはこのような対策が必要になります。
一般に、自動車用のバッテリーは深放電に弱く、深い充放電サイクルを繰り返すと寿命が短くなると言われています。今回はその車のバッテリーがどの程度使えるものなのか、確かめるつもりです。なにせ、ディープサイクルは大変高価で、中古も出回っていませんので。
【写真01】ソーラパネルを固定する木枠です。約30度の傾きを持っています。
【写真02】購入した中古ソーラパネルの表面。
【写真03】ソーラパネルの裏面。
【写真04】低格出力記載のラベル。
【写真05】設置場所は庭の物置の屋根。屋根に上る為のはしごも作っちゃいました。2x4材です。
【写真06】物置の屋根に2枚のソーラパネルを設置したところ。
【写真07】ソーラパネルコントローラの概観その1
【写真08】ソーラパネルコントローラの裏面
【写真09】回路図概略
制御は秋月電子AKI-H8/3664Fマイコンボードで行っています。役に立つか否か不明ですが、ご参考ということで公開します。
毎度お約束の免責事項です。このソフトウェアは無保証です。このソフトウェアを利用したことによって生じたいかなる損害に対しても、私は責任を負いません。自己責任でご自由にご利用ください。ライセンスはBSDとします。
ソースコード&実行ファイルtop