CNCの精度調整

組み立ててそのままでも十分使うことができますが、1mm以下の単位で精度を出したい人向けのトピックです。
木材加工であれば精度を出さなくても十分に使えます。

また以下は簡易的な精度出しとなります。

※鋳鉄を使ってベッドをつくるような産業用の工作機械に比べ剛性等でかなわないことや、アルミフレームそのものの精度の問題もあり、産業用工作機械並(位置決め精度数μmなど)の精度は期待できません。
またオーバートラベル(稼働限界距離を超えてガガガと動かす)すると精度は多少狂います。リミットスイッチを付けていない場合は注意してください。
また経年や熱でも精度は変化します。精度を求める場合は定期的に精度を計測し調整してください。

指摘や改善点があればコメントください。
また本トピックのいくつかの投稿はwiki投稿としますので、自由に修正可能です。

「いいね!」 1

各軸の直交出し

フレームの組み立て方によりXYZ軸のそれぞれが成す角が直角になっていません。

そこですでに直角が出ているものを使って、XYZ軸をその直角に沿うように調整します。

直角基準ブロック等のちゃんとした測定工具は馬鹿みたいに高いので、台付スコヤや6面フライスされたブロックをここでは使います。

今回用意したのは6面フライスされたS50Cのブロック(直角度15μm)で、私はモノタロウから購入しました。
また今回用意したブロックは厚さ10mmですが、厚さが薄いと立てるのが大変なので厚めのほうがいいかもしれません。(ガントリープレートがアルミなのでマグネットスタンドがつかない)

※画像では横着をしてテコ式ダイヤルゲージの測定子の角度をつけて測っていますが、本来は測定面に対してできるだけ水平にします。
精密測定機器の豆知識 - ミツトヨ
ピックテスト(てこ式ダイヤルゲージ)の測定子を当てる角度による誤差

基準の軸とプレート端面の並行出し

ワークを軽く固定し端っこでダイヤルゲージを0にし、ダイヤルゲージを当てたまま軸を移動しもう一方の端点側へ。

ズレ量が出るので軽くワークを叩いて軸と平行(0になるよう)に修正。もとの端点に戻してズレ量を確認し再度ダイヤルゲージを0にセット。これを収束or納得するまで続ける

基準の軸と直角の軸の並行出し

ワークの先程の面とは直角の面にダイヤルゲージを当てる。端点で0をセット。


ダイヤルゲージを当てたまま軸を動かし、ズレ量を確認。

プラスチックハンマー等で叩いてズレ量を修正。(※予め修正箇所のフレームを固定しているボルトを緩めて軽くしまった程度にしておく)

先程と同様に収束or納得するまで続ける。修正が完了したらボルトを締めておく。

最後の軸の直角出し

ワークが薄かったのでこんな以下の感じで立てています。マグネットスタンドを使って立たせています。

ワークの水平出し

最初と同様に基準軸を使ってワークの水平(並行を出す)。
今回はズレ量に対して紙(だいたい10μm)を挟むことでワークの水平を出しました。


最後の軸の垂直確認・修正

同様にZ軸の垂直を確認し、ズレているようなら修正します。
Z軸の傾きはZ軸が乗っているX軸の傾きが考えられるので、X軸とフレームの締結部の締め量等を調整します。


参考
直角の基準
https://www.monotaro.com/s/pages/readingseries/sokuteikougukisokouza_0701/

https://drops662.hatenablog.com/entry/2018/11/23/011538

スピンドルの垂直

Z軸に対してスピンドルの軸(工具固定座)が並行である必要がありますが、それを測定するのはCBeamフレームでは難しいです。

そこでZ軸は垂直であるとしてZを上下させたときのスピンドルの傾きを調整します。

工具固定座とフレーム間の固定ボルトを3本緩め、1本は固定したままダイヤルゲージの値を見つつ手で角度を微調整し固定します。
スピンドルや工具固定座が落ちないように十分に注意してください。

これを何度か妥協できところまで繰り返します。

step/mm算出


「いいね!」 1

面だし

テーブルとなる板等を削って面だしをします。
これによりXY軸が動いてできる面をテーブルに転写します。

例えば正方形があってx50 y50に設定して、Gコードを作って削り出して、定規で測って
x50 y51だった場合、

$ 101 = 200前後

をどのようにすれば1ミリずつ動かせるのでしょうか? y51をy50にしたい場合

宜しくお願い致します

もともとの値を確認して(各軸$100$101$102で確認できます)
(新設定値 step/mm)= (現在の設定値 step/mm) * (想定していた移動量 mm) / (実際の移動量 mm)
とすれば良いです。

なので$101 = 200のときyが50mm動くことを想定していたが、51mm動いていたと仮定し計算すると
(新設定値 step/mm) = 200 * 50 / 51 ≒196.078

となり196.078を$101に設定すればいいということになります。

参考:

「いいね!」 1

ありがとうございます。
設定してみます。

step/mm算出を、負荷なし(無回転エンドミルの移動だけで切削なし)の状況で調整確認し、
その後実際切削してみると、加工データより若干大きめに削れてしまうので悩んでいます。

以下の動画のようにstep/mm算出時は、
固定したノギスにルーター先(エンドミル逆差し)をピタリとひっかけて、
移動指示データ(50.00mm)どおり移動するまで何度もstep調整します。
(WebUIで50mm移動マクロボタンをつくりました)

その後CNCjsでMDF材に対して50mm正方形データを切削してみると、X軸Y軸とも50.3~50.4mmで削れてきます。
(切削条件:6mmスクエア 二枚刃、送り速度1800mm/min 切込み量3mm、切り込み深さ5.8mm)




またこれまで寸法の違う切削物や他の切削条件(送り速度300mm/min)でも同様にデータより若干大きめに削れてしまっていて
その都度CNCjs画面でエンドミルの移動寸法表示を目で追ったりしていたのですが
どれも加工データの範囲内で、大きめの寸法に外れていく状況は確認できませんでした。

このような誤差を移動距離(L)データの拡大(Lx約100.8%)とみるか
付加(L+約0.3~0.4mm)とみるのかまだ判断つきませんが
いずれにせよこの誤差は今後の自分の加工プランに影響を与えてしまうので悩んでいます。
(例えば既存アルミプレート穴に合わせたパーツなどを作ることができません)

ここまでの無負荷での設定環境を無視して、
新たに負荷状態(切削後の採寸)でstep/mm算出をすることにすれば
それはそれで解決なのかもしれませんが、
できればなぜこのような現象になるのか理解したいと思っています。

もしかしたら切削時のルーターのノイズ影響なのかもしれませんが
他にもし何か思いつく原因などあればアドバイス宜しくお願いいたします。

可能性の高い物から

  1. エンドミルによって実際に開けられる穴の大きさが小さい
    特に木のような柔らかい相手だと材料がその時だけ逃げてその分だけ穴が小さくなることがあります
    カットできるほど深く彫らずに、材料の厚みより少なめに彫って(といっても3mm以上、足りなければ材料の厚みを増やす)彫られた幅を確認します。
    注意点として上のバリはヤスリで取り、目の細い紙やすりで切断面を軽くきれいにしてホコリを飛ばして測定してください。この彫った穴の大きさをCAMに入れるエンドミルの太さに設定してください。
  2. 切断面の計測に問題がある。
    MDFは毛羽だっているのでどうしても切断面が凸凹します。目の細かいヤスリで軽く磨いてから計測してみるのはどうでしょうか。
  3. 調整法としてノギスで移動幅を計測している所ですが、バックラッシュの分少しずれています。
    この誤差は0.04mm程度なので無視してもいいような気がしますが、+方向の計測をするのであれば、まず-で元の位置に戻したあと、5mmでも+方向に移動させて、その状態でノギスのZERO設定にし、追加で+方向に50mm動かして確認します。逆にこの操作をしないで計測したときの差がバックラッシになります。

ただ・・・木相手なら十分な精度という気もします。

貴重なアドバイスありがとうございます。
改めて客観的に考察し直せるので大変助かります。

1については
今回使用した6mmエンドミル(写真では5.99表示)は
直径6mm穴はそのままの寸法で開けてきており
また他のCNC機では寸法どおり削れているので
エンドミル自体の精度は特に問題ないと考えておりますが
念のため次回は別のエンドミルでも切削測定してみたいと思います。
また測定撮影後に改めてバリ処理したうえで再測定しても同様な誤差数値を確認しております。

2については
今回MDFは切削負荷の影響が少ないのでstep/mm算出確認用に採用しておりましたが
次回はより断面が平滑なアクリル板を使って計測してみたいと思います。

3については
動画にあるように50mm移動後に元の位置に戻した時に表示される数値(約0.01~0.02)
がバックラッシと考えていて、どれも微量なため無視(ボタンでその都度0.00にリセット)しておりました。
次回は5mm+方向に一旦移動させてから計測してみます。

まとめ
今回問題にした誤差約0.4mmは
アルミ加工をする上では無視できない数値なので
他の原因も引き続き探求してみます。
(ルーター電源およびケーブルをCNC電源とは別途離して設け、ノイズ対策するなど)

こんにちは。
XY両方とも同程度削れていないとのことなので、もしかしたらNCプログラムの問題かなとも思いました。

可能性の一つとして、加工データを作る際のCAMの設定に問題はなさそうですか。

  • 仕上げ代を残している
  • CAMのエンドミルの径

例えば板表面の任意の点をワーク原点として設定した場合
5.99mmのエンドミルで50mmの四角を削るNCプログラムは以下のようになるかと思います。(ご存知であればすみません)

G01 X0 Y0 Z0 F300;ワーク原点位置ヘ
G01 X0 Y0 Z-3 F100;Z -3mm切り込み
G01 X55.99 F300;(X 50+工具径分移動)
G01 Y55.99 F300;(Y 50+工具径分移動)
G01 X0 F300;
G01 Y0 F300;
G01 Z5 F100;Z5まで工具退避

簡単なNCプログラムでうごかしてみることでCAMの設定か機械側の問題かが切り分けられるんじゃないかなと思います。
ただ他のCNC機では寸法通りとのことなので機械側なのかなという気も・・・

また貴重なアドバイスありがとうございます。
CAMについては全く頭から抜けていましたので非常に助かります。
確かにX軸Y軸とも同じような誤差数値である点が何か気になりますね。

今回のstep/mm算出確認用データは、
VCarveで50mm正方形を(中央原点で)つくり、
エンドミルの直径を6mm、仕上げ代(オフセット)は0と設定し
grbl用にgコードを書き出したものです。

T1
G17
G21
G90
G0Z20.000
G0X0.000Y0.000
S12000M3
G0X-28.000Y-1.000Z5.000
G1Z-2.900F254.0
G1Y5.000F1800.0
G1Y25.000
G2X-25.000Y28.000I3.000J0.000
G1X-7.000
G1X-1.000
G1X5.000
G1X25.000
G2X28.000Y25.000I0.000J-3.000
G1Y7.000
G1Y1.000
G1Y-5.000
G1Y-25.000
G2X25.000Y-28.000I-3.000J0.000
G1X7.000
G1X1.000
G1X-5.000
G1X-25.000
G2X-28.000Y-25.000I0.000J3.000
G1Y-7.000
G1Y-1.000
G1Z-3.000F254.0
G1Y5.000Z-5.800F1800.0
G1Y25.000
G2X-25.000Y28.000I3.000J0.000
G1X-7.000
G1X-1.000Z-3.000
G1X5.000Z-5.800
G1X25.000
G2X28.000Y25.000I0.000J-3.000
G1Y7.000
G1Y1.000Z-3.000
G1Y-5.000Z-5.800
G1Y-25.000
G2X25.000Y-28.000I-3.000J0.000
G1X7.000
G1X1.000Z-3.000
G1X-5.000Z-5.800
G1X-25.000
G2X-28.000Y-25.000I0.000J3.000
G1Y-7.000
G1Y-1.000Z-3.000
G0Z5.000
M5
G0Z20.000
G0X0.000Y0.000
M2

念のため今中身を見直してみましたが特に気になるところはなさそうでした。
中央原点に対してX軸Y軸とも±28mmの経路(エンドミル半径分のオフセットライン)を削るように見えますが、
次回は記載いただいたNCプログラムでも試してみることにします。

また他のCNC機(今は手元にありません)ではこのエンドミルの精度実績があるだけで、
今回の同じGコードで精度よく切削できたわけではありませんので、
改めてCAMも疑って設定等もう一度見直したいと思います。

いろいろとアドバイスいただいた点を踏まえて再検証してみたら
予想外なかたちで問題点が整理できたので
以下にまとめておきます。

まず今回の検証でポイントとなるのが

このような誤差を移動距離(L)データの拡大(Lx約100.8%)とみるか
付加(L+約0.3~0.4mm)とみるのか

という点で
もし後者であれば現状のstep/mm算出値に問題は無く
切削加工自体の問題ということに切り分けられます。
(前者であればstep/mm算出段階から何か問題あり)

そこで前回の正方形切削データに
エンドミルと同径の6Φ穴を50mmの間隔で2個開ける(ドリルパス)加工を追加し
それらの距離を測定して判断することにしました。
(穴外径間が50-3-3=44mmであれば正方形誤差は付加分だとわかるはず)

そしてその場合を想定し、新たな比較点として
CAMで正方形ツールパスに何か切削設定に差異をつけて
変化を見出すことにしました。
Vcarveではツールパスのベクトル方向を
ダウンカットとアップカットから選ぶことができるのでまずはここから始めてみます。

また別途シンプルな正方形切削データも併用し
さらに同径の別のエンドミル(4枚刃)も使って差異を探ります。

念のためルーター電源&ケーブルも独立敷設。(気休めノイズ対策w)

ちなみに今回の検証前にバックラッシ除去してからノギス移動再測定してみましたが
微差(0.02~0.03mm)しかありませんでしたので今回は取り急ぎ無視して
前回と同じstep/mm値で実施しすることにしました。

再検証した結果はこちら。
(L:6Φ穴外径間、X:正方形横長、Y:正方形縦長)

随時CNCjs画面でエンドミルの移動寸法表示を目で追いましたが
加工想定経路を外れていく様子は確認できませんでした。

どれもエンドミル同径6Φ穴外径間は≒44.00mmで、
穴位置はある程度精度よく開けられていることがわかります。
そのうえで正方形ツールパスのダウンカットとアップカットとで
はっきりとした差が確認できました。
(ちなみに前回の検証データはダウンカットによるものでした)

参考:

アップカット/ダウンカット

どうしてこのような差が出るのか詳しく説明できませんが(MDFの品質による?)
エンドミルの(回転方向と)進行方向の関係で
切削寸法がMDFでは変わることを今回初めて知りました。

次にアクリル板(t=4.0)を切削して検証を続けます。
(切削条件:6mmスクエア4枚刃、F1800、切込み量0.5mm、ダウンカット)

step/mm算出に対する切削誤差はほとんど無いようです。

これで精度の要求されるアルミ加工にもやっと挑戦する気になりました。

今回の検証では
「MDFはstep/mm算出確認用の切削には使わないほうがよい」
と私なりの結論が出たのでとりあえず探求はこれにて終了したいと思います。

「いいね!」 6

アップカットとダウンカットの話凄く参考になりました。

ただリンク先の説明で行われているのは削り面が進行方向に又は進行方向と逆にエンドミルの半分以下が削っている話だと思われます。
工具が時計回りに回っている状態で左から右に移動した場合は食いつき部分が上方向の力を生み出すために上にずれます。
逆に右から左に移動する場合は食いつき部分が下方向の力を生み出します。
アップロードされたダウンカットのCAD図面の切り出しの場合は上側が上方向、下側が下方向になり造形物の大きさは大きくなります。左右も同じように大きくなります。
この誤差を減らすためには、まず造形物のサイズより大きめに切削した後で、もう一度正確なパスを削るという方法で刃物への負荷減らす。というのがCAMにあるような気がします。
後はCNCの剛性を上げる(というのは簡単じゃないですが)、掘る深さを浅くする、掘る速度を遅くする等が考えられそうです。

「いいね!」 2

なるほど、そういう現象だったんですね。

今回の検証はstep/mm算出値と実切削値の関係性の探求がテーマだったわけですが
これが実作業となると「MDFは正確に切り抜けられないから使わない」で済まないですから
どうやって正確に切削するかの手順は確立しないとなりません。

おっしゃるようにMDFでは一度大きめに削ってから本切削するようにしたいと思います。
幸いVcarveでは「最終パスを分離する」設定が簡単にできるので(前述キャプ画面参照)
今後はこのオプションを活用していくつもりです。

またなぜアクリルではこういった現象にならずに正確に削れたのかも気にはなります。
(MDFより切削抵抗が大きいのでより上下左右にずれそう?)

ちなみに今回のMDF切削誤差で自分がはじめ抱いたイメージは
ダウンカット時は一旦回転刃がMDF彫った後路に
畑を耕すようにMDF繊維を掘り起こすため切削ラインが膨らみ
アップカット時は回転刃が前路の柔らかいMDF繊維を余分に引きはがしすぎて
切削ラインを削りすぎているんだと思っていました。

いずれにせよ今回の検証で
今まで実切削で疑問に思っていた細かい事象がクリアになった実感があるので、
もし皆様に何か参考にしていただけるところがあったとしたら幸いです。

ドリルやエンドミルを手持ち電動ドリル等で5Φぐらいの穴を開けるとアクリルの方が早く(3−5倍)穴が開く上に手にかかる反動も少ないと感じます。
さすがにアルミはMDFより穴をあける速度は遅くなる気がしますが、反動は少ない気がします。
MDFは接着剤と木材で出来た固体なので思ったより硬く、粘りも持っているためドリル、エンドミルで穴を開けるにはアルミより大変な素材かも知れません。

なるほど、手で開けるとそういう実感があるんですね。
機会があれば自分でも試してみたいと思います。

MDFは切削後には粉末状に粉砕されているようだったので
脆いんだと錯覚していました。
アクリルは回転熱で溶融して抵抗が大きくなることがあったので
切削抵抗は大きいと錯覚していました。

アルミも型番でいろいろと性質が異なるようですから
イメージにとらわれずにより良い切削ができるよう配慮していきたいと思います。

このあたりの事を書いた記事が見つかったので入れておきます。

OSG株式会社 オーエスジー:タップ、ドリル、エンドミル等の切削工具メーカー のダウンロード → 技術情報 → * エンドミル加工 (9.0 MB) ページ 37に計算式込みで記載されています。
まあ、これはエンドミル自体が曲がるというような話で書いてあるのですが、私らの問題は道具の取り付け位置が曲がってしまうありさまなのが悲しい所ですが。

「いいね!」 1

nyaruさん、6面フライスされたS50Cのブロック(直角度15μm)をモノタロウから購入したいのですが、商品コードかURLで教えてください。
台座部分を2080アルミフレームからC-Beamリニアレールにして組み直そうかと思っているので、どうせなら水平垂直は確保したいなあ。と思って居ます。