ししかわです。
社員研修の一環で、マイクロマウスを自作して大会に出場します。
今回で連載40回を迎えました!引き続き完成目指してがんばります!
マイクロマウスの基板を製作中です。前回はフットプリント割当から基板の外形を描くまで進めました。今回はマイクロマウスの基板設計から「部品配置」そして「部品同士の配線」まで進めます(図中赤枠)。
KiCadの基本的な操作は公式ドキュメントや書籍「KiCad Basics」を参照ください。
完成した基板データを含むM5Mouseの設計情報はGitHubリポジトリにて公開中です。ただし基板は実物を動作確認しておらず、誤りを含むかもしれないのでご注意ください。
デザインルール設定
最初にKiCadのデザインルールを設定します。配線の最小幅や配線同士のクリアランス(開けるべき間隔)などを設定します。後のPCB製造工場に発注する際にこれらのルールが守れていないと製造できませんので重要です。
重要ですが、マウスの先輩方が既に詳しく説明してくださっているのでこの記事では割愛します。
マイクロマウス研修(のり)[5]KiCADデザインルール(Elecrow) | アールティ 移動型ロボットブログ
部品配置
回路図の各部品に割り当てたフットプリントを、基板の上に並べていきます。フットプリントとそれらのピンの繋がりを示すデータをネットリストと呼びます。回路エディタ(Eeschema)上部メニューからNETと書かれたアイコンをクリックして「ネットリストを生成」、続いて基板エディタ(Pcbnew)で同じアイコン
をクリックして「ネットリストを読み込み」しましょう。
下の画像はネットリストを読み込んだところです。ラッツネット(配線すべきパッド同士を結ぶ白い線)がモジャァ…としていますね。これらの部品が全て基板に収まり、パターンが干渉無く繋がるのが目標です。
沢山あるように見えますが並べていくと意外と収まります。そして配線作業はパズルのような楽しさがあります!がんばりましょう。
部品配置の優先度
まずは部品の大まかな配置を決めましょう。次のように優先度をつけて部品を並べていくと決めやすいです。
機械設計で場所が決まっている部品
- 壁センサ
- 外部と接続する端子
- 電源スイッチ
- インジケータ用LED
が、これにあたります。ただし、絶対に場所を変えてはいけないわけではなく、他の部品との間隔を加味して場所は微修正したりします。
IC
- マイコン
- 電源IC(レギュレータ、DCDC)
- IMU
- モータドライバ
などが該当します。大きいものから順番に置きました。私の場合、基板が届いてから一部のICがバッテリーと干渉することに気づきました…。詳しくは後の記事で。
ICの近くに置きたい部品
- 水晶振動子
- バイパスコンデンサ(パスコン)
など。配線自身が持つ抵抗成分の影響でノイズが発生するのを防ぐため、なるべく短い線で繋ぐとよいです。
その他のコンデンサや抵抗など
上記の部品に比べると多少配置の自由がききます。配線の都合に合わせて移動させたりもできます。
部品をドラッグして基板内に配置していきます。部品の回転はRキー、部品の表裏切り替えはFキーでできます。
まずざっくり配置してみた様子が次の画像です。「お、なんとか収まりそうだな…」という気分になってきましたね。
もう少しきれいに並べた様子です。左右壁センサの位置やモータとのコネクタの位置を微修正しました。これらの修正は後で機械設計にもフィードバックしておきます。
注意点
- 外部と接続するピンの向きをよく確認する:今回の場合は「M5Stackと接続する30極ピンヘッダ」「2枚の基板同士を接続する6極ピンヘッダ/ピンソケット」などがそれにあたります。ピンの向きは何度でも確認しましょう!簡単にピンを180度逆に配置できてしまいますし、(単純なミスですが)自動チェックするのが難しい箇所でもあります。ピンを逆にすると動かなかったり、最悪電源電圧とグランドがショートして基板が焼けたりします。
- 実装しやすさを考慮する:多くの場合、電子部品はまずチップ抵抗などの表面実装部品を先にはんだ付けしてから、手はんだでスルーホール部品を実装していきます。このときはんだを当てるピンの真横に表面実装部品があると非常に実装しづらくなります。今回は実装サービスを使いますが、万が一後から自分で修理をする時に泣かないためにも実装の時を考えながら部品を置きましょう。
配線
部品の大まかな配置が終わったら次は配線です。
配線の優先度
配線も部品配置と同じくざっくりと優先度があります。M5Mouseの場合次の順番で配線を進めました。
電源
電源線(7.4V、5V、3.3V)は多くの部品に接続するため、先に配線しておきます。このとき電流が大きいほど配線幅を太くします。銅箔厚35μmの場合、定常1Aの電流で配線幅1mm程度が目安です。電源線以外にもモータやLEDと接続する線は同様に太くするとよいです。
下図は電池からDCDCに入力する7.4Vの配線です。データシートの推奨レイアウトに従い、配線幅を太くするのに加えてベタパターンも利用して広く配線します。

7.4Vの配線(図中のVIN)。配線幅1.6mmに加えてベタパターンも利用する。
下図は壁センサのLEDに接続する線をハイライトしています。比較的大きい電流が流れるので0.6mmとしました。LEDのGND側も同じ電流が流れるため忘れずに同じ太さにします。

壁センサLEDの配線
アナログ信号
アナログ信号の線も優先して配線します。センサからICまでなるべく最短距離で接続します。下図は壁センサのアナログ電源とフォトトランジスタの配線です。後ほどデジタル信号を配線する際は、(ノイズ源になるのを避けるため)アナログ信号と平行して配線しないよう注意します。

アナログ電源とフォトトランジスタの配線
また、回路設計で述べたとおり、アナログのグランド(GNDA)はデジタル側のグランドとは分けて配線します。下図はグランドのベタパターンをハイライトしています。センサ周辺に配置しておき、0Ωの抵抗を使ってデジタルのグランドと一点接続します(画像赤丸)。

アナログのグランド(GNDA)
等張配線が必要なデジタル信号
水晶振動子の入力、出力の線はなるべく短く、等長で、形も揃っていたほうが望ましいです。水晶振動子についてはノイズ低減のため、部品の下に信号配線が来ないように気をつけます。

水晶振動子の配線
また、SPIのMOSI、MISOは等長が望ましいです。M5Mouseの場合クロック周波数はそれほど高くしない予定ですが、練習のためKicadの等長配線機能を用いて配線しました。

IMUとSTM32のSPI接続(MOSI、MISO)
その他のデジタル信号
上記の線を迂回しながら残りの信号線を配線します。ここまでできたら後述の自動配線機能を使うのもよいでしょう。寄せられる線はなるべく並列に寄せて配線し、基板上に何もない領域=ベタグランドにできる領域が広く取れているとノイズに強い基板になります。
部品配置と配線は、一方通行ではなく試行錯誤のサイクルです。配線の都合に合わせて部品の位置を調整したりします。時間の許す限りこだわってみましょう。
最終的に配線はこんな感じになりました。

配線(裏)

配線(表)
注意点
- 放熱の観点から配線を確認する:電流が多く流れる箇所は熱くなりやすいです。配線が十分太くできているか確認します。また一部のICは放熱のために部品下のパッドをグランドに接続するべきものがあります(M5Mouseの場合DRV8835がそうでした)。データシートを確認しましょう。
- ベタグランドを忘れずに設定する:ベタグランドの効果や配置方法は外部のサイトに説明を譲ります。ここで重要なのはガーバーデータ(基板メーカーに送る成果物)を生成する時に、忘れずにベタグランドを出力することです。私は過去にベタグランド無しのガーバーを送ってしまい、製造期間2週間と製造費用を棒に振ったことがあります…(Elecrowも親切に指摘したりはしてくれません)。よくよく注意しましょう。
TIPS:自動配線ツールもあるよ
実はKiCadの自動配線ツールがあります。今回は結局使いませんでしたが、試してみるのもよいかもしれません。自動配線を行う場合も電源やアナログ信号などは手動配線してから、残りを自動で行う、という手順を取るのが良いそうです。
今日はここまで。次回はいよいよ基板実装(発注)です!