KiCADで設計した回路をNCフライスで削る
今回はKiCADで設計した回路をNCプログラムに変換して切削する方法を解説します。
Windows向けです。
まず、KiCADで回路を設計。
加工に使用するツールにもよるかとは思いますが、今回は配線幅0.8mmで設計しました。
これ以下の幅だと銅箔が剥がれて断線してしまいました。
外注するときのデータと共用したかったのですが、難しいですね。
ちなみに、使用していたツールはこちらです。
Amazon | (SHINA )TiAIN/TINコーティング彫刻ビット PCB彫刻用 CNCビッド ルータツール 3.175mm 20度 0.1mm (5) | フライス盤アクセサリ
ファイル→プロットを選択して次の画面をだします。
出力フォーマットは「ガーバー」を選択。
今回は片面のみの基板となるので、B.Cuのみを出力します。
「製造ファイル出力」をクリックしてガーバーデータを出力します。
(ここまでは業者に発注するときの手順と同じかと思います)
つぎに、ガーバーデータをdxfファイルNCプログラムに変換します。(2017/05/17訂正)
sourceforge.net
pythonスクリプトで、現在の最新版は2016-11-09となっていますが、うまくいかなかったです。
一つ前のバージョンの2015-04-17にリリースられたものを使用します。
DLして解凍してセットアップをします。
使用しているパッケージのインストールが必要で、こちらのサイトに詳しいことは書いてあります。
pyGerber2Gcode - Linux工作室
pyGerber2Gcodeを回答したあとのファイル構成はこのようになっています。
「gerber_data」に先程生成したガーバーデータを入れておきます。
「gcode_data」にNCプログラムが出力されます。
「pyg2g.conf」で加工条件や変換対象のファイル名を設定します。
設定ファイルの内容の解説はこちらでされています。
CNCフライス盤による基板作成/Gコードへの変換 - ちょっと工業系が通りますよ @ ウィキ - アットウィキ
FRONT_FILE:表面のガーバーデータ名
XY_SPEED :XY軸送り速度(NCプログラムのFの値)
CUT_DEPTH :Z軸切り込み量
TOOL_D :ツール径
あたりはよく使うパラメータなのではないでしょうか。
実行はコマンドプロンプトから行います。
pythonでpygerber2gcode_cui.pyをpyg2g.confの設定で実行します。
出力されたデータをNCVCで確認します。
主軸回転開始終了の命令が抜けていたのでそこを手で追記。
生成されたプログラムの加工開始点が(0,0)ではなかったので、加工開始地点をNC側で(0,0)に設定するとあらぬ場所から加工を始めてしまいます(ソフトリミットの警告が出てました)
今回のプログラムでは加工開始前に(106.75,-125.0)でツール先端を接近してから加工を行うようなので次のような対処を行いました。
・G54座標軸でX105.Y-125.Z0で初期化
・加工開始場所のおおよその場所に主軸を移動させてツールをワークに触れされてNC上の現在値を(105.,-125.,0)に設定
で、加工開始。
こんな具合になりました!
ドリルデータも出力して自動で穴開けても良かったのですが、ツール交換など段取り中に位置がずれて穴位置がずれるのもいやだったので、自分で開けました。
完成。
ちなみに、配線幅を細く設定するとこんな感じになってしまいます。
溝が切粉で埋まっているというのもありますが、配線が基盤ごと剥がれてしまっています。
ツールが彫刻用ビットで、エンドミルとは違って切り込むほど工具径が太くなってしまうということもあるとは思いますが、手持ちの工具に細いエンドミルがないため、配線幅を太めにすることで対処しました。
最後に総括。
NCフライスでKiCADで設計した基板を切削して作成することが出来るようになった。
ただし、ツールのせいなのか基板を削るという特性上なのか、外注やエッチングで出せるほどの線の細さは不可能で、最低でも0.8mmが必要。
簡単な回路や、ちょっとした試作回路程度なら心強い。
また、今回の例では加工に2時間30分を要し、量産には向かない。