これまでのあらすじ:
2016年3月、フェルト生地を手で裁断している際にレーザーカッターがあれば複雑なカットが容易にできるなあと思って、安価になってきたレーザーカッターを購入しようと思ったのがきっかけ。調べていくうちに、合板も切れたほうがいいと思うようになって、CNCルーター(CNCミリング)についても考えるようになった。
Arduinoは以前から使っており、CNCシールドがあると気付いて自作も可能と思うようになった。当初はShapeOkoやX-CARVEを参考にMakerSlide、OpenRail、V-Wheel、2GTタイミングベルトなどで5万円くらいで自作しようと思っていた。AliExpressでも部品が安く買えることが分かって、しばらくは部品探し。探せば探すほど安くて本格的な部品も見つかってくるので、そんなにケチらなくてもいいのではないかと徐々にスペックアップ。最終的には剛性や精度のことも考えてボールスクリューやリニアスライドを使うことになり、予想以上に重厚な3軸CNCマシンをつくることに(約7万円)。
構想から約5週間(制作約3週間)でルーターとレーザーともに使えるようになり、現在はgrbl1.1+Arduino CNCシールドV3.5+bCNCを使用中(Macで)。余っていたBluetoothモジュールをつけてワイヤレス化。bCNCのPendant機能でスマホやタブレット上のブラウザからもワイヤレス操作可能。



CNCマシン全般について:
国内レーザー加工機と中国製レーザー加工機の比較
中国製レーザーダイオードについて
CNCミリングマシンとCNCルーターマシンいろいろ
その他:
*CNCマシンの制作記録は2016/04/10〜の投稿に書いてあります。

利用例や付加機能など:
CNCルーター関係:

2017年2月5日日曜日

Android GRBL Controller(スマホアプリ)

Android用スマホアプリのGRBL Controllerを見つけたので試してみました。
Instructablesに使い方が載っています(これを見るとこのアプリはGrbl0.9用?)。

まだBETA版のようです。スマホなので当然ワイヤレスですが、WifiではなくBluetooth通信のようです。以前CNCマシンにはBluetoothモジュールをつけておいたので、それを使って通信できそうです。
今はどちらかというとWifiモジュール(EPS8266など)が人気だと思います。数年前にワイヤレスUSBというのも一瞬でて、いつの間にか消えてしまいましたが、Bluetoothはまだいろんな機器に使われているので大丈夫そうです。
AliExpress.com Product - Free shipping! JY-MCU anti-reverse Bluetooth serial pass-through module, wireless serial, HC-05, master-slave 6pin for arduinoAliExpressだとBluetoothモジュールは341円(送料無料)で売ってますね。昔買った時の1/10以下の値段です。IoTによく使われているWifiのESP8266も300〜500円くらいです。いろんなテクノロジーがかなり安くなってきました。

接続開始:
まず、CNCマシンのBluetoothモジュールとスマホをペアリング。特にパスワードは設定してないのですが、パスワード(パスキー)要求画面が出てきて、設定していない場合は0000か1234を入れろと。0000はダメだったので1234を入れたらペアリング成功。

この画面をタップすると、スマホとペアリングしてあるBluetooth機器のリストが出てきて、その中から選択。この画面はもうすでに接続された状態です。

操作開始:

早速ジョグボタンを押してみると、UnlockもしくはMachine startを押せと出てきます。

Machine startを押すとロック解除、さらにこのように赤いEmergency Stopボタンになります。
そこでジョグボタンを押すと、あっさり動きました。おお、これはすごい。パソコンなしで、CNCマシンを動かしているということです。
下の方には、ホーミングなどのボタンもあります。
さらに上部にある他のタブを見ていくと、

ここは、Gコードファイルを読み込ませるところのようです。CloudにGコードファイルを上げて
おけば、すぐにここから作業ができそうです。ファイルの読み込ませ方はここに書いてありました。スマホのSD Cardにファイルを入れておかなければならないようです。しかもサブフォルダなどに入れず、ルートディレクトリ(トップの階層)に置かないといけないようです。
Single Blockボタンは、Gコードを1行ずつ実行するようです。Cycle Startは一気に最後までGコードを実行するようです。簡単なサンプルで試して見ると、Single Blockで1行ずつ実行させれば最後までいけましたが、Cycle Startだと途中で止まってしまいました。読み込みバッファあたりに問題があるのでしょうか?メモリー不足?

ここでは、Gコードを手入力できます。ためにし$$を入力するとGrblの設定が出てきました。しかし下の方にスクロールできない。

ここはGコードの中身を確認できるところのようですが、まだ使えないようです。

そして最後はマシン設定用画面です。先ほどのGコード入力画面でもできますが、ここで各項目に対応したパラメータを入力できるようになっています。

ということで、いまどきは何でもスマホという感じです。
bCNCのPendant機能やLaserweb3でもスマホから操作はできますが、パソコンがホストになる必要があるので、スマホはあくまでサブという位置付けです。しかし、このスマホアプリは、本当にスマホだけで操作できるというところがすごい。
画面が小さいので操作性は良くないかもしれないけれど、CNCも今やスマホゲームのような感覚で操作するということでしょうか。

6軸用アプリも:
さらには、6軸用のアプリもあります。新しいバージョンでしょうか?


しかしGRBLは3軸までしか対応していないけれど、本当に6軸も操作できるのでしょうか?

一応、操作画面には下の方にA Axis、B Axis、C Axisまであります。とりあえずソフト的には、6軸まで作っておいたということでしょうか。
まだこちらもBETA版なので、今後の進化に期待したいところです。

追記:
どうやらこの6軸アプリは、ArduinoMega2560用(6軸GRBLファームウェア搭載)に対応しているようです。
6軸ファームウェアをXloader(Win)、HexUploader(Mac)、Easy Flash Script(Linux)を使ってArduinoMega2560にアップロードすれば6軸CNCとして使えるようです(こちらに書いてあります)。
そもそもGrblControllerを開発していたZapmaker.orgがArduinoMega2560用に4軸用Grbl0.8〜も開発していたようです。Zapmakerの4軸用ファームウェア(Mega2560用)は、2014年を最後にGrbl-0.845までアップデートされています。おそらく、3軸では物足りない人たちのために、この6軸用ファームウェアが引き継いだ感じになったのかもしれません。

AliExpress.com Product - Free Shipping hc-06 HC 06 RF Wireless Bluetooth Transceiver Slave Module RS232 / TTL to UART converter and adapterもう少し安いBluetoothモジュールありました。327円(送料こみ)。
Bluetoothの親機と子機について:よくみるとこれはSlave(子機専用)かもしれません。多分、スマホが親機になればいいので大丈夫だとは思いますが、このページ上の方にあるBluetoothモジュール(341円)はMaster-Slaveと書いてあるので、親機・子機兼用なのかもしれません。調べて見ると、HC-05というのが親機にもなるタイプ、HC-06は子機専用らしいです。親子なら通信可能だけれども、おそらく子機同士は通信できないのかもしれません。スマホはBluetoothイヤホンなど接続できることから親機だと思うので、子機(HC-06)と通信はできるはずです。ただし、どちらも技適は通ってないので、原則的に国内での使用は認められていないということです(個人的に狭い範囲で使うなら大丈夫でしょう、まあよくある自己責任でということです)。 Amazonでも似たようなBluetoothモジュールが売ってます。これも中国からの配送だとは思いますが。
BluetoothモジュールとCNCシールドとの接続方法:
これは以前CNCシールドにBluetoothを接続実験した時の画像です。基本的に4本線で、CNCシールドTX端子---BluetoothRX端子(送信/受信)CNCシールドRX端子---BluetoothTX端子(受信/送信)CNCシールド5V端子---BluetoothVcc端子(電源:5V)CNCシールドGND端子---BluetoothGND端子(電源:GND)という感じでつなぎます。注意するところは、送信と受信という組み合わせになるようにTXとRXをクロス接続するところです。あとは、BluetoothモジュールがCNCシールドからの5V電源で大丈夫かどうか(3.3Vだったりしないか)。Grbl1.1のBaudrateが115200なので、それも合わせておいた方がいいのかもしれません。このアプリは実際のところGrbl0.9用で、InstructablesにはBaudrateを9600に変えろと書いてありますが、デフォルトのBluetoothモジュールを使う場合ということでした(BluetoothのBaudrateを115200に変えるにはATコマンドを使って設定し直します)。
接続するには、Gコード送信ソフトでBluetoothモジュールのシリアルポートを選ぶだけです。通信自体はUSBケーブル接続の時と同様にシリアル通信なので同じように通信するだけです。ただし、BluetoothのTXとRX端子は、Arduino UnoのD0とD1端子と接続することになるので、Arduino UnoとパソコンをUSB接続してシリアル通信するときに干渉してしまいます(同じピンを使っているため)。Arduino UnoとパソコンがUSBケーブルを通して通信しあうときは、BluetoothのTXとRX端子を抜くか電源を抜いた方がいいと思います。また、通常Arduino UnoはUSBケーブルでパソコンから電源供給されているので、パソコンと切り離すと別途外部電源(DC7〜12V/1A程度のACアダプターなど)が必要となります。

0 件のコメント:

コメントを投稿