Tanuki_Bayashin’s diary

電子工作を趣味としています。最近はラズベリーパイPicoというマイコンを使って楽しんでいます

【CNCルーター】プリント基板を切断する~準備編

※なにか気になる点がありましたらコメント欄からお伝えください。また、CNCルータなど工作機械を操作する場合には、細心の注意を払って行うようお願いいたします。
目次

1.はじめに

 基板メーカーに自分で設計した基板を発注したのですが、100x150mmの大きさの基板内に、6個分の回路を押し込めて発注しました。無料枠なのかと思い発注したのですが、それなりの金額がかかってしまいました。それはともかく、手元に届いた基板を6つに切断するために、CNCルータを用いました。そのときのノウハウなどを書き残しておこうと思います。

※今回は準備編ということで、CNCルーターを動かすGコードを生成するところまでを説明しています。

f:id:Tanuki_Bayashin:20211208165021j:plain
図1 届いた基板

2.構成

 8月にCNCルータを用いた工作を行ったときと同様です。以下のリンク先を参照してください。
CNCルータを用いてプリント基板を製作した - Tanuki_Bayashin’s diary

 twitterのTLよりFlatCAMのexeファイル(ver8.994β版 Windows10 64bit へ対応)が、FlatCAMのHPを見ても見当たらないことが判明しました。少しばかり試してみたところ、以下の方法にてダウンロードできることが分かりました。お試しください。
1.https://bitbucket.org/jpcgt/flatcam/downloads/ にアクセス
2.画面左下の「ダウンロード」をクリック
3.FlatCAM_beta_8.994_installers.txt (.zipでなくて)をダウンロード
4.3.のテキストファイルを開き、書かれているURLへ行き、書かれていたpassword を入力
5. 適当なファイルをダウンロード
(2021.12.14追記)

3.切断用のGコードの生成

3.1 KiCad での設計

 3.1での記述は以下のリンクを参考にしました。
elchika.com
denshikousakusenka.jimdofree.com

 回路はLEDによるルーレットです。(回路の詳細についてはここでは触れません。別の記事にする予定です)プリントパターンを図2に示します。

f:id:Tanuki_Bayashin:20211208154315p:plain
図2 今回注文したプリント基板のパターン

 EdgeCuts と呼ばれるレイヤーにて描画した部分を切り取ります。補助座標が必要となるので、その原点を指定しておきます。図3 の赤丸内のアイコンをクリックし、基板上の原点としたいところをクリックして指定します。(基板の左上など分かりやすい位置がいいと思います)

f:id:Tanuki_Bayashin:20211208154349p:plain
図3 補助座標の原点を指定する

プリントパターンの設計が終わったら、保存し、図4の示す部分をクリックします。

f:id:Tanuki_Bayashin:20211208170742p:plain
図4 プロッタのアイコンをクリックする

すると、図5のように設定画面が現れるので、以下のように設定をします。(今回はドリルの穴は、基板メーカーにて加工済みです)

f:id:Tanuki_Bayashin:20211208154332p:plain
図5 ガーバファイル出力のための設定画面

出力フォーマット : ガーバー
出力ディレクトリー: PC内の適切な個所を指定
含まれるレイヤー : 今回の場合は「Edge.Cuts」のみ
全般オプション  : 原点に補助座標を使用

それ以外は図の通りにして、下のほうの「製造ファイル出力」をクリックすればガーバーファイルが指定のディレクトリに出力されます。

3.2 FlatCam にてGコードを生成

 次にFlatCam にてEdge.Cuts の部分を切断するためのGコードを生成します。

3.2.1 基板の端の処理

 ここで気に掛けなくてはいけないことがあって、実は基板メーカーに発注した基板は図2のものと少し違っていて、配線パターン以外はGNDのベタパターンでつながっていました。そのため、このまま基板をカットすると、切断面にGNDの銅箔が(薄いですが)、むき出しになります。「プリント基板製作10の勘どころ CQ出版」でも銅箔の部分は基盤端より0.5mmはクリアランスを設けるようにと書かれています。(P.22)
 そのため、まずEdge.Cuts の線の上を幅、片側0.5mm深さ0.2mmで削ろうと思いました。以下にそのための設定を述べていきます。
 [file] - [open] - [open Gerber] でガーバデーターを読み込みます。(図6)

f:id:Tanuki_Bayashin:20211208182201p:plain
図6 ガーバーデータを読み込む

 このとき、180度水平に回転させたり、左右対称にしたいときは、[Option] を開き、[frip on X axis] などを選びます。

f:id:Tanuki_Bayashin:20211208154602p:plain
図7 開いた図を回転、反転させる

 切削する面は平らなように見えますが、0.2mmという薄さだと、左側は削れても右側が削れないということが起こることがあります。(図8)こういうときは、180度回転させてもう1回切削すると、うまくいく場合もあるかと思います。(縦に反転させた後、横に反転させると180度回転させた状態になります)

f:id:Tanuki_Bayashin:20211208184002j:plain
図8 切削後の基板(1回目)

 この基板は180度切削したのち、反対側も表面0.2mm分、削りました。(また、裏を削るときは左右に対称な画像に変換します)

f:id:Tanuki_Bayashin:20211208154657p:plain
図9 [Properties]-[Isoration Routing] を選ぶ

 切削前の設定に話を戻します。ガーバーデータを開いたのち、左側の窓にて、[Properties]を選んだ後(真ん中のタブ)、[Isoration Routing] を選びます(図9)。そして図10にて
 Diameter: 0.001 C1 (使用するエンドミルの寸法と種類です。ここではPCにウソを付きます)
 Passes :1     (1回通過する、と自分では解釈しています)
 Overlap :0%    (何回か削るとき、オーバーラップさせる幅だと思います)
と設定し、[Generate Geometry]をクリックします。

f:id:Tanuki_Bayashin:20211208154657p:plain
図10 [Diameter], [Passes] などを設定する

次は図11の画面が現れます。

f:id:Tanuki_Bayashin:20211208154714p:plain
図11 各値を設定する

この画面において、
 Cut Z :-0.200  削るときのz軸の深さです。(単位:mm)
 Travel Z :2.0  削っていないとき、水平移動時のz軸の高さ(デフォルトは2.0mm)
 Feedrate X-Y: 120 削っているときのz軸の移動速度。120くらいが適切かと。
          (単位:mm/秒)
 Feedrate Z:60  垂直方向の移動速度(z軸の移動速度)
 Spindle:10000 スピンドルモーターの回転速度。高速でないとエンドミルが折れやすくなる。
         10000くらいでいいらしいです。
パラメータを設定し終わったら、下の方の[Generate CNC Job Object] をクリックします。すると、図12の画面が現れます。

f:id:Tanuki_Bayashin:20211208154802p:plain
図12 Gコードを生成する

この画面にて、[Save CNC Code] をクリックし、任意の場所にデータを保存すれば完了です(Gコードが生成され、保存されました)。

3.2.2 基板の切断するための設定

 つぎに、基板を切断するときの設定を見ていきます。基板を切断するときの [Edge.Cuts] が描く軌跡は3.2.1と少し違うものにしました。エンドミルの太さを考慮に入れたためです。1mmのエンドミルで切断したので、半径0.5mm分ずらしました。(エンドミルの側面が基板の外形をちょうど削ってゆくイメージです)という訳で、設計し直したデータを 3.2.1のときと同様に読み込みます。(図13)

f:id:Tanuki_Bayashin:20211208154408p:plain
図13 基板切断用のガーバーデータを読み込む

 ここから先の設定はほぼ3.2.1のときと同じです。上では図9と図11にて設定を行いましたが、今回は図9での設定は同じです。残りは図11の場合ですが、設定を変えるのは[Cut Z] ぐらいです。基板の厚さは1.6mmなので、0.5mmを2回、0.6mmを1回ずつ削りました。理由は深く削りすぎると、音がうるさいのと、エンドミルが折れる恐れがあったためです。(送りの速度と深さを、何回か試して今回の設定に行きつきました。先に音が大きくなったため、折れるまでは試験していないです)

 具体的には、 [Cut Z] の値は、- 0.5,- 1.0,- 1.6 と設定しました。(Gコードを3種類出力しました。ファイル名はそれぞれ、分かり易いものがいいと思います)
 切削する前にデータを全部準備しました。しかし、実際に作業してみると、CNCルーターを動かしてはじめて気づくこともあり、設計変更しながら作業を進める形になりました。

 最後に一つ付け加えると、上の方法で生成したGコードは Edge.Cuts の外側をぐるりと回りこむ軌道を描きます。したがって、Edge.Cuts が1本でも、2回削る感じになります。うまく設定して、Edge.Cuts 上を1回だけ削るやり方はないか、模索中です。

※いよいよ切断となる訳ですが、ここから先は別の記事にて説明したいと思います。CNCルーターを動かすソフトはCandle.exe というものを使いました。違うソフトを使われている方は対応できないので、ご容赦願います。

4.まとめ

 内容は以下の2点です。

  • CNCルーターを動かすためのGコードを生成するFlatCam というソフトの使い方を説明した
  • その際、基板を薄く削る場合と切断する場合の2通りについて説明した

まだまだな段階ですが、質問や分かりにくい点などありましたら、コメント欄にて受け付けております。また、なにかいたらない点などありましたら、指摘していただけるとありがたいです。