RL78/G13+IM920+INA260+LM61と、小型ソーラーパネル+CN3722(MPPT動作)の組合せで、陽当たりと気温(地温)を測ってます。
結果は無線で送信し、屋内に設置したパソコンで表示する。
18650一本で3ヶ月ほど動作します。
※2019/9にアップした記事を加筆・訂正しました。
このセンサは、居宅から離れた畑の、陽当たりと気温(地温)を測るのに使っています。
ソースが必要であればコンタクトフォームから連絡してください。
センサ側はRL78(CS+)、PC側はC#で作っています。
元は↓こう言う目的でした。
「ソーラーパネルとリチウムバッテリーを使ったオフグリッド電源を作る必要があり、これの検証用に無線式のセンサを作りました。屋外に設置したオフグリッド電源の電圧・電流・筐体温度などを計測して無線でPCに送信します。」
RL78G13+IM920+INA260+LM61の組合せです。
18650一本で3ヶ月ほど動作します。
ただ保存容量が足りないので、次に作るときはもう少しRAMの多いCPUを使いたいと思っています。
以下の3点を計測してPCに無線で送信します。
1,パネル → チャージャーへの電圧と電流値
2,チャージャー → Liへの電圧と電流値
3,筐体の内部温度
使った部品など
電圧・電流2CHと温度を指定の時間間隔で計測してRAMに溜め込み、無線でPCに送信する。
なお測定対象からセンサの動作電力を得ると正確な値が分からなくなるので、センサは自身が所有する電池18650で動作する。
長時間動作のため(18650一本で3ヶ月ほど)、測定してないときはCPUはSLEEPして自身の消費電力を減らす。また無線機が一番電力を食うのでこれもSLEEPさせて省電力化する。
被測定対象は以下のもの。
使用したパネルは10W。
充電されるLiバッテリーは26650。
チャージャーはCN3722。
動作確認用の負荷として300Ωの抵抗を接続し、24時間40mAの電流を消費させる。
小型ケースに入れて北向きに設置。
<パネル>
10WのパネルでMPPT電圧は17.5V。蓄電.comで購入2686円。
このパネルは快晴時にMPPT動作させると600mA近く出るので9Wほどの実力。
<Liバッテリー>
26650(5Ah)を3個直列にSPOT溶接して10.8Vで使用。AmazonでEBL製を購入1本850円。
一本の動作電圧は3.2~4.2V、安全装置は入っていない。
試しに10Aを出力させたが少し暖かくなる程度で問題ナシだが、ショート対策にヒューズが必要になる。
なおLiは2.5Vまで電圧が低下すると復帰できなくなるとのこと(過放電させると壊れる)。
TrustFire製のLiは安全装置(過放電対策と大電流対策)入りで、EBL製よりも少し長い。また接点部分に凹凸がある(EBLのLiは接点が平らなので溶接しやすい)。
<ソーラーチャージャー>
チャージャーは中華製でMPPT。CN3722をebayで800円程度。
最大充電電圧は4.2V×3=12.6V。
なかなかお利口で、パネルが発電していない時は自身の消費電力を極小にする(μAレベル)。
10Wパネルとの組合せでは発熱は感じられないので、基板の下に付いてるフィンは不要かも。
パネル+Li+このチャージャーで実際に一年以上動作させてみたが故障などは起きていない。
この値段でこの性能なら十分以上に満足です(国産品でMPPT製品は存在しないかも)。
2024現在 既に5年ほど継続して動作しています。
<CPU周り>
使ったCPUはいつもの秋月の R5F100LGAFB ROM128K, RAM12K, 64PIN 。420円。
電圧・電流計測モジュールは、ストリナのINA260を2個。1050円×2。
無線機は920MHz帯のトランシーバでインタープラン製のIM920。3680円×2。
その他、端子台、3.3V電源、温度センサLM61、動作確認用の抵抗内蔵LEDなど。
電源は別基盤とし、バッテリー取り替え時はバッテリーを二本並列に入れて電源が切れないようにした。なおIM920の最大電圧が3.6Vなので18650直結は不可。
回路図
INA260をI2Cで接続し、LM61をADに接続し、IM920をUARTに接続してます。
PCとセンサ間の通信
電力食いの無線機をなるべく使わないことが一番大事なんで・・・
CPUは1秒インターバルでSLEEPから目覚める。
無線機は60秒インターバルでSLEEPから目覚める。
つまり電圧・電流・温度は最速で1秒間隔で取得可能(PCからのコマンドによりインターバルは可変とした)だが、PCとの無線接続は最大で60秒間待たされることになる。
PCがセンサと通信するときは・・・
PCは受信状態で待ち受けておき(最大60秒)、なにか受信したら急いでコマンドを送信する。
センサは目覚めたら1文字送信してから400mSタイムアウトで受信する。もしコマンドを受信したらコマンドに応じた反応(インターバル間隔の変更やデータ送信など)を行う。なにも受信しないならSLEEPする。
※省エネな通信の確立にもっと良い方法があるかもだけど、ソフトが簡単になるんでこうした。
なおIM920は長距離通信モード(低速レート)で使用してるので、PCからのコマンド受信のタイムアウトは400mS程度が手頃なようだ。
また電圧・電流・温度のデータはBINでFIFOに保存しているが、IM920とのやりとりでは0xDと0xAがデリミタ扱いなので、ちょい工夫してデータの中に混ざらないようにしてる。
2024現在 RSSIに応じて通信速度を高速/低速に切り替えるよう改造した。
アプリ
PC側のアプリは、センサへのコマンド送信とデータ受信&チャートへの表示だ。
特に難しいことはしてないけど、ソーラーシステムの検証には十分なんで良しって事で。
①はチャージャー → Li間の電流で、二週間の平均で75%ほどの変換率。
②③は雨の日だが数十mA程度は充電してる。
コメント