マイクロビットを使ってみる 〜マイクロビットをソーラーパネルで動かす

スポンサーリンク
お役立ち情報

先日、MakeCodeエディタの「Power」拡張機能を使って、マイクロビットを低電力化し(記事は こちら)、単四型Ni-MH電池2本で長期間連続稼働できることを確認しました(記事は こちら)。
マイクロビット無線で1分毎にデータを送信し、それ以外の期間は「low powerモード」に移行するような使い方なら、平均消費電流値は1.41mAで、23.6日連続稼働できる見込みです。

さて、これだけ低電力で動作するなら、やっぱり「ソーラーパネル」でマイクロビットを動かしたくなります。

これまで他のマイコンデバイスで調査してきた結果から、平均消費電流値が2〜3mA程度までであれば、数センチ角程度の小さなソーラーパネルでも常時稼働できる可能性があります。
そんな訳で、マイクロビットをソーラーパネルで動かすことができないか、少し試してみることにしました。


私はこの分野の専門家ではなく、ネットや書籍で調べた情報に基づいて検討・実施しています。
正常動作や安全性などは保証できませんので、本記事を参考にされる場合は自己責任にてお願いいたします。

使用するソーラーパネルについて

Ni-MH電池でマイクロビットを動かしながら、同時にその電池にソーラーパネルで充電する構成で考えます。
また、ソーラーパネルとNi-MH電池の間に複雑な回路は入れず、ダイオードだけを間に入れてつなぎたいと思います。
そのためには、Ni-MH電池2本に充電するのにちょうど良い電圧のソーラーパネルが必要なのですが、少し調べてもなかなか良いものが見つかりませんでした。

さて、何か良い方法はないかといろいろ考えていたところ、以前購入した小型ソーラーパネルが余っていることを思い出しました。
秋月電子で購入した「携帯機器用ソーラーモジュール 300mW(M-16017)」です。

41mm × 68mmと非常に小さいパネルですが、以前別件で調査したところ、Ni-MH電池3本に充電するのにちょうど良く、平均消費電流値が3mAぐらいまでのデバイスであれば常時稼働できる見込みです(記事は こちら)。

つまり、マイクロビットをNi-MH電池3本で動かすことができるのであれば、このソーラーパネルで常時稼働できそうです。

改めて、マイクロビットの電源まわりについて調べてみました。
こちら の資料には、マイクロビット内部の電源電圧は最大で3.6Vと書いてあります。また、エッジコネクタは内部電源に直結、電池用PHコネクタもダイオード1個だけを経由して内部電源につながっているとのことです。おまけに、LiPo電池は満充電時に4.2V程度になるので使用不可とまで書かれています。
Ni-MH電池3本の場合も、LiPo電池と同様に満充電時には4.2V程度になるので、残念ながらNi-MH電池3本でマイクロビットを動かすことはできなさそうです。

ただ、この資料では、マイクロビットV2の「Power Supply Architecture」の項が「TBC(確認中)」となっています。
あきらめきれないので、少し回路図を見てみることにしました。
マイクロビットV1(V1.5)の回路図は こちら、V2(V2.21)の回路図は こちら です。

電源まわりの接続を確認したところ、V1とV2では構成が結構ちがうことがわかりました。
簡単に描くと、以下のようになっているようです。

V1の電源構成は資料に書かれているとおりですが、V2はちがいます。
エッジコネクタは内部電源に直結していますが、電池用PHコネクタはレギュレータを経由して内部電源につながっています。
このレギュレータ(NCP114)の電源電圧は最大5.5Vなので、Ni-MH電池3本をエッジコネクタにつなぐことはできませんが、電池用PHコネクタにつないでも大丈夫なようです。

そんな訳で、「Ni-MH電池3本」と「携帯機器用ソーラーモジュール」をマイクロビットの「電池用PHコネクタ」につなぐことにしました。

構成

回路構成は以下のとおりです。

  • ソーラーパネル:秋月電子で販売している「携帯機器用ソーラーモジュール300mW(M-16017))」
    • 開放電圧:5.7V
    • 最大出力電圧:4.5V
    • 短絡電流:75mA
    • 最大負荷電流:65mA
  • 充電池:単四型Ni-MH(ニッケル水素)電池を3本直列
    • 電圧:3.6V(満充電時4.3V程度)
    • 容量:800mAh

ソーラーパネル出力にダイオードをひとつ挿入し、充電池とマイクロビットの「電池用PHコネクタ」につなぎます。

電圧値について

事前調査の結果、「充電池」の満充電時の電圧は 4.3V、安定動作時の電圧は 3.6〜3.75V でした。
これに対し、「ソーラーパネル」の最大出力電圧は 4.5V、ダイオードを経由して充電池につながるので、ダイオードでの電圧降下を0.5Vとすると、充電池に供給されるのは 4.0V程度 となります。充電池の安定動作時電圧より高く、満充電時電圧よりも低いので、ちょうど良い組み合わせです。
また、「マイクロビット」内のレギュレータの電源電圧は最大5.5Vなので、満充電状態の充電池をつないでも問題ありません。

電流値について

「ソーラーパネル」の最大負荷電流は 65mA であり、「充電池」の容量(800mAh)の 0.08倍 です。常時充電し続けてもOKと言われるトリクル充電電流(充電池容量の 0.05倍以下)に近く、発電電圧が高くなると発電電流が減るので、この程度であれば安全に充電できると思われます。
また、3日のうち3.5時間だけ最大能力(65mA)で発電できるとすると、65mA×3.5h = 227.5mAh@3日 となります。マイクロビットが3日間で消費するのは 1.41mA×24h×3日 = 101.52mAh@3日 (Ni-MH電池2本で動作させた時)ですので、3日に1度快晴の日があれば、十分常時稼働できる計算になります。

組み立て

マイクロビットではどんなデータを測定してもいいのですが、せっかくなので今回は、充電池の電圧を測定し、想定どおりに充電できていることを確認しようと思います。

以下のような回路構成にします。

充電池の電圧値を、10kΩの抵抗2個で 1/2 にし、それをマイクロビットの「1」番ピンにつなぎます。

マイクロビットのプログラムは以下のとおりです。

1分毎に「1」番ピンのアナログ値を測定し、マイクロビット無線で送信します。
送信完了したら「low powerモード」に移行します。

マイクロビット無線を受信する「親機」については、こちら の記事で作成したものをそのまま利用しました。
送信したデータは「Googleスプレッドシート」に保存されます。

屋外に設置したいので、ケースに入れようと思います。
こちら の記事でつくったカメラデバイスですが、既に利用が完了したため撤収して保管してありました。
今回と同じソーラーパネルがケースに取り付け済みなので、このケースをそのまま流用することにします。
ケースには既に、カメラのレンズ用の穴があいていたり、ケーブルグランドが取り付けられたりしていますが、今回は関係ありません。

抵抗はちいさなブレッドボードでつなぎ、このような感じでケースに入れます。

ちなみにこのケースは、半分のエリアに電池が格納されているので、その半分のエリアは浅く、残り半分のエリアは深くなっています。
本当は深いエリアにマイクロビットを入れたかったのですが、ギリギリ収まらず、やむを得ず、苦労しながら浅いエリアに入れました。


今回は既存のケースを流用したので仕方がありませんでしたが、新規につくるなら、もうひとサイズ大きいケースを使った方が良いと思います。

フタをするとこんな感じになります。

少しだけ充電した単四型Ni-MH電池3本を電池ボックスに入れ、自宅ベランダの物干し竿に設置しました。

動作確認

さて、設置してから3日たちました。
うまく動いているか確認します。

Googleスプレッドシートに保存されたデータをCSV形式で書き出し、Excelでグラフ表示してみました。
測定したアナログ値をそのまま保存しているので、「3.3V / 1024 × <測定値>× 2」してからグラフ化しています。

この3日間はいずれも晴れていましたが、自宅ベランダは西向きのため、12〜15時の3時間ほどしか充電できていません。
それでも日を追うごとに電圧が高くなっており、わずか3時間の充電時間であっても、消費する分以上の発電ができていることがわかります。

屋外など、よく陽の当たる場所に設置すれば、よりたくさん発電できるはずですので、今回の構成で問題なく常時稼働できそうです。

追記

調査を開始してから2週間近くが経過しましたので、この期間に保存されたデータを再度グラフ表示してみました。
表示方法は前回と同じです。

結果は以下のとおりです。

この期間には台風も通過し、9月17日〜19日にかけては3日連続でほとんど陽がささない日が続きましたが、それでも問題なく稼働し続けています。

午後の3時間ほどしか陽が当たらない環境で、さらに3日連続で曇りの日が続いても安定して動いていることから、今回の構成で問題なく常時稼働できそうなことを再確認できました。

 

なお、私がマイクロビットの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。


初心者向けから、比較的高度なものまで、さまざまな情報が記載されているだけでなく、子供向けの作例も多数掲載されていますので、「プログラミング教育」のための題材さがしなどにもおすすめです。