Kicadでフライトコントローラの製作をしてみたいのですが,まずはKicadの使い方に慣れるため,送信機をPCBで作ります.
わかりやすそうなチュートリアルがあったので,まずこれを試しにやってみました.
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZ0eHQ9S2lDYWQlMjAlRTMlODMlODYlRTMlODIlQUQlRTMlODIlQjklRTMlODMlODglMjAlRTMlODElQUYlRTMlODElOTglRTMlODIlODElRTMlODElQTYlRTclQjclQTglMjhWZXIuNSVFNSVBRiVCRSVFNSVCRiU5QyUyOSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MGUxNWIyMTBmODc3YTUzMmYyMTdkMTcyMWFiYWRlZGU&mark-x=142&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwbmFuYnV3a3MmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWVjYmJiYjM1OGIyODRiODUwMWZjZmYwZjg4Y2MyZTU3&blend-x=142&blend-y=491&blend-mode=normal&s=83381ff1c55e6e7de35a9142dd8577c5)
あともう一つ,このチュートリアルもわかりやすかったのでおすすめです.
Kicadで基板を作る際の流れ・ポイント
これに関しては,先人の方々がうまくまとめているかと思いますが,自分用の備忘録としてまとめていきたいと思います.
基板を作る流れ
Kicadで回路図を作るプロセスは,Schematic LayoutとPCB Layoutを描くプロセスに分かれます.回路図を描いた後は,発注用のファイルを作成します.
Schematic Layoutを描くプロセス
- 部品を配置(電源・GND・マイコン・各種素子)
- 適切なシンボルが無い場合は,シンボルエディタで自作する
- 配線
- 抵抗値・電気容量等を入力する
- 電源部品にPWR_FLAGを接続する
- アノテーション(部品に番号をつける)
- 配線のエラーチェック
- シンボルとフットプリントの関連付け
- 適切なフットプリントが無い場合は,フットプリントエディタで自作する
- ネットリスト生成
PCB Layoutを描くプロセス
- ネットリストの読み込み
- 基板の外形を決める(Edge.cuts)
- 部品を並べる(表面 :F.Cu,裏面:B.Cu)
- 裏面に配置したい部品は反転させる
- 配線しやすいように部品の向きを整える
- 配線する
- 表面の回路と裏面の回路をつなぐときは,vキーを押してビアを通す
- 素子の識別のために,シルクを描いておく
- ベタを塗りつぶす
- 基板の原点を,基板の左下端に設定する
- DRCによる配線エラーチェック
発注用のファイル作成
- ガーバーデータ出力(「Protelの拡張子を使用」にチェックを入れる)
- ドリルファイルを生成
- ガーバービュアーでガーバーファイルとドリルファイルに問題がないかチェックする
- (面付けをする)
※ガーバーファイルには各レイヤの基板データが入っていて,ドリルファイルにはどこにビアや穴をあけるかの情報が入っています.
ポイント
超Lチカ団さんの動画を参考にPCBレイアウト作成時のポイントを抜き出してみると以下のようになります.
PCB Layoutを描く際のポイント
- 単位をmmにする
- ラッツネスト(ピン同士の配線)がなるべく交差しないように部品を設置する
- 電源周りは太い線でつなぐ
- 配線はパッドに対して垂直に入るようにする
- 配線を直角に曲げるとノイズが出る可能性がある
- ビアをあける場所は文字を書かないようにする(かすれる可能性あり)
- どこにもつながっていないベタはできれば消す
- 背面シルクは反転する必要あり
どこかのサイトで紹介されていたのですが,最後にPCBレイアウトを紙に印刷して素子を紙の上に置いて大きさを比較すると,PCBレイアウトの設計ミスを防ぐことができます.
Schematic Layoutの作成(部品)
今回必要となる部品は以下です.
部品名 | 点数 | 用途 |
esp32開発ボード | 1 | |
タクトスイッチ | 2 | 予備のボタン |
スライドスイッチ | 1 | 電源用スイッチ |
ジョイスティック | 2 | ドローン制御用(タクトスイッチ付) |
2ピン オスコネクタ | 1 | 電池ボックス用 |
esp32開発ボード(DOIT ESP32 DEVKIT)
私はDOIT ESP32 DEVKITを使っているのですが,これのシンボルやらフットプリントやらをネットから落としてこれないか探してみたところ,良いサイトを見つけました.
![](https://www.remma.net/wp-content/uploads/cocoon-resources/blog-card-cache/4ace7b400a6b82c153d6f337f8e7dde3.png)
3Dモデリングも作成してくれているようです.↓部品を3D displayで見てるとこんな感じ.
![](https://www.remma.net/wp-content/uploads/2020/10/Screenshot-from-2020-10-10-19-03-20-1024x574.png)
ライブラリの落とし方や使い方を丁寧にgithubで解説してくださっているので,非常にありがたいです.
タクトスイッチ
タクトスイッチに関しては,シンボルもフットプリントもデフォルトでありましたので,これを使います.
- シンボル:SW_Push
- フットプリント:Button_Switch_THT:SW_PUSH_6mm_H4.3mm
スライドスイッチ
スライドスイッチはシンボルはデフォルトでありました(SW3A SW_DPDT_x2)が,フットプリントを見つけられなかったので自作しました.
スルーホールの設定は以下のようにして,これを複製して3つにしました.
- スルーホール
- ランド形状:丸
- ランドピッチ:2.54mm
- ランド径:2mm
- ランド穴径:0.9mm
![](https://www.remma.net/wp-content/uploads/2020/10/Screenshot-from-2020-10-11-15-47-07.png)
![](https://www.remma.net/wp-content/uploads/2020/10/Screenshot-from-2020-10-11-15-50-51-1024x574.png)
ジョイスティック
ジョイスティックに関しては,秋月電子さんでモジュールキットとジョイスティック本体のみ両方買いましたので,それぞれのシンボル・フットプリント作成しようと思います.後者の方がシンボルもフットプリント作成も難しいです.ジョイスティック本体の型番はRKJXV1224005です.
モジュールキット
シンボル
- どこにも接続しないNC (おそらくNo Connection) のピン x 6
- 電源関係でGND x 2, +V x 1
- 信号関連でX, Y, SWが1つずつ
![](https://www.remma.net/wp-content/uploads/2020/10/Screenshot-from-2020-10-16-09-03-03-1024x766.png)
フットプリント
- 左端と右端のピンが11 x 2.54mm離れている
- 上端と下端のピンが5 x 2.54mm離れている
- モジュールキットの大きさは35mm x 35mm
![](https://www.remma.net/wp-content/uploads/2020/10/Screenshot-from-2020-10-16-09-40-50-1024x574.png)
ジョイスティック本体のみ
- 1〜3でX方向のジョイスティック値を読み取る
- 4〜6でX方向のジョイスティック値を読み取る
- 7〜10はタクトスイッチ用
- 11〜16はNC
フットプリントはデータシートを見て自作しました.結構大変でした.
シンボル
![](https://www.remma.net/wp-content/uploads/2020/10/Screenshot-from-2020-10-17-11-48-23-1024x574.png)
フットプリント
![](https://www.remma.net/wp-content/uploads/2020/10/Screenshot-from-2020-10-17-11-47-54-1024x574.png)
コネクタ
コネクタはデフォルトでシンボル,フットプリントともにライブラリに入っているので,デフォルトのものを使います.
- シンボル:Conn_01x02_Male
- フットプリント:Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical
Schematic Layoutの作成(回路図)
ERC(Electrical Rules Check)によるエラーチェック
ERCにてエラーが出ました.原因は以下だと思われます.
- esp32のVinピンが電源から直接ではなく,スライドスイッチを介してつながれている.
- ジョイスティックモジュールの電源ピンがesp32の3.3Vとつながっている.(おそらくDOIT ESP32 DEVKITの回路図で3.3Vが電源出力ピンとして指定されていない)
事前にブレッドボードにて動作確認を行っていて,問題ないことは確かめているので,今回はこれらのエラーは無視することにします.
ERCエラーはプログラムのコンパイルエラーとは異なり設計者が許容できるのもは無視してよい。
https://make.kosakalab.com/eda/kicad-tips_eeschema-erc_error/
![](https://www.remma.net/wp-content/uploads/2020/10/Screenshot-from-2020-10-16-09-58-18.png)
回路図(モジュールキットジョイスティック版)
![](https://www.remma.net/wp-content/uploads/2020/10/Screenshot-from-2020-10-16-09-57-03-1024x574.png)
回路図(本体のみジョイスティック版)
モジュールキットと同様に,プルアップ抵抗として10kΩの抵抗を導入します.esp32側でプルアップさせることもできるので不要な気はしますが,一応つけることにしました.抵抗のフットプリントは「Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal」を選択しました.L,Dは抵抗の大きさ・Pはピン間距離を表しているものと思われます.
![](https://www.remma.net/wp-content/uploads/2020/10/Screenshot-from-2020-10-17-11-46-08-1024x574.png)
PCB Layoutの作成
ポイント
基板に穴をあけておく
基板の下に,このユニバーサル基板を取り付けて持ちやすくしようかと思っているので,四隅に直径3.2mmの穴をあけておきます.また,単3 x 4の電池ボックスを装着する用の穴(直径2.8mm)もあけておきました.
PCBレイアウト(モジュールキットジョイスティック版)
![](https://www.remma.net/wp-content/uploads/2020/10/Screenshot-from-2020-10-16-15-34-44-1024x574.png)
PCBレイアウト(ジョイスティック本体のみ版)
![](https://www.remma.net/wp-content/uploads/2020/10/Screenshot-from-2020-10-17-16-55-52-1024x574.png)
gerberファイルを開いたときに表示されたエラー
![](https://www.remma.net/wp-content/uploads/2020/10/Screenshot-from-2020-10-16-18-31-01.png)
gerberファイルを表示しようとしたら,上記のようなエラーが発生しましたが,このサイトによると特に問題ないようです.
transmitter-job.gbrjobをファイル読み込みしなければ,このエラーは発生しませんでした.
発注
PCBgogoさんで発注をしてみます.基本的にはデフォルトの設定で注文をしてみました.基板の色だけ片方緑・もう片方を黒としました.現在,データを確認していただいている最中です.
【2020/10/31 追記】注文してから6日程度でPCBgogoさんから届きました.早いです!動作確認をしてみましたが,2種類の送信機両方共問題なく動作しました.
![](https://www.remma.net/wp-content/uploads/2020/10/Transmitters_raw-768x1024.jpeg)
![](https://www.remma.net/wp-content/uploads/2020/10/Transmitters.jpeg)
コメント
I’m impressed Ьy the mold design’s clever ᥙѕe of space, maximizing the product’s storage or carrying capacity.