ドローンFCのPCBをKicadで設計して,PCBgogoに発注する

Electronics

以前まとめた以下の記事を参考に,フライトコントローラ(FC)を Kicad で設計していきます.

PCB 設計についておさらいすると,PCB 設計時には以下のステップを踏む必要があり,必要なシンボルやフットプリントが Kicad のライブラリになければ自作する必要があります.

  • Schematic Layout を描く
  • PCB Layout を描く
  • 発注用のファイル作成

今回はプリント基板の部品実装までお願いしたいので,BOM(Bill of Materials:部品表)を作成する必要があります.

FC 作成に必要となる部品

以下が,今回のフライトコントローラ作成で必要となる部品です.

部品名用途値 / ケースSFSMD
esp32 開発ボード1ドローン制御・送信機との通信
タクトスイッチ1動作テスト用ボタン
スライドスイッチ1緊急停止用スイッチ
5V 昇圧コンバータ1esp32 に供給する電圧の安定化
BMX0551姿勢計測用 IMU
2ピン ピンヘッダ11リポバッテリ用
2ピン ピンヘッダ24モータ用
N-MOSFET4モータに電流を流すSQ2310ES
SOT-23-3
ゲート・ソース間抵抗4MOSFET オフ時に電荷を逃す
電源投入時,Vgs 電圧を不定にしない
10 kΩ
0201
ゲート抵抗4インラッシュ電流の流入防止100 Ω
1210
コンデンサ11リポバッテリピン間に設置
電圧変動・ノイズ抑止
100 uF
1206
コンデンサ24モータの正極 – GND間に設置
電圧変動・ノイズ抑止
22 uF
1206
ショットキーダイオード4モータ電源オフ時の電流の通り道を確保SS34
SOD123
-FL

S(シンボル)と F(フットプリント)の列に◯がついているものは,Kicad のライブラリにないので今回自作します.SMD に◯がついているものは表面実装部品を使います.

表面実装部品を pcbgogo さんに部品実装してもらおうと考えているので,基板1枚につき21個の部品の実装を依頼する感じですね.

バッテリに関してはこの記事で選定しましたが,コネクタは PH2.0 もしくは JST となります.どちらの場合でも使えるように,2P ピンヘッダ用のフットプリントとしておきます.※PH2.0 用のコネクタ(2ピン L字PHコネクタ)は,ピンヘッダ用のフットプリントにもハマります.

シンボル・フットプリントの作成

シンボルとフットプリントの作成が必要なものは意外と少なく,以下の3つでした.

※スライドスイッチに関しては,以前この記事でフットプリントを作ったので流用します.ローカルでフットプリントを作成しましたが,slide_switch.kicad_mod ファイルをコピーしてくればこのプロジェクトでも使用できました.

ショットキーダイオードに関してはシンボルはありますが,SS34のフットプリント(SOD123-FL,以下画像参照)が Kicad のライブラリになかったので,作る必要がありそうです.

https://www.digikey.jp/product-detail/ja/on-semiconductor/SS34FA/SS34FACT-ND/5892139

設計方法を忘れてしまっていたので,シンボルを作る際はこのサイト,フットプリントを作る際はこの動画を参考にしました.グローバルライブラリとして,flightcontroller.lib, flightcontroller.prettyを作成し,ここに新たに作成したシンボルとフットプリントを保存しました.

以下で,今回作成したシンボルとフットプリントのスクリーンショットを貼っておきます.

5V 昇圧コンバータ

シンボル

フットプリント

BMX055

シンボル

フットプリント

ショットキーダイオード

フットプリント

抵抗・コンデンサの SMD 部品のフットプリントはあったのですが,ダイオードだけ適当なフットプリントがなかったので作りました.設置するときのダイオードの向きがわかりやすいように,シルクでダイオードの向きを書いておきました.

Schematic Layout の作成

Schematic Layout 作成の手順は,この記事を参照してください.

回路図

この記事のメモ通りに作成すると,最終的に回路図は以下のようになりました.

シンボルとフットプリントの関連付け

以下のようにシンボルとフットプリントの関連付けを行いました.

PCB Layout の作成

ポイント

PCB Layout 作成の手順は,この記事を参照してください.

設計時に考慮したポイントを箇条書きで列挙していきます.

  • 45 x 45のユニバーサル基板に実装していた回路を今回 PCB にするので,ネジ穴径や基板サイズをこれに合わせる.
  • IMU は基板の真ん中にくるよう調整する.
  • IMU の向きとモータの配置を誤らないよう,この記事を参考に調整.
  • スイッチは外から押すので,esp32 とかぶらないように配置する.
  • 電源線は可能な限り短くし,太さは 1.4mm とする.(シミュレータ
  • 電源線以外は 300mA 程度しか電流が流れないことを考えると,太さは 0.06mm 以上であればよい.
  • 部品の配線がなるべく交差しないようにする.
  • 電源線にビアは使わない.(ビアを使うと抵抗が大きくなってしまう.)
  • Design rules checkをすると,”Pad too close to pad” というエラーが発生したので,フットプリントを新規作成して対処した.(※補足1)
  • 表面も裏面も GND ベタで囲う.(※補足2)
  • ネジで GND ベタと 5V 電源線が導通しないように,5V 線を迂回させた.
  • 部品同士が近すぎることのないように配置する.

※補足1:Kicad のデフォルトのライブラリに用意されていた 0201 抵抗のパッド間隔が狭かったことがエラーの原因でした.データシートの Recommended Pad Layout を参考にして,この間隔を広げたフットプリントを新たに作成しました.

※補足2:表面も裏面も GND ベタで囲うことで,スルーホールのパッドをビアの代わりにすることができ,GND 線用のビアを無くすことができました.

完成図

3D Viewerで見ると以下のような感じです.

発注用データ作成

PCBgogo で部品実装サービスを利用するためには,以下のデータを入稿する必要があります.(参考

  • ガーバーデータ
  • BOM(部品表)
  • 座標データ:部品の位置,角度がリスト化されたデータ

以下のサイトを参考にして,上記のファイルを作りました.

簡単にまとめると,以下のような手順です.

ガーバーデータ

ガーバーデータは「File -> Plot -> 出力ディレクトリ選択 -> Use Protel filename extensions を選択 -> Plot」の手順で作成します.

さらに,「Generate Drill Files -> Generate Drill File」を実行することで,ドリルファイルも生成します.

ガーバーデータを詳しく確認する方法は,この動画を参考にすると良さそうです.趣味での基板作成なので,今回はそこまでしっかり確認していません.

BOM(部品表)

Kicad で BOM を作成する方法はこのサイトに載っており,解説がわかりやすかったです.

私は上記のサイトの方法は使わず,PCBgogo の BOM のサンプルをこのサイトで取得し,これ書き換えて入稿することにしました.

できあがったシートは以下のような感じです.

座標データ

Pcbnew で「File -> Fabrication Outputs -> Footprint Position (.pos) File… -> 出力ディレクトリを選択 -> Generate Position File」を実行します.

出力されたデータは以下です.

※座標データに部品の位置情報が反映されない場合は,このサイトを参照すると良さそうです.

PCBgogoに発注

今回もPCBgogoに基板作成をお願いします.1.6 mm・黒・5枚と設定して,部品実装をお願いしました.発注してから到着するまでのスケジュールを以下で記しました.今回は部品調達の遅れ等もあったようですが,おおむね一ヶ月位で届きました!

2021.3.28部品実装依頼
2021.3.28ガーバーデータ自動チェック完了
2021.3.29BOM・座標データのチェック完了
2021.3.29PCBgogoから,無鉛はんだへの変更・2*2面付けを勧められる
※面付けに伴うデータ修正は,PCBgogo側で対応してくれるとのこと
※5シートで20枚(実装基板5枚 + 捨て基板15枚)
2021.3.30はんだの変更・面付けを行ってもらうことを受諾し,お支払い
173ドル → クーポン適用で162ドル
2021.4.27基板到着

↓ 実際に到着した基板

参考となるドローン自作記事

以前別の記事(その1その2)でも参考サイトをまとめましたが,今回の記事でも以下のサイトを参考にして自分の回路設計に誤りがないか確認しました.

まとめ

今回は,フライトコントローラの PCB の部品実装を PCBgogo に依頼してみました.前回の送信機の PCB よりも部品点数が多いことや,座標データや BOM を用意しなくてはいけなかった分,結構大変でした.

コメント