OsaruSystem

KiCadでフットプリントを作成する

作成日:2016/01/12
最終更新日:2020/07/05

概要

KiCadでモジュールのフットプリントを作成します[1]。今回はコンポーネントCONN_10に相当するフットプリントを作成します。また、ライブラリファイルをテキストエディタで開き中身を確認しました。

詳細

基板エディタで部品を配置しようとしたところ、CONN_10に相当する10ピンのピンヘッダのフットプリントが無いことが判りました。 簡単そうに思えるので、10ピンのピンヘッダのフットプリントを作成してみたいと思います。

モジュールエディタの起動

KiCadを起動し、画面の右側に6つ並んでいるアイコンからPcbnew(基板エディタ)を押下して起動します。

Pcbnewの起動
図1. Pcbnewの起動

まだ、基板データファイルが存在しないため、図2.のダイアログが表示されます。今回は無視して[OK]ボタンを押下します。

基板データファイルの警告ダイアログ
図2. 基板データファイルの警告ダイアログ

Pcbnewの上部ツールバーからモジュールエディタを開くを押下します。

モジュールエディタを開くの位置
図3. モジュールエディタを開くの位置

モジュールエディタが起動します。今回はmm系で作成するので左側のツールバーのアイコンmmが赤くなっていることを確認します。

モジュールエディタ
図4. モジュールエディタ

モジュールの新規作成

モジュールエディタの上部ツールバーから新規モジュールを押下します。

新規モジュールの位置
図5. 新規モジュールの位置

モジュールの作成ダイアログが表示されるので、作成するモジュール名を入力し[OK]を押下します。 今回は既存のピンヘッダやピンフレームを実装するためのフットプリントであるPIN_ARRAYに習い、 PIN_ARRAY_10x1と入力しました。

モジュール作成
図6. モジュール作成

図7.のようにモジュール名などがモジュールエディタ上の図面に出現します。

モジュール作成後
図7. モジュール作成後

モジュールの保存

ここで、一旦フットプリントのライブラリを作成してモジュールを保存します。 モジュールエディタの上部ツールバーから新規ライブラリを作成してモジュールの保存を押下します。

新規ライブラリを作成してモジュールの保存の位置
図8. 新規ライブラリを作成してモジュールの保存の位置

新規ライブラリ作成ダイアログが開くので、ファイル名をつけて保存します。今回は既存でpin_arrayというライブラリが存在するので、pin_array_alt.modと命名しプロジェクトと同じディレクトリに保存しました。

新規ライブラリ作成
図9. 新規ライブラリ作成

一旦、モジュールエディタを閉じた上でPcbnewの画面に戻り、作成したライブラリを読み込みます。Pcbnewのメニューバーから[設定]-[ライブラリ]を選択し、ライブラリの追加画面を開きます。

ライブラリの追加画面の右上の[追加]ボタンを押下し、先ほど作成したライブラリpin_array_alt.modを追加します。そうすると、フットプリントライブラリファイルの末尾にpin_array_altが追加されます。

ライブラリの追加画面
図10. ライブラリの追加画面

[OK]を押下するとプロジェクトファイルの保存ダイアログが表示されます。そのまま[保存]を押下します。

再度モジュールエディタを起動します。上部ツールバーからライブラリからモジュールを読込みを押下します。

ライブラリからモジュールを読込みの位置
図11. ライブラリからモジュールを読込みの位置

モジュールの読込みダイアログが開くので[ブラウザーで選択]を押下します。

モジュールの読込み
図12. モジュールの読込み

ライブラリ ブラウザが表示されます。左側の選択肢からpin_array_altを選択し、中央の選択肢からPIN_ARRAY_10x1をダブルクリックします。

ライブラリブラウザ
図13. ライブラリブラウザ

モジュールエディタの上部ツールバーからアクティブなライブラリを選択を押下します。

アクティブなライブラリを選択の位置
図14. アクティブなライブラリを選択の位置

アクティブなライブラリの選択ダイアログが表示されるので、アイテムからpin_array_altを選択し[OK]を押下します。

アクティブなライブラリを選択
図15. アクティブなライブラリを選択

モジュールエディタのタイトルバーにアクティブなライブラリとしてpin_array_altが表示されます。

アクティブなライブラリを選択
図16. アクティブなライブラリを選択

以降、作業ライブラリ中にモジュールを保存が使用できるようになります。

アンカの設定

モジュールの原点を決めるためアンカの設定をします。モジュールエディタの右側ツールバーからフットプリントモジュールのアンカ(基準点)入力を押下した後、図面の真ん中を再度押下します。図面上の変化はとくにないように見えます。

フットプリントモジュールのアンカ(基準点)入力の位置
図17. フットプリントモジュールのアンカ(基準点)入力の位置

モジュール名の移動

モジュール名を示す文字列と部品名を示す文字列を移動します。 図面上のモジュール名を右クリックし、モジュールテキストの移動を選択します。 今回は、モジュール名を上に2.54mm、部品名を示す文字列を下に2.54mm移動しました。

モジュール名の移動
図18. モジュール名の移動

パッドの配置

はんだ付けする部分をパッドと呼びます。パッドの配置を行います。 モジュールエディタの右側ツールバーからパッドの編集を押下します。

パッドの編集の位置
図19. パッドの編集の位置

モジュールエディタの一番下に表示される座標を確認しながらX -11.430000 Y 0.000000の位置を押下します。この座標は図20.の1ピンの中心の座標です。

パッドの配置
図20. パッドの配置

1ピンは矩形に変更したいので、パッド上で右クリックしパッドの編集を選択します。 パッドプロパティが開くのでそれぞれ以下のように修正します。 矩形が直交座標系と訳されているようです。

表1. パッドプロパティの設定値
項目
形状直交座標系
サイズ X1.524
サイズ Y1.524
ドリル サイズ X1.016

修正が完了したら[OK]を押下します。

パッドプロパティ
図21. パッドプロパティ

パッドの編集が完了するとモジュールエディタ上でもパッドの形状が変化します。

パッドの編集完了
図22. パッドの編集完了

同様に2~10ピンのパッドを入力します。 2~10ピンは1ピンからそれぞれ2.54ずつX座標をずらして配置します。 またパッドの形状はCirculerにします。

パッドの配置完了
図23. パッドの配置完了

外形線の追加

モジュールの外形線を追加します。 この線は実際に基板にしたときに印字される線です。

モジュールエディタの右側ツールバーから図形ラインを入力を押下します。

図形ラインを入力の位置
図24. 図形ラインを入力の位置

押下した箇所から描画を開始し、ダブルクリックで終了します。 このとき、線がパッドに被らないように注意してください。

線幅を変更する場合は線の上で右クリックし線幅の設定を選択することで変更ができます。 今回は0.150で引いています。

モジュールの完成
図25. モジュールの完成

最後にモジュールエディタの上部ツールバーから作業ライブラリ中にモジュールを保存を押下しモジュールを保存します。

作業ライブラリ中にモジュールを保存の位置
図26. 作業ライブラリ中にモジュールを保存の位置

モジュールの保存ダイアログが表示されるので、モジュール名を確認し[OK]を押下します。

モジュールの保存
図27. モジュールの保存

ライブラリの実体

今回作成したライブラリを開いてみると以下のようになっています。

ソース1. モジュールの中身
PCBNEW-LibModule-V1  2016年01月11日 22時04分02秒
# encoding utf-8
Units mm
$INDEX
PIN_ARRAY_10x1
$EndINDEX
$MODULE PIN_ARRAY_10x1
Po 0 0 0 15 5693C264 00000000 ~~
Li PIN_ARRAY_10x1
Sc 0
AR 
Op 0 0 0
T0 0 -2.54 1 1 0 0.15 N V 21 N "PIN_ARRAY_10x1"
T1 0 2.54 1 1 0 0.15 N V 21 N "VAL**"
DS -12.7 -1.27 -12.7 1.27 0.15 21
DS -12.7 1.27 12.7 1.27 0.15 21
DS 12.7 1.27 12.7 -1.27 0.15 21
DS 12.7 -1.27 -12.7 -1.27 0.15 21
$PAD
Sh "1" R 1.524 1.524 0 0 0
Dr 1.016 0 0
At STD N 00E0FFFF
Ne 0 ""
Po -11.43 0
$EndPAD
$PAD
Sh "2" C 1.524 1.524 0 0 0
Dr 1.016 0 0
At STD N 00E0FFFF
Ne 0 ""
Po -8.89 0
$EndPAD
$PAD
Sh "3" C 1.524 1.524 0 0 0
Dr 1.016 0 0
At STD N 00E0FFFF
Ne 0 ""
Po -6.35 0
$EndPAD
$PAD
Sh "4" C 1.524 1.524 0 0 0
Dr 1.016 0 0
At STD N 00E0FFFF
Ne 0 ""
Po -3.81 0
$EndPAD
$PAD
Sh "5" C 1.524 1.524 0 0 0
Dr 1.016 0 0
At STD N 00E0FFFF
Ne 0 ""
Po -1.27 0
$EndPAD
$PAD
Sh "6" C 1.524 1.524 0 0 0
Dr 1.016 0 0
At STD N 00E0FFFF
Ne 0 ""
Po 1.27 0
$EndPAD
$PAD
Sh "7" C 1.524 1.524 0 0 0
Dr 1.016 0 0
At STD N 00E0FFFF
Ne 0 ""
Po 3.81 0
$EndPAD
$PAD
Sh "8" C 1.524 1.524 0 0 0
Dr 1.016 0 0
At STD N 00E0FFFF
Ne 0 ""
Po 6.35 0
$EndPAD
$PAD
Sh "9" C 1.524 1.524 0 0 0
Dr 1.016 0 0
At STD N 00E0FFFF
Ne 0 ""
Po 8.89 0
$EndPAD
$PAD
Sh "10" C 1.524 1.524 0 0 0
Dr 1.016 0 0
At STD N 00E0FFFF
Ne 0 ""
Po 11.43 0
$EndPAD
$EndMODULE PIN_ARRAY_10x1
$EndLIBRARY

今回も推測してみたいと思います。

  • Units mm
    • ライブラリの座標系がmm系であることを示しているのではないか
  • $INDEX ~ $EndINDEX
    • モジュール名の一覧ではないか
    • 間にはモジュール名を記載するのではないか
  • $MODULE PIN_ARRAY_10x1 ~ $EndMODULE PIN_ARRAY_10x1
    • モジュール名を引数に渡してモジュールの区切りを示しているのではないか
    • モジュール名は$INDEX ~ $EndINDEXの間に記載したものが入るのではないか
  • T0 0 -2.54 1 1 0 0.15 N V 21 N "PIN_ARRAY_10x1"
    • 基板に印字されるモジュール名ではないか
    • 0 -2.54が座標ではないか
    • 0.15 は線幅ではないか
  • T1 0 2.54 1 1 0 0.15 N V 21 N "VAL**"
    • 基板に印字される部品名ではないか
    • 0 2.54が座標ではないか
    • 0.15 は線幅ではないか
  • DS -12.7 -1.27 -12.7 1.27 0.15 21
    • モジュールの外形線ではないか
    • -12.7 -1.27が始点の座標ではないか
    • -12.7 1.27が終点の座標ではないか
    • 0.15が線幅ではないか
  • $PAD ~ $EndPAD
    • パッドの情報ではないか
  • Sh "1" R 1.524 1.524 0 0 0
    • "1"がピン番号ではないか
    • Rの位置が形状を示しているのではないか
      • Rが矩形
      • Cが円形
    • 1.524 1.524がパッドのサイズを示しているのではないか
  • Dr 1.016 0 0
    • ドリルの穴を示しているのではないか
    • 1.016はドリルの直径を示しているのではないか
  • Po -11.43 0
    • パッドの中心の座標を示しているのではないか

参考文献

  1. 米倉健太, KiCadの回路記号&フットプリントを作る方法, トランジスタ技術Special, no. 127, pp. 93-99, Jul. 2014