はじめに
さまざまな方言を話すおしゃべり猫型ロボット「ミーア」を開発中。
前回、こちらの記事で、JLCPCBによる表面実装エラーの原因調査について記載した。
今回は表面実装エラーをできるだけ起こさないように、どのように回路修正するかを記載したいと思う。
ちなみに現在の回路がこちら

JLCPCBの記事に、初心者が陥りやすいPCB配線のミスが記載されている。
https://jlcpcb.com/blog/pcb-design-mistakes-of-beginners
MAX98357 周辺の信号線を短くする
I2S信号の配線は短くするようにMAX98357の位置を変更
MAX98357 自体は、ESP32 WROOM 32Eの25,26,22ピンとつなぐ必要がある。I2S信号(BCLK、LRCLK、DIN)の配線は短く保つことで、信号の劣化やクロストークのリスクを低減できるので、ESP32の25, 26ピンにできるだけ近接させる。
試しにここに置いてみた。

スピーカーを近接させる
スピーカーはこの場所でなければいけないわけではないので、MAX98357 に近づけてみる

抵抗やコンデンサも近接させる
R10の抵抗も近接させる

C1, C2のコンデンサは、GNDと3.3Vを繋いでいるので、元の基板左下のLCDディスプレイのピンヘッダーの部分で良いと判断。

最終的にスピーカー関連の配線はこのようになった。結構スッキリしたと思う。

デカップリングコンデンサの最適化
電源周辺の回路で電源ノイズ削減のためにデカップリングコンデンサの最適化を試みる。

C17 (10uF) と C18 (10uF) のデカップリングコンデンサを配置しているが、さらに0.1uFのセラミックコンデンサを各ICの電源ピンに直接追加する。特に高周波ノイズを効果的に除去するため、10uFと0.1uFのコンビネーションが推奨される。

新しく追加した0.1μFのコンデンサ含めてデカップリングコンデンサをできる限りICの電源ピン(今回は、U7(レギュレーター)とQ1(MOSFET))の近くに配置する。電源ピンから遠く離れた場所に配置されている場合、ノイズ除去効果が減少する可能性があるため。

全体もろもろ修正した結果がこちら。

最初の配線と比較するとだいぶスッキリした感じ


GNDライン

3.3V(5VからLDO後。ESP32とLCDディスプレイ供給電源)

5Vライン(USB給電LDO前)

VBATライン(リポ給電時)

ChatGPTに投げたところ、下記返信が来た
新しい配線レイアウトを確認しました。全体的に整然としており、電源ラインやグランドラインがしっかりと確保されているようです。各電源ラインのレイヤーごとに分かれており、ノイズ対策にも気を配られているように見えますが、いくつかのポイントでさらに最適化できるかもしれません。以下に各ポイントについてコメントします。
デカップリングコンデンサをI2Sアンプのできるだけ近くにおいた方が良いので、前言撤回でコンデンサを移動
0.1μFのコンデンサだけMAX98357Aの近くに移動させ、Track幅を0.2mmから0.25mmに上げたところ、MAX98357Aとコンデンサの間だけ1配線failureになってしまった。。

Track幅を0.23mmにしたところ、成功。track clearanceは0.16mm
MAX98357Aの電源ピン(VDDピン)と0.1μFのデカップリングコンデンサの間の配線距離を最短にするため下記のように配置。デカップリングコンデンサは近接できたが、一方で、25番の信号ラインは最短距離から少し長くなってしまった。
どちらを優先するか問題が生じるが、回路全体のノイズ耐性や電源の安定性を保つためのを優先させた方が良いので、修正後の配置にすることにした。

WLPパッケージの信号線周りにグラウンドプレーンを配置
信号線の周りにグラウンドプレーンを配置することで、外部ノイズからのシールド効果を得られる。BCLKやLRCLKなどの高速信号は、特に電磁ノイズやクロストークの影響を受けやすいため、グラウンドプレーンがその干渉を防ぐ。
MAX98357のデータシート33ページに、パッケージの配線コツとして、下記のように記載されている。
The ICs are inherently designed for excellent RF immunity. For best performance, add ground fills around all signal traces on top or bottom PCB planes.
最高の性能を得るためには、PCBの上面または下面の信号線周囲にグラウンドフィルを追加してください
というわけで、さらに各部品の配置を移動させて試行錯誤した最終配置がこちら。

GNDベタ塗りした結果がこちら


MAX98357回りのグラウンドプレーン拡大図がこちら。
Topに関しては、重要な信号線(今回だと22,25,26番)回りのGNDプレーンが完全にはできていないが、Bottomは信号線周りのGNDプレーンができているので、一旦これで良いかなと。


ちょっとMAX98357A IC周りの配線が複雑なので、また表面実装不備にならないか心配なので、発注時に「MAX98357A ICパッケージが小さく配線が密になっているので、IC周りの配線を特に気をつけてください」と、発注時のRemarkの欄にコメントを添えた。
In the previous order of 25 units, 4 of them were defective (no sound was played, or the sound was distorted). C2682619 is the IC that connects the ESP32 to the speaker.
C2682619 (Class D Amplifier) is a small IC, and the surrounding wiring is dense and intricate. Please pay special attention to the nine wires coming out of C2682619 during surface mounting.
