2018年9月26日水曜日

KiCadのフットプリントをプログラムから出力する方法


背景

KiCadとは基板を設計できるCADプログラムです。
KiCadにおけるフットプリントとは。電子部品を基板にはんだ付けする際のピン配置を表現した設計図のことです。

KiCadで使える電子部品を増やす場合、フットプリントを含めてライブラリにデータを追加することがあります。
このとき。フットプリントを手作業で設計することはできますが、KiCadのライブラリとして登録してもらおうとプルリクエストを出すと、先の太さや場所などに制約があるため、勝手が分かっていないとやりとりが長くなります。

設定データを読み込ませると必要なフットプリントを出力してくれるプログラムがありまして、それを利用するとKiCadのライブラリの企画に沿ったフットプリントを出力できます。(プルリクエストのコメントで教えてもらいました。)
上記のプログラムで出力したフットプリントを使えば、手作業で設計したものと比べると、短いやりとりでライブラリへ登録してもらえると思います。

また、新しいプログラムを作る場合も、既存のプログラムを参考にすれば先の太さや余白の設定を引き継げるので、目を通しておくとプルリクエストレビュー時に指摘される箇所が減って良いと思います。

フットプリントを出力してくれるプログラムの使い方を大まかに把握したので、備忘録を兼ねて共有します。

使ったもの

Ubuntu18.04をインストールしたPC

Ubuntuは下記のページからダウンロードできます。

Download Ubuntu Desktop

KiCad5 + githubのライブラリ

KiCadは下記のページからダウンロードできます。

Download | KiCad EDA

githubのライブラリを紐付ける方法は、下記の記事が参考になると思います。

KiCad5にgithubのライブラリを紐付ける方法

フットプリントを出力してくれるプログラム

下記のリポジトリで管理されています。

kicad-footprint-generator

使い方はあとで紹介します。

プログラムの使い方

フットプリントを生成するプログラムはpythonの2系と3系を両方を利用するようなので、下記のコマンドで2と3のpip(パッケージマネージャ)と共にインストールしておきます。
sudo apt install python-pip python3-pip 

下記のようなコマンドでファイルをgitprojectsディレクトリにダウンロード、関連プログラムをインストール、DFN_QFNパッケージのフットプリント作成ができます。
mkdir ~/gitprojects
cd ~/gitprojects
git clone https://github.com/pointhi/kicad-footprint-generator.git
cd kicad-footprint-generator
./manage.sh update_dev_packages
./manage.sh tests
cd scripts/Packages/Package_DFN_QFN
./qfn.py qfn.yml
ls Package_DFN_QFN.pretty/

表面実装パッケージを追加

下記のプルリクエストのように設定値を追加すれば、DFNやQFNを始めとした表面実装パッケージを追加・作成できます。

Add THAT Corp & ROHM QFNs | files

特定のパッケージだけ出力するようなコマンドは無さそうなので、上記の設定を追加した状態でプログラムの使い方で紹介したようにqfm.pyを実行すると、追加したパッケージが作成されます。

新しいパッケージを追加

README既存のプログラムなどを参考にしながらプログラムを追加すれば、新しいパッケージを生成できます。

Add LEDs_SMD/smlvn6

上記の追加したプログラムは、下記のように実行して出力したパッケージをKiCadのライブラリに配置することで、KiCadから見れるようになります。

cd ~/gitprojects/kicad-footprint-generator/scripts/LEDs_SMD
./smlvn6.py
mv LED_SMLVN6.kicad_mod ~/gitprojects/kicad-footprints/LED_SMD.pretty/

ライブラリに配置したら、KiCadから確認できます。


プログラムで作成したフットプリントを含むプルリクエストは、エラーが少なく、先の太さや配置をプログラマブルに変更できるため、手作業でフットプリントを作った時よりリクエスト時のやりとりが楽でした。

まとめ

プログラムからフットプリントを作成できました。
既存のファイルを真似すればKiCadの基準に近いフットプリントを作れるので、使い方が分かれば手作業で作るより楽でした。

何かの参考になれば嬉しいです。

変更履歴

2018.09.29
既存のプログラムを参考にしながらプログラムを作ったとしてもパッケージによっては先の引き方や余白について指摘されました。
そのため、「KiCadライブラリの規格に沿ったフットプリントを作れる」というのは大げさと判断し、タイトルからそのような旨を削除しました。

0 件のコメント :