MINTIA(清涼菓子) へ ESP32 を組込む ～ 回路、基板設計 ～

# はじめに
[前回の記事](https://qiita.com/TTL/items/94461dc0f962da8d8ca6)にて MINTIA ケースの採寸、基板外形寸法取得まで

今回は回路、基板設計をやっていく

![MINTIA_PCB_.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214132/3b52fda6-a3ea-494f-8c2b-3131a9c8ab5e.jpeg)


# 回路構成検討
* 基本的に部品はネット通販にて入手する
    * おなじみ "[秋月電子通商](https://akizukidenshi.com/catalog/default.aspx)"にて入手可能な物を選定
    * [USBシリアル変換IC](https://akizukidenshi.com/catalog/g/g106713/)、[コネクタ](https://akizukidenshi.com/catalog/g/g114163/)、[レギュレータ](https://akizukidenshi.com/catalog/g/g111299/)などなど
* 抵抗、コンデンサなどは 表面実装部品 (SMD) 1608 サイズを基本とする
    * これらも秋月電子通商から入手可能
    * 数年前まではチップコンデンサもリールで販売していたのだが...
* センサ類は単体にて購入するため、 [DigiKey](https://www.digikey.jp/) 


## ESP32
[ESPRESSIF ESP32-DevKitC-V4](https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32/esp32-devkitc/index.html)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214132/24a44f7e-fc19-4883-887a-7ef34c78be7d.png)


ブレッドボードやユニバーサル基板を使用し、実験回路を構成する場合、
ピンヘッダーが用意されている 評価ボードを購入し使用する事が多い


https://akizukidenshi.com/catalog/g/g115673/

今回は MINTIA のケースへ組込む事を目的としているので、
ESP32単体でのモジュールを購入し実装する

https://akizukidenshi.com/catalog/g/g115675/

当該モジュールは基板の横にハーフスルーが設けられているので
一般的な電子部品用のはんだごてを使用し実装が可能

XM125の基板へのはんだ付けはヒートガン使う必要があると思うので
パッドを大きくしたいけど...MINTIAケースへ収める為、小さいサイズで頑張る....


## CPU Board
[ESP32](https://akizukidenshi.com/catalog/g/g115675/) をコアとする。
* 外部USB端子を使用し、ファームウェア書換なども行えるようにする
* BOOT , EN 端子を操作する必要がある為、 USB-シリアル変換ICにて
ポートが叩けるようにする

* Status LED , スイッチ入力
    * 各1系統ずつ設ける
    * ソフトにて何らかの Status 表示
    * 何かに使うであろうスイッチ

## Acconeer XM125 (技適取得済み)
* Acconeer XM125 - ESP32間は I2C , UART にて接続
    * XM125 は UART 2系統となっているので、
    ２系統ともESP32へ接続
    * XM125 ファームウェア書換に UARTを使用する為、
    ESP32 と切り離し、外部端子は接続
    * UART 切替は DIP SW にて行う

## IR Sensor Array
* Panasonic / Melexis 社の IR Sensor を接続
* IR Sensor Array - ESP32間は I2C接続

### これがやりたいww
<img width="350" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214132/1a2e902b-074f-4129-8388-650d7158ee85.png">


# 回路考える
実験機なので、何も考えず、一先ず回路作る
先の事を踏まえ、回路を考える

基板サイズなどまずは考えない....
自分の使いたい部品を使い、回路書く!! 非常に気楽www


細かい所は基板設計する際にフィードバックし調整する....
テストポイントなども仮置きしておく....

## ひとまず 初版
### ESP32-WROOM-32E 周辺回路
* EVK同様にFW書込みなどを行う際に必要な、BOOT及びENスイッチ
* 外部(USBシリアル)通信用 UART0
* センサー通信用 UART1 , UART2 , I2C
* 操作用スイッチ
* LED

![MINTIA_SCH_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214132/8c4404a1-8816-4e4f-bf1d-9efab3e5cc31.png)

### Acconeer XM125 (60GHz Radar Unit)
* 基本はリファレンス通りの構成
* ファームウェア書込み時に使用する BOOT,Reset スイッチ
* 外部通信用コネクタへUART接続

![MINTIA_SCH_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214132/a520f3d5-864d-4c80-be1d-12a2b52ea8b4.png)

### 電源回路
* USB端子からの給電にて動作する前提
* 3.3V出力レギュレータ
* XM125にて使用する 1.8V 出力レギュレータ
* 通電確認用 LED

![MINTIA_SCH_04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214132/30c8c012-083c-4679-92a2-1bd98022d547.png)

### USBシリアルインタフェース回路
* ESP32 ファームウェア書換時に BOOT,EN端子を操作する必要があるため、FT23XSを採用
* DTR,RTS出力をデジタルトランジスタ(DTC114)へ入力し、BOOT,EN端子を操作
* USB D-,D+ 端子へ直列に接続している 27 ohm は手元にないので、10 ohmで代用
    * USBシリアル変換基板作成時に実績があるのでOK

### IR Sensor Array 周辺回路
* I2C にて接続
* Panasonic AMG8833 , Melexis MLX90640 周辺回路はリファレンス通り
    * AMG8833 にて 20 ohm がリファレンスとなっているが通常20 ohmって選択しないと思うのだが....
    * わざわざ 20 ohm を購入するのは **イヤ** なので他の定数で対応予定 
![MINTIA_SCH_05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214132/dd580f15-1211-4218-9e2d-424f4ea2f5a6.png)



## 部品選定
抵抗、コンデンサの定数はデータシートなどに記載されているものを
基本とし、プルアップなどは適当 (テキトーではない)に選定

![Footprint.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214132/176cdaf0-cd07-4cb4-b873-13352dffeda3.jpeg)

基本は表面実装部品(SMD) 1608 サイズを基本とする。

これよりも小さいと手付け & 部品調達が大変。

ネット通販にて購入可能な部材を考慮し回路設計する。



# 基板設計
ESP32, Acconeer XM125 など RF(WiFiなどの無線) を使用する
大きいモジュールの配置を決める。

ESP32のアンテナは基板上に構成されている為、
アンテナ周辺は何もない状態が望ましいので、

* GNDベタ排除
* アンテナパターン下部の基板へ穴あけ

とする。 (雰囲気が大切



# パターン設計するぜっ
パターンを引っ張りまわす...
さすがに欲張ってセンサ３種搭載する為、
格好悪い所も多々あるが愛嬌

単純なロジック回路なので、引き回しはあまり気にしないが
テキトーに書くと格好悪いので、それなりの体裁とする

:::note info
設計基準
基板設計を行う際、基板加工各社の設計基準をきちんと理解し
基準に則り設計を行う必要があります
:::

ですが、大体下記の設定を守っていれば問題ない

| 項目       | 数値         |
|:-----------|:-----------:|
| パターン幅  | 0.3mm 以上  |
| ドリル径    | 0.3mm 以上  |
| パターン(パッド)間 クリアランス | 0.3mm 以上 |
| 基板外形からのクリアランス | 0.5mm 以上   |


:::note warn
高密度実装などを行う場合は、基板加工会社が提供している
基準を熟読し設計を行う必要があります。
:::



※結果的にテストポイントは邪魔だったので排除
多分使わない & 何かあれば直接線だしすればOK

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214132/2091248e-a02b-4219-98e0-ff1f512f39c5.png)


## DRC(デザイン・ルール・チェッカー)
Radar Module, IR Sensor 搭載部分のシルクが重なっているなど、
Error, Warningが出ているが、分かっていてやっているのでスルーする (自己責任

最低限、未配線が無い事は確認。
GNDなどベタにて接続している部分がちゃんとしてるか目視確認する

THX DRC...

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214132/1e19b688-5f74-46a0-9b81-e34777782e2f.png)

「**未配線アイテム**」が **ゼロ** (0)になっている事が重要。

## エラー
Acconeer XM125を搭載する箇所へ IR Sensor Array ２種を重ねて
配置している関係で Error が出ている。 > "オーバーラップ"

一般的な設計では部品を重ねる事は行わないが、
複数のセンサを動かしたいので、今回は部品を重ねる方向で配置

## 警告
シルクスクリーンのオーバーラップ警告なので、
描画図を確認し、特に影響なければスルーする



## 3D確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214132/cbf6b456-0a19-4af7-bace-a3ed7b5d420e.png)

良き 良き



# まとめ
かなり端折ったが、必要最低限の回路構成には出来た。

ESP32とRadar, IR Sensor... EVKとしては良い感じと思われる。
* IR Sensor は 大きいのでケースには収まらないのでケース加工する

基板を書いている途中で、スイッチなどのユーザインタフェースが皆無である事に気づき、急遽各１系統追加。

※たった１系統ずつではあるが、動作状態の確認や
ペアリング操作などが行えるはず (用途は無限大


## SCH & PCB Data
回路および基板データは[こちら](https://github.com/HLDC-FJ/ESP32-EVK_MINTIA)　(KiCAD6用)



次回は[ガーバー出力](https://qiita.com/TTL/items/95624cc8908f53563718)