2015年2月8日日曜日

Grblのインストール

MacOSX+ArduinoUno でCNCコントロール環境を揃えるということでGrblを試してみます.
(がなかなかうまくいきません)
とりあえず現状までのメモ書き.

G-Codeを変換するというこで幾つか選択肢があると思いますが,Arduino Unoに対応するということでGrblにしてみました.
やり方はhttp://www.shapeoko.com/wiki/index.php/GRBL#Using_Grbl を参考にしてみます.



現状の最新版はGrbl-v0.9のようです.
以前のバージョンではバイナリを転送していたようでいろいろなWebページにいろいろな書き込み方が書かれていますが,整理すると下記の方法を使い現状はArduino IDEだけで簡単に書き込みできるようです.もと資料はこちら"https://github.com/grbl/grbl/wiki/Compiling-Grbl"
(一応HexUploaderも試して,今の所同じ結果になっているように見えます.)

注)下記の方法で簡単にArduino Unoに書き込めますが,なんでこれでうまくいくのか理屈がよくわかりません. ヘッダ読み込んでいるだけに見えるのに,どうしてスケッチが転送されているのでしょうか.

やり方

1.ソースコードのダウンロード
https://github.com/grbl/grbl
からソースコードをダウンロード. 画面の右側にある"Download ZIP"を押します.
おそらくダウンロードフォルダにダウンロード後解凍されて”grbl-master”というフォルダができていると思います.

2.Arduino IEDに登録 ( バージョンが変わって少しメニューが変わったようなので更新しておきます.2015.0912 Ver 1.6.5で動作を確認しています)

 上でダウンロードしたファイルを適当なディレクトリに移してから, Arduino IDEを起動します.
     メニューの「スケッチ」→「Include library」→「Add .ZIP Library ...」を選び,先ほどダウンロードした"grbl-master"フォルダの中にある"grbl"フォルダを選びます

 (どこかのバージョンで変わったのか元々そうだったのに気づかなかったのかわかりませんが,フォルダ選択のときに"grbl-master"ではなくて,"grbl"フォルダを選ばないとパスが通らずヘッダーが読み込めないようです)

 「スケッチ」→「Include library」を選ぶと一番下の「Contributed Library」の欄に「grbl」が登録されていればOKです


3. Arduinoに書き込み
 メニューの「ファイル」→「スケッチの例」→「grbl」→「grblUPloader」を選択.
(ここら辺はIDEのバージョンによってコロコロ変わるようです)

新しいファイルが開いてglbl.hのヘッダファイルのインクルード文が挿入されます.
次に「ファイル」→「マイコンボードへの書き込む」を選んでコンパイルと転送がうまくいくことを確認する.
これでArduino側の設定はOK(のはず)


次にGrbl controllerを使って制御してみる
Grbl controllerはここからダウンロード
http://zapmaker.grblcontroller.s3-website-us-west-2.amazonaws.com
このページではMac版は3.5が最新ですが,最新版をコンパイルしてくれた方がいて公式にこちらからリンクされています.
https://github.com/zapmaker/GrblHoming/releases

"GrblController-3.6.1.7z"をダウンロードして, 適当な解凍ツールで解凍します.
お手軽に適当な場所に保存してから実行します
"GCV-3.6.1-T4.dmg"を選ぶとよりリッチなGUIで使用できます.解凍ソフトもいらないし...

立ち上がったら
「Port name」からArduinoが繋がっているポートを選択
「Baud Rate」を"115200"にし,「Open」を選びます.
設定パラメータがきちんと帰って来れば通信の確立はOKです.

パラメータはGUIを使ってAdvanceから変更できるはずなのですが,うまくいきません
試しに古いGrbl controller 3.5を使って試しましたが,GUIで入力した値を別の変数に書き込んでしまうと言うバグがありました.

現状パラメータを変更しようと思ったら「Command」から
$100=200
などとて入力してやるのが良いと思います.

もし間違えて書き込んでしまった場合は
https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.9#grbl-settings
にデフォルト値の記載があるので手入力で戻してみてください.

また3.5では「Go Home」の機能もだんだん値が動いていってしまう問題がありましたが, 3.6では治っているみたいです.



とりあえずメモとして公開しておきます.

参考情報
https://github.com/grbl/grbl/wiki/Connecting-Grbl
https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.9

HexUploaderとの動作確認をした際に使ったコンパイル済みファイル
https://github.com/grbl/grbl-builds/tree/master/builds


2015年2月7日土曜日

DXF2GCODEのインストール

dxfファイルを3DプリンタやCNCを制御するためのコマンド群gcodeに変換するためのソフトdxf2gcodeをインストールしました
pyCAMを使おうと思ったのだけどうまくいかなかったのでこちらにしました.

homebrewを入れていない場合は事前にインストールしておく

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

インストール方法
https://code.google.com/p/dxf2gcode/wiki/Installation
を参照
python2
pyQT4
が必要とのことです.

まず
Python2をインストールします

brew install python


次にpyQT4のインストール

brew install pyQT4

環境はこれでOK

dxf2gcodeはスクリプトで起動するのダウンロードしたフィアルを適当なディレクトリで解凍しておいて,コマンドのパスが切ってあるところにリンクをおいて運用します.
(環境設定に追記してもOK)
今回はホームディレクトリのdxf2gcodeフォルダにおいてあるので,以下のようにシンボリックリンクを追記

sudo ln -s ~/dxf2gcode/dxf2gcode.py /usr/bin/dxf2gcode.py
sudo chmod a+x /usr/bin/dxf2gcode.py

これでインストールは完了

2015年2月6日金曜日

HomebrewがMacOSX 10.10で使えなくなったので復活させる

しばらく使っていなかったMacOSX用のパッケージ管理ソフトhomebrewですが,久しぶりに実行すると

brew upgrade
/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory

/usr/local/bin/brew: line 21: /usr/local/Library/brew.rb: Undefined error: 0

とエラーがでて使えません.
そもそも,もうなんのパッケージ入れたかもう覚えていないので,再インストールすることにしました.

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

It appears Homebrew is already installed. If your intent is to reinstall you
should do the following before running this installer again:
    rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup
とでるの仕方ない

rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup


としたが,
/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory
/usr/local/bin/brew: line 21: /usr/local/Library/brew.rb: Undefined error: 0

とでる.しまった,brewが動かないから,当たり前ですね...
微妙なことになってしまった.一応この状態でもインストールできるようになったので
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

でインストールしてから
brew doctor
 でワーニングが出たので言われるがまま
cd /usr/local/Library && git stash && git clean -d -f
brew prune
などと入力して無事インストールは完了.
いちおう以前お試しで入れていたライブラリの残骸も綺麗に消滅したようなのでOKのようです.
心機一転ここから始めよう(言い訳)


現代版徒然草 (生まれてきたら負け)さんの"homebrewユーザーがYosemiteにアプグレしたらbrewコマンドが使えなくなった問題解決法"で解決方法を紹介されています.まめにアップデートしておけばこのようなことはなかったようですが...