趣旨
KiCadを使って、1プロジェクトで複数基板を設計する方法です。
AD9833 moduleを使ったファンクションジェネレータを作ろうとしています。今までは1枚のユニバーサル基板で計画していました。 KiCadを使って回路を描いて、PCBレイアウトを行い、配線パターンの設計まで進めました。
表と裏はこんな感じになります。なかなか良いねと自己満悦していたのですが、
あらためて冷静になって配線のパターンを見ると、あまりの複雑さに手を出せないでいました。これをユニバーサル基板で作る勇気と技能は私にはありません。
そこで、基板を複数に分けようとKiCadでのやり方を調べましたが、なかなかGoogle検索にヒットしません。KiCadの初心者なので間違っているかもしれませんが、KiCadは「1プロジェクトで1枚の基板を作るCAD。回路図は階層化できるが、PCBエディター上では全階層の部品が表示される。複数基板として設計する機能がない。」のだと思います。
やっとKiCadを使えるようになったのに他のPCB設計CADを覚える気にはなれず、しつこくGoogleを探したら、下記に示すブログを見つけました。ただ、初心者の私には内容が理解しずらくて、本当に自分がやりたいことが紹介されているのか疑心暗鬼で倣ってみました。その結果、1プロジェクトで複数基板を設計することができたので、自分の備忘録としてやり方を残しておきます。
分けた基板ごとにプロジェクトを作ってPCB化するのと何が違うのか、あらためて考えてみたら、メリットは複数基板の回路図がいつでも連携していることだと思いました。もう変更しない完成させた回路図から個別基板の回路図を切り出してPCB化するならば、基板ごとのプロジェクト方式でも問題はありません。修正も手間を惜しまなければできると思います。ただ、大変だと想像します。
今回、やってみた方法は個々の基板を階層シートとして扱えるので、階層シート間のコピー&ペーストができることがメリットだと思ました。それと実感はできていないのですが、階層シート間の整合性もチェックできているのだろうと思います。
下準備(回路図をコピー)
新規プロジェクトを作成
念のためにフォルダを作って、そこに新しいプロジェクトを作成します。KiCadのトップ画面で「ファイル」「新規」「プロジェクト」です。
Absoluteとの違いは判りませんが、デフォルトの「Use Relative Path」を選びます。続いて、リンクが切れるかもしれないという警告がでますが、気にしないで「ロードを続行」を選びます。
KICADの他のプロジェクトから回路をコピーする引用元:KICADの他のプロジェクトから回路をコピーする
- 回路をペーストしたいプロジェクトのフォルダにコピー元の回路図を入れる。 ちなみに、コピーしただけではKiCAD上で回路図は見えません。
- ペーストするプロジェクトの回路図で階層シートを作成する ...
- 回路をコピー&ペーストする
複数の基板を扱う
上記の引用元に次のように説明されています。
考えかた
- 全体を管理するプロジェクトとルート回路図を作る
- 各基板ごとに階層シートとして回路図ファイルを分離する
- 各基板ごとに別のプロジェクトとルート回路図を作る
- 各基板のルート回路図から全体を管理するプロジェクトの階層シートを参照する
これで原理的には全体を管理するプロジェクトのルート回路図を開いて各階層シート(モジュール)に入ったり出たりして図を書け、各基板ごとのプロジェクトのルート回路図を開けば各基板ごとだけのネットリストを吐ける。
なんとなく言い回しがしっくりこないので、自分の言葉に置き換えます。
- KiCadではひとつのプロジェクトでは一枚の基板しか扱えないので、基板ごとのプロジェクトを複数作る。
- そして、それらのプロジェクトを統括する親プロジェクトを作る。この親プロジェクトの階層シート内に個々の基板のプロジェクトが構成されている。
手順1:基板ごとの階層シートを作る
手順2:階層シートの内容を作る
回路図の必要な部分を選び、「ブロックをコピー CTR+C」または「ブロックを切り取り CTR+X」してから、対象の階層シートに入ります。初めて入った階層シートのなかは真っ白ですので、そこにコピーまたはカットした内容を貼り付けます。
階層シートに出入りしながら、このシート(この基板)に必要な回路図の内容を作成します。後から追加/修正できるので完成形にしなくてもOKでした。
同じことを別の階層シート(別の基板)に対しても行います。
最終的に図面枠には階層シートだけで他の回路は描いていない状態にします。個々の階層シートを開くと回路図の内容が現れます。確認出来たら、一端このプロジェクト回路図を保存します。
手順3:プロジェクト関連の2種類のファイルを複製
以上の手順で当該プロジェクトのフォルダには、newtry.proを始めとした何種類かのファイルができています。例えば、こんな内容です。これを親ファイル、親プロジェクトとします。
手順4:分割基板プロジェクトの作成と調整
コピーし終わった状態で、親プロジェクト(newtry.pro)を開くとKiCadのトップ画面は次のようになっています。
回路図ファイル(ModuleA.sch, ModuleB.sch)をそれぞれダブルクリックして開けてから、一端、保存します。
それぞれの基板プロジェクトを開き、その回路図の不要な階層シート(基板Aなら、ModuleB.sch)を消します。
上の図のツリー構成が複数基板を扱えるプロジェクトの構成になっています。見かけ上、親プロジェクトに複数の階層シートがあり、それぞれの子プロジェクトにひとつの階層シートがありますが、親と子の階層シートは同じものです。つまり、どちらを開いて編集してももう一方に反映されています。
ただし、階層シート間でコピーする場合は、回路図が階層化回路図になっていなければならないので、親プロジェクトから階層シートを開いてコピー&ペーストをする必要があります。
手順5:個別の基板製作(Pcbnew)
回路図が編集できたら保存します。
ここからは子プロジェクト(ModuleA/B.pro)を開いて現れる回路図(ModuleA/B.sch)を使います。フットプリントの関連付け、およびネットリスト出力をして pcbnew すると、該当する基板の部品だけを出すことができます。
ここの手順の要点は、フットプリントの関連付け以後の処理は子プロジェクトで行うことです。親プロジェクトで現れる階層シートを使ってフットプリントの関連付けを行うと全構成が処理され、全構成のPCB基板になります。
ModuleAのPcbnew |
ModuleBのPcbnew |