回路図を元に、基板設計を行っていきます。
パターン配線のコツ
私のやり方ですが、使うICのデータシートには推奨パターンが載っていたりするので、そのICごとに配線をモジュール化して基板化→動作確認、ライブラリとして保存しておきます。
そして、それらモジュールをアセンブリするときに、外形基板の中で大雑把にモジュールをコピー&ペーストで置いていきます。
画像引用:bq241xx Synchronous Switched-Mode, Li-Ion and Li-Polymer Charge-Management IC With Integrated Power FETs (bqSWITCHER™) データシート
そのままでは、モジュールごとの部品が一部干渉したりするので、そのときは部品の位置や向きを微調整して、収まるようにレイアウトし直します。あとは、その目的の基板ごとに同じフットプリントの中で抵抗値等のパラメータを変更してあげると、すばやく基板設計ができます。
基板設計に関する私が行っているコツをまとめると、
- ICごとに推奨パターンをモジュール化して動作確認する
- それらを目的の基板ごとにコピー&ペーストでアセンブリ&配線調整する
- 同フットプリントの中で目的のパラメータになるよう部品を再選定
ただ、マイクロマウス等の基板のサイズが極小なものだと、その手が通用しなかったりするので、そこは臨機応変にやっていきます。
モジュール作成
だいぶ前のことですが、STM32F446の汎用基板を動作確認用に回路設計して製作したデータをコピーする前に見返します。
他にも、モータドライバ回路や6軸IMU回路、LED駆動用定電流回路、昇圧回路、LiPo充電回路、セルバランス回路をそれぞれ作成していきます。入出力のところはピンヘッダにして、基板ごとに製作して基板同士をワイヤ配線することで、全体動作確認に使ったりします。こうすると、他のプロジェクトにも動作確認に使い回せたりします。
基板レイアウトのコピー&ペースト
KiCadの基板レイアウトエディタは、他KiCadプロジェクトで作成した基板レイアウトデータをコピーアンドペーストでもってこれます。リファレンス番号をアセンブリ先の回路図に修正して(手直しなので自動化できないかな?)、ネットリストを更新しなおせば反映完了です。
画像例:コミュニケーション基板にLiPo Charger Circuitレイアウトをコピー&ペースト
部品再配置と配線
そうしてマイクロマウスの基板をパターン配線したのがこちら。
あまりにも狭い基板範囲に詰め込んだので、裏にも配置、パターン1から引き直し、両面実装するはめになりました。
3Dモデル用のデータ指定
細かい抵抗やコンデンサなどは3Dビューワ用に配置していませんが、位置確認や干渉確認のためにピンヘッダやUSBコネクタ、バランスコネクタなどは部品毎に、フットプリントのプロパティ→3D設定→3DモデルでSTEPデータを標準ライブラリ、もしくはメーカからダウンロードして指定してあげます(wrlデータもある)。
位置や向きが違う場合は、左下の回転やオフセットで調整します。
STEPデータエクスポートと確認
配置や3D配置を終えたら、STEPデータをエクスポートして、機械設計CADに取り込みます。
機械CAD側で干渉チェックなどを行います。コミュニケーション基板の真ん中のXHコネクタ(リポバッテリのバランスコネクタとしてデファクトスタンダードになってる)を抜き差しするとき、後ろのアルミ電解コンデンサに当たりそうですが、基板の配置が限界だったので(配置がいっぱいいっぱいで死にそうになった)そこは許容することにしました。
ガーバーデータチェック
これで問題なさそうであればガーバー出力してレイヤー毎に確認します。
一晩寝かせて基板屋さんに製造依頼を出します(一晩寝た後に見返すと、見過ごしていたケアレスミスが発覚する)。ただし、部品表も作成して在庫があることを先に確認します。在庫切れなどで部品が手に入らない場合、同パッケージ品で代替品を探すか、フットプリント入れ替えによる基板修正が発生します。
大会前の発注当時、春節と被ってしまい、いつものElecrowではなくPCBgogoにステンシルも追加して基板の製造依頼をしました。
実装
基板とステンシルが到着したら、汚れや動作に支障がなさそうなキレイな基板を見繕います。ステンシルも、ミスがないか基板にあてがって確認。
はんだペーストを塗って、部品をピンセット等で一個一個のせていきます。
リフロー機で焼いた後(写真撮り忘れた)、残りのDIP品を半田小手で手実装していきます。
動作確認
コミュニケーション基板の動作確認した動画がこちら。Charge確認LEDが実装した3枚中2枚が点滅していて、配線?実装?何をミスった?と焦りましたが、バッテリ温度監視用の周辺抵抗がハンダ不良を起こしており(2枚とも同じ場所)、ハンダゴテで修正したら正常動作しました。
他にも、5Vリニアレギュレータのフットプリント作成ミスがあって手直ししたり、表示用LEDのビアが通電してなかったり(つらい)、ST-LINK回路がメインマイコンのリセットに繋がっているのでそのままでは起動しなかったりと、デバッグの苦労はしましたが、すべての修正&動作確認をして終了。
同時に基板を出したっぽく書いてますが、鉄鼠のメイン基板は2020年度のマイクロマウス大会前ぎりぎりに実装して間に合わず、コミュニケーション基板の設計&発注&実装は終了してからしばらく後でした。
組立
基板単体の通電チェックや軽い動作確認を終えたら、メカ部と組み立てます。
次は、各機能の確認を行うのでソフトウェアの話になります。