Top > CNCコントロールマシンの構築

広告

こちらの情報は古いので「CNCコントローラ構築2」も参照してください。


LinuxでCNCコントロールマシンを構築するにはリアルタイムLinuxにしてEMCをインストールする。
LinuxCNCにあるようにインストールには、EMCを自力で構築するか、既に構築してあるディストリビューションを使う。

自分で構築するのは大変なので、構築してあるものを使ってみる。

LinuxCNCによると

  • 公式? (Ubuntu)
  • CoolCNC
  • BDI (Debian)

があり、公式版とCoolCNCに関してはLive CDがあるのでインストールをしなくても良い。

ここでは、半分自分で構築してみる。
使っているCNCはオリジナルマインドmini-CNC PRX 1510

UbuntuとEMCをインストール

今回は古いノートパソコンに入れようとしたため、LinuxCNCの提供するCDではインストールできなかった。
どうも「物理おもしログ」のコメントを見るとメモリが少ないかららしい。 なのでLinuxCNCのガイドのように手作業で構築していく。

  • まず、Ubuntuをインストールする。「物理おもしログ」のコメントに書いてある通り、Alternate install CDを使ってインストールした。
  • インストールし終わったらLinuxCNCのガイドから「breezy-install」または 「dapper-install」のインストールしたバージョンに合った方をダウンロードする。
  • ダウンロードが終わると、デスクトップ上にアイコンが出現する。このアイコンを右クリックしてプロパティを表示させる。
    そこで「アクセス権」をクリックして、所有者が実行できるように設定する。
  • アイコンをダブルクリックしてインストールプログラムを実行。「端末で実行」を選ぶ。
    パスワードを聞かれるので入力。
  • シェル上にいろいろメッセージが出た後、インストールしてよいか聞かれるのでエンター
  • インストールされるのを待つ。
  • インストールが終わったら再起動
  • 起動したらEMC2が使えるようになっている(メニューから選べる)はず。

CNCマシンに合わせて設定ファイルを編集する

今回の場合、使っているCNCはオリジナルマインドmini-CNC PRX 1510 (QUATTRO)なのでこのマシンにあわせてみる。他のマシンでもデータがあればできるはず。

全部自分でやるのは大変なので、exampleを改造して使う。まず、

/etc/emc2/sample-configs/ を ~/emc2/configs/ にコピー

設定

上でコピーしたConfigファイルを編集して使うマシンにあわせる。

今回使用したオリジナルマインドmini-CNC PRX の場合、「stepper」というのが近かったのでこの設定を利用した。

入出力ピンのデータは「xylotex_pinout.hal」と同じなのでこれを使う。
特に

# finally connect physical pins to the signals
linksp Xstep parport.0.pin-02-out
linksp Xdir  parport.0.pin-03-out
linksp Ystep parport.0.pin-04-out
linksp Ydir  parport.0.pin-05-out
linksp Zstep parport.0.pin-06-out
linksp Zdir  parport.0.pin-07-out

の部分が出力なので使うマシンにあわせる。

「stepper_mm.ini」を編集する。
まず、ユーザーインターフェースを設定する

[DISPLAY]
#+ Name of display program, e.g., xemc
 DISPLAY =              axis 
 # axis is an external interface, check http://axis.unpy.net/
# DISPLAY =              usrmot
# DISPLAY =              mini
# DISPLAY =             tkemc

ここではユーザーインターフェース(UI)に「AXIS」を指定している。
AXIS」は見栄えも良いし使い易いのでこれにしておいた方がいいと思う

次に使うHALファイルを設定する。今回上のHALファイルを使うので

# list of hal config files to run through halcmd
#+ files are executed in the order in which they appear
HALFILE =                    core_stepper.hal
HALFILE =                    xylotex_pinout.hal
#HALFILE =                    standard_pinout.hal

となる。

あとは

[TRAJ]
#+ machine specific settings
AXES =                  3
# COORDINATES =         X Y Z R P W
COORDINATES =           X Y Z
HOME =                  0 0 0
LINEAR_UNITS =          1.0
ANGULAR_UNITS =         1.0
CYCLE_TIME =            0.010
#DEFAULT_VELOCITY =      0.424
DEFAULT_VELOCITY =      18.0
MAX_VELOCITY =          30.48
#DEFAULT_ACCELERATION =  300.0
DEFAULT_ACCELERATION =  100.0
MAX_ACCELERATION =      500.0
PROBE_INDEX =           0
PROBE_POLARITY =        1

の部分の「DEFAULT_VELOCITY」と「DEFAULT_ACCELERATION」などを変える。これはマシンのデータにあわせる。

さらに、各軸ごとの設定をする

#+ First axis
[AXIS_0]
TYPE =                          LINEAR
UNITS =                         1.0
HOME =                          0.000
MAX_VELOCITY =                  30.48
MAX_ACCELERATION =              500.0
STEPGEN_MAXVEL =                35.00
STEPGEN_MAXACCEL =              520.0
BACKLASH = 0.000
CYCLE_TIME =                    0.001000
#INPUT_SCALE =                   200    0
INPUT_SCALE =                   800    0
OUTPUT_SCALE = 1.000 0.000
#MIN_LIMIT =                     -1000.0
MIN_LIMIT =                     -75.0
MAX_LIMIT =                     75.0
FERROR = 1.270
MIN_FERROR = 0.254
HOME_OFFSET =                    0.0
HOME_SEARCH_VEL =                0.0
HOME_LATCH_VEL =                 0.0
HOME_USE_INDEX =                 NO
HOME_IGNORE_LIMITS =             NO

という部分の「INPUT_SCALE」と「MIN_LIMIT」と「MAX_LIMIT」を編集する。
「INPUT_SCALE」は何パルスで1ユニット(今回の場合は1mm)動くか。
「MIN_LIMIT」と「MAX_LIMIT」は動ける範囲。ユニットの数で指定(今回の場合は1mm)

エラーが出たら

以上の設定をやって

Joint 0 following error.

というのが出たら

  • MAX_ACCELERATIONが大きい
  • MAX_VELOCITYが大きい
  • FERRORが小さい
  • MIN_FERRORが小さい ということが考えられるので、エラーが無くなるまでこれらの値を調整してみる。

また、

Joint 0 following error.

の「0」は軸番号なのでこのエラーが出たときはとりあえずその軸(この場合上の設定ファイルのAXIS_0の部分)をいじってみる。
詳しくは「Following Error」を参照の事



ちょっと難しいやりかた

これは今のところうまくいっていない。というかあきらめた

Debianをベースにしたbdi4emcというのを使ってCNCコントロールマシンを構築する。

まずは、PCにDebianをインストールする。安定バージョン(sarge)をインストールする。
bdi4emcのシステムはカーネル2.6系を使うので、インストールするときはインストールCDなどで立ち上げたときに一番最初に出てくる「boot:」のところに「linux26」と打ち込む。
つまり

boot: linux26

とする。

あとは、粛々とインストールを進めていく。 X window systemが必要なので、インストールを忘れない。

インストールが終わったら、rootになって「/etc/apt/source.list」に以下の行を追加する。

deb http://bdi4emc.ourproject.org/debian sarge extras non-free

そして

# apt-get update

とやってから

# apt-get install linux-image-2.6.xx.xx-rtai

とやってリアルタイムカーネル(RTAI)を入れる。xxの部分はhttp://bdi4emc.ourproject.org/debian/pool/extras/l/linux-2.6/ にあるものの中から選ぶ。
次に、

# apt-get install emc2-modules-2.6.xx.xx-rtai

とやる。このときのxxは、上のカーネルとあわせる。

さらに

# apt-get install emc2

とやってEMC2をインストールする。

その他

  • rtai-dev-2.6.16.20-rtai
  • linux-headers-2.6.16.20-rtai
  • emc2-dev などもいれておく。

広告

リロード   差分   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Thu, 05 Jan 2012 17:12:08 JST (2506d)