Upgrade to Pro — share decks privately, control downloads, hide ads and more …

KiCadで雑に基板を作るチュートリアル Ver6.x 予習版

soburi
March 06, 2021

KiCadで雑に基板を作るチュートリアル Ver6.x 予習版

Ver.6フライングチュートリアル!

KiCadで雑に基板を作って基板製造業サービスに
発注するためのチュートリアルです。
短めのスライドにする予定でしたが、
一通り必要なモノ入れたら結構なボリュームになりました。

soburi

March 06, 2021
Tweet

More Decks by soburi

Other Decks in Technology

Transcript

  1.   KiCadで雑に基板を作る チュートリアル Tokita, Hiroshi Ver 5.99 2021/3/6 Ver 6.x

    予習版 以前のバージョンはこちらから https://www.slideshare.net/soburi/kicad-53622272
  2. 2   書いた人 • 某イベントUnix島で技術ネタサークルやってます – Twitter https://twitter.com/crs – GitHub

    https://github.com/soburi • Recent works – TWE-LiteをArduinoIDEで使う http://qiita.com/soburi/items/0b0aa3d0c4332a5e7a4c
  3. 3   本チュートリアルの対象・目的 • 対象 – KiCadの使い方を把握したい人 – Elecrow/FusionPCB/PCBGogoなどの 個人向けプリント基板製造サービスを利用したい人

    • 目的(基礎編) – KiCadの最低限必要な機能の使い方を理解する – KiCadで基板を作って製造サービスに発注する作業の流れを理解する • 目的(応用編) – 電子工作レベル(両面基板、表面実装なし程度)の 基板作成に必要なKiCadの機能を理解する • 本チュートリアルで扱わない事項 – 回路設計については本チュートリアルでは扱わない
  4. 4   目次 1. KiCadとは 2. KiCadを起動する 3. 回路図エディターで回路図を作る 4.

    回路図データとPCBエディターの連携 5. PCBエディターで基板を作る 6. 発注用データの出力 7. 発注する 8. KiCadのワークフロー 9. シンボルを作る 10. フットプリントを作る 11. 複雑な回路図を管理する 12. 配置・配線の効率化 13. 面付け 14. まとめ 基礎編 実践編
  5. 7   【追記】kicad.jp,安定のエゴサ力www • お墨付き、貰いました! – SlideShareにアップロード後、90分でkicad_jpに捕捉される – 通知tweet流さなかったんだが… –

    Version6追記: kicad.jp管理人さん、国内KiCad普及の黎明期には比類なきエゴサ能力で KiCad言及Tweetを遍く探し出し、KiCadの普及に大きく貢献されておりました。 お元気でしょうか…
  6. 8   KiCadを起動する • 最新バージョン 6.0 まだリリースされていません。(次頁参照) • https://kicad.org/download/ からダウンロード。

    • 特に考えずにインストーラーを実行する • メニューに登録されたアイコンから KiCadを起動する
  7. 9   nightly buildで人柱になる • KiCad Version6はまだ開発中。 現時点では開発者向けのnightly buildが使える。 •

    いわば人柱版。転んでも泣かない。 • リリース候補版(Release Candicate=rc)がそろそろ出るはず。 https://gitlab.com/kicad/code/kicad/-/milestones/8 2021年2月末の予定だったが、スケジュール遅延。本スライドも適宜アップデート予定。 • Windows https://kicad-downloads.s3.cern.ch/index.html?prefix=windows/nightly/ • MacOSX https://kicad-downloads.s3.cern.ch/index.html?prefix=osx/nightly/ • Linux (Ubuntuのaptリポジトリに登録) https://launchpad.net/~js-reynaud/+archive/ubuntu/kicad-dev-nightly 特別ページ: Ver6もリリース間近
  8. 10   なれる!コントリビューター #1 特別ページ: Ver6もリリース間近 • KiCadは「みんなで作る基板CAD」なので、OSS活動にも参加してみよう。 • ほっとくとスルーされる細かいバグも多いので、気づいたらバグ報告をしよう。

    • https://gitlab.com/kicad/code/kicad/-/issues からissueを作成して報告する。 • typo修正はコントリビューターの登竜門 # Description ( 概要 ) ( 必要ならスクショ貼って説明 ) # Step to reprocduce ( 再現手順 ) 1. … 2. … # KiCad Version ([ ヘルプ ]→ [KiCad について ]→[ バージョン情報をコピー ]) このような内容を書いて、 バグを報告する。 ヨーロッパの大陸側の人が多いので、 英語が下手なのは多少大目に 見てもらえる?!
  9. 11   なれる!コントリビューター #2 • まだまだメッセージの改善は継続中。 • メッセージが修正されると、表示が英文に戻る。(不定期に更新実施) • Weblateのサイトで簡単に翻訳を修正できる。(ソース履歴にも名が残る!)

    • https://hosted.weblate.org/projects/kicad/master-source/ja/ 特別ページ: Ver6もリリース間近 訳文を書いて、「保存」するだけ! 自身のないひとは提案から はじめよう。
  10. 13   プロジェクト マネージャー画面 • KiCadは電子設計自動化(EDA)ソフト のセットになっている • よく使うのは回路図エディターと PCBエディター(PCB=Printed

    Circuit Board, プリント基板のこと) • 他のツールは特に触らなくても何とかなる • まずは回路図エディターを立ち上げる • 一応回路図エディターにはEEschema、 PCBエディターにはPcbnewという名前がついている。 最近はこの名前使わずに基板/PCBエディターで呼ぶことが多いが、 時々この名前が出てくる。
  11. 14   一番シンプルな回路を作る • LEDの足で電池挟んだアレ • 部品は LEDとボタン電池だけ • これだと基板にならないから

    電池BOXとLEDを直結 • こんな感じに • (賢明な読者諸賢は既にお気づきかと思われるが、電流制限抵抗がなくて「雑な」回路。 シツレイなのは承知の上であるが、問題の単純化のためご寛恕願う次第である。)
  12. 16   部品の配置 • [シンボルを追加]を選択し、回路図シートを クリックすると、 [シンボルの選択] のダイアログが 表示される。 •

    [フィルター]に探す 部品名を打ち込む • ダイアログから使いたい部品 (LEDと電池)を選択して、 回路図シート上に配置する
  13. 17   KiCadの部品ライブラリー • よく使うもの – Device 基本的なデバイス (ディスクリート部品) •

    C=コンデンサー、D=ダイオード、R=抵抗、INDUCTOR=コイル – Connector, Connector_Generic コネクター類 – Transistor_BJT バイポーラ・トランジスタ(2SC~など) • 汎用的な部品はDeviceのライブラリーを探す • ICは型番やキーワードで絞り込むと見つかる
  14. 24   回路図のエラーチェック #1 • 回路が描けたら、エラーチェック機能(ERC:Electrical Rule Ch ecker)で不具合をチェックする •

    まず、回路図上のシンボルに番号を割り振る [回路図のアノテーション]を実行 • そのまま[アノテーション]の ボタンを押せばOK. • シンボルの番号の’?’ に数字が入る。 押す
  15. 25   回路図のエラーチェック #2 • 続けて[エレクトリカル ルール チェック(ERC)]で 回路図のエラーチェックを行う •

    設定はそのまま、 ダイアログの[ERCを実行]のボタンを押す。 • エラーが出なければOK. • 後述のPCBエディターと情報を対応づける ので、アノテーションをクリアしてはいけない 0ならOK 極力減らす
  16. 27   ERCエラーの対処方法 #2 電源入力ピンが電源出力ピンによって駆動されていな い • KiCadでは回路の電源は電源シンボルの [PWR_FLAG]で明示的に示さなければならない。 •

    「回路の電源」とは、電池やACアダプタなどから 電源供給を受ける配線 と考えると良い。 • [PWR_FLAG]を電源とGNDに接続する ことで解消する NG
  17. 28   ERCエラーの対処方法 #3 入力ピンが出力ピンによって駆動されていない ピンのタイプ ~ と ~ が接続されています

    • 出力と出力など、 接続できない端子を 接続している。 • 単純に間違いなので 配線を修正する • (右は説明のための作為的な例) NG Q: 出力 DIS: 入力なので ERC 的には OK DIS: 入力、 THR: 入力なので 入力元がない。
  18. 30   回路図データとPCBエディターの連携 • 回路図エディターとPCBエディターはそれぞれ独立したアプリだが、 KiCadの”プロジェクト”としてデータを共有して、相互に連携している • PCBエディターは作成した回路図から情報を引き継いで、 基板に反映する –

    回路図の部品と基板に置かれるフットプリントの対応情報 – 部品同士の結線情報 • 回路図の部品(シンボル)に、基板エディターで使う”フットプリント”を 割り当てる。
  19. 31   部品とフットプリントの割り当て • KiCadでは、部品は、回路図での電気的な意味を示す回路図記号(シン ボル)と、基板上での物理的な形状を分離して扱っている • そのため、基板をレイアウトをはじめる前に回路図上のシンボルに、部品の 形状(フットプリント)を関連付ける必要がある。 •

    この作業が[フットプリントの割り当て] • 回路図上の記号に対応する部品のデータを対応づける。 • 困ったらピンヘッダあたりを割り当てておくと、とりあえず基板は作れる。 (これだと部品が刺さらないので、フットプリントを作成する。後述。)
  20. 32   フットプリントを割り当てる • 中央のリストの部品に対して、右のリストからフットプリントを割り当てる。 • フットプリント ビューアーの表示で縮尺、部品のサイズに注意 LED •

    フットプリントは数が多くて探すのが大変。フィルターをうまく使う。 – 足の数指定は基本的に有効にしておく – シンボルの持つキーワードで絞りこみ。 使えそうなものは、これでだいたい見つかる。 – これでも駄目なら、フィルターを外して文字列で検索 – 最後は、左のライブラリー一覧を一つ一つ漁る(面倒!)
  21. 37   フットプリントを配置する • 部品を右クリックして、適当な場所に移動する。 • 部品の配置は、とにかく自分で考えるしかない。 • 考え方の一例 –

    配置に制約がある部品を先に並べる (スイッチ、コネクタなど操作上の制約、筐体サイズの制約) – 配線が集まるICなどあれば、できるだけ中央に置く – 平行した配線になるところは並べる
  22. 41   GND ベタ #1 • これをやると「まともな基板」っぽく見える。 (本来はノイズ対策) • [塗り潰しゾーンの追加]を実行して、

    基板の外枠と同じサイズの塗りつぶし領域を作る • ダイアログのレイヤーは[F.Cu]と[B.Cu]をチェック、 [ネット]は[GND]を指定する。 (両面にGNDベタを作る設定) • GND以外はあまり使わない
  23. 45   基板セットアップ #1 制約 • ツールバーの[基板セットアップ]を選択 • [デザインルール]→[制約]でドリル穴や 配線の製造可能な最小値を設定する

    • マイクロビアは使わないので設定不要(値は何でもいい) • Elecrow/FusionPCB/PCBgogo向け (最大公約数的かつ余裕ある設定) – 最小 配線幅/クリアランス/アニュラー幅 0.2mm [0.1524mm(6mil)以上] – 最小ビア径 0.8mm [ビアドリル径+ アニュラー幅 x 2=0.7mm] – 導体-穴クリアランス 0.4 mm – 導体-基板端クリアランス 0.7 mm – 最小スルーホール径 0.3 mm – 穴-穴 クリアランス 0.5 mm
  24. 46   基板セットアップ #2 default値 • 実際の配線に使う値を[ネットクラス]→[ネットクラス]のdefaultに設定する。 • クリアランス/配線幅は最小6mil、ドリル穴は最小3mm が格安基板製造の標準的なスペック。

    • uViaサイズ、uVia穴は今回使わないので、ビア サイズ、ビア穴と同じ値に。 • DP幅、DPギャップも今回使わないので、配線幅、クリアランスと同じ値に。 • これはかなりマージン持たせた値 • 表面実装ICを使うような場合はもっと細くする。 • 大電流を流すような場合はもっと太くする。 • uVia=micro via、DP=Differential Pair(差動ペア)
  25. 47   DRCのエラーの対処方法 • DRCのエラーのほとんどは、 – 未配線 – 配線が~に近すぎる •

    頑張って引き直す。 • 基本は配線する前に制約を設定する – 配線のエラーは配線時にチェックされる。 – エラーになるのはだいたい配線後にルールを変えた場合。
  26. 50   • [プロット...]で製造ファイル出力の ダイアログを開く。 • [出力フォーマット]はガーバー、 [出力ディレクトリー]を適当に指定する • [レイヤー]はF.Cu,

    B.Cu, F.SilkScreen, B.SilkS creen, F.Mask, B.Mask, Edge.Cutsの 7つを選択 • [ドリル/配置ファイルの原点を仕様]、 [Protelの拡張子を使用]、 [シルクをレジストで抜く]をチェック • ここがDRCを実行する最後のチャンス • 設定したら[製造ファイル出力]を実行 • ドリルのデータは別に作る必要があるので、 続けて[ドリルファイルの生成]を実行 ガーバーファイルの出力
  27. 52   基板製造サービスの仕様に合わせる • Elecrow/FusionPCB/PCBGogoのいずれも 以下の手順 1. 拡張子を除いたファイル名本体をすべて同じにする。 (e.g. sample-B_Cu.gbl

    → sample.gbl) 2. ドリルファイルの拡張子.driを.txtに変更する 3. zipで固める • 基板製造サービスの仕様に変更があるかもしれないので、 発注の際に確認すること
  28. 53   ガーバーファイルを確認する • KiCadのガーバー ビューアーよりもgerbv [ http://gerbv.geda-project.org/ ]がおすすめ –

    色がデフォルトで中間色なので見やすい – レイヤーを重ねて印刷できる – レイヤーごとに透明度が設定できる Ver6追記: Gerber Viewerも半 透明表示や中間色になって、か なり改善されたが、レイヤーの入れ 替えなど、まだちょっと面倒。
  29. 54   確認のポイント • ERC/DRCでチェックできないところを見る – 間違ったフットプリントを使っていないか? – 部品がぶつかるような高密度パターン描いていない? –

    ベタ塗りつぶしはちゃんと更新されているか? – シルクの情報はわかりやすいか? – ハンダ付け作業はやりやすいか? • 原寸で印刷して、実物の部品を刺して確認する • 確認を怠るものは地獄に堕ちる
  30. 55   画面で確認 • [File]→[Open layer(s)...]で全てのGerberファイルとド リルファイルを開く • 実際のプリント基板の構造に合わせて並べて 不備をチェックする

    – ベタ塗りの更新忘れでパターンが くっついていないか? – シルクの情報はわかりやすいか? 表面 裏面 シルク印刷 ハンダ マスク(レジスト) 銅箔 銅箔 ハンダ マスク(レジスト) シルク印刷
  31. 57   ネットプリントで原寸印刷 • [Microsoft Print to PDF]の仮想プリンタで 印刷するとPDFファイルができる •

    PDFファイルをセブンイレブンのネットプリント (https://www.printing.ne.jp/index_p.html) で原寸印刷する – [ちょっと小さめ]にしない – セブンイレブンのマルチコピー機で印刷(1枚20円)
  32. 60   ガーバーデータ入稿時のファイル名仕様 Elecrow FusionPCB PCBGogo 表面導体層 [基板名].GTL [基板名].GTL (KiCad出力そのままでOK)

    表面ハンダマスク(レジスト) [基板名].GTS [基板名].GTS (KiCad出力そのままでOK) 表面シルクスクリーン [基板名].GTO [基板名].GTO (KiCad出力そのままでOK) 裏面導体層 [基板名].GBL [基板名].GBL (KiCad出力そのままでOK) 裏面ハンダマスク(レジスト) [基板名].GBS [基板名].GBS (KiCad出力そのままでOK) 裏面シルクスクリーン [基板名].GBO [基板名].GBO (KiCad出力そのままでOK) 外形レイヤー [基板名].GML [基板名].GML/GKO (KiCad出力そのままでOK) ドリル(PTH, メッキ穴) [基板名].TXT [基板名].TXT/DRL (KiCad出力そのままでOK) ドリル(NPTH, メッキなし穴) [基板名]-NPTH.txt - (KiCad出力そのままでOK) • 各社の仕様にあわせてファイル名を変更。 • zipに固めて、Webのフォームから送信する。 • 実際には、ファイル名が違ってても何とかなる感じだが、 とりあえず仕様にあわせてデータを作成する。 • FusionPCBはPTH, NPTHをマージしたデータを受け付ける ので注意。
  33. 62   FusionPCBの場合 FR-4, 2層, 100x100(mm) 10枚~が最安コース 基本的に1 (面付けしない) 標準的でない厚さは高くなる

    6mil/0.3mmが基本。 細くすると高くなる。 デフォルトのままで。 やらない。
  34. 64   発送 • 安い発送だと郵便扱いで2週間程度 • 深圳から出てくるので、国際郵便のtrackingを見ながら気長に待つ • 郵便だと時間外窓口が使えるので受け取りやすい •

    ANA系のOCSは安くて早い。 • FedEx, DHLならPUDOステーションを使うのも便利 • UPSはヤマト運輸さんに引き継いでもらうと受け取りやすい • Good Luck!
  35. 67   LED 明滅回路 • キャンドル IC CDT-3460-20 で LED

    が明滅する回路 http://akizukidenshi.com/catalog/g/gI-08752/ • 電源はボタン電池を使用し、 電子ホルダー CH26-2032LF を基板に実装する http://akizukidenshi.com/catalog/g/gP-08963/ • 作例ではデータシートの例で 簡単な駆動回路を作る • この作例を通じて、実際の基板作成で 使う KiCad の機能を見ていく こんな基板を作る
  36. 69   シンボル ライブラリーを作る • [ファイル]→[新規ライブラリー...]で シンボルを格納するライブラリーを作成。 • ライブラリー テーブルは[プロジェクト]を選択。

    • プロジェクトのフォルダーの中に、 適当な名前でファイルを作る。 • 画面左のライブラリー一覧に 作成したライブラリーが追加される。 (アルファベット順に表示)
  37. 73   作例 #7 • キャンドル IC CDT3460-02 の シンボルを作成

    • CDT3460-02 のデータシートを ストレートに落とし込んだ
  38. 75   フットプリント ライブラリーを作る • シンボル ライブラリーの時と同じ手順。 • 同様に[ファイル]→[新規ライブラリー...]を実行 •

    同様にライブラリー テーブルは[プロジェクト]を選択。 • 同様にプロジェクトのフォルダーの中に 適当な名前でライブラリーを作成。 • フットプリント ライブラリーの場合は [ライブラリー名].prettyのフォルダーが作られる • 同様に画面左のライブラリー一覧に作成したライブラリーが追加される。
  39. 76   フットプリントを作る #1 • 端子となる[パッド]を配置する • 普通のスルーホールを置くのであれば、 デフォルト設定でOK. •

    データシートの寸法に合わせて正確に配置する • インチ/メートルの違いに注意する • 1番ピンを明示するような場合には 角型のパッドに設定する
  40. 79   作例 #8 • CR2032電池ホルダー CH26-2032LFのフットプリント – プラスとマイナスの2つのスルーホールを作成 –

    電池のコンポーネントに合わせて1がプラス,2がマイナス – マイナス(GND)を角型のランドにした – シルク印刷で部品の形状を 原寸通り表示している – 左右に位置固定用のポッチがあるので 機構穴を開ける。
  41. 82   シートの階層化 • KiCadでは、回路の一部を別シートに分割する 「シートの階層化」が行える • 「電源部」のような回路を一部をモジュール化して、 分割した回路図として作成できる。 •

    単純に「回路図を分ける」ではなくて、論理的な 「モジュールに分割」する機能 • モジュールごと、まるっとコピペして再利用もできる。 Advanced topic
  42. 83   階層化シートの作成 • [階層シート]を選択し、回路図シート上で 枠線を引くと階層シートを作成する。 • [シートのプロパティ]でサブの階層シートのファイル名を指定。 • シートの枠線を右クリックすると

    [シートに入る]の項目が現れるので、 選択するとサブの階層シートに 表示が切り替わる。 (もしくは枠内をダブルクリック) • サブの階層シートで右クリックして、 [シートから抜ける]項目を 選択すると元のシート(親シート)に戻る Advanced topic
  43. 84   階層ラベル • 階層シートから、上位の階層シートに見せる端子が[階層ラベル] • ラベルというよりは「インターフェース」として捉えた方がよい。 • サブの階層で[階層ラベルを追加]を行って、配置する •

    上位の階層シートに戻って、[シートピンのインポート]を 選択して階層シートの枠内をクリックすると、 サブの階層で配置した[階層ラベル]に対応する シートピンが枠線内に現れる • シートピンを介してサブの 階層シートと接続する Advanced topic 階層ラベル シートピン
  44. 88   FreeRoutingで自動配線する #1 • 配布元からバイナリをダウンロード、インストールする。 – https://github.com/freerouting/freerouting/releases • KiCadとは基板データのエクスポート(.dsn)と、

    自動配線の出力ファイル(.ses)のインポートで連携する • 配線と塗りつぶしゾーンを一旦すべて削除する – 既に配線されているところは保持される • [ファイル]→[エクスポート]→[Specctra DSN...]で FreeRoutingが使う.dsnファイルを出力する。 Advanced topic
  45. 90   FreeRoutingで自動配線する #3 • 自動配線が完了したら、[File]→ [Export Specctra Session File]で、

    .sesファイルを出力する (同一ディレクトリに出力される) • KiCadに戻って、[ファイル]→[インポート]→ [Specctra セッション...]で .sesファイルを取り込む • 取り込んだら、自動配線の 結果が反映されるので、とりあえずDRCを実行 Advanced topic
  46. 91   作例 #10 • FreeRoutingで自動配線させた • 基板データとしてはこれで完成 配線前 FreeRoutingの

    自動配線結果 自動配線を 反映 GNDベタを 入れる ガーバーデータ (表・裏)
  47. 93   面付けした基板レイアウトの作成 • スタートメニューから Pcbnew を直接立ち上げる • [ ファイル

    ]→[ 基板の追加 ] で、 作成したボードのデータ (~.kicad_pcb) を読み込む • 面付けする枚数分読み込みを繰り返して、配置する ( 要は「コピペ」。 ) • 外形レイヤの線を削除してボードの形状を作り直す • V カットの線を外形レイヤに引く • ガーバーファイルの出力は通常の基板と同様に行う • 回路図データとは関連づかない基板になるので、 別のディレクトリに置いた方が管理しやすいかもしれない • V カットに関する製造サービスの仕様を良く確認する Advanced topic
  48. 94   作例 #11 • 10cm × 10cm から 8

    枚基板が取れるように面付け Advanced topic
  49. 96   おさらい #1 • EEschema の基本的な使い方 – シンボルの配置・配線 –

    ERC のエラーチェック – フットプリントの関連付け • Pcbnew の基本的な使い方 – 回路図の反映 – 配線 – DRC のエラーチェック – 製造ファイルの出力 • 製造サービスへの発注 – ちゃんと確認したか?
  50. 97   おさらい #2 • ワークフロー – アノテーションを消さずに回路図作成→基板レイアウトのサイクルを繰り返す • シンボル、フットプリントの作成

    – 難しくはないが、保存先の「現在のライブラリ」を確認する • ラベルによる回路図の分割 – ラベルを使って、ブロックごとに分けて回路図を描く。より大規模な回路は「階層化」する • FreeRoutingによる自動配線 – .dsnファイルと.sesファイルをエクスポート/インポートして外部ツールで自動配線を行う • 面付け – Pcbnewを個別で立ち上げて基板を「コピペ」する