ESP32-DevKitC と SCD30 + 2つのBME280で作る環境モニタ(LTC4331とLANケーブルでI2Cバスを20m延長)用の二合枡ケース

ESP32-DevKitCとILI9341を搭載した2.8インチTFT液晶モジュールをSPI接続(液晶とタッチパネルはVSPI、SDカードはHSPI)、RTCモジュールDS3231、CO2濃度センサSCD30、屋内と屋外の気圧・温湿度測定用に2個のBME280(アドレスは0x76と0x77)をI2C接続した環境モニタをユニバーサル基板に実装して二合枡ケースに収めた作業メモです。

屋外の気圧・温湿度測定用のBME280センサモジュールは、絶縁型I2C延長モジュールLTC4331とLANケーブルでESP32-DevKitCのI2Cバスを20m先まで延長して接続するためケース背面にパネル取り付け用のLANコネクタを取り付けます。

二合枡に格納した環境モニタ。左側が絶縁型I2C延長モジュールLTC4331とLANケーブルでESP32-DevKitCのI2Cバスを20m先まで延長して接続したBME280センサ(6ピン)、SDOピンをVCCにつないでI2Cアドレスを0x77に設定。
目次

ケース作製用に集めたパーツ

ネット通販と手持ちのパーツを集めて組み立てました。

スクロールできます
#パーツ数量備考
二合枡
外寸: 約108 × 108 × 58
内寸: 約 87 × 87 × 47.5
1板厚は約10.0mm ~ 10.6mm
2ユニバーサル基板適量両面スルーホール、2.54mmピッチ、ガラスエポキシ製
3ラッピングワイヤ適量ユニバーサル基板上の配線には30AWG、電源引き出しには24AWGを利用
4分割ロングピンソケット
(細ピン用) 1×40 (40P)
適量モジュールのピン数に合わせてニッパでカット
5樹脂スペーサ(1)
オス-メス M3 x 15mm
4ユニバーサル基板の固定
手持ちの樹脂スペーサ(1)と(2)を結合して23mmで利用
6樹脂スペーサ(2)
オス-メス M3 x 8mm、
プラナット
4
7平頭小ネジ、ナット
M3 x 16mm
4二合枡の背面から樹脂スペーサ(1)を固定
8樹脂スペーサ(3)
オス-メス M2 x 10mm
2DS3231 と SCD30モジュールの固定、プラスペーサは高さの微調整用。
手持ちの樹脂スペーサ(3)にプラスペーサを挟んで11mmで利用
9M2プラナット、
プラスペーサ(1mm)
2
10ACアダプター
(2.1mmプラグ)
19V 1.3A 100~240V
11DC-DC降圧モジュール
(9Vを5Vに降圧)
15VのACアダプター利用時は不要
122.1mm標準DCジャック1
13ゴム足、
木ネジ(タッピングネジ)
4
14パネル取り付け用
LANコネクタ
1
15LANケーブル(10cm)2
16LANケーブル(20m)1

結線図

ブレッドボードで動作確認を行った下記記事の結線図をユニバーサル基板にはんだ付けして2合桝ケースに実装します。

あわせて読みたい
ESP32-DevKitC と SCD30 + 2つのBME280で作る環境モニタ:LTC4331とLANケーブルでI2Cバスを20m延長して... ESP32-DevKitCとILI9341を搭載した2.8インチTFT液晶モジュールをSPI接続(液晶とタッチパネルはVSPI、SDカードはHSPI)、RTCモジュールDS3231、CO2濃度センサSCD30、屋...

参考:
ESP32-DevKitC-1 pin-layout | espressif.com

ユニバーサル基板に実装

ブレッドボード上のテストで動作確認が取れたので、ユニバーサル基板に実装。今回使ったパーツの中で最も大きな2.8インチTFT液晶(ILI9341)モジュールの横幅に合わせて、ユニバーサル基板のサイズは約86mm x 80mm(二合枡の内部寸法は約 87 mm× 87mm)にカットしています。その際、TFT液晶モジュールの両端の接続ピン(J2(14本のピン)、J4(4本のピン))がユニバーサル基板上の2.54mmピッチの両面スルーホールの位置とあっていることを確認しておきます。
パネル取り付け用LANコネクタとケース内のLANケーブル(10cm)取付用のスペース確保のためユニバーサル基板の下部に切り込み(約15mm x 18mm)を入れてカットしています。

各モジュールは分割ロングピンソケットを介してはんだ付け、樹脂スペーサでユニバーサル基板に固定

各モジュールは、ユニバーサル基板に直接はんだ付けしないで、分割ロングピンソケットを介して実装しています。
ユニバーサル基板のおもて面に2.8インチTFT液晶(ILI9341)モジュールとCO2濃度センサSCD30、気圧・温湿度センサBME280を、裏面にESP32-DevKitCとRTCモジュールDS3231、絶縁型I2C延長モジュールLTC4331(マスタ)、DC-DC降圧モジュールを実装。ユニバーサル基板上のモジュール間の配線には手持ちのラッピング用ワイヤ30AWG(細い)、電源引き出しには24AWGを利用。

電源ラインの配線を誤るとモジュールが壊れるリスクがあるので、念には念を入れて配線誤りがないかを確認しておきます。

絶縁型I2C延長モジュールLTC4331(マスタ)には、LANケーブル取付けで力がかかるので、長さの異なる樹脂スペーサを組み合わせて高さを調整(一部カッターナイフでカット)してユニバーサル基板にしっかりと固定

屋外用の絶縁型I2C延長モジュールLTC4331(スレーブ)とBME280センサ

絶縁型I2C延長モジュールLTC4331のマスタとスレーブとをLANケーブルでESP32-DevKitCのI2Cバスを20m先まで延長して屋外設置のBME280センサ(6ピン)を接続。ブレッドボードでの動作確認の際にはジャンパーワイヤでの配線でしたが、ユニバーサル基板での組み立ての際は、BME280センサ基板上のSDOピンを配線ワイヤでVCC(3.3V)にはんだ付けしてI2Cアドレスを0x77に設定。また、マスタ同様に絶縁型I2C延長モジュールLTC4331(スレーブ)のパターン面の1番ピン(VCC)、2番ピン(GND)に給電用配線をパンダ付けしておきます。
屋外設置の絶縁型I2C延長モジュールLTC4331(スレーブ)とBME280センサ(6ピン)用のケースは検討中です。現在は直射日光や雨が当たらない屋根の下部の突き出している軒(のき)にセンサ部分を10cm程度離して固定しています。

屋外設置の絶縁型I2C延長モジュールLTC4331(子機側)とBME280センサ(6ピン)

二合枡の加工

木工用ドリル刃(3mm、7mm、18mm)、ミニホールソー(20mm)で二合枡に穴あけ、狭所での取付け作業には先端が細く平たい精密ピンセットを使っています。

背面にDCジャック、パネル取り付け用LANコネクタの取り付け、上面にUSBコネクタ差込み用の穴開け

二合枡の背面に7mm φ の木工用ドリルで穴あけしてACアダプターとつなぐ2.1mm標準DCジャックをねじ込んで装着。パネル取り付け用LANコネクタは20mm φ のミニホールソーで穴あけして付属ねじで固定。上面側にはESP32-DevkitCのUSB micro BコネクタにPCからのUSB ケーブルを差し込める位置に18mm φ の木工用ドリルで穴あけ、スケッチの修正が容易になりました。

二合枡ケースにユニバーサル基板を固定、ゴム足を取り付けて完成

二合枡の背面に3mm φ の木工用ドリルで4箇所穴あけして、先にユニバーサル基板と二合枡をつなぐ樹脂スペーサを二合枡の背面からM3平頭小ネジで樹脂スペーサが少し動く程度にしめておきます。

裏面実装になるモジュールを分割ロングピンソケットに差し込んだユニバーサル基板と基板上の電源ケーブルを脱着用の中継コネクタを介して2.1mm標準DCジャックに接続。ACアダプター接続用の2.1mm標準DCジャックとユニバーサル基板をつなぐ配線ケーブルの中間地点に脱着用の中継コネクタを追加しておくと、ユニバーサル基板を点検する際に二合枡と分離できて便利です(今回、中継コネクタはオス・メスのジャンパーワイヤのピンを24AWG配線ケーブルではんだ付けして自作)。
ユニバーサル基板上の絶縁型I2C延長モジュールLTC4331(マスタ)のLANコネクタとケース背面にパネル取り付け用のLANコネクタの間は、2合桝内で10cmのLANコネクタでつなぎます。

ユニバーサル基板の裏面。左側手前側からRTCモジュールDS3231、ESP32-DevKitC、絶縁型I2C延長モジュールLTC4331(マスタ)、左上部にDC-DC降圧モジュールを実装。絶縁型I2C延長モジュールLTC4331のパターン面の1番ピン(VCC)、2番ピン(GND)に給電用配線をパンダ付け

ユニバーサル基板を二合枡に組み入れてM3プラナットで樹脂スペーサに固定。その際ユニバーサル基板の4隅に開けた3mm φ 穴と樹脂スペーサのM3ねじの頭がずれて刺さらないときは、開けた3mm φ 穴から見えるねじの頭を精密ピンセットで引き込みます。
ユニバーサル基板と樹脂スペーサを4個のプラナットで固定できたら、二合枡の背面側のM3平頭小ネジを固定。最後に、おもて面実装の2.8インチTFT液晶(ILI9341)モジュールとCO2濃度センサSCD30、屋内用の気圧・温湿度センサBME280を分割ロングピンソケットに差し込んで完成です。
二合枡の底面 4か所にゴム足(壊れた冷却ファンから流用)を木工用のタッピングネジで取り付けました。

二合枡ケースの背面

BME280センサの取り付け位置

センサ類は外気に晒しておきたいのでケース前面下部に配置していますが、BME280センサモジュールをケース表面から1cm程奥まった位置に配置したところブレッドボード実装時より温度が1℃ほど高めになったため、BME280センサモジュールピンをジャンバーワイヤでケースから1cmほど外出して評価中です。

動作確認に使ったスケッチ

動作確認に使ったスケッチは、CO2濃度測定にSCD30センサモジュールを使い、1秒毎に日時・時刻表示、10秒毎に気圧、CO2濃度、温度、湿度を表示、SDカードにその値をファイル名「logdata.txt」でCSV形式で書き込む「esp32-devkitc_ili9341_scd30_bme280x2_ds3231_SD.ino」。下記のリンク先にセットアップ手順をまとめています。

あわせて読みたい
ESP32-DevKitC と SCD30 + 2つのBME280で作る環境モニタ:LTC4331とLANケーブルでI2Cバスを20m延長して... ESP32-DevKitCとILI9341を搭載した2.8インチTFT液晶モジュールをSPI接続(液晶とタッチパネルはVSPI、SDカードはHSPI)、RTCモジュールDS3231、CO2濃度センサSCD30、屋...

 

 

よかったらシェアしてね!
  • URLをコピーしました!
目次