小型で、発生電力も100mW以下しかない太陽光発電セルで2次電池を充電するとき、逆流防止Dを経由してそのままつないでしまうか、ある程度電力を貯めてから、大きな電流で供給した場合とで充電効率に差がでるのかどうか知りたくなった。 太陽電池のインピーダンスと、2次電池のインピーダンスをあるていど整合させるといえばいいのだろうか…あまり自信が無い。
平均電流は変えられないので、間欠駆動でなんとかすることになる。
Miller Solar Engine
若干分野が違うけれど、高負荷(モーターなど)に間欠的に電力供給するのが、今回試作したMSE(Miller Solar Engine)と呼ばれる回路。
以前紹介した電圧検出ICを1個だけ使い、そのヒステリシス領域を外付け部品で拡張し、充放電動作を繰り返す。蛇口からバケツに水を貯めて、それを一気にぶちまける動作だ。
http://www.beam-wiki.org/wiki/Miller_Solar_Engine
これはBEAM roboticsという、KISS(Keep It Simple Stupid)の教えに従い、基本的にガラクタを使って作られるロボットの要素技術として紹介されている。 どんなものかは、BEAM botで画像検索するとたくさん出てくる。
MSEは電圧検出ICとNPNトランジスタ、ダイオード、コンデンサ、ストレージ用のコンデンサ/スーパーキャパシタで構成されている。
原典で使われるパナの1381は入手性がよくないので、似たような電圧検出ICをつかった。、SIIのS808XXCシリーズであれば、いくつかの電圧に対応したものがマルツパーツでも手に入る。二次電池よりやや高い電圧で、太陽電池の最適動作点付近の電圧を検出するものを選ぶと良さそう。 (3~4V)
トランジスタは定番の2SC1815でも大丈夫で、秋月であれば2SC2125を選べば流せる電流が増える。
同じ動作は、低消費電力の少ピンPICとかでも実現出来る。この回路は思ったよりも電流を必要とするので、超低消費電力モードで駆動させるPICのほうが省電力にできそうだ。
早速組みあげて、負荷には定格1WのパワーLEDをそのままつないでみた。 PCから定電流ダイオード(CRD)で充電して、定期的にLEDがフラッシュする。 キャパシタを外した状態だと発光し続けるが、あきらかにキャパシタをつなげるとより強烈なフラッシュが見える。
モーターを繋ぐともっとわかりやすい。 キャパシタが無いとそもそも始動しなかったり、負荷がかかるとすぐ止まる。
駆動波形を見てみる
測定回路を追加して、グラフにしてみた。 マルチメーターだと内部抵抗が大きいのと、変化がわかりにくいので…。
ストロベリーリナックスのINA226キットを使って、自作のArduino互換のデータロガーに繋ぐ。 繋ぐのはI2Cだけなのでお手軽だ。
コードはこちらのサイトのものを使わせていただいた。 http://ore-kb.net/archives/150
CSVに加工しやすいようフォーマットを整え、最高速で変換し、10mS周期でターミナルに出力させた。 その結果をグラフ化してみると…
最初の4秒はキャパシタを意図的に取り外している。 約11mAほど。
電源にはPCからの5Vを30mAクラスのCRDで定電流化して供給している。
5秒以降はキャパシタ(1F)をつないで、MSE回路により間欠動作をさせた。瞬間的に70mA程度の電流がLEDに供給されている。 眩しさの理由が判明。
一応希望した動作になっている。 充放電の周期自体は、キャパシタの容量や、電圧検出ICにつけたコンデンサの容量を変えることで、ある程度調節できる。
ついでに、電圧検出ICでLi-ion/LiFePo4セルの保護回路を作ったので、今度晴れたら実験してみたい。 結局、特に違いがなかったりして…。
番外
最近は、キャパシタとリチウムイオン電池の特性のいいとこ取りをしたリチウムイオンキャパシタ(LiC)というのがあって、過充電/過放電から保護するだけで、あとはキャパシタのように扱えて便利なのであった…。容量もLi-ion電池の電圧範囲で無駄なく使いきることができる。(エネルギー密度は従来のEDLCの2倍程度)
実際には過放電保護回路の自己消費消費電流問題があり、単体のLi-ionと同じ考えで組むと、容量の少なさから、思ったより早く過放電になってしまう。 完全に放置して動作させられる解決作とはいえないので、用途との相談になる。
平均電流は変えられないので、間欠駆動でなんとかすることになる。
Miller Solar Engine
若干分野が違うけれど、高負荷(モーターなど)に間欠的に電力供給するのが、今回試作したMSE(Miller Solar Engine)と呼ばれる回路。
以前紹介した電圧検出ICを1個だけ使い、そのヒステリシス領域を外付け部品で拡張し、充放電動作を繰り返す。蛇口からバケツに水を貯めて、それを一気にぶちまける動作だ。
http://www.beam-wiki.org/wiki/Miller_Solar_Engine
これはBEAM roboticsという、KISS(Keep It Simple Stupid)の教えに従い、基本的にガラクタを使って作られるロボットの要素技術として紹介されている。 どんなものかは、BEAM botで画像検索するとたくさん出てくる。
MSEは電圧検出ICとNPNトランジスタ、ダイオード、コンデンサ、ストレージ用のコンデンサ/スーパーキャパシタで構成されている。
原典で使われるパナの1381は入手性がよくないので、似たような電圧検出ICをつかった。、SIIのS808XXCシリーズであれば、いくつかの電圧に対応したものがマルツパーツでも手に入る。二次電池よりやや高い電圧で、太陽電池の最適動作点付近の電圧を検出するものを選ぶと良さそう。 (3~4V)
トランジスタは定番の2SC1815でも大丈夫で、秋月であれば2SC2125を選べば流せる電流が増える。
同じ動作は、低消費電力の少ピンPICとかでも実現出来る。この回路は思ったよりも電流を必要とするので、超低消費電力モードで駆動させるPICのほうが省電力にできそうだ。
早速組みあげて、負荷には定格1WのパワーLEDをそのままつないでみた。 PCから定電流ダイオード(CRD)で充電して、定期的にLEDがフラッシュする。 キャパシタを外した状態だと発光し続けるが、あきらかにキャパシタをつなげるとより強烈なフラッシュが見える。
モーターを繋ぐともっとわかりやすい。 キャパシタが無いとそもそも始動しなかったり、負荷がかかるとすぐ止まる。
駆動波形を見てみる
測定回路を追加して、グラフにしてみた。 マルチメーターだと内部抵抗が大きいのと、変化がわかりにくいので…。
ストロベリーリナックスのINA226キットを使って、自作のArduino互換のデータロガーに繋ぐ。 繋ぐのはI2Cだけなのでお手軽だ。
コードはこちらのサイトのものを使わせていただいた。 http://ore-kb.net/archives/150
CSVに加工しやすいようフォーマットを整え、最高速で変換し、10mS周期でターミナルに出力させた。 その結果をグラフ化してみると…
最初の4秒はキャパシタを意図的に取り外している。 約11mAほど。
電源にはPCからの5Vを30mAクラスのCRDで定電流化して供給している。
5秒以降はキャパシタ(1F)をつないで、MSE回路により間欠動作をさせた。瞬間的に70mA程度の電流がLEDに供給されている。 眩しさの理由が判明。
一応希望した動作になっている。 充放電の周期自体は、キャパシタの容量や、電圧検出ICにつけたコンデンサの容量を変えることで、ある程度調節できる。
ついでに、電圧検出ICでLi-ion/LiFePo4セルの保護回路を作ったので、今度晴れたら実験してみたい。 結局、特に違いがなかったりして…。
番外
最近は、キャパシタとリチウムイオン電池の特性のいいとこ取りをしたリチウムイオンキャパシタ(LiC)というのがあって、過充電/過放電から保護するだけで、あとはキャパシタのように扱えて便利なのであった…。容量もLi-ion電池の電圧範囲で無駄なく使いきることができる。(エネルギー密度は従来のEDLCの2倍程度)
実際には過放電保護回路の自己消費消費電流問題があり、単体のLi-ionと同じ考えで組むと、容量の少なさから、思ったより早く過放電になってしまう。 完全に放置して動作させられる解決作とはいえないので、用途との相談になる。