grbl1.1+Arduino CNCシールドV3.5+bCNCを使用中。
BluetoothモジュールおよびbCNCのPendant機能でスマホからもワイヤレス操作可能。
その他、電子工作・プログラミング、機械学習などもやっています。
MacとUbuntuを使用。

CNCマシン全般について:
国内レーザー加工機と中国製レーザー加工機の比較
中国製レーザーダイオードについて
CNCミリングマシンとCNCルーターマシンいろいろ
その他:
利用例や付加機能など:
CNCルーター関係:



*CNCマシンの制作記録は2016/04/10〜の投稿に書いてあります。


2016年5月23日月曜日

Raspberry Pi 3到着

少し前にAliExpressへ注文しておいたRaspberry Pi3が届きました。たしか5%OFFで$38.85(4328円/送料無料)でした。日本で買うより少し安いくらいでしょうか。AirMail便13日間で届きました。

Raspberry Pi3はWifiとBluetoothが標準装備されているので、Wifi上でホストとして使って、MacBookからブラウザを通してCNCマシンを制御しようと考えていました。
現在使っているbCNCもRaspberry Piにインストール可能なので試してみてもいいかもしれませんが、その他にcheton/cnc(cnc.js)やGRBLweb、LinuxCNCでも使えそうです。
しかし、今のところBluethoothもつけて無線化できたし、bCNCのPendantでスマホやタブレットからも操作できるので、わざわざRaspberry Piを今更ながら導入しなくてもよさそうです。Amazonならすぐに届いて、そのときやりたいことに使えるのですが、AliExpressの場合2~3週間はかかるので、その頃にはもうすでにやりたいことも変わっていたりして、タイミングを合わせるのが難しいかも。

CNCマシンを自分の愛車のように少しずつグレードアップしたり改造したりするのも楽しいですが、今はそれよりも本来レーザーカッターでやりたかったフェルトのカッティングをしています(ツールによってつくられるものよりもツール自体にこだわることはほどほどにして、本末転倒しないようにしています)。現在CNCマシンのほうは特に問題なく使えているので、そのうち何か使い道が見つかったら導入してみたいと思います。とりあえずは、bCNCを入れてみてもいいけど。
AliExpress.com Product - 2016 Original UK Made Raspberry Pi 3 Model B 1GB RAM Quad Core 1.2GHz 64bit CPU WiFi & BluetoothAliExpressで3883円(送料込み)。


関連:
CNCマシン:Raspberry Pi3でbCNCを制御+Pendant

2016年5月21日土曜日

CNCマシン:LED照明計画(リング型LED)

今日、ちょうど2週間前に注文したリング型LEDが到着しました。以前説明したこれです
いつものAliExpressで2個で652円(送料無料)。これをルーターの下に囲むように設置しようと考えていました(1個だけ使って)。
外径80mm、内径70mmです(円周の幅が5mm)。つくりは単純そうで、あまり明るくなさそうですが、DC12V/300~400mAとサイトには書いてありました。

AliExpress.com Product - COB! 2Pieces(1pair) Auto Halo Rings COB 70MM Angel Eye COB Chips Car Headlight 70mm Car Angel Eyes Motorcycle White Waterproof2個で591円

まずは、ルーター(トリマ)にはめてみてどんな感じになるか。
トリマは直径65mmなので内径70mmのLEDだとちょうどいいかんじです。
それではスイッチオン。
超明るすぎ。しかもCNCマシンのDC12V/1AのACアダプターだと内部のブレーカーが落ちてダメでした(他にもファンやスイッチのLED用に使っているので)。なのでもっと強力な安定化電源を使って実験。写真だと光量とのバランスで上手くとれません。ちょっと手加減してこんな感じです。肉眼で見ても光源は明るすぎて見えません。
別のショップには9~12Vと書いてあったので、9Vで試してみると明るさは下がるけどまだまだ充分。6.5V以下になるとほとんど光らないようです。もういちど12Vで試してみると、温度も触れないくらい熱くなっています。9Vだとまだ触れるくらいなので、9Vくらいで使った方がよさそうです。

集塵カバーにつけたので、ダストがついていますが、裏面の線がついているところはこんな感じで単純にハンダ付けされているだけです。赤がプラスで白がマイナス。

表側は透明シリコンかなにかでコーティングされているので、多少の汚れがついてもLED自体には影響なさそうです。裏側のハンダ付けされている部分をシリコンなどで絶縁してしまえば安全だと思います。9Vで使うならホットボンドでもいいかもしれませんが、12Vで使うときっと溶けてしまうでしょう。

ただ問題は、CNCマシンのコントロールボックス内にはLED照明用のDC12VのACアダプターが入っているのですが1Aなのでもちません。12Vの場合少なくても2Aは必要だけれども、それ以前に熱が上がりすぎる。その後9Vで計測してみると、約0.2Aまで落とせることが分かりました。なので、9VのACアダプターに取り替えたいところですが、CNCマシンのスイッチボックス内のDC12V/1AのACアダプターはDC12Vのファンにもつかっているので、電圧を下げるのは難しそう。セメント抵抗でもはさめばいいのでしょうか。
裏側から見るとこんな感じ。室内は普通に明るいのですが、光量のバランスで暗室で撮影しているかのように見えます。そのくらい明るいという感じです。トリマ用照明として使うには充分だと思います。

PlayOnMacでMacBookにWindows用ソフトをインストール(中断)

Macだとソフトも限られているので、調べてみるとPlayOnMacでWindowsソフトが起動できるみたい。
ためしにPlayOnMacとArduino IDE(Win版)をダウンロードしてみたけど(シリアル通信できるか確認するために)、そのままだとJavaのエラーがでるのと、そのためかシリアル通信のポートがあけられない。以下
調べてみると仮想環境でシリアルポートを開ける方法があるようだけれども、なんかめんどくさそうなので、今回はやめることに。
おそらく他のソフトでPythonなんかで動くようなのだと、また問題おきそうなので、無理にWindowsを使わないほうがよさそう。今度時間があるときに、やってみます。

InkscapeのMac版ショートカットキー設定/パスに沿った図形の複数配置

Inkscapeのデフォルトだと、Macのショートカットキーとは違うのでそのままだとちょっとやりづらいです。MacでコピーはCommand+cですが、control+cになっています。InkscapeのEdit>Preferences>Interface>Keyboard ShortcutsでAdobe Illustratorに変えられるのですが、それでもcontrol+cになってしまいます。

検索すると、ここに載っていました(Mac OS X固有の問題)。忘れないように書いておこうと思います。

Commandキーを使う場合:
Teminalを開いて、
cd ~
を入力して、/Users/usernameのディレクトリに移動したら、
touch.Xmodmap
を入力すると.Xmodmapという不過視ファイルが出来上がって、
open.Xmodmap
を入力して、それを開く。開いた新しい画面に、
keycode 66=Alt_L
を入力すると、左optionキーがX11でAltキーになるようです。
そして、controlキーとcommandキーを入れ替えるために、
! Switch meta and control
keycode 67 = Meta_L
keycode 63 = Control_L
keycode 71 = Control_R
clear mod2
clear control
add mod2 = Meta_L
add control = Control_L Control_R
これらもまとめてコピペするといいようです。
X11を一旦閉じて、Inkscapeを起動すると、ちゃんとcmmandキーが機能しています。

もうひとつ使いたいのは、option押しながらドラッグするとduplicateしてくれる方法。でもこれはできないみたいです。duplicateはcommand+dを使うしかない。
これで少し使いやすくはなりました。


パスに沿って複数図形を配置する場合:
それから個人的に、これをやりたかったのですが、
まずこんな感じで、大きい円(円をObject to Pathでパスにしたもの)の上に、小さい赤丸をたくさん並べたいというやり方についてです。
きっと方法があるだろうと調べてみると、ひとつは図形(赤丸)をパターンに変換してから配置するというのがあったのだけれども、そうするとパスには戻せなくなるようなので(Gコード化できなくなる)、パス図形をパスに沿って複数配置するという方法でやってみました。
最初に二つの図形を選んでおいて(このとき、配置される図形:赤丸はパスとなる図形:大きい丸よりも上下関係で言えば上にないといけない)、
このGenerate from Path>Scatter...を選ぶと、

多少重なって欲しいので、Space between copies:に-6.0を入れておきます。
Orignal pattern will be:Copiedになっていますが、この他にMovedでも構いません。オリジナル(小さい赤丸)を残しておくか、いっしょに移動させてしまうかの違いです。しかし、もうひとつClonedという選択肢もありますが、これをつかうと生成される図形がパスではなくなってしまうようなので、ダメみたいです。CloneとかPatternはPathにできないようなので、レーザーカットではあまり用いないほうがいいかもしれません。
Copiedを選べば、このようにオリジナルは元の位置に残るようです。
複数配置されたほうはグループ化されて一つになってしまっているので、一旦Ungroupしてバラバラにし、もう一度複数を選んで、Path>Unionをすると、
こんな感じにつながってくれます。これはパスなので、このままレーザー用にGコードを生成できます(Laser Tool Plug-inを使って)。保存先のディレクトリを入力しないとエラーがでます。

こんな感じでレーザー加工パスができあがりました。パスもひとつながりになっています。あとはbCNCで読みこんでレーザー加工。

bCNC上での画面。

2016年5月20日金曜日

CNCマシン:WebベースのCNC制御アプリ(その2)

Laserweb2を試す:
WebベースのCNCマシン制御アプリとして、もうひとつ気になるのが、LaserWeb/Laserweb2。
まずは最新版のLaserWeb2を試してみました。

追記:その後LaserWeb3もリリースされました。
さらに追記:その後LaserWeb4もでました。スタンドアロンのアプリになったようです。

これも前回試したChiliPeppr/grbl同様にSerial Port JSONでシリアル通信するようです。なので、Macの場合なら前回ダウンロードしたSerial Port JSON 1.86(Mac OS X x64)をつかってみます(zipファイルを解凍すると以下)。
MacBookとArduino(CNCマシン)をUSB接続して、上のserial-port-json-serverをダブルクリックして起動。そうすると前回同様Terminalが起動してシリアル通信の準備が整います。
あとは、http://openhardwarecoza.github.io/LaserWeb2/にブラウザでアクセスします。
こんな画面がでてくるので、左上のLoginボタンを押してGoogleアカウントでログインします。
あとは、上部のメニューバーのようなところで、Arduinoのシリアル通信のポートを選び、grbl、115200、Connectを押せばつながるはずです。
右側下のウィンドウにメッセージ「Grbl message: '$' for help」がでれば接続。
右側のConsole:の欄に$$を入力するとセッティング内容が表示されます。
左下のジョグボタンもいちおう動きました。

レーザー刻印加工もできるようなので左上のOpenボタンでjpeg画像を読み込ませて、左下ウィンドウのPrepare Rasterを押してみると、
元画像とちょっとずれてます。バグでしょうか。
3DならSTLフォーマットを読み込めるようなので、
ただ、まだスケール編集などは開発途中のようなので、使えるようになるにはもう少しらしいです。
LaserWeb2のほうは最近できたばっかりのようなので、まだ修正箇所があるような感じです。
名前からしてレーザー加工するならこのWebアプリが使えるようになるといいんですが、今後に期待しましょう。


LaserWeb(バージョン1)のインストール:
それでは、LaserWebのほうはどうかというと。
インストールというか起動の方法がTermnalを使うので難しそうに見えますが、書いてある通りにやってみます(ここに書いてあります)。

nodejs version node-v0.12.7をインストール。
https://nodejs.org/download/release/v0.12.7/に行き、
Macなのでnode-v0.12.7.tar.gzをダウンロードし解凍。
中のREADME.mdを開くとインストール方法が書いてます(このへんからめんどくさそう)。

Unix/Macintosh:

```sh
./configure
make
make install
```

If your python binary is in a non-standard location or has a
non-standard name, run the following instead:

```sh
export PYTHON=/path/to/python
$PYTHON ./configure
make
make install
```
おそらく、Macの場合はApple-Pythonが既に入っているので、下のほうのインストール方法で。
Terminalを開いて、まず
which python
を入力してpythonの場所を確認してみるといいと思います。もし以下のように返ってくれば、
/usr/bin/python
Apple-Pythonを使っていることだと思うので、上記インストール方法(下の方のやり方)で
export PYTHON=/usr/bin/python
と入力。
$PYTHON ./configure
と入力。そして、
make
と入力。おそらく次のmake installは、頭にsudoをつけないとエラーになるので、
sudo make install
と入力(管理者権限パスワード入力要求があるのでパスワードも入れる)。たぶんこれでnode-v0.12.7の方は大丈夫かと(かなりめんどくさい)。
あとはLaserWebのインストール手順に従い、cdを使って適当なディレクトリに移動して(移動しなくでもいいかもしれないけど)、gitクローンをつくるので以下を入力。
git clone https://github.com/openhardwarecoza/LaserWeb.git
クローンができあがるので、
cd LaserWeb
を入力してLaserWeb内に移動。
この段階でArduinoとはUSB接続しておき、
npm install
を入力。そして、
node server.js
も入力。そうするとTerminalの画面上には、
こんな感じの部分が出てくるので、下のほうに書いてある手順、
1. Open Chrome(とりあえずChromeを開いて以下のアドレスを入力する)
2.Go to :
   http://192.168.3.3:8000/(この部分のアドレスはそれぞれ異なるので、書いてあるアドレスをChrome上にコピペしてアクセスする。)
そうするとようやくLaserWebの画面がChrome上に出てきます。

右上のMachineというウィンドウの中にPortを選ぶところがあるので、そこでArduinoのポートを選べば接続されるはずです。以下。
Bluetoothモジュールを使っているので一番上のを選んでますが、普通にArduinoにUSB接続しているなら一番下のになります(これはUNOではなくてDiemillanovaなのでこんなポート名)。
あとは右下のほうのSENDの左隣にGコード入力欄があるので、$Xでロック解除したり、$$で設定内容表示されれば問題ないと思います。ジョグは右側の緑のMACHINE CONTOLをクリックで以下のような操作画面が出てきます。

ためしに、左上RASTERボタンでjpeg画像を読み込んでみました。
こんな感じでラスタ加工するセッティング画面も出てくるので適当に入力します。
多少読み込みや変換作業に時間がかかるようです。

少し待つと作業画面に画像が出てきます。

こんな感じです。こっちもなんとなく画像が一回り小さくなっているようにも見えますが、いちおう使えそうな感じです。3D読み込みはないけれども、DXFやSVGも読み込めるし、ラスタ加工もできるのでレーザーの基本的な作業はこれでも充分できそうです。
ただ、問題はインストールや起動がちょっと面倒。Terminalをあまり使わない人にとっては違和感あります。

関連:

AliExpressの5000mwレーザーモジュールが安くなってる

AliExpressのこのショップだけなぜかレーザーが安い。5Wで16,658円
いま5%OFFみたいで、ついに$150以下。他のショップだと$200以上すると思うんだけど。
予備用にもう一台欲しいところ。

2016年5月19日木曜日

CNCマシン:WebベースのCNC制御アプリ

現在は、Arduino Unoにgrbl0.9を入れてbCNCでGコードを読み込んで制御しています。Bluetoothをつけて無線化もできたし、bCNCのPendantでスマホやタブレットからの無線操作もできるので便利な環境になったのですが、個人的にはWebベースのCNCブラウザアプリが気になっていて、いろいろと試していました。
今までもいくつかリストアップしていましたが、
LaserWeb2
cheton/cnc
GRBLWeb
Easel
ChiliPeppr Grbl Workspace
などあります。

今回はChiliPeppr Grbl Workspaceを試してみました。以下がサイトの入り口ですが、ここにも書いてあるように、Javascriptを使ってブラウザ上でシリアル通信を行えるような仕組みになっているようです。Grbl以外にもTinyG、そしてArduinoなどもすべてJavascript化してしまう感じです。

今はアプリもブラウザ上ですべて出来るような感じになってきたので、これもそんな感じでしょうか。
とりあえずGrbl Workspaceをクリックするとすぐに以下の画面が出ます。
そして、CNCマシン(Arduino)とシリアル通信しなければいけないのですが、右下の画面に「Download Serial Port JSON Server」というのがあり、そこをクリック。
右下の画面を少し下へスクロールしていくと、JSON ServerのVesion 1.86(Mac OS x x64)があるのでMacならそれをクリックするとシリアル通信用のファイルがダウンロードされます。
ダウンロードされたファイルを解凍すると中には、
こんな感じで二つ入っています。
ここで、CNCマシンとUSB接続しておいてから、右側の「serial-port-json-server」をクリックすると、以下のように自動的にTerminalが起動します。
こんな感じでずらずらとシリアルポートが出て来ます。
これでシリアルポートのほうはつながる準備ができたようです。
また画面右下のウィンドウにいくと、Port Listタブで、接続しているArduinoボードのシリアルポートが出ているので、上画面のようにgrbl、115200を選んで左側のチェックを入れるとこのように緑色になってつながります。ダメな場合は上に並んでいる5個のボタンの左端のボタンが更新なので、何回か押してみるとポート内容が更新されて出てきます。それでもダメならブラウザで再度読み込み。

つながれば、以下のように左下のウィンドウにGrbl 0.9j ['$' for help]と設定内容がでます。
あとはこの↑「Type serial port command」のところに$Xを入力してロック解除したり、また右上のウィンドウの「Axes」(右から2番目のボタンを押すとウィンドウがひろがる)でジョグ操作したりできます。
マシンの設定が違っているかもしれないので、いちおう$$で設定内容をチェックして必要なら再設定しておいたほうがいいと思います。
それから画面上中央にあるSimulatorボタンで加工パスを動かしてみることもできるようです。
左上のウィンドウにはいくつか機能のボタンもあって、Auto-LevelやEagle BRDで基板加工をしたり、JScutを呼び出してGコード生成したり、GPIOでPaspberry Piとつないだりもできそうです。

おそらくTinyG(TinyG Workspace)のほうがgrblより性能が上なので、もっといろいろできるのかもしれません。とは言ってもgrblでも基本的なことは出来るので充分だとは思います。
こんな感じでブラウザ上でCNC制御できるのはお手軽な感じで面白そうです。ブラウザベースだとwifiを使っていればワイヤレス化も容易なので便利かもしれません。

関連:

人気の投稿