関連
FlatCAMでPCBのガーバーデータからGコードを生成する
Snapmakerを入手して3か月ほど経つ。3Dプリントもだいぶ慣れてきたので、もう一つの本題であるCNCでプリント基板の自作をやってみることにした。
今回はMicrobitで複数のサーボモーターを制御するための基板を作成する。元ネタは、以下の2つのボードを参考にして回路図を作成(というか丸パクリ)して、最終的にCNCフライスで基板を削りだしてみる。
直結した電池からサーボ用と3.3Vのレギュレータを経由してMicrobitへの給電を行う。モーターとマイコンを同一電源で供給するのはよろしくないが、SG90サーボはそれほど電流食わないので、1つにまとめた。というかオリジナルも電源は1個なので、なんとか行けると思う。
プリントパターン。配線はなるべく太めにして、切削の失敗を減らしたい。
Kicadの3Dビュー。3Dモデルは1個ずつ仕様書などみて自作している。大方自分が使いそうなものはモデリングしたが、ICパッケージが多くて苦痛だった。ちなみにKicad5.0からはSTPファイルが利用できるようになった。以前まではVRMLに変換するのがとても苦痛だった。
F.CuとEdge.Cutsのみガーバーデータを作成する。基板の左下を原点にしているので、"原点に補助座標を使用"をONしておく。
FlatCAMで切削幅と深さを入力する必要があるので、簡単な表を作成した。Vカッターなので、深さで切削幅が変わるので、最も結果に影響しやすい。正直したの表がほんとに正しいかはちょっと微妙。
ガーバーとドリルデータを読み込んだ直後のFlatCAMの絵。
とりあえず、輪郭だけ切削してみる。
青いパスが今回の切削パスになる。
NC ViewerでGコードをロードさせてみた。ここでおかしな点が大体わかる。
ドリルのGコード。実は下の絵はちょっと間違っていて、深さが足りてない。基板が1.6mm厚なので1.7mm程度穴あけしないといけない。
FlatCAMの送りスピードについて
とても重要なポイントだが、FlatCAMが出力するGコードは、開始時に速度を指定しており、それ以降どこにも速度指定されない。
F50.00
ところが、Snapmakerにはこのフォーマットだと、速度が設定されないようで、デフォルトのとても速い速度?で切削してしまう。
そこで、G01コードの直後に速度を1個ずつ入れることにして、指定した速度で工具が動くようになる。Fusion360の吐き出すGコードも似たような感じだった。
SnapmakerでPCB基板を切削する
切削開始直後の写真。一度に削る量が多いとかなりうるさい。中華製のVカッターを使っている為なのか、バリは多め。切削量を減らすと(深さを減らす、Vカッターの先端角の小さいものを選択)、バリや音は減る。
PCB向けの1本数千円のビットを使って比較してみたいが、なるべくローコストで妥協点も見つけておきたい。
切削完了直後の写真。本来なら、削り粉を吹き飛ばすか、吸い取りながら切削したい。
そのまま、ドリルとGコードを変更して穴あけ開始。直径0.8mmのビットを使った。基板もCNCの原点もそのままであれば、ちゃんと目的の位置に穴開けできる。穴あけは地味に助かる。手動だとかなりの手間なので。
600番あたりの紙やすりで適当に磨いた直後の写真。基板下の5個の穴は本来は直径4mmの穴であり、FlatCAMでもMulti-Depthで少しずつ円軌道で空けることも可能だが、ちゃんとしたビットを持ってなかったので、中心位置だけあけて、あとでボール盤で開けた。
FlatCAMの主要パラメータについて
今回の値は以下になる。
Parameters | Value |
---|---|
Tool dia | 0.18 mm |
Overlap | 0.15 mm |
Cut Z | -0.1 mm |
Travel Z | 3.0 mm |
Feed rate | 50.0 mm/min |
Bit | V-Cutter 10deg |
10degの刃で、深さ0.1mmで切削幅が0.18mmは少しミスマッチであり、オーバーラップ15%だと、中央部の削り残しが少しあった。配線幅が少し太めに切削されるので、Tool diaは0.12~0.15mmが妥当かもしれないが、切削の失敗は少なくなると思う。QFM64でピッチが0.2mm程度だともう少しシビアなパラメータ調整が必要になる。
Vカッターの先端角が大きいと、ちょっと深さが変わっただけで、切削幅が極端に変化する。また基板が湾曲していたり、ステージの水平具合でも結果が大きく変化すると思われる。
そこで、耐久性は劣るが、先端角が小さいカッターを使えば(10degが最も細い?)、実際の切削幅のバラつきが抑えられる。