PCB-V3:設計方針
基本方針
実装ボリュームを大きめな基板を作りシステムを構築する。
その後実際の販売ターゲットに向けて簡易化させるための基板。
やや大型になると思われる。
PCBの構成
PCBはメインボード、サブボード構成とする。
サブボードには内蔵センサーSHT31、SGP40センサーを搭載し、これを内蔵センサーとする。
サブボードに設置することで、本体の熱の影響を受けにくくする。
フルカラーLEDを搭載
現状は2色LEDを使っているが、フルカラーLEDを搭載、制御できるようにする。
フルカラーLEDはサブボードに設置する予定。
フルカラーLEDの数は5つとし、配置はサイコロの5のような並び、ナイトライダーのような横配列を用意する。
フルカラーLEDは下記のPINで制御する
LEDチップの仕様
LEDの候補はWS2812BまたはSK6812MINI
下記はWS2812B、SK6812MINIのデータシートから引用(共通)
1 VDD = 電源プラス。基本は +5V
2 DOUT = データ出力。次のLEDの DIN へつなぐ
3 DIN = データ入力。ESP32のDATA、または前のLEDの DOUT から入れる
4 VSS = GND。電源マイナス
https://akizukidenshi.com/goodsaffix/WS2812B_20200225.pdf
https://akizukidenshi.com/goodsaffix/sk6812mini-e.pdf
フレキシブルケーブルフレキシブルケーブルを採用
メインボードと各種ボードはフレキシブルケーブルで接続させる。
外付けモジュールはフレキシブルケーブル2Pinヘッダ変換コネクタを開発する。
フレキシブルケーブルを採用する理由は、3Dプリンタやレーザー彫刻気などの内部へモジュールを仕込むときに、フラットケーブルだと厚みに問題がでてしまうから。
デメリットは、フレキシブルケーブルを使うためのソケットが必要でコストが上がる。
外付けモジュールは別売り扱いとするため、コストが上がっても良いと考えている。
ただし、コストによってはメインボードとサブボードに関しては従来の安価なフラットケーブルを使っても良い。
物理ボタン
APモードの起動など、物理操作に必要なボタンを用意する。
スタンドアロンモード(後述)のばあい、VOCのキャリブレーションは物理ボタンにて行えるようにする。
用途未定も含め、2-3ボタン用意し、最終的に何個必要かを判断する。
I2Cの数
I2CはESPの仕様上、2つまでしか取れない。
マルチプレクサを使うことで同一I2Cから同一ポートデバイスを複数利用できるが、ファームの対応が必要。
マルチプレクサ対応
ファームの修正点
- TCA9548A等のマルチプレクサ制御を追加
- EX scan時に各チャンネルを順番に開いてscan
- センサー情報に bus_id だけでなく mux_addr / mux_channel を持たせる
- 読み取り時も対象センサーのチャンネルを選んでから読む
- golden_state や送信payloadで、同じアドレスの同種センサーをslot別に区別する
スタンドアロンモード
このプロジェクトがオオゴケした場合、専用ファームを書き込むことでキットとして販売ができるようにする。
キットの場合、内蔵センサーのみ実装とし、他は各自頑張れの精神とする。
PCBレイアウト素案
- USB端子はサイドへ
- 外付けセンサーのソケットをそれぞれ専用に
- SubボードとOLEDボードはフラットケーブルで接続(費用を確認し決める)
- SubBoardは2バージョン作成する
- 本体サイズは大きくなる
