※ 当ページには【広告/PR】を含む場合があります。
2022/03/29
2022/10/02
【KiCad応用講座】PCB切削で平面コイルが動くか試してみる① CADファイルの準備
InkscapeでSVG画像からBGR(ガーバー)ファイルに変換して卓上CNCで基板を削る②
寸法やレイアウトが分かっている手書きで書いたほうが早そうな簡単な電気回路なら、いちいちKiCADで回路設計してGBRのようなガーバーデータに変換するのは少し手間になります。今回はInkscapeを使って描いたSVG画像を直接GBR形式に変換できるツールを利用して、実際の卓上CNCで削ります。のような内容に沿って手順を説明していきます。
KiCadではじめる「プリント基板」製作 (I・O BOOKS) IoTセンサーを自作しよう!KiCadで回路基板からDIY!ESP32プログラミング InkscapeのGBRフォーマット変換が使えない
数年前のInkscapeであれば、Svg2Shenzhenというガーバーデータ変換用のプラグインが有志の方で公開されていましたので、Inkscapeのワークスペースから直接GBRファイルをエクスポートすることも可能でした。便利なプラグインでしたが、プロジェクトの更新が2年前から停止しており、現行の安定版Inkscapeではpythonの実行環境が違うためかエラーでコケます。このプラグインがそのまま動けば文句無しに簡単な話でしたが、どうやら現在はすんなりとは使えない状況になっていましたので、少しセットアップが面倒ですが別の手段を考えます。
KiCadではじめる「プリント基板」製作 (I・O BOOKS) IoTセンサーを自作しよう!KiCadで回路基板からDIY!ESP32プログラミング コマンドからSVGをGBRに変換するツール・『Gerbolyze』を利用する
Inkscapeのバージョンを落としてわざわざ昔のエクステンションを使えるようにしてまで、直接ガーバーデータを出力することは一旦諦め、現状のInkscapeで安定動作するような別の手段を模索します。色々と試す中で、セットアップが微妙に面倒でしたが、この手のツールでは比較メンテナンスが継続されていそうという理由でGerbolyzeを使うことにしました。このコマンドで利用するタイプのソフトウェアですが、使用方法にはクセがありますので、大まかな手順は後ほど説明していきます。Gerbolyzeのインストール
Gerbolyzeの動作環境を構築するには、Pythonのバージョン3以降と安定版以降のRustが同時に動く必要があり、少し手間かも知れません。各OSへのGerbolyzeの導入手順は公式のQuick Installationで説明されている通りです。現在の手元の環境はDebianでしたので、例えば、というように、Rustのパッケージ導入に少し面倒な手順が必要になります。Linuxに導入するのなら、UbuntuやFedoraの方が相性が良く、Ubuntuなら例えば、とインストールに関してはよりスムーズに進められます。よってUbuntuがより簡単にGerbolyzeを使えるOSと言えるのではないでしょうか。この辺は今の時代DockerコンテナでGerbolyze実行環境を作ってしまえばどのOSでも動いてしまうと思うので、適宜使い分けてみてください。ベースとなるgbrファイルを作成する
Gerbolyzeが対応しているフォーマットは、SVG/PNG/JPGのベクター・ラスター画像になっています。元のgbrファイルにこれらの写し込みたい画像データを指定することで、柔軟な画像をガーバーデータに(転写に近いイメージで)追加することができます。まずは手っ取り早くKiCADからEurocard基板のテンプレートを開いて、サラのgbrファイルを用意します。なおEurocard基板はその名の通りヨーロッパではメジャーな基板で、寸法は160x100mmとなっています。結構安く手に入るカット基板( oje-Link 片面銅張PCB基板 150 x 100 x 1mm / 10枚 など)に近いサイズですので、CNCのカットテストにはもってこいのテンプレートかと思います。KiCADからこのEurocard基板のテンプレート選択して、適当なフォルダと適当な名前でこのKiCADプロジェクトを展開しておきます。まず左のペインからkicad_pcbファイルをダブルクリックするか、ツールボックスから基板のアイコンをクリックします。開くとこのサンプルにはただのEdge.Cuts
レイヤーしかないのでこのレイヤーだけを選択してから、gbrを出力します。トップメニューから[ファイル] > [プロット]
から製造ファイル出力ダイアログに入り、含まれるレイヤー > [Edge.Cuts]
を選択して、[製造ファイル出力]
ボタンを押すことで、簡単なgbrファイルが現在の作業フォルダに出力されていることを確認します。これでもっとも簡単な矩形のエッジだけのガーバーデータがsrc-Edge.Cuts.gbr
として出力されました。GerbolyzeでSVG画像をgbrに重ねる
では先程のgbrファイルをベースに、上からsvgを重ねる感覚で、Gerbolyzeを使ってみます。Gerbolyzeコマンドは主に以下の2つサブコマンドを使ってsvg(jpgやpngも可)とgbrを編集する感じで使います。詳しいコマンドのオプションなどは公式のドキュメントを参考にしてください。ザックリというと、gerbolyze template
コマンドから「gbr -> svg」
としてテンプレートSVG画像を生成し、テンプレートSVGを編集し終えたらgerbolyze paste
コマンドから「svg -> gbr」
に変換することになります。どういうことか順を追ってやってみましょう。最初に先程出力したガーバーデータ・src-Edge.Cuts.gbr
を元に、テンプレートSVG
と呼ばれるガーバーデータからの形状を抽出したSVG画像を生成するところから初めます。これを行うのが、gerbolyze template
コマンドです。ターミナルで作業フォルダに入り、以下のコマンドを叩きます。なお-t, --top
オプションで上層用(片面)のテンプレートSVGで出力したい名前を付けて使います。テンプレートとして出力されたtmpl.svg
をInkscapeで開くと以下のようになります。元のガーバーデータは四角の枠だけでしたので、それを反映した寸法に合わせて色付きの領域が与えられるSVGとなっています。次にこのテンプレートSVGに描きたい画像を編集したり、貼り付けたりします。適当にデザインをパス化して、以下のような感じの画像をlove.svg
として作業フォルダに保存しておきます。なお、文字やjpg画像などのラスター画像などはきちんとパス化しないと、gbrに反映されないので注意が必要です。これで最後にgerbolyze paste
コマンドを利用してテンプレートSVG画像をベースに画像を合成したガーバーファイルとして出力させてみます。以下がテンプレートsvg(love.svg
)をベースに、src-Edge.Cuts.gbr
から新しいgbrファイル(love.gbr
)を出力するコマンドになります。コマンド実行後にlove.gbr
が正常に出力されたなら、KiCADのユーティリティであるGerbView
からきちんと合成させているかを確認します。love.gbr
をGerbView
から開いてみると、というようにちゃんとSVGパスが反映されているようになっています。
KiCadではじめる「プリント基板」製作 (I・O BOOKS) IoTセンサーを自作しよう!KiCadで回路基板からDIY!ESP32プログラミング 変換済みのガーバーデータのちょっとしたゴミを編集する・『gerbv』
gerbolyzeはsvg画像ををgbrファイルに変換するのにはとても便利なツールです。でも良く出力物を観察すると、各所に意図しないパスで内部が接続されているのが分かります。切削加工の場合、さすがにこのような看過できないほど主張しているパスは消しておかないと、最終的に残念な仕上がりになってしまいます。ということで、ちょっとしたガーバーデータの修正に便利な『gerv』を使って、この不要なゴミパスを削除してみましょう。参考|gerbv公式Windows/MacOSはダウンロード版でこのソフトウェアが利用できるようですし、さらに喜ばしいことにLinuxだとパッケージインストーラが利用できるようになっています。Debian Linuxの場合:お手持ちのPC環境にgerbvをインストールしたら、gerbvでガーバーデータを編集するために、先程のgbrデータを読み込みます。図で示したようにゴミパスを直接クリックし、Deleteボタンを押すことで快適に消えてくれます。gerbvで修正した後で、このgbrを保存し、この修正が反映されているかどうかを再度GerbViewで確かめると、というように確かに余計なパスが消去されていることが分かります。以上、言うほど簡単では無かったかも知れませんが、Inkscapeとフリーウェアだけで自由にガーバーデータが作成することが分かりました。
KiCadではじめる「プリント基板」製作 (I・O BOOKS) IoTセンサーを自作しよう!KiCadで回路基板からDIY!ESP32プログラミング まとめ
簡単なガーバーデータはKiCAD無しでもInkscapeだけで作成することが可能ということを狙って書き始めた記事でしたが、肝心のガーバーデータ作成エクステンションがほぼほぼ利用できない状態になっていましたので、コマンドベースのツールを経由してgbrファイルを出力する方法を紹介していきました。何はともあれ、Inkscapeで描いたパスがCNCで思いのままに切削加工できるのは嬉しいことです。では次回は折角なので作成したガーバーデータを使ってカット基板を切削してみようと思います。