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

広告

''こちらの情報は古いので[[CNCコントローラ構築2]]も参照してください。''
''こちらの情報は古いので「[[CNCコントローラ構築2]]」も参照してください。''
----
LinuxでCNCコントロールマシンを構築するにはリアルタイムLinuxにして[[EMC:http://www.linuxcnc.org/]]をインストールする。~
[[LinuxCNC:http://www.linuxcnc.org/]]にあるようにインストールには、EMCを自力で構築するか、既に構築してあるディストリビューションを使う。

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

[[LinuxCNC:http://www.linuxcnc.org/]]によると
-公式? (Ubuntu)
-CoolCNC
-BDI (Debian)

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

ここでは、半分自分で構築してみる。~
使っているCNCは[[オリジナルマインド:http://www.originalmind.co.jp/]]の[[mini-CNC PRX 1510:http://www.originalmind.co.jp/cargo5/prx/]]

*UbuntuとEMCをインストール [#d1a5e041]
今回は古いノートパソコンに入れようとしたため、[[LinuxCNC:http://www.linuxcnc.org/]]の提供するCDではインストールできなかった。~
どうも「[[物理おもしログ:http://physics.cocolog-nifty.com/weblog/2006/07/ubuntu_606_lts_9796.html]]」のコメントを見るとメモリが少ないかららしい。
なので[[LinuxCNCのガイド:http://linuxcnc.org/index.php?option=com_content&task=view&id=21&Itemid=4&lang=en]]のように手作業で構築していく。

-まず、Ubuntuをインストールする。「[[物理おもしログ:http://physics.cocolog-nifty.com/weblog/2006/07/ubuntu_606_lts_9796.html]]」のコメントに書いてある通り、Alternate install CDを使ってインストールした。

-インストールし終わったら[[LinuxCNCのガイド:http://linuxcnc.org/index.php?option=com_content&task=view&id=21&Itemid=4&lang=en]]から「breezy-install」または 「dapper-install」のインストールしたバージョンに合った方をダウンロードする。

-ダウンロードが終わると、デスクトップ上にアイコンが出現する。このアイコンを右クリックしてプロパティを表示させる。~
そこで「アクセス権」をクリックして、所有者が実行できるように設定する。

-アイコンをダブルクリックしてインストールプログラムを実行。「端末で実行」を選ぶ。~
パスワードを聞かれるので入力。

-シェル上にいろいろメッセージが出た後、インストールしてよいか聞かれるのでエンター

-インストールされるのを待つ。

-インストールが終わったら再起動

-起動したらEMC2が使えるようになっている(メニューから選べる)はず。

*CNCマシンに合わせて設定ファイルを編集する [#qfadbb3c]
今回の場合、使っているCNCは[[オリジナルマインド:http://www.originalmind.co.jp/]]の[[mini-CNC PRX 1510:http://www.originalmind.co.jp/cargo5/prx/]] (QUATTRO)なのでこのマシンにあわせてみる。他のマシンでもデータがあればできるはず。

全部自分でやるのは大変なので、exampleを改造して使う。まず、
 /etc/emc2/sample-configs/ を ~/emc2/configs/ にコピー

**設定 [#ide396e3]
上でコピーしたConfigファイルを編集して使うマシンにあわせる。

今回使用した[[オリジナルマインド:http://www.originalmind.co.jp/]]の[[mini-CNC PRX :http://www.originalmind.co.jp/cargo5/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:http://axis.unpy.net/]]」を指定している。~
「[[AXIS:http://axis.unpy.net/]]」は見栄えも良いし使い易いのでこれにしておいた方がいいと思う

次に使う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)

***エラーが出たら [#lf463712]
以上の設定をやって
 Joint 0 following error.
というのが出たら
-MAX_ACCELERATIONが大きい
-MAX_VELOCITYが大きい
-FERRORが小さい
-MIN_FERRORが小さい
ということが考えられるので、エラーが無くなるまでこれらの値を調整してみる。

また、
 Joint 0 following error.
の「0」は軸番号なのでこのエラーが出たときはとりあえずその軸(この場合上の設定ファイルのAXIS_0の部分)をいじってみる。~
詳しくは「[[Following Error:http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Following_Error]]」を参照の事
----
----
*ちょっと難しいやりかた [#u76b000b]
''これは今のところうまくいっていない。というかあきらめた''

[[Debian:http://www.debian.org/]]をベースにした[[bdi4emc:http://bdi4emc.ourproject.org/]]というのを使って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:https://www.rtai.org/]])を入れる。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:http://www.linuxcnc.org/]]をインストールする。

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

広告

リロード   差分   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS