
ヴィンテージ楽器電子化計画「MeloMIDIca」その④(KiCadで基板を設計する)
ドイツ製のヴィンテージ鍵盤ハーモニカ「Melodica」をMIDI化するプロジェクト「MeloMIDIca」。ついに回路図が完成したので、いよいよ基板を設計していこう。
使うツールソフトは引き続き、定番の基板CADソフト「KiCad 6.0」だ。
KiCadの「PCBエディター」
回路図エディターから基板アイコンを押すと、「PCBエディター」が立ち上がる。

なんでも、旧バージョンのKiCad 5.0では部品の接続情報(ネットリストという)をいったん出力してから、PCBエディターで読み込み直す必要があったそうだ。6.0では余分な手間要らずで回路図エディターが立ち上がる。更新情報も連携できる。一言で云えば「使いやすい」。うむ、これぞ統合環境の強み。
立ち上がったら、最初に「デザインルール」というものを設定しておく。これは、配線幅や、配線と配線の間隔、穴の大きさなど、製造に関係する条件だ。安価な基板製造会社に発注する場合は、だいたい条件は決まっているらしい。ネットで拾った値を入れておく。

なお、基板は「両面基板」を想定している。表と裏に配線パターンがあるので、部品配置の自由度が格段に上がるというのがメリットだ。というか、片面基板だったら配線がパズルすぎてたぶん作ってないw
部品の配置
というわけで、使われている部品のフットプリントがゴチャっと表示されているので、まずこれを並べるところからスタート。

部品配置については、実は6年前のプロジェクト初期の時点から、レーザーカッターでフレームを製作するつもりで、外形や鍵盤の位置を細かく採寸してあるから、それに沿って並べていく。

説明し忘れていたけど、プリント基板にスイッチを配置する都合上、プリント基板と鍵盤フレームは同サイズで作り、密着させてひとつのフレームとして使うつもりだ。なので、基板形状も、鍵盤フレームとして採寸した形状に合わせて描いていく。
てな感じで基板の外形図と部品配置がサクッとできた。ネジ穴もちゃんと追加してある(後でもう少し増やすけど)。

端子間が細い線で繋がれて表示されているけれど、これが先に触れたネットリストという「接続情報」だ。違った端子に配線を接続しようとしても、できない仕組みになっている。うん、便利。
自動配線と手修正
さてここから配線を引いていくわけだけど、この作業は、「freerouting」という別ソフトを使って、ある程度までは自動で配線させるのが定番らしい。
ただ、freeroutingは万能ではない(かなり機械的な配線になる)ので、主要な配線や微調整などは、手作業で行う必要があるとのこと。
まあ、どんな感じか分からないので、とりあえずやってみるか。
PCBエディターからエクスポートして…。

freeroutingに読み込ませて自動配線させる…と。

Unitを「25 mil」に設定してから「Autoroute」で自動配線。終わったらエクスポートする。
その結果をPCBエディターに読み込ませれば、ひとまず完了。

「ファイル>インポート>Specctra セッション…」でインポートする。
なるほど。これが自動配線か。
ネットのチュートリアル動画などによれば、配線が直角になっているところとか、変に迂回しているところなどは、製造工程で不具合が生じる可能性があるので、手作業で修正した方がよいとのこと。



あと、このレベルの基板ではこのままでも問題なく動作するけれど、安定した動作をさせるためには「GNDはなるべく線ではなくベタで塗りつぶす」とか「表面と裏面のGNDベタ部分を接続する(ビア)」などといった処理が必須だとのこと。たしかに、よく見るプリント基板って、GNDが必ずベタ処理されてるもんな。
というわけで、GNDをベタにする前提で、配線を整理しつつ、細かく修正を加えていく。それで完成させた配線が、こちら。

GNDのベタ部分を表示させると、こんな感じ。

うん、OK。これで配線は完了だ。
文字入れ、チェック、データ出力。
ここまで来れば、あと一息。
部品名の位置を調整したり、文字を新規で入れたりと、シルクスクリーン印刷される部分の見た目を調整しておく。プリントなので、2値画像ならロゴでも絵でも自由に入れられるな(今回は入れないけど)。

そして、回路図のときにERC(エレクトリカル ルール チェッカー)でチェックしたように、基板の場合は「DRC(デザインルール チェッカー)」で最終確認。未接続の部分があったり、配線の間隔が十分でなかったり、不要な配線が残っていたりすると、ここでハネられるのだ。

というわけで、DRCもパス! これでひと通り完成したことになる。
最後に、発注用のデータを出力することにしよう。

基板製造業者への発注には「ガーバーデータ」というものを準備する必要がある。これは一言で云えば、Illustratorのレイヤー分けされた図面のようなもの。外形のレイヤーや、銅箔(配線)レイヤー/シルクスクリーン印刷レイヤー/マスクレイヤーが表・裏ごとにあったりする。これにドリルの穴あけ情報を加えると、発注用のガーバーデータ一式が揃うという寸法だ。
下図は、ガーバーデータを出力する際の設定メモ。


なお、ガーバーデータは業界標準らしく、どの業者に発注するにしてもこれでデータ化しておけば問題なさそうだ。

出力したファイルは、念のためKiCadの「ガーバー ビューアー」に読み込んで確認しておく。

これでホントのホントに、全部OK! ガーバーデータのファイルをZIP化しておいて、あとは発注するのみだ!

次回はいよいよ「発注」
プリント基板の設計ってのは、なんていうか「達成感がある」ね。とすると、これが現物の基板としてできてきたら、さらに高い達成感があるんだろうなあ。
次回は、できあがったデータを基板製作会社に発注するところまでをやろうと思う。うーん楽しみだ。
(次回に続く)