2010/10/11(月)cam.pyで基板切削してみる

2010/10/12 01:10 CNCimportnucho
eagleで基板切削をやったという記事は良く見つかるのですが、その他のCADからやったという記事はあんまり見かけないので今回はMBE+cam.py基板切削した記録を残しておきます。
一応うまくはいっているのですが、文字の切削と外形の切りだしはできていません
  • cam.pyの準備
    • pythonの実行環境
    • mm出力に書き換え
  • Gコード作成
    • MBEからガーバーファイルの出力
    • cam.pyでガーバーファイル→Gコードの変換
  • 切削する
    • 面だし
    • パターンを削る
    • 穴あけ
    • 切りだし
    • できた
  • 終わりに

cam.pyの準備

pythonの実行環境

cam.pyはガーバーファイル、dxfデータ、Gコードなどを相互に変換するスクリプトです。
ダウンロード後、pythonの環境を整えれば実行できるようになります。Windowsの場合は以下のものをインストールすれば大丈夫でした。

mm出力に書き換え

cam.pyは標準ではinch出力になっています。
Mach3などのCNCソフトをmmで読み込むように設定している場合は
2560,2560行2565,2566行
         x = (path[segment][vertex][X]*xyscale + xoff)*25.4
         y = (path[segment][vertex][Y]*xyscale + yoff)*25.4
というよぅに25.4を掛けて書き換えてmmで出力にしておきましょう。
他の機能に影響を与えるかもしれないので使っている場合は注意してください。

またデフォルトの値は3034行以降くらいに書かれているので、ここも好みで書き換えておけばいいかと思います。
私は以下のように書き換えました。
         szup.set("5")
         szdown.set("-0.05")
         z2Dframe.pack()
      sdia.set("0.27")
      sundercut.set("0.00")
      soverlap.set("0.8")
      toolframe.pack()
      sfeed.set("100")
      sspindle.set("5000")
      stool.set("1")

Gコード作成

MBEからガーバーファイルの出力

campy_test_mb3.png

「File」→「Export CAM data」→「Gerber」でガーバーデータを出力しましょう。
今回は片面基板ですので、CMPとDRL(反転させている場合はSOLとDRL)のチェックがついた状態でOKボタンを押します。

出力された.CMPファイルと.DRDファイルを使用します。
.DRDファイルはそのままではcam.pyで読み込みが出来ませんが、テキストエディタで編集し2行目の「INCH,TZ」を削除することで読み込めるようになります。

cam.pyでガーバーファイル→Gコードの変換

campy_test_gcode.png

cam.pyの使い方はこちらを参考にしました。
一般的な生基板だと0.05~0.07mm程度切り込めばいいみたいです。
設定を行った後Gコードを出力する前にfixedボタンを押しておかなければ原点がずれてしまうことに注意してください。

.gファイルで出力されますがMach3で読み込むために.ncdという風に拡張子を編集しましょう。
今回はパターン切削コードをcmp.ncd、穴あけコードをdrd.ncdとして保存したとします。
また出力した後はNCVCなどでよくGコードを確認しておくようにしましょう。

切削する

面だし

必要な場合は捨て板の面出しを行っておきましょう。
ちゃんとした捨て板用の板材を使えばこの作業は必要ないのかもしれませんが、私はホームセンターで買ってきた適当な板材を使っていたので結構たわんでいて、面出しをしておかないと話になりませんでした。

パターンを削る

スピンドルに基板加工用カッターを取りつけましょう。
このとき刃先のブレをよく確認しておいてください。少しでもブレていると線幅が広くなってパターンが消えてしまったりします。
パターンを綺麗に残せるかは板が平行に固定できているかと、刃物がブレずに把持できているかにかかっているので、ここは妥協せず行いましょう。

うまく固定できたと思ったらcmp.ncdをMach3などで読み込んで切削を行います。
このあとドリルで穴をあけなくてはならないので、スピンドルを原点に戻しておくようにしてください。

ドリルで穴あけ

穴径にあったドリルかエンドミルをスピンドルを取りつけましょう。
ドリルの取り付けはカッターの取り付けほどシビアにならなくてもいいかなと思います。

drd.ncdをMach3などで読み込んで加工を行います。

切りだし

cam.pyを使ったやり方がよくわからない(できるのかな?)のでここは手動です(^^;
糸のこなどで切りだしましょう。試してないですがアクリルカッターを使うのもいいかもしれません。

できた

100926-195424.jpg

バリが残っている場合はバリ取りをして、あとはフラックスを塗ってグリーンレジストを吹きかければ完成です。

終わりに

色々手間がかかってしまいましたが、一応MBEのデータから基板切削が出来ました
文字は必須ではないにしても、切りだしまではCNCでさせたいところですね…。

ガーバーファイルからGコードを作れればいいわけなんですが、中々良いソフトが見つかりません。
これを使えばうまくいくのかな…。