CNCルーター テーブルの平面性

中華なCNCルーターのXY軸はリニアガイドでできていますが、これがどの程度まっすぐかを定盤をXYテーブルに乗せて、XY軸を動かしながらダイアルゲージで測定してみました。
定盤は平面度は0.01mmと言っているものを使いましたが、それほど大きなものではないので、切削でよく使用しそうな中央部に置いて測りました。
DSCN2946.jpg
測った範囲は140mm * 140mm の範囲で、20mm間隔で測定をしてみました。一応Yに140mm振って、Xに20mm振って、YとXを戻して原点に戻って再現性はあることを確認しています。
置き方で当然傾斜していることが考えられますので、(とはいえ傾斜の量は、X, Y軸それぞれ140mmにつき0.1mm程度でした)、測定データに近似平面をExcel のソルバーでフィッティングして、そこからの残差を見てやりました。
その結果が下の通り。
flatbed_measurement.png
鞍状のX,Y軸のゆがみが見えました。リニアガイドの取り付けの具合によって反っているって感じですかね。
ゆがみの量は測定した範囲で±0.06mm程度でした。
基板の切削をやるには台座を平に切削するか、ゆがみの様子を計測して補正するようにした方がいいかな。
とはいえ、定盤を置いたときの傾斜の方が大きいぐらいなので、平らな面を作っても、基板の置き方でどう転ぶかわからないような気もします。
また、0.06mm程度の変形は、この機械の場合、Z軸を押す力が変わっただけで起こるような感じの量なので、機械の剛性と比べて特に狂いが大きいというわけではないと思います。
とりあえず、どの程度の変形があると思って作業を組立てないといけないかがわかったからよかった。

CNCルーターで木の板を切る

機械の調整ばっかりで購入後ろくにものを作っていませんでしたが、それではイカンということで、ものを作り始めました。
お題は、小学校の「おはなしポケット」という絵本読み聞かせのボランティアの本のリクエスト投書BOXの作成です。
今は段ボールで作ったリクエスト投書箱でやっているそうなので、もう少し長持ちするものをということで手元にあるシナ合板や100円ショップで売っているMDF板で作ることにします。
投書箱はA4を4つに切ったサイズのリクエスト用紙を入れるように作りますが、投書をしたらBOXの中の引き出しに溜まるようにすることと、投書用の用紙や鉛筆を投書箱に入れておけるようにしてみました。
今回、CNCルーターの操作に慣れることも目的としましたので、下のような縛りをすることにしました。
一つ、板の切り出しなどは、CNCルーターを使って行う。
一つ、投書箱にCNCルーターを使って文字の彫刻を行う。
はっきり言って、図面を書いた後、板取図を作成して、板に直接ケガキして手で切った方が速いと思いますが、あえてNCでやります。
CNCルーターでの加工手順は下のような段取りでやりました。今回、加工をする過程で、ルーチン的なながれができてきたので備忘録的に書いておきます。
1. JW_CADで図面を書く。 ここは、普段と同じです。
2. 部品単位で、JW_CADのレイヤーを分けて部品のNC加工の輪郭図を書きます。
これは、まず、3面図から、部品図を別レイヤーに書き起こし、その部品図それぞれについて、切削用のエンドミルの径(今回3mmを使いました)を考えて、JW_CADの複線機能を使って、切削パスの図にしておきます。
部品によっては、切り出し以外に掘り込みをする必要がある場合がありますが、それは別のレイヤーで書いておきます。
このJW_CADのレイヤーをNCVCで読み込んでGコード(NCのプログラム)に変換する関係で、部品加工図のレイヤーは
CAM_部品名_連番(00,01..)_切削深さ(5mmとか・・・)という決まったスタイルの名前にしておきます。
連番をつけることで、NCVCで加工の順番を設定することが容易になりますし、切削の深さを書いておくと、NCVCでレイヤーそれぞれに切削の条件設定をすることになりますが、それが簡単になります。
また、最後に切削した部品が完全に切り離れないような考慮(加工の順番など)をしておくこと。
また、ORIGINという名前のレイヤーに加工の原点を指定しますが、これは、それぞれの部品の左下端に指定することにします。これがいろいろだと、材料をテーブルに置いて位置合わせする際にミスの原因になるので、決め事にして置いた方がよさそう。
3. 部品ごとに、NCVCでJW_CADの図面を読み込んで、Gコードを作成。
NCVCで図面の読み込みの設定で、読み込みたい部品名のレイヤーを指定して読み込みます。
複数のレイヤーで1部品を作るときは、各レイヤーごとに切削条件のファイル指定をするのが便利。
切削条件も5mm掘り込みなら5mm掘り込み、という名前で切削条件のファイル名を決めておくのが混乱しにくくてよいと思います。
NCVCはヘッダーとフッターを自動的に追加してくれますが、この機能であらぬところに行くようなコマンドが入らないようにチェックしておきます。
4. planet cnc (CNCコントロールソフト)で出来上がったGコードを読み込んで加工
材料の位置に合わせて、加工オフセットの設定が必要ですが、定例的に下記のようにやっています。
まず、加工する材料の左下にスピンドルを動かして、よさそうなところに合わせたら、そこにオフセットを設定します。
planet CNCソフトですと、マシン – オフセット(第二原点)-XYのみオフセット のコマンドでXY軸のオフセットを設定。
次にZ軸は、加工物の表面を0として、加工深さが5mmですと-5というような設定で使っていますが、オフセットの設定は、1.2mm厚のプリント基板を使ったツールセンサーを用意したので、それを使ってワンタッチでやっています。
ツールセンサーの板をスピンドルの刃物に下に敷いたら、
マシン – オフセット(第二原点)-Measure Offset Z のコマンドを実行すると、
planetCNCのソフト設定で、ツールセンサーの1.2mm厚を入れてありますので、自動的に加工物の表面がZ=0となります。
オフセットの設定をしたあと、planetCNCの画面で、加工範囲が機械の動作範囲内にあることを確かめます。画面には、機械の動作範囲と加工パスが図示されていますので、それを見ます。
DSCN2923.jpg
加工範囲、はみ出していたら、加工対象のテーブル上の位置を直します。
次に、加工範囲に障害物がないことを確かめておきます。GコードでXやY座標が大きいところを選んで、XYテーブルをその位置に動かします(planetCNCにコマンドあり)。この時Z軸は必ず上の方にあげておきましょう。クランプ等に干渉したり、加工対象の外側にはみ出していないか必ず確かめましょう。
5. 良ければ、加工開始。
切りくずが結構でますので、まめに掃除機で吸い取ります。本当はスピンドルに集塵ホースをつけたいところですが、もう少し機械に慣れてからにしようと思います。
これは加工中の様子。
DSCN2918.jpg
切削の条件ですが、まだ慣れていません。試行錯誤で今のところ、下に書いたような条件でやっています。
今、15mm ファルカタ合板(吊戸棚を作った余りの材)、6mm MDF合板(ダイソーで100円で売っている)で工作しています。
3mmエンドミルを使った時、切り込みは1.5mm程度にしておく必要がありそう。
最初3mmの切り込みでやってみましたが、うまく切れるものの、負荷が重いためか非常に、うるさく、振動も大きい。
回転数は、スピンドルの三相モーターの周波数120Hz 程度でもいけているような感じなので、7200回転程度かな。あまり回転数が高くても、いいことはない。(特にMDFは、焦げます)。
フィードはF=600mm/min 程度でも問題はなさそう。とはいってもいろいろとパラメターを変えてためしたわけではないので。。。
とりあえず、15mm合板、6mm MDF合板を切り出して、積木細工的に形にしてみたところ。
DSCN2943.jpg
今のところ、致命的なミスはなさそう。

CNCルーター Z軸トラブル

我が家の中華なCNCルーター 3040Z-S ですが、初心者が使っているわけで、いろいろとミスをします。
あるとき、痛烈なミスをしてしまいました。よくあるミスかもしれませんが、スピンドルを止めた後、Z軸を十分に上にあげずに操作していました。加工対象の位置決めをして、その位置にオフセットを設定するつもりが、勘違いして、XYのみ原点に移動のコマンドをうってしまいました。そうすると、そのZ軸のままステージが原点に移動するわけですが、原点の位置との間にあったのは、ワーク固定用のクランプ。
刃物がクランプに衝突して折れちゃいました。刃物が折れただけだったらよかったのですが、このときZ軸が歪んでしまった様子。Z軸を上下させると明らかにスピンドルの先が振れています。とてもこのまま加工等できなさそうな感じ。
というわけで、苦しいトラブルシュートの開始です。
まず、Z軸をバラしてボールねじのところを観察。ボールねじが軸受と接する部分で曲がってしまって(1mm近くも!)、芯がずれてしまっているようです。
しばらく逡巡したあと、ボールねじの軸を削って芯を出すことにしました。
ネジの軸を削ると当然ベアリングとの隙間ができてしまいますから、軸を0.5mm程度削ってそこに真鍮のパイプを差し込んで調整することにしました。ボールねじはクロモリ鋼でできているわけですが、ミニルーターに超硬合金のカッターをつけて、ルーターをドリルスタンドにつけて、XYテーブルで少しづつ手でねじを送って削りました。
DSCN2916.jpg
最初ハイスの刃物で削ったら、削ったはずの深さと出来上がりの軸の太さが矛盾していて「おっかしいなあ」と思っていましたが、実は刃物の方が急速に摩耗していたという・・・さすがに超硬の刃物だと問題なく切れました。
最終的にはそれなりにきれいに削れるようになりましたが、初めてのことばかりなので当然いろいろとミスをして、修正できたのかとっても不安な出来栄え。
ボールねじの軸を出すのはとても大変で、軸の上下それぞれ削って修正したら、修正した側にベアリングを挿して軸を決めて、そのうえで反対側の軸の修正削りをしてみましたが、どっかのローカルミニマムに落ち込んでいるような気がしてならない。
一応、修正した後、組立てて、ダイアルゲージでZ軸の動きを計測してみました。
DSCN2904.jpg
計測は、Z軸を0.1mm ステップでジョグで送って、ダイアルゲージで動いた位置を測りました。
そうすると、ボールねじ1回転(5mm 分)を周期とする周期的な誤差が出ています。0.1mm 送ったつもりが0.09mmしか送れていないとかそういう感じです。
最初の計測時は、±0.06mm もの誤差が出てしまっていました。当然使い物になりません。
そこで、もう少し丁寧に軸を出したところ少し良くなって、±0.025mm程度の誤差にはなりましたが、依然大きいです。さらにいろいろ削ってみたりしたのですが、それ以上よくならないというか、むしろ少し悪化したような気もするので、ボールねじの軸でなくて他のところに問題があるのかもしれない。
X軸とY軸で同じ計測をすると、こちらは大体±0.01mm 以内の周期的誤差です。Z軸も基本的に構造は同じなので、同レベルの誤差には落ち着かせたいのですが、だんだんドツボにはまってきた気もしますので、とりあえず、このあたりで一旦一休みすることにしました。
ボールねじや軸受ベアリングや軸受のプレートなどを取り換えるといいのでしょうけど、もう少し追求してどこが誤差の原因なのかを考えてみたいと思っているところです。
ボールねじの受けを単純にラジアルベアリングで受ける構造になっているのですが、これでいいのだろうか?構造にも問題があるような気がします。

3040Z-Sの環境整備(こればっか)

ここの所CNCルーターを使いこなすところまでいっておらず、周辺の環境整備をしていました。
1) USB-CNCコントローラーを箱に収納
今まで、コントローラの基板がむき出して、そのような状態でアルミを切削したりしていました。超危険なので、せめて箱に入れようということで、木箱に収納しました。
木箱は、100円ショップで売っている厚さ約6mmのMDF板を切り出し、木工ボンドで貼り付けて作りました。
板の切り出しはのこぎりで手でやりましたが、DB25ピンのコネクタや、USBコネクターの穴、それから、基板を取り付けるビスが底面の下に出ないように座繰り穴をあけるなどは、CNCルーターを使いました。
また、蓋は、基板が見えるように5mm厚のアクリル板をMDF板の箱とはめ合わさるようCNCで縁を面取りしてみました。
DSCN2871.jpg
これは、面取り加工の様子。掃除機で切り子を吸い出しながらやらないと散らかって大変。
箱には、ツールセンサー用の端子も取り付けてみました。
こんな感じです。まあまあ?
DSCN2881.jpg
箱の設計を間違って、木工用ボンドで張り合わせるのがえらい大変だった。思いつきで図面も描かずに作るとだめだね。
2) USBカメラの取り付け
カメラは結局、カメラにエポキシ接着剤でLアングルを張っておき、それをスピンドルに取り付けられた取り付け用のLアングルに3mmネジで固定するという方法でつけました。
DSCN2882.jpg
ためしに穴を木の板にあけて、カメラのオフセットを調べたところZ=18.16mmの時、X = -60.7 mm, Y= 4.4mmでした。ただ、カメラのマニュアル焦点を合わせようと動かすと光軸がずれるようでこりゃだめだって感じです。
3) ツールセンサー
planet CNCの紹介youtube ビデオでも見つかりますが、プリント基板をセンサーの端子に、Z軸のオフセット測定ができるようにしました。
プリント基板は手持ちのものを切り出して作りましたので、t=1.2mmでした(これをplanet CNCコントロールソフトのZ値に代入)。
一応ちゃんとZ原点を設定したり、ワークの座標を取り込んだりできることを確かめる。
4) 集塵対策
今のところ、お古の掃除機を使って、切り子を吸い出していますが、洗濯機の蛇腹ホースを掃除機に取り付けて、スピンドルのところから直接吸い出せるかなと思い、やってみました。
正直、掃除機がうるさいです。また、ホースも、切り子は横向きに飛ばされるので、ホースを最後は横向きにした方が良いようで、音がうるさい割にはあまり効率よく吸ってくれません。
DSCN2875.jpg
道具で遊んでばかりではなく、実際のものを作らないとなあ。

水中ロボコン

夏休みの終わりの先週末、「水中ロボコンin JAMSTEC’13」(公式サイト)というのに見学に行ってきました。
JAMSTECのプールに集まって、プールの中で水中ロボットを動かして競技をするという会です。
競技は、一般競技と高校競技に分かれています、それから、デモと言って競技ではなく、ロボットを水中で泳がせつつ、ロボットの特徴をプレゼンするという種目もありました。
競技の方は、ROV部門(ひも付きの外部操作をするロボット)とAUV部門(ロボット自体が判断をして決められたコースを泳ぐ)に分かれていて、大学(院)生のグループやおっさんが出場していました。
私は、見学だけの気楽な身分で参加。
土曜日は、プールでロボットの調整をしたあと、ワークショップと言って、それぞれロボットの特徴などをプレゼンする会議が開かれていました。こちらは、個人的には面白くみられました。もう少し、質疑が活発だといいと思うのですが、みんなシャイなのかな。
日曜日は、競技とデモ。
DSCN2849.jpg
デモの方は、ペンギンの形を模したロボットや、イルカの動きを模したロボットなどあり、なかなか面白かったです(うまく動いていなかったのも多かったけれど)。
正直なところ、競技の方は、なかなか内容が難しいのか、最後まで競技をコンプリートできたグループはそんなに多くなかったです(というかほとんどいなかった)。
ROVの部門の方は、デザインに問題があるためか、ロボットが思うような方向に動かせなくて苦労しているグループが多かったし、AUV部門の方は、ほとんどのグループが、水中のターゲット(これにタッチするとポイント)をうまく見つけられていないようでした。
これはだめだ、となったら、プールで待機しているダイバーが助けに出動して、ROV, AUVをスタート地点に戻してくれるのですが、頻繁にダイバーヘルプが発動してしまって、途中から、ダイバーエキシビションみたいになってました。
参加しているグループの人は必死で調整しているのだと思いますが、もう少し開発段階から水の中で練習する機会があるといいのかな、などと外野はみながら思っていました。
主催の方とお話をする機会があったのですが、多くのグループが1年程度の活動で1個のロボットを仕上げてくるので、なかなかknowledge、技術の世代間の継承に苦労しているとのことでした。
考え方を変えて、ロボットに使う部品などをある程度実績のあるものをロボコンの事務局の方で選んで共通に決めて、その部品の使い方の工夫で優劣がでるようなルールにするなどしてもいいのかも、なんて勝手に思っていました。
また、自分が水中ロボットを作って遊ぶのなら、どんな機軸のものを作ったら面白いだろう?なんて思いながら見ていました。いずれにしても、いろいろなグループが苦労しながら品物を仕上げる様子が見られて楽しい週末でした。