pcb2gcode のオートレベリングを使ってみる | tech - 氾濫原 というエントリを書いた。この方法は楽なのだけど、リカバリしにくいという欠点がある。

ということで、Autoleveller を使ってみる。

Autoleveller を使ってリカバリ可能なオートレベリングをする

Autoleveller のビルド方法

hg clone https://bitbucket.org/daedelus1982/autoleveller

IntellIJ で autoleveller.iml か pom.xml を開くとプロジェクトが開かれる。
pom.xml を認識するように設定し、maven の依存が解決するまでしばし待つ。

依存が解決すれば com.cncsoftwaretools.autoleveller.Autoleveller の main メソッドを Run することでとりあえず動かしたりデバッグしたりはできる。

jar に固める場合、Cmd-; で Project Structure を開き、Artifact として JAR を追加する。

  • Artifact → JAR → From modules and dependencies...

ここで Main Class に com.cncsoftwaretools.autoleveller.Autoleveller を入力し、JAR files from libraries は extract to the target JAR にしておく (fat JARとする)

これでOKを押す。

Artifact の設定画面で Build on make にチェックをいれておく。

なぜか MANIFEST.MF の場所がおかしい (main/java/META-INF にある) ので、main/resources/META-INF に移動する。

これで make すれば実行可能な jar ができる。MANIFEST.MF が正しくなくても、メインクラスを指定すれば実行はできるのでどっちでもよい。ただ、Finder からダブルクリックしたときにちゃんと起動するようにしたい場合は MANIFEST.MF の設定が必要。

# ちゃんとできてたら動く
java -jar autoleveller.jar

# MANIFEST.MF がうまく設定できない場合
java -cp autoleveller.jar com.cncsoftwaretools.autoleveller.Autoleveller 

使いかた

ここでは

  1. Probe する gcode をつくる
  2. Probe 結果をもとに切削用の gcode をつくる

というステップを踏む。2段階だと面倒だが、こうすることで安全目にパラメータをふって切削すれば、Probe 結果を使いまわして何度か試行錯誤することができる。

Probe する gcode をつくる

切削する gcode を読みこむ。pcb2gcode で作った back.gcode を読みこむ。

自動的に設定が埋まるので、必要なところを変える。Probe Clearance は 0.5〜1、Z Safe Height は 1 とかでいい。無駄に動かすと時間がかかる。Z feed は 50 ぐらいにしておく。

create probe file only にチェックを入れて、Create Levelled Gcode ボタンを押すと、ALProbeback.ngc ができる。

Probe する

ALProbeback.ngc を Machinekit で読みこむ。原点を適当に設定して Touch Off する。Z 座標も Probe して Touch Off したほうが良い。

実行開始すると Probe される。

終わったら、.ini と同じディレクトリに RawProbeLog.txt というのができているので、コピーしてどこかに置いておく。

Probe はまだ付けたままで良い。

Probe 結果をもとに切削用の gcode をつくる


切削する gcode を読みこんだうえで、Browse for Probe Log ボタンから RawProbeLog.txt を選択する。

create probe file only のチェックをはずし、Create Levelled GCode ボタンを押す。これで ALback.ngc ができる。

切削

ALback.ngc を Machinekit に読みこませる。実行開始すると「Probe をつけろ」と言われるので付けて Resume する。これで原点がセットされる。「Probe をはずせ」と言われるので、外して Resume すると切削がはじまる。

やってみたもの

(エントリ冒頭の写真と一緒)

かなり細いラインも切れずに一応再現することができた。ただ、extra-passes が少なすぎるせいでヒゲが多い。とはいえ自力でカッター使えば対応できる範囲なのでやりなおしてはいない。

実装

カッターで修正のうえ部品をのせたもの

注意点

基板を両面テープで固定するとき、しっかり貼り付けること。捨て板の面出しできていればこれだけで±0.1にはおさまるはず。

オートレベリングしたあとは一切基板に手を触れないこと。特に抑えつけたりしないこと。

誤差発生要因

  • Vカッターの先端精度
    • 最小 0.2mm ぐらいだと思ったほうが良い
  • オートレベリングのとき多少基板に食いこむ?
    • 直接接触させているので数μmは食いこむはず…
    • 無視できるレベルかは微妙
  • オートレベリング後の環境変化
    • 接着したときの歪みの戻りなど
    • 切削開始すると基板がエンドミルの影響をうけるので、あらかじめ強く接着するのがとても大事

今のところ、Vカッターは 0.2mm 程度であるとして、pcb2gcode 実行時にoffset=0.1267949192431123 を指定するのでうまくいく感じ。また、extra-passes は最低でも2は必要。でも2だと結構細かい削り残しが多いので、3〜5 ぐらいにはしたい。加工時間がかなり増えてしまうけど、2倍になっても増やす価値はある気がする。

  1. トップ
  2. tech
  3. Autoleveller を使ってリカバリ可能なオートレベリングをする