概要
前回に続き、電気回路の設計と、製作を行った。
背景と目的
前回に続き、電気回路の設計と、製作を行う。
詳細
1. 回路全体
以下。ただし、ソーラーパネル発電とリチウムイオン電池まわりはここには書いていない。別途、描く予定。
1.0 電源まわり
大元は、リチウムイオン電池から4V程度が供給される。これを+BATTとしている。後述のマイコン用電源として3.3V系が必要なので、4VをレギュレータU2で落とす。これを+3V3とする。マイコンとその他消費電流から考えて、NJM2845を選択。
1.1 メインのマイコン
おなじみのESP-WROOM-32を使用。 Wi-Fiが使えて、各種GPIO、アナログ入力があり、3.3V系で動くので、+3V3を供給。
1.2 土壌水分センサ
U3が土壌水分センサ。アナログ入力ポートにつなぐだけ。こちらに書いた通り、電圧は高いほうが電池の終わり際まで動いてくれるはずなので、電源は+BATTから取る。
1.3 ポンプ駆動部
今回使用するポンプM1についてきたリレーモジュールを使用する。2次側のノーマリーOFF(NO)とCOM間にポンプの電源を接続し、一次側のコイルに電流を流した時に2次側が導通してポンプが動く。
厄介だったのが、このリレーモジュールRM1の素性が分からなかったこと。Amazonの商品説明ページには細かいことが書いてないので、自分で動かして調べた限り、
- VDD=1次側コイルの電源には3.7V以上、55mA程度が必要
- VINは、VDDにつなぐとOFF、GNDに落とすとコイルに電流が流れる
なので、VDD端子には、3.3Vではなく+BATTを接続。また、VIN端子は、ESP32のGPIO出力だと3.3Vしか出せないので、ちゃんとOFFできていなかった。そのため、簡単なトランジスタスイッチを使って+BATT/GNDでスイッチングできるようにする。ちなみに、VIN端子をGNDに落とすには2mAくらい引いてやる必要がある。まあ、電流的にはGPIOでも引ける。
それと、注意したいのは、こちらに書いた通り、GPIO出力初期状態がポートによって違う問題があるので、LOWになるポートを選んだ。(最初、HIGHになるポートを使っていて、電源を入れると必ずポンプが動いてしまうという問題に見舞われた。)
1.4 水位センサ
水位センサSW1は、水瓶の水切れを検出するために使用する。水位に応じて+3V3/GNDの2値になるように抵抗を介して接続し、ESP32のGPIOで受ける。
1.5 BME280
温度、湿度、気圧を測るセンサU1。3.3Vで駆動。I2C接続なので、ESP32のI2C端子と接続。ラインにはプルアップ抵抗。
1.6 その他
ESP32への書き込み用スイッチやシリアルなど。それと、LEDを1つ。(というか、後述の基板の都合上はじめから付いている。)
2.製作
製作した結果は以下。
- 薄い木の板をベースボードとして、各回路を固定。大きさは、だいたい12cm×10cmくらいか。
- ESP32の載る基板は、過去に私が遊びで作ったダッシュボタンの基板が余っていたのでそれを使った。ソフト書き込み用スイッチやシリアル端子、LEDなどが一通り載っているが、GPIOが引き出されていないので、端子に線をはんだ付けしてGPIOなどを引き出してある。通常は、
ESP-WROOM-32 ピッチ変換基板 ロングwww.switch-science.com
などを使ったほうが作りやすい。
- リレーモジュールは、ネジ穴などがないので、仕方なく結束バンドで固定。
- リチウムイオン電池と充電制御IC基板は、1の回路図には載せていないが、このベースボードに固定。
まとめと今後の課題
電気回路の設計、製作ができた。次回は、筐体を作成する。