2018年5月13日日曜日

KiCadで回路図作成: 部品コンポーネントとフットプリントを自動連携

DesignSpark PCBでいくつか基板を作ってきて、等長配線に非対応など少し不満も感じてきたので、KiCadを試してみることにしました。
これまでKiCadを選ばなかったのは、部品コンポーネントにフットプリントを手作業で関連づけなくてはいけないことに嫌気が差したためです。ところが調べていくうちに、部品コンポーネントでフットプリントを予め指定しておけば、関連づけ作業を省略できることに気がつきました。それなら使用を躊躇する理由はありません。以下に、使いながら気付いたことを記します。

プロジェクトマネージャKiCad

  • 記事作成時点でのStable Release最新バージョンは4.0.7です。 
  • まずはプロジェクトを作成し、そのプロジェクトの中から回路図エディタ等を起動していきます。 
  • ヘルプがとても実践的。Preferences ⇒ Language ⇒ Japanese としておくと日本語版ヘルプを見られます。ただ、日本語メニューと英語が混在する場面では混乱することもあるだろうと考えEnglishにして使っています。 
  • デフォルトのテキストエディタを設定 Preferences ⇒ Set Text Editor 
  • 新規プロジェクトの作成時はテンプレートファイル(C:\Program Files\KiCad\share\kicad\template\kicad.pro)の内容が参照されます。その後、プロジェクトで変更した各種の設定はそのプロジェクトファイルに書き込まれます。それの設定を他のプロジェクトに引き継ぐには、テンプレートそのものを修正してしまうか、プロジェクトファイルをコピー・リネームして使い回すなどが考えられます。テンプレートの内容を変更するにはKiCadを管理者として起動し、kicad.proを開き設定を変更します。

回路図エディタEeschema

操作と環境設定

  • 日本語版リファレンスマニュアルは、こちらです。
  • 新たなコンポーネント・ライブラリの参照を追加したり表示順序を設定 Preferences ⇒ Component Libraries
  • 図面の作図範囲(用紙設定)や図枠のタイトルなどを変えるにはFile ⇒ Page Settings
  • 図面枠デザインを変更するにはプロジェクトマネージャで Tools ⇒ Run Page Layout Editor(PI_EDITOR)
  • キーボードのショートカットを多用して操作するのが基本です。面倒くさいようで、意外に慣れるのは早かったです。"a": 部品コンポーネントの呼び出し、"r": 回転、"v": 定数編集、"e": 詳細プロパティ編集、"Delete": 削除、"c": コピー、"m"キー: (配線を切り離して)移動、"g": (配線を繋いだまま)移動など。コンポーネントにカーソルを重ねて右クリックでも同じ事ができます。 
"?"キーでショートカットキーリストを表示

”?”キーでショートカットリストを表示

  • グリッド設定は50milが基本です。コンポーネントのピンがグリッド上に乗らないと配線できなくなるためです。特にインチとミリを間違えると悲惨なことになります。要注意です。 
  • 電源とGNDシンボルは、Place ⇒ Power Portまたは、"p"キーで選びます。 電源やGNDのそれぞれには、どこか一カ所で部品としてPWR_FLAG(general power-flag symbol)をパラに付けておきます。(ERCのエラー対策) 
  • 同じラベル名の配線は接続されているものと見做されます。Place ⇒ Labelまたは"l"キーです。ただし、電源とGND配線については接続されている電源オブジェクトで暗黙的に定義されているためラベルは不要。 
  • バス配線は、接続する各々のラベル名を合わせることで実現します。部品ピンにラベル名を直に付けることもできます。 
  • 部品の未接続端子は、No Connect Flag(Place ⇒ No Connect Flag)を付けておきます。 
  • コンポーネント名がライブラリ間で重複していると、想定外のコンポーネントが配置されるときがあります。

回路図を複数シートに分割する

  • 階層シート機能を使います。EeschemaにてPlace⇒Hierachical Sheetとし、回路図上に四角い枠を配置し追加する図面ファイル名を入力します。追加した図面を開くには、親回路図で作成した枠をクリックするか、ツールバーでNavigate Schematic Hierarchyにより階層ナビゲータを使います。
  • 階層シート間の配線接続はGlobal Labelを使います
  • 階層シート間で回路図をコピーするには、まず選択範囲を指定し、右クリックメニューから ブロックの保存Save Blockとし、コピー先のシートで、ツールバーの貼り付けPasteする

階層シートを追加

階層ナビゲータ

ツールバーPaste

回路図作成が終わったら

  • アノテーション機能(Tools ⇒ Annotate Scematic)で部品番号を振ります。部品番号の振り直しもできます。 
  • ERC(Tools ⇒ Electrical Rules Checker)を走らせます。 
  • ネットリスト(Tools ⇒ Generate Netlist File)を出力します。 
  • 必要に応じて部品表BOMを出力します。Tools ⇒ Generate Bill of Materials Fileとし、Add Pluginでc:\Program Files\KiCad\bin\scripting\plugins\bom2csv.xlsを指定してGenerateします。そのままではXML形式となるので、コマンドラインでxsltproc -o "%O.csv" "C:\Program Files... のように付け加えるとCSV形式でプロジェクトフォルダに出力されます。 
  • CvPcbを開き、フットプリントが未割当のコンポーネントが無いことを確認します。フットプリントをCvPcbで割当変更したときは、再度Eeschemaでネットリストを出力しないと Pcbnewで情報を読み込めません。

部品コンポーネントPart Library editor

ローカルドライブにライブラリを置く

私は、使用するコンポーネントを独自のライブラリにインポートして、それを使う運用にしています。また、標準ライブラリに存在しない部品は自分で作成することになります。操作に関してはヘルプが詳しいほか、ライブラリの要件にはいちど目を通しておいた方が良いです。

  • ライブラリファイルを新たに作成するには、既存のコンポーネントをコピーして作るのがやりやすいようです。抵抗を例に取ると、Part Library editorのSelect Working Libraryアイコンで"device"を選び、Load component to edit from the current libraryアイコンで"R [Resistor]"を指定します。そして、Save current component to new libraryアイコンで名前を付けてライブラリを保存します。新しいライブラリをアプリに認識させるため Preferences ⇒ Component Libraries にてComponent library filesに追加します。追加したら適宜優先順位を変更します。
  • 登録済みコンポーネントを編集するには、Part Library EditorのSelect working libraryアイコンでライブラリファイルを指定し、Load component to edit from the current libraryアイコンで編集対象を呼び出せます。
  • コンポーネントを自作するときはグリッド間隔50milで編集を行い、ピンをグリッド上に配置するようにします。グリッド間隔はPreferences ⇒ Library Editor Options で設定。

予めコンポーネントのフットプリントを指定する

  • 後の工程で、CvPcbを使いコンポーネントとフットプリントを割り付ける作業が控えていますが、コンポーネント毎にフットプリントを予め指定しておけば、この工程を省略可能です。fully defined symbolと呼び、フットプリントに一対となるコンポーネントを作成します。チップ抵抗を例にすると、1005から3216までそれぞれのパッケージに対応したコンポーネントを作成し、プロパティのフットプリント項に、ライブラリ名:フットプリント名 という書式で記載します。

フットプリント毎に抵抗コンポーネントを登録

  • Parts Library Editorでフットプリントを指定します。ツールバーでTマークをクリックしFootprintフィールドに書き込みます。久しぶりにKiCadに触れて、この画面に辿り着くまで苦労してしまいました。文字を書き込むアイコンにしか見えないし、Menuから行けないなんて間違ってます。(2019/7/29)






BOMに必要なコンポーネント属性を追加する

  • DesignSparkPCBはRSが提供するだけあって、発注関係の属性が充実していました。KiCadでも必要な属性を追加できます。EeschemaからPreference ⇒ Schematic Editor Options ⇒ Template Field Names。

発注関係の属性を追加

発注関係の属性を追加したコンポーネントの例


フットプリントエディタFootprint Editor

  • 標準のライブラリが充実しています。特に、手はんだ用のフットプリントが用意されているのはホビーユースにとって実践的です。これはDesignSparkPCBにはない利点です。
  • コンポーネントとフットプリントのピンが本当に対応しているのか確認しづらいです。ひとつの画面で俯瞰できる機能があれば安心ですね。
  • 標準のフットプリントライブラリは、GitHubを参照しているため予期せぬライブラリ アップデートに巻き込まれないようローカルディスク上の情報を参照するようにしたいです。私は、使用するフットプリントを独自のライブラリにインポートして、それを使う運用にしています。
  • 新たなフットプリントが必要になったら、まず標準のライブラリを探します。もし無かったら、PCB Parts Library(RSが提供する無料サービス。登録が必要。)を探し、それでも無ければ標準のライブラリで似たような物を手直しして使っています。
  • ライブラリは間違いがあるときがあります。端子数やピンのピッチなど、最低限のチェックはしておきましょう。
  • チップベンダが配布するBXLファイル(TI, ADI, MAXIM, RENESAS等が)をKiCad形式に変換できるUltra Librarian(Free Reader/Online Reader)があるようです。

0 件のコメント:

コメントを投稿