KiCad-Pcbnewの基板レイアウト方法

当記事では、基本的な回路の一つである「オペアンプ反転増幅回路」を題材にKiCad-Pcbnewでの基板レイアウト方法を実戦形式で学んでいきます。
やはり、KiCadに限らずソフトウェアの使い方を覚えるには、取扱説明書を端から端まで読むよりも、まずは実践形式で使いながら覚えて行った方が早いはずです。
なお、Pcbnewのメニューコマンドは以下の記事でまとめてあります。細かい部分でわからないところがあったら参照してみて下さい。

回路図作成
Pcbnewで基板レイアウトをするには、Eeschemaで作成した回路図またはネットリストを用意する必要があります。
Eeschemaでの回路図作成方法については、以下の記事をご覧ください。回路図のダウンロードも可能です。

ページ設定(図枠の設定)

「Pcbnew(基板レイアウトエディタ)」をクリックします。
(プロジェクトが開いている状態で、「Pcbnew」をクリックできるようになります。)

「ページ設定」のアイコンをクリックします。

ページ設定の画面が開くので、ここで図枠の設定を行うことができます。

例として、青枠で囲んだ部分を入力すると、以下のようになります。

なお、日本語だと文字化けしてしまうので、必ず英数字で入力するようにしてください。
基板セットアップ

「基板セットアップ」のアイコンをクリックします。

このように基板セットアップの画面が表示されます。

「レイヤー」では基板の仕様に合わせた層数、厚さ、レイヤーを選ぶことができます。今回、例として基板レイアウトを行う「オペアンプ反転増幅回路」の回路規模は2層基板で十分なので、「2レイヤー、表面のみ部品実装」を選択します。
- カスタムレイヤーセット
- 2レイヤー、表面のみ部品実装
- 2レイヤー、裏面のみ部品実装
- 2レイヤー、両面実装
- 4レイヤー、表面のみ部品実装
- 4レイヤー、両面実装
- 全レイヤーオン
KiCad Pcbnew レイヤ
レイヤ名 | レイヤ種別 | 説明 |
---|---|---|
F.Cu, B.Cu | 基板表面・裏面の銅箔面 | パターンを描く導体 |
In1.Cu, In2.Cu … | 内層 | パターンを描く導体、F.Cu, B.Cuと併せて最大32層まで使用可能 |
F.Mask, B.Mask | ソルダレジスト層 (緑の絶縁保護膜) | ソルダレジストがない箇所がハンダ付け可能なパターン |
F.SilkS, B.SilkS | シルク印刷層 | 部品番号や記号などを書き込む |
F.Paste, B.Paste | ソルダペースト層 (クリームはんだ) | メタルマスクの元になるデータ |
F.Adhes, B.Adhes | 部品接着層 | 実装時に部品が落ちないように接着剤を塗る |
F.CrtYd, B.CrtYd | 部品が配置されるサイズを示す層 | - |
Edge.Cuts | 基板の外形線を示す層 | - |
Margin | マージンを示す層 | 現在、ほぼ使われていない |
F.Fab, B.Fab | 製造時のコメントを記入する層 | - |
Eco1.User, Eco2.User, Cmts.User, Dwgs.User | ユーザー任意の層 | ユーザーが自由に使うことができる |

デザインルールでは、最小配線幅などの基板全体に適用されるルールを設定することができます。基板製造業者には以下のP板ドットコムのように製造基準があるので、ここで設定しておくと良いでしょう。
今回は、あくまで練習用の基板レイアウトなので、デフォルト設定のままのデザインルールで行います。
P板ドットコム製造基準
製造基準 | P板ドットコム |
---|---|
最小パターン幅/間隔 (最小配線幅/間隔) | 0.075mm |
最小ビア径 (最小ビア直径) | 0.15mm |
最小ランド径 (最小ビアドリル) | 0.35mm |
標準パターン幅/間隔 | 0.127mm |
標準ビア径 | 0.3mm |
標準ランド径 | 0.6mm |

ネットクラスでは、配線と穴のサイズがセットになった設定を行うことができます。ここでもデフォルト設定のままのネットクラスで行うので、そのまま「OK」をクリックします。

更に詳しいレイヤーとデザインルールの設定方法の解説については、以下の記事をご覧ください。

インタラクティブルーターの設定

「配置」-「インタラクティブルーター設定」をクリックします。

インタラクティブルーターの設定の画面が表示されます。ここでは、パターン配線の際に、衝突する配線を押しのけて配線することができる「押しのけ」などを設定することができます。
今回は、「押しのけ」設定は行わないので、デフォルトのまま「OK」をクリックします。
基板外形の描写・ねじ穴の配置
基板外形の描写

基板外形を描写するので、「Edge.Cuts」を選択して「図形ラインを追加」のアイコンをクリックします。

画面上の適当な位置でクリックして、カーソルを移動させて線を引いて再度、クリックします。この際、角度が「0.0」になるように注意して下さい。
また、線の長さは後で簡単に変更できるので適当な長さで構いません。むしろ、カーソル移動で長さを調整するのは大変だと思います。

線の長さは確定しましたが、まだ配線の追加のコマンドが続いているので、マウスの右クリックをして「キャンセル」を選択します。

「アイテムを選択」のアイコンをクリックして、線をドラッグします。

線をマウスで右クリックして、「プロパティ」を選択します。

ここでは、線の長さを30mmにしたいので、終点Xに始点Xの165.1に30を加えた「195.1」を入力します。入力後、「OK」をクリックします。

線の長さが30mmになったので、線を右クリックして「複製」をクリックします。

画面上の適当な位置でクリックして線を複製します。

同様に縦の20mmの線を2本作成します。

左側の線を右クリックして「移動」を選択します。

キーボードの「Altキー」を押しながら、横の線に近づけると「○マーク」が表示され、ぴったり線同士が接続されるので、そのままクリックします。

他の線も同様に接続して、四角形にします。これで基板外形の描写は完了です。
KiCadのPcbnewでの基板外形作成は操作性が悪いので、使い慣れた2D CADで基板外形を作成してインポートするのがおすすめです。詳しくは以下の記事を参考にして下さい。

ねじ穴の配置

「フットプリントを追加」のアイコンをクリックします。

「MountingHole_2.2mm_M2_ISO7380_Pad」を選択して「OK」をクリックします。

カーソル移動で正確な位置に配置するのは難しいので、まずは「ねじ穴」を基板外形の四角形の角に配置します。

配置したねじ穴を右クリックして「数値を指定して移動」を選択します。

「アイテムを移動」の画面が表示するので、移動Xに「2.5」、移動Yに「2.5」を入力して「OK」をクリックします。

「ねじ穴」が基板内側に移動します。

その他の「ねじ穴」も同様に配置します。

「ねじ穴」を右クリックして、「プロパティ」を選択します。

フットプリントのプロパティの画面が表示されるので、リファレンスに「REF1」を入力、リファレンスと定数の「表示」のチェックを外して、「OK」をクリックします。

「REF1」に変更されます。

その他の「ねじ穴」も同様に、「REF2~4」に変更します。

確認のために「表示」-「3Dビューアー」をクリックします。

問題なく、ねじ穴付きの基板が作成されたことがわかります。
なお、今回はデフォルトで用意されているねじ穴のフットプリントを使用しましたが、自分でねじ穴のフットプリントを作成することができます。詳しくは以下の記事を参考にして下さい。

回路図から基板を更新

「回路図から基板を更新」のアイコンをクリックします。

デフォルトのまま、「基板を更新」をクリックします。

「閉じる」をクリックします。

フットプリントが表示されるので、画面上の適当な位置でクリックして配置します。

「フットプリントを自動配置」-「基板外にあるコンポーネントを自動配置」を使用することで、基板内に部品が入りきるのか調べることができます。
ただし、デタラメに配置されるので、あくまで正確に基板レイアウトを行うには手動でフットプリントを配置する必要があります。
フットプリントの配置

フットプリントを配置しやすいように、「グリッド:0.5080mm」を選択します。
まずはU1のフットプリントを配置してみます。

U1を右クリックして、「左回転」を選択します。

再度、U1を右クリックして、「移動」を選択します。

基板上までU1のフットプリントを移動させて、マウスでクリックすることで配置することができます。

その他のフットプリントも同様に配置していきます。このフットプリントの配置はとても重要で、後に説明する「パターン配線」で電源、GND、アナログの配線が最短距離になるように考慮する必要があります。
パターン配線
まずは基板の表面からパターン配線を行っていきます。

「F.Cu」を選択して、「配線」のアイコンをクリックします。
まずはJ1の1番ピンと抵抗R2のパターン配線をしてみます。

J1の1番ピンのパッドをクリックしてカーソルを移動すると、配線パターンが表示されます。

R2のパッドまでカーソルを移動させてクリックすると配線パターンが確定されます。

その他のフットプリントのパッドも同様にパターン配線を行います。

U1の8番ピンとJ3の1番ピンにパターン配線するには、基板の表面だけだと、他のパターンと衝突してしまうため、接続することができません。
そのため、「貫通ビア」を使用して、基板の裏面から接続する必要があります。
貫通ビアを使うには、パッドをクリックして、パターン配線の途中で右クリックして「貫通ビアを配置」を選択します。

「貫通ビアを配置」を選択すると、貫通ビアが表示されるので、配置したい位置でクリックします。

自動的に基板裏面の「B.Cu」に切り替わるので、そのまま接続先のパッドをクリックします。

これで、パターン配線の作業は完了になります。なお、GNDに接続されるパッドについては、ベタグラウンドに落とすので、そのままにしておきます。
今回、題材として使用している「オペアンプ反転増幅回路」はかなり回路規模が小規模なので、全て手動でパターン配線しても、それほど時間がかかりません。
しかし、CPUやFPGAなどのピン数が多い部品を使った回路では、配線箇所が多くなってしまうので、かなりの時間を使わなければなりません。
KiCadでは便利なことに自動配線ツールが用意されているので、電源線、GND線、アナログ線などの重要な配線を手動で行った後、自動配線を使用すれば、かなりの時間を節約することが可能です。詳しくは以下の記事を参考にして下さい。

シルクの追加
まずは現在のシルクの配置を確認してみます。

「表示」-「3Dビューアー」をクリックします。

現状のままでも問題ありませんが、今回は赤枠で囲んだシルクを位置調整してみます。

U1のシルクを右クリックして、「右回転」を選択します。

U1のシルクを右クリックして、「移動」を選択します。

上記のようにU1のシルクを移動、クリックして位置を確定させます。

その他のシルクも位置調整します。
次に抵抗の値(定数)をシルク表示するように設定を変更します。

R1のフットプリントを右クリックして、「プロパティ」を選択します。

「定数」の「レイヤー」を「F.SilkS」にして、「OK」をクリックします。

これで、R1の抵抗の定数がシルクで表示されるようになります。

R2も同様に定数をシルク表示させます。また、R1とR2のシルクが重なってしまうので、わかりやすい位置に移動させます。
さらに、自分の好きな文字のシルクを追加する方法も紹介します。回路名や基板番号などをシルクで記入することが多いと思います。

今回は、当サイト名でもある「Spiceman」をシルク追加してみます。「F.SilkS」を選択して、「導体層または図形層にテキストを追加」のアイコンをクリックします。

画面上の適当な位置でクリックします。

テキストのプロパティの画面が表示されるので、「Spiceman」と入力して「OK」をクリックします。この画面では、文字の高さや幅なども設定することができます。

基板内でシルクを追加したい箇所でクリックします。

確認のために、「表示」-「3Dビューワー」をクリックします。

問題なく、基板上にシルクが表示されていることがわかります。
Bitmap2Componentを使用することにより、画像データをシルクロゴ(フットプリントデータ)に変換させることができます。
Bitmap2Component(ビットマップコンポーネントコンバーター)を使ってシルクロゴを作る方法の詳しい解説は、以下の記事をご覧ください。

ベタグラウンドの作成
ねじ穴もベタグラウンドに落としたいので、ネット名をGNDに設定します。

REF1のねじ穴のフットプリントを右クリックして、「プロパティ」を選択します。

パッドプロパティの画面が表示されるので、ネット名を「GND」にして、「OK」をクリックします。

REF1のねじ穴のネット名が「GND」になります。

その他のねじ穴のネット名も同様に「GND」にします。

塗り潰しゾーンを指定しやすいように、「グリッド:0.2540mm」を選択します。その後、「塗り潰しゾーンを追加」のアイコンをクリックします。

基板外形の角をクリックします。

まずは基板表面からベタグラウンドを作成するので、レイヤーを「F.Cu」、ネットを「GND」、パッド接続を「サーマルリリーフ」を選択して、「OK」をクリックします。

1~4の順番で基板外形を囲むようにクリックしていき、ベタグラウンドの塗り潰しゾーンを設定します。

上記のようにベタグランドが作成されます。
次は、基板裏面のベタグラウンドを作成します。

基板外形の角をクリックします。

基板裏面からベタグラウンドを作成するので、レイヤーを「B.Cu」、ネットを「GND」、パッド接続を「サーマルリリーフ」を選択して、「OK」をクリックします。

基板表面の時と同様に、基板外形を囲むようにクリックしていき、ベタグラウンドの塗り潰しゾーンを設定して、ベタグラウンドを作成します。
このままでも問題ありませんが、今回はねじ穴をサーマルパッドではなく、全てベタグラウンドと設定するようにしてみます。

レイヤーで「F.Cu」を選択して、ねじ穴の外側をクリックします。

まずは基板表面からベタグラウンドを作成するので、レイヤーを「F.Cu」、ネットを「GND」、パッド接続を「実線」を選択して、「OK」をクリックします。

ねじ穴を囲むようにクリックします。

すると、ねじ穴がベタグラウンドに全て接続されます。

その他のねじ穴も同様にベタグラウンドに全て接続します。

また、基板裏面のねじ穴についても、ベタグラウンドに全て接続します。

確認のために「表示」-「3Dビューワー」をクリックします。

基板表面にベタグラウンドが作成され、ねじ穴については全てベタグラウンドに接続されていることがわかります。

基板裏面についても同じように、ベタグラウンドが作成され、ねじ穴については全てベタグラウンドに接続されていることがわかります。
ビアの追加
ビアを追加して、基板表面と基板裏面のベタグラウンド同士を接続することで、インピーダンスを大幅に低下することが可能です。

「ビアを追加」のアイコンをクリックします。

ベタグラウンド上でクリックします。

すると、ビアが追加されます。この時、ビアがパターンやシルクに重ならないように注意して下さい。

上記のようにベタグラウンド上にビアを追加していきます。

ビアが本当にパターンやシルクに重なっていないか確認するため、「ゾーンの塗り潰し領域を非表示」のアイコンをクリックします。ベタグラウンドが非表示になるので、確認しやすくなります。

さらに、最終確認として、「表示」-「3Dビューワー」をクリックします。

ビアがシルクやパターンと重なっていないか最終確認をします。
DRC(デザインルールチェック)
これまで、作成した基板にエラーがないかチェックするために、DRC(デザインルールチェック)を行います。ただ、あらかじめデザインルールを設定しているので、エラーを検出するケースは少ないです。

「デザインルールチェックを実行」をクリックします。

「DRC実行前に全てのゾーンを再塗りつぶし」にチェックを入れて、「DRCを実行」をクリックします。
(塗り潰し後にパターン変更してしまった場合、エラーの原因になってしまうことがあるので、ミスを防ぐ意味で「DRC実行前に全てのゾーンを再塗りつぶし」を有効にしておくことをおすすめします。)

メッセージに「終了」が表示され、エラーメッセージなしを確認できたので、「閉じる」をクリックします。
寸法記入
寸法記入は必須ではありませんが、基板外形やねじ穴の位置の寸法を記入しておくと、ひと目で基板サイズがわかるのでやっておいた方が良いと思います。

「寸法線を追加」のアイコンをクリックします。

基板外形の左上角をクリックします。

さらに、基板外形の右上角をクリックすると、寸法が確定します。

後は基板外側にカーソルを移動させてクリックすると、寸法の位置を確定することができます。

その他の寸法線についても追加します。以上でPcbnewでの基板レイアウトは完了になります。
今回、作成した基板レイアウトは以下のリンクからダウンロードできます。
※基板レイアウトに加え、回路図も含んだプロジェクトファイル一式
これまでは、基板レイアウトの基本について解説してきましたが、面付けを行うことで、基板製造時のコストを減らすことが可能です。また、捨て基板は、基板の保護やマウンター実装の対応などで必要です。
面付けと捨て基板の作り方についての詳しい解説については、以下の記事をご覧ください。

ガーバーデータの生成
当基板製造に必要なガーバーデータをKiCadのPcbnewで生成する方法についての詳しい解説は、以下の記事をご覧ください。

また、設計ミスを防ぐ意味でGerbviewで発注前に基板データをしっかりとチェックしておくことをおすすめします。
Gerbviewで基板データを確認する方法についての詳しい解説は、以下の記事をご覧ください。
