[プロトタイプ電子基板 x CNC切削加工] 電子基板のプロトタイピング① ~ アイソレーション加工


2020/10/16

前回のbCNCのインストールからオートレベリングの説明から大分時間が経ってしまいました。

今回から卓上CNCを使った実践的なプロトタイプ基板づくりに着手してみようと思います。


gcode(ncファイル)の準備

以前の記事でチップLEDをブレッドボード上で光らせただけの内容で使った回路をそのまま基板に落とし込んでみます。

卓上簡易CNCで切削加工するためには、gcodeファイル(FlatCAMでエクスポートするとデフォルトでは拡張子.nc)が必要になります。

電子回路設計から最適なgcodeを得るためには、KiCADによって図面からガーバーファイル(拡張子.gbrのメインファイルと拡張子.drlの補助的なドリル加工用ファイルを指す)を出力し、FlatCAMによってこのカバーファイルからgcodeファイルに変換するという流れで作業してみます。

KiCADでの作業 ~ ガーバーファイル出力

まずは前回までで作成していた図面をプリント基板レイアウトに落とし込んでいきます。

合同会社タコスキングダム|蛸壺の中の工作室

KiCADでの図面から基板レイアウトへの変換手順の解説はいつかどこかでやろうと思いますが、今回はCNCで削る内容にフォーカスしたいのでこの内容は割愛。

合同会社タコスキングダム|蛸壺の中の工作室

上の図のように大体の基板レイアウトを決めたら、Pcbnewエディター(KiCAD)のメニューから
ファイル > プロットを選ぶと以下の保存画面に移行します。

合同会社タコスキングダム|蛸壺の中の工作室

まずは出力フォーマットを
ガーバーに選択し、配線部分のF.CuEdge.Cutsにチェックが入っていることを確認したら、製造ファイル出力を押しすと*-B.Cu.gbr*-Edge.Cuts.gbrという名前のガーバーデータ本体が出力できます。

ドリル加工用のファイルは、
[ドリルファイルを生成]からドリルファイル用のダイアログが開き、[ドリルファイルを生成]を押すと*.drlのファイルが保存されます。CNCの切削加工ではPTHとNPTHファイルの区別はされませんので、これらのファイルはマージ設定にしておくと良いとおもいます。

            $ ls .
led-driver-v1-Edge.Cuts.gbr
led-driver-v1-F.Cu.gbr
led-driver-v1.drl
        
とりあえず今回必要になるのはこの3つのファイルですので、どこかローカルフォルダの中に保存しておきます。

FlatCAMでの作業 ~ gcode出力

次に先程のガーバーデータからFlatCAMでgcodeに変換していきます。

python3&pyqt5の環境でも動くFlatCAM(ベータ版)の導入方法に関しては、以下のリンクでも説明していますので、よろしければ併せてご参照ください。

まずはFlatCAM8.9ベータを立ち上げてみます。

            $ python FlatCAM.py
        
設定を確認するには、メニューから[Edit] > [Preferences]mmの長さユニットになっていることを確認しておきます。赤い字なっている項目が設定必須事項です。他にも細かい設定もできますが、今の段階ではさほどこだわることもないので次に移ります。

合同会社タコスキングダム|蛸壺の中の工作室

今回の内容は、アイソレーション加工を説明するつもりですので、基板カット加工とドリル加工の説明は後日に回します。

[File] > [Open] > [Open Gerber...]を選択し、基板表面パターンの*-F.Cu.gbrを選択すると左側のウォーキングツリービューに読み込んだガーバーデータがGerverオブジェクトとして登録されます。

合同会社タコスキングダム|蛸壺の中の工作室

このツリービューから、ガーバーオブジェクトをダブルクリックするか、選択した状態で
[Selected]タブに切り替えると、選択したガーバーオプジェクトの加工条件の詳細を設定することができます。

FlatCAM8.9ではアイソレーション加工モードの
Isolation RoutingNCC Tool (Non-cupper Routing)のツールの2つがメインで選べるようになりました。

合同会社タコスキングダム|蛸壺の中の工作室

それでは
Isolation Toolの設定を進めます。

FlatCAMでの切削加工では
工具の径深さを設定する必要があり、それが全てと言っていいでしょう。

今回アイソレーション加工に用いるVカッターの諸元は、

            シャンク径: 3.175mm
刃角度: 10度
エッジ径切削: 0.1 mm
        
という感じです。

Vカッター切削深さによって切削幅(有効ツール径)が変わるのですが、目的の幅とその深さであらかじめ計算を行っておく必要があります。

また所詮は机上計算ですので、実際の刃の状態の変化、温度などの条件によっては狙ったようには削れないので、狙った精度に近づけるには多少の試行錯誤は覚悟しないと最適条件は見つけられないかも知れません。

今回は大体0.2mm幅以下を狙いたいので、切削深さを-0.1mm、ツール径は0.18mm程度にして
New ToolからAddしておきます。

この場合のツール径は狙った最小線幅以下に設定しないとFlatCAMがパスを描いてくれないので、とりあえず0.18mmにしています。

Multiple Tools(切削パスが重なった場合の)設定ではオーバーラップ率を設定可能で、FlatCAMのルート計算に利用されるようです。今回のように切削パスが複雑でないものにはあまりご利益はないのですが、大体10~20%の間が良いとされているので15%にしています。Apply parameters to all toolsで設定が反映されます。

ツールの設定が終わると、この設定のジオメトリーを生成します。

Genarate Isolation Geometryボタンを押すと、プロジェクトのツリービューにGeometryの項目が追加されています。

合同会社タコスキングダム|蛸壺の中の工作室

なお、生成されたジオメトリーオブジェクトは自動で命名されるのですが、
*-F.Cu.gbr_0.1800_isoのように、ツール径とIsolationを表すisoが末尾に付けられて、それでどのジオメトリーなのか判断することができます。

さらに、この生成したジオメトリーオブジェクトを選択して、加工設定を行います。

!*1326*1256*
18

まずは加工速度などを
Tool 1に設定していきます。

            Cut Z: -0.1mm
Travel: 2.0mm
Feedrate X,Y: 50mm/min
Feedrate Z: 25mm/min
Spindle speed: 7000rpm
End move Z: 5mm
        
だいたい同じVカッターで回転数7000rpmで利用するとこの設定が使い回しできるのですが、卓上CNCのモデルやVカッターの形状にも異なります。

加工の原理から勉強する必要があれば、専門書籍で勉強しておくこともオススメです。

またツールパレット内の加工原点を変更できるツールを呼び出し、原点にしたいポイントをクリックして変えることができます。加工の最初にワークからあまり遠い場所にツールがあるのも困るので、今回は加工図の左下辺りを指定しておきます。

ジオメトリーオブジェクトの設定が完了したら
Generate CNCjob objectボタンを押して、CNCジョブオブジェクトが生成されます。

合同会社タコスキングダム|蛸壺の中の工作室

ここで
Save CNC Codeを押すと、待望のgcodeデータ(ncファイル)をエクスポートすることができるので、これを保管しておきます。

            $ ls .
led-driver-v1-F.Cu.gbr_0.1800_iso_cnc.nc
        
なお、こちらのサイトツールから今回の切削シミュレーションを行ってあらかじめ視覚的に加工の様子を確認することもできます。


bCNCでの作業

プロトタイプ基板をCNCで彫り込む際には何通りかのパターンを加工する必要ありますが、加工精度が高い方を先に加工していきます。

            1. アイソレーション加工
2. エンドミル加工
3. ドリル加工
4. 基板カット加工
        
今回はプリント基板切削においてもっとも加工精度を要求されるアイソレーション加工の手順を説明します。

ncファイルを読み込んでオートレベリング

オートレベリングを行う手順としては前回と同じです。

前回と異なる点としては、先に加工するncファイルを読み込んでオートレベリングするエリアを絞り込んで、より精度良いゼロレベル校正を行うことです。より細い線幅を切削しようと思うと、所詮は卓上CNCは簡易的な加工機械ですので甘めのオートレベリングではダメ(下の図が失敗例)で、加工精度を出すために徹底的に厳しく加工条件を追い込んでおく必要があります。

合同会社タコスキングダム|蛸壺の中の工作室

上の図:オートレベリングの設定が甘かったときの失敗図...わずかに刃が掠ったような形跡がある.

まずはbCNCを立ち上げて
[ファイル] > [開く]から先程の切削パターンのあるncファイルを読み込みます。

合同会社タコスキングダム|蛸壺の中の工作室

[Probe] > [Autolevel]に移って、メニューにある[Margins]のボタンを押してみましょう。

合同会社タコスキングダム|蛸壺の中の工作室

すると読み込んだncファイルから自動で切削エリアが判別され、より効率の良いオートレベリング領域が簡単に設定できます。

オートレベリングの分解能等の設定も少し精度を上げておきます。

合同会社タコスキングダム|蛸壺の中の工作室

あまりステップの分割数を大きくしすぎると時間がかかりすぎるので、何回かやりながら条件を最適化してみると良いと思います。

後はオートレベリングするだけですので、前回の記事の内容と同じです。

余談~オートレベリング後のプローブ線外し忘れ

オートレベリングが完了したら、いざ加工をスタートするだけです。

が、この作業中別の用事で席を外してしまって、用事が済んでからいざ切削スタート...で轟音と共に何かが弾け飛ぶ音がして慌てて電源を落として何事かとみてみると、

合同会社タコスキングダム|蛸壺の中の工作室

...オートレベリング時にツールに引っ掛けたプローブ線が回転で巻き込まれて無残な姿に。

オートレベリング直後の加工前には、必ず指先点呼するくらいの気持ちで臨まないと色々と失うものが多そうです。席を外さなければならない場合には、せめてプローブを外してからの方が良いでしょう。


アイソレーション加工

オートレベリング後、ツール周りの安全確認を十分に行ってから切削開始です。切削は[Control] > [Start]で開始します。

合同会社タコスキングダム|蛸壺の中の工作室

上の図:切削中の様子。切削中、ツールが予期せぬショックで破損した場合、最悪折れたチップが目に飛んでも保護できるように保護ゴーグルやメガネを着用しましょう。

さて均等に削り終わると以下のように、削りカスの浮き出具合もほぼ全てのパスで同じ程度の量になっている感じで終わります。当然安いCNCですので、ダストを吸い込みながらやガスで吹き飛ばすような機能は付いてませんがゆくゆくは拡張したほうが良いかも知れません。

合同会社タコスキングダム|蛸壺の中の工作室

アイソレーション加工後に仕上がった削り出しパターンは以下のようになりました。

合同会社タコスキングダム|蛸壺の中の工作室

この時点で導通チェックしてみると、たしかに各島が絶縁されていることも確認済みです。

なお今回の基板の配線でもっとも細い幅は0.2mmですので、加工の際の切削幅はツール形状と切削深さで計算する必要があります。

今回利用したのが先端幅0.1mm・先端角10degのVカッターで切削深さ0.1mmを指定したので、切削幅は1.2-1.5mm程度で2mm以下のライン幅に収まっている計算です。

今回のプリント基板ではGNDベタ塗りのエリアもアイソレーションの対象になっていますが、カットされた配線とGNDベタとの間に細い島が残っている状態になっています。

これはFlatCAMでGNDベタ塗りを行った際の配線とのギャップが、切削幅よりも長かったようです。このようなVカッターによるアイソレーション工程で残ってしまった島を削るのが次のエンドミル加工になります。

FlatCAMのベタ塗りを行う前段階でVカッターの切削幅の2倍以下の距離になるように配線とGNDベタを設計しておけば、エンドミル加工の工程要らないかも知れませんが、その場合GNDベタと電源ラインの距離もだいぶ短いパターンになってしまうので、容量の大きい電源の場合、絶縁距離も不安になりますので、やはりエンドミル加工はあった方が良いです。


まとめ

今回はncファイルからVカッターを用いたアイソレーション加工を解説しました。

次回は作業の続きとして、エンドミル加工とドリル加工、基板カット加工の手順を順次解説していく予定です。
記事を書いた人

記事の担当:taconocat

ナンデモ系エンジニア

電子工作を身近に知っていただけるように、材料調達からDIYのハウツーまで気になったところをできるだけ細かく記事にしてブログ配信してます。