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 などもいれておく。 広告 |