CNCフライスの製作


はじめに

CNCフライス盤を作りました.
XYテーブルやスピンドル部を自作するのは大変なので,PROXXONの既製品をベースとして使うことにしました.
それに,ステッピングモーターとドライバ回路を取り付けます.
制御用のソフトとしては,EMC2というソフトを使用しました.

フライス盤の改造

改造するフライス盤としては,プロクソンのマイクロ・フライステーブル(No. 27110)を使いました.このフライスはテーブルの稼働範囲が狭く,また3mm径までの工具しか使えませんが,小型で置き場所に苦労せず値段も安価です.硬い金属の加工は無理ですが,プラスチックやアルミ等の加工をメインに考えているので問題ないと考えました.
このフライス盤にステッピングモーターを取り付けます.

ステッピングモーターは,秋月電子で購入した多摩川精機製のTS3103N124を使用しました.これは200ステップの2相ユニポーラ型のモーターで,定格は24V0.28Aです.ただし,24Vで駆動し続けるとかなり熱を持ちます.
ステッピングモーターをフライス盤に取り付けるためのマウント部は,ダイソーで売っていた6mm厚のポリプロピレン板を(改造するのとは別の)卓上フライス盤で加工しました.
下記の図がその寸法ですが,パソコンに昔保存していたデータから探し出したものなので,実際に使ったものとは多少異なっている可能性があります.

モーターマウント用部品 モーターマウント用部品
モーターマウント用部品(1) モーターマウント用部品(1) モーターマウント用部品(2) モーターマウント用部品(2)
モーターマウント用部品(3) モーターマウント用部品(3)

X軸用のマウント部品には問題があり,テーブルと干渉してしまうため5mm程度テーブルの稼働範囲が減少してしまいます.Y軸の方は干渉しないようにテーブルに当たる部分を削ってあります(「モーターマウント用部品(1)」の写真の右上のパーツ).
モーター軸とテーブル軸の接続については,フライスの各軸のアルミ製ハンドル部分に,つまみを取り付けるために空いている3mmのネジ穴と軸の中心で対称になる位置にもう一つ3mmのネジ穴をタップで立てて,カップリング用の部品(「モーターマウント用部品(1)」の写真の下の3つのパーツ)を固定しました.
なお,このフライス盤は樹脂部品が使われている部分があるため,シリコーングリースで潤滑を行いました.

完成した状態 完成した状態

モータードライバの作成

CNC用のモータードライバはいくつか市販されていますが,ここでは自作することにしました.
ステッピングモーター駆動用の専用ICというものが存在しますが,ここではMP4401という秋月で購入した汎用のパワーMOS-FETモジュールを使用しました.
ステッピングモーターの駆動方式はトルクを大きくするため2相励磁方式を用いて,シンプルな定電圧方式で駆動しています.
テーブルの移動速度を早くするには,モーターを高い電圧で駆動してトルクを大きくした方がいいのですが,24Vでこのモーターを使うとかなり発熱します.そこでモーターが回転を行っておらずトルクを保持しているだけの状態の時は,モーターに流す電流のON/OFFを繰り返してモーターに1/2の時間しか電流が流れないようにすることで発熱を抑えています.
このモータードライバで上記のステッピングモーターを駆動した場合,1秒間に200パルス(1回転)ほどしか回すことができません.このフライスのテーブルはハンドル1回転あたり1mm動くので,1mm/secの速度でしかテーブルを動かせません.
もともとこのCNCフライス盤は5年近く前にほぼ完成していたのですが,当時モーター電圧が12Vだったこともあり,モーターの回転が非常に遅かったので,モーターの駆動を定電流駆動方式に変えるなどして高速化しようと思いつつほったらかしになっていました.
そこでハードウェアは変更せずファームウェアだけを改造し,カレントダウン機能を入れてモーター電圧を24Vに上げるという改良をすることで,とりあえず完成させました.
ドライバのファームウェア自体は非常に単純で,各軸は独立に処理すればよいので,ここでは発振器を内蔵したAVRのAT90S1200を2つ使用しました.本当はフォトカプラで絶縁した方がいいかもしれませんが,簡略化してそこまでは行っていません.
回路図 回路図
モータードライバの外観 モータードライバの外観

ファームウェア

コントロールソフトの準備

CNCフライス盤を動かすには,NCコードを解釈してモータードライバに信号を送るためのコントロールソフトが必要になりますが,ここではEMC2(Enhanced Machine Controller)というソフトを使用しました.この用途ではMachというソフトがメジャーなようでしたが,オープンソースで開発され無料で利用できるEMC2を使うことにしました.
このEMCというソフトはもともとアメリカのNISTで作られたものだそうで,リアルタイムLinux上で動作します.
ブート可能なCDのイメージが配布されていたので,まずCDからブートして動作を確認しました.問題無さそうだったので,その後HDDにインストールしました.ディスクのパーティションサイズを変更したり自動的にインストールを行うプログラムもこのCDに付属していたので,簡単にインストールできました.
EMC2の設定は,「Getting Started Guide V2.3」というドキュメントを読めば行うことができました.
またソフトの操作方法は,「User Manual V2.3」というドキュメントに書かれています.EMC2にはいくつかのユーザーインターフェースが用意されていますが,標準ではAXISというものを使います.このマニュアルには,他にもソフトの詳細な設定方法や,NCコードに関する詳しい説明などが書かれており非常に参考になりました.ページ数が多いですが,全部読む必要は無いので必要に応じて参照しています.
他にも,NCコードの入門にはSherline社のCNC Instructionsなども参考になりました.

テスト

試しに,MDF材の切れ端に文字を削ってみました.
Jw_cadで図を描き,NCVCでNCコードを生成しました(NCコード).
2mmのエンドミルを使用し,切り込み量は1mmとしました.
EMC2の画面と削った結果は下のとおりです.
EMC2の画面 EMC2の画面
削った結果 削った結果
枠の左上の部分があっていませんが,これはテーブルのX方向の可動範囲を超えて製図していたためでした.
また写真では見にくいのですが,最後に切削した地点からホーム位置にエンドミルが戻る軌跡が削れてしまっています.NCVCでは工具を移動する際にZ軸を指定した長さ(今回指定したのは1mm)だけ持ち上げることになっていますが,最後にホーム位置へ戻る際には持ち上げておらず,Z軸の高さが0mmで戻していたので,原点がわずかに木の表面より下になっていたために若干削れてしまいました.
次は2.5次元加工も行ってみたいと思います.

参考資料

  1. The EMC Team: Getting Started Guide V2.3.
    EMC2の設定方法についての説明書
  2. The EMC Team: User Manual V2.3.
    EMC2の設定や使い方,NCコードの説明等の詳細なマニュアル
  3. NC Viewer and Converter
    フリーのCAMソフトNCVC

[戻る]
2009-07-25 ページ作成
(2009-07 作成)
T. Nakagawa