E32-SolarCharger (ESP32、ESP-WROOM-32/WiFi搭載 プログラマブルIoT 鉛バッテリーソーラー充電基板)

Arduino IDEで動作を自由にプログラミング可能な、IoTソーラーチャージャー基板です。WiFi内蔵マイコンであるESP32(ESP-WROOM-32)を採用しました。鉛バッテリー充放電回路、microSDスロット搭載。状況にあわせた充電、負荷の接続/切断ができ、ネットワークからのモニタリングも可能です。

主な特徴

ソーラー充電制御回路搭載

PWMを使用した充電回路を搭載しており、ソーラーパネルの入力から12V鉛バッテリーに適切な電圧を生成できます。 INA219電圧、電流測定IC により高精度なバッテリーの電圧、電流の測定が可能です。 過充電保護などの充電制御が可能です。

負荷制御回路搭載

負荷も接続できるため、独立した太陽光蓄電システムとして運用可能です。 負荷の接続、切断をプログラムから切り替え可能で、過放電保護機能などの制御が可能です。 INA219電圧、電流測定IC によりバッテリーから負荷へ流れる放電電流も測定できます。どの程度の電力を消費しているかを調査できます。

WiFiマイコンモジュール ESP32搭載

コントローラにはESP32(ESP-WROOM-32)マイコンモジュールを採用しました。 ご自身で動作をプログラミングできるため、複雑な制御、測定やロギングが可能です。 WiFiを内蔵しているので、サーバーにデータを送信したり、インターネットから時刻を取得して 日没中はスタンバイにする、といった動作が可能です。 また、ESP32は世界的に人気の高いArduinoIDEで開発することができます。 既に様々なライブラリが用意されているので、簡単にHTTPアクセスなどを実装できます。

低消費電力DeepSleep対応

ESP32をDeepSleep(低消費電力モード)にすることで、夜間など充電が不要な際の消費電力を抑えることができます。 (12V時基板の消費電流1mA未満) ラッチICを搭載しているため、DeepSleep中でも負荷の接続を保持できるよう設計しています。 また、LCDやLEDの表示も保持できるため、DeepSleep中も機能を損ないません。

LCD、LED、スイッチ搭載

LCDモジュールAQM0802A-RN-GBW 、ユーザー入力スイッチを4個、LED4個を搭載しています。LCDに測定値を表示したり、スイッチで直接本基板を操作することができます。

microSDカードスロット付き

microSDカードスロットがついているので、大容量のデータを保存できます。 長期間の測定データをログとして残しておくことができます。

DCジャック搭載

本基板の電源として、鉛バッテリーからだけでなく、DCジャック経由で動作させることもできます。 基板の消費電力を除きたい場合など、実験や特性評価にご利用になれます。

購入

まとまった数量をご希望の方は、見積もり依頼よりご連絡ください。

完成品

部品一式を基板に実装した完成品になります。ソーラーパネル、鉛バッテリー、 プログラム書き込み用USBシリアル変換モジュールは付属しません。

利用例

ソーラーパネル、バッテリー、負荷へ接続して動作中の様子です。

応用アプリケーション例

  • 時間に応じて充電、スリープを切り替える鉛バッテリーのスマート充電器
  • ネットワーク経由でのソーラー発電モニターするシステム
  • 災害時にスマートフォンやパソコンを充電できる太陽光蓄電システム
  • バッテリーの電圧が下がったら負荷を切り離し、ネットワークでアラートを挙げるシステム
  • 本基板を使ったソーラー充電システムの例 を紹介しています。

これらの応用例を実現するプログラム、機器は付属しません。 ご自身で準備していただく必要があります。

ブロックダイアグラム

想定以上に発熱する問題について

2020年9月21日追記:

ソーラー入力電流が多い場合、PWMによる電流制限が作動している場合、基板に直射日光が当たっていたり、周囲温度が高い場合に、一部の部品が想定以上に発熱する現象が発生することが分かりました。そのため、一部の使用条件の追加、変更をさせていただくことになりました。

  • 電流制限時の発熱を抑えるため、PWM周波数は500Hzを推奨といたします。2020年9月20日以前のサンプルプログラムをご利用の場合は、最新版をダウンロードしてお使い下さい。
  • 連続運転時はソーラーパネルからの入力電流5A、負荷電流10A以下となるように運用して下さい。(ソーラー入力電流 = 鉛バッテリー充電電流 + 負荷電流 の関係となりますので、負荷電流が大きい場合は充電電流を減らすなどして下さい。)
  • 基板に直射日光が当たらないようにするなど、基板の温度が上がらないように工夫をお願いします。
  • 今後はQ1及びコイルにヒートシンクを装着した形で出荷いたします。2020年9月20日までに購入された方はメールでご連絡いただければ、無償でヒートシンクを発送いたしますので、以下の写真の通り装着してご利用下さい。(保証対象となる購入先の場合に限ります)
ヒートシンク装着例

定格

項目定格
基板寸法80mm x 80mm
ソーラーパネル最大入力電圧25V
ソーラーパネル入力電流(プログラムでコントロール可)連続5A
最大8A
負荷最大出力電流連続10A
最大20A
対応鉛バッテリー12Vタイプ

使い方

開発環境、プログラム書き込み方法については以下をご参照下さい。

電源

本基板用の電源は供給元をJP1のジャンパで選択できます。

JP1電源補足
BAT鉛バッテリー基板制御部の電源が鉛バッテリーより供給されます。
DCJDCジャックCON1端子のDCジャック(センタープラス 2.1mm)より供給されます。7V-20V, 1A以上の電源をお使いください。 基板の電力をバッテリーから消費しませんので、実験、テスト用途などに便利です。
接続

ソーラーパネル、鉛バッテリー、負荷は以下の端子に接続してください。 接続例はこちらの写真をご参照下さい。

基板上の+/-の記載の通りに接続してください。逆に接続すると部品を痛める恐れがあります。 鉛バッテリーとの間には必ず適切な電流値のヒューズを取り付けてください。

端子接続補足
T1ソーラーパネル逆流防止ダイオードがあり、最大開放電圧が25V以下のソーラーパネルをご利用ください。 本基板は降圧制御のため、鉛バッテリー充電には14V以上の電圧が必要です。 必要なソーラパネルの電力は負荷やバッテリー容量によって変わりますが、 5W-100Wを推奨しております。
T2, T3負荷利便性向上のため、2つの負荷接続端子を用意しています。充電のみの場合は未接続のままで構いません。 T2, T3の機能に違いはなく、ON/OFF制御は独立しておりません。 鉛バッテリーの電圧が12Vなので、シガーソケットに変換すると市販の製品がご利用になれて便利です。
T4鉛バッテリー12Vの鉛バッテリーを接続してください。取り扱いのしやすいシールタイプを推奨しております。 推奨品はこちらのLONG製です。
鉛バッテリー電圧、電流測定

鉛バッテリーの電圧、電流測定用にINA219を搭載しております。I2Cで制御し、アドレスは0x40となります。 電流測定用抵抗は10ミリオーム、誤差1%です。INA219で抵抗の両端の電圧を計測し、電流値を求める仕組みです。 詳しくはINA219データシート をご参照下さい。測定できるのは鉛バッテリーへ流入(または流出)する電流の値となり、 ソーラーパネルからの入力電流から負荷への出力電流を引いた値となります。 両方同時には測定できないので、別々に測定したい場合は一時的に充電を止めるなどして対応してください。

充電制御

充電にはPWM(IO32)で制御可能な降圧型のDC-DCコンバーター回路を搭載しております。 IO32がLOW出力時(Duty 0%)はT1入力とバッテリーが遮断された状態となります。 逆にIO32がHIGH出力時(Duty 100%)はT1入力とバッテリーが接続された状態となります。 バッテリー側の電圧、電流をINA219で監視し、目標より高い場合はPWMのDutyを下げ、低い場合はDutyを上げるように 制御してください。PWM周波数の推奨値は500Hzです。高すぎるとMOSFETの発熱が大きくなります。 電圧、電流はお使いの鉛バッテリーおよびソーラーパネルの仕様もご確認ください。

負荷制御、LED

負荷、およびLEDはラッチICを介して制御する設計となっております。 IO13=HIGHの間はラッチICが入力を受け付けます。IO13=LOWにするとラッチICは現在の出力を保持し続けます。 そのため、DeepSleep中でも負荷とLEDの状態を保持することが可能です。以下の手順で設定してください。

1)IO13=HIGHを出力し、ラッチICが入力を受け付けるようにします。
2)負荷、LEDの値をIOから出力します。
3)IO13=LOWを出力し、ラッチICが現在の出力を保持するようにします。

負荷のON/OFFは負論理となっておりIO33をHIGH出力時はOFF、LOW出力時はONとなります。 LEDも同様に負論理となり、HIGH出力時消灯、LOW出力時点灯となります。

ソーラーパネル入力電圧の取得

ソーラーパネル入力電圧を10kオームと1.5kオームで分圧した電圧がSVP端子に入力されております。 ESP-WROOM-32のADC機能を使って取得した値に11.5/1.5を掛けることで電圧を取得することができます。 夜間など入力電圧が低い場合はスリープに移行するなどの応用が可能です。

スイッチ

SW2, SW3, SW4, SW5はユーザー入力としてご利用になれます。離した状態でHIGH、押した状態でLOWが入力されます。 基板上にプルアップ抵抗はないのでプログラム上でで内部プルアップの設定にしてください。

DeepSleepと消費電力

各動作状態の消費電力の目安は以下の通りです。なお、瞬間的には以下の値を上回ることもございます。

動作状態消費電流(12V電源からの入力電流 平均値)
WiFi動作中20mA
DeepSleep中LED消灯時1mA以下。LED点灯中は1つにつき1mA程度追加で消費します
LCD

基板上に搭載されているLCDとはI2Cで接続されており、スレーブアドレスは0x3Eです。 詳細な使い方はLCDのマニュアル をご参照下さい。

microSD

microSDはSPIモードで接続されております。CS:IO17, SCK:IO18, MOSI:IO23, MISO:IO19 となっております。 ArduinoIDEでプログラミングする際、一部のmicroSDカードにおいて 初回SD.beginがFailするケースが確認されております。 対策として、2回SD.beginを入れるようにしてください。

P2, P3端子

P2, P3端子は電圧モニター用となっております。こちらから電源などへの接続は行わないでください。

サンプルプログラム

プログラム環境ESP32core内容
interfaceArduino1.0.4LCDディスプレイ、ユーザースイッチ、LEDのサンプルプログラムです。
PWMArduino1.0.4PWMを使って充電電圧、電流を制御するサンプルプログラムです。
Load-SleepArduino1.0.4負荷の接続と電力消費を抑えるDeepSleepモードのサンプルです。
VCRGArduino1.0.4ソーラー充電入力T1の電圧を取得するサンプルプログラムです。
SolarChargerArduino 1.81.0.4ソーラー充電システムの応用例です。

環境がArduino 1.8となっているものは、Arduino IDE 2でコンパイルエラーとなります。Arduino IDE 1.8.xをご利用ください。

回路図、関連資料

注意事項

  • 鉛バッテリーとの接続には必ずヒューズを使用して下さい。ヒューズを用いないと万一の際に火災などの事故につながるおそれがあり、大変危険です。
  • こちらの発熱に対する対策をお願いします。
  • 端子をショートから保護するため、裏面を電気を通さないものでカバーする、ネジ穴にスペーサーを付けて基板を浮かせるなどの対策をお願いいたします。また、基板を移動させたり配線を変更する際には、バッテリーとの接続を外しておき、誤ってショートしないような運用をお願いいたします。
  • 利用規約・免責事項および保証をご確認の上、ご利用下さい。

開発依頼

本製品への機能追加などのカスタマイズや、本製品を使ったシステムの開発依頼、その他ハードウェア、ソフトウェアの開発については、有償にて承っております。ハードウェア、ソフトウェア受託開発をご参照下さい。

関連ページ

E32-BreadPlus(スイッチ付き コンパクトESP32、ESP-WROOM-32 ブレッドボード開発基板)

WiFi、Bluetooth機能を内蔵したマイコンであるESP32、ESP-WROOM-32をブレッドボードに挿して開発するための基板です。Arduino IDEで自由に動作をプログラミングすることができます。リセットとプログラム書き込み用スイッチ実装済のため、自分の作りたい回路に集中できます。使用できないピンを削減したことで、類似品に比べてコンパクトになっています。

RPZ-IR-Sensor (Raspberry Pi用 温度/湿度/気圧/明るさ/赤外線 ホームIoT拡張ボード)

動作をプログラミング可能な、Raspberry Pi/Zero(ラズパイ)用ホームIoT拡張ボードです。温度、湿度、気圧、明るさセンサー、赤外線送受信機能を搭載。温度が上がったらエアコンをオンにする、暗くなったら照明を点灯する、外出先から家電の操作をする、気温や日照時間を記録する、といった使い方が可能です。LEDにステータスを表示したり、スイッチを押したら特定の処理をすることもできます。

人感センサーとラズパイで人や動物が通ったら撮影する (RPZ-PIRS)

人感センサー(PIR/焦電赤外線センサー)は、人や動物の動きを検知できます。そこで、Raspberry Pi(ラズパイ)、カメラと組み合わせて、人や動物が通ったら写真や動画を撮影する方法を解説します。実際に動作するプログラムも用意しています。人感センサー搭載のRPZ-PIRS拡張基板を利用します。