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

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



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


ラベル wifi の投稿を表示しています。 すべての投稿を表示
ラベル wifi の投稿を表示しています。 すべての投稿を表示

2016年12月21日水曜日

レーザー用ゴム板でスタンプ制作:Laserweb3使用

以前から英字スタンプをつくりたいなと思っていて、市販されている英字スタンプ(安価)も買ってみたのですが、もっとオリジナルなスタンプをつくるには、レーザ用ゴム板をレーザー加工すればいいということが分かったので、さっそく材料を注文してみました。
検索してみると、A4サイズのレーザー用ゴム板(3mm厚)で、国内なら1500〜2000円程度。
国内だと印材館(上画像)で1540円(送料250円)。
品質の違いなのか。もう少し高いゴム板もあるようです。
Amazonでは売ってないようなので、ためしにAliExpressで探すと、
AliExpress.com Product - Free Shipping Laser Rubber Sheet 297*210*2.3mm A4 Size Orange colour for laser Engraving Engraver Stamp MakerこれはA4サイズ2枚で2317円(送料無料)。極端に安いわけでもない。

たかがA4サイズのゴムシートで1000〜2000円というのは、高いような気がしたのですが、レーザー用なので普通のゴムシートとは違うのかもしれないということで、AliExpressから1枚(1179円送料無料)だけ購入してみました。

届いたレーザー用ゴム板はこんな↑感じ。A4サイズ210x297mm。ノギスで厚さを計測すると2.3mm。一見赤い普通のゴムシート。表裏の違いはなさそうです。

動画で検索してみると、こんな感じで加工しています。おそらくこれはCO2レーザーだと思うのですが、レーザーで溶けるというよりも削っているような感じです。粉のようなものが出ています。ダイオードレーザでもこんな感じになるのか、今回試してみます。
当然ダイオードレーザー(5.5W)だと弱そうなので出力はMAX値で。ただフィードがどのくらい必要なのか?やってみないことには分からないという感じ。

スタンプにする文字画像を用意(Inkscape):ラスタ加工用
文字のスタンプなので今回はInkscapeで描画します。
まず普通に黒い背景を矩形で描画。そしてその上に文字を白色で書いて重ねます。
スタンプなので、当然左右反転(Object>Flip Horizontal)した画像にします。
そしてこの画像を、File>Export PNG Image...でPNG画像として出力保存します。解像度設定は1600dpiで高めにしておきます。
文字をパス化せずにPNG画像にしたのは、レーザーカット加工ではなくラスタ加工(レーザー彫刻加工)するためです。動画にもあったように、ラスタ加工では、細い水平線を何本も照射させます。
そうするとこんな感じのPNG画像ができあがります。上半分(左右反転してない方)は必要ないので下半分だけ使います。スタンプ上での寸法は約40x7mmです。

黒い背景にレーザーが照射されて削れるというわけです。つまり文字のところが残って、スタンプするときは文字にインクがつきます。
これで画像の準備はOK。

Laserweb3の準備:
今回はLaserWeb3を使ってみます(Laserweb4もありますが、たしかまだα版なので)。
Grbl1.1に対応になったので、まずは以前インストールしたLaserweb3をアップデートする必要があるかもしれません。というか、ここにGrbl1.1は必須でアップデートしろと書いてあります。

たしか以前インストールしたとき、Terminalで手入力だったので、慣れてない人は少し抵抗感があるかもしれません。Termnal(Mac)やコマンドプロンプト(Win)の操作が分からないという人は、使い方を検索してみて下さい。
各OSごとのインストール方法はこのサイト右側に書いてあるので、その通りやれば大丈夫かと。Macならここ、Winならここ

Laserweb3をインストールする前の準備(Macの場合):
・古いnode.js(version 0.12など)はアンインストールしておくこと
・かわりにNode.js 6 LTSをダウンロード(https://nodejs.org/en/download/
・Google Chromeをインストールしておくこと
・Git for OSXをダウンロード&インストール(https://git-scm.com/download/mac
   Git for WinやLinuxの場合はこちらから

Laserweb3のインストール(Macの場合)
・ターミナルを開く。
・ユーザーrootにインストールするといい(/Users/username/Laserweb3という場所になるように)、通常はターミナルを開いた段階で、このディレクトリにいると思うのでそのままでOK。
・ターミナル上でgit clone https://github.com/LaserWeb/LaserWeb3.gitを入力
・続いて、cd LaserWeb3
・さらに、npm install(ここでシリアルポートのエラーが出るけど無視)
これでインストールは終了。

アップデート方法:
もし、アップデートが必要ならLaserwebを立ち上げる前に、
cd laserweb3
で、laserweb3のディレクトリに移動し、
git pull
を入力(ここに書いてあります)。
もし、すでにアップデートが済んでいるなら、
Already up-to-date.
と、表示されます。

Laserweb3の起動:
・ターミナルを開く。
cd laserweb3を入力(Laserweb3フォルダ内のディレクトリへ移動)。
node server.jsを入力(サーバを立ち上げる)
そうすると、ターミナル上には以下の画面が出てきます。
この画面↑にも書いてあるように、
1.Google Chromeブラウザを立ち上げる。
2.Chromeのアドレスにlocalhost:8000を入力するか、上画面に書いてあるアドレスhttp://192.168.3.2:8000/(このアドレスはルータ等の設定によって各自異なる)を入力。

特に問題なければChrome上ではLaserweb3の画面が出てきます。
これで、ようやくLaserweb3の用意ができました。

画像をLaserweb3に取り込む:
まず青いOpenボタンを押して先ほどInkscapeでつくった画像を取り込みます。
画像解像度は高めだったので、Laserweb3の作業グリッドからはみ出ています。
なので、サイズを調整しますが、同時に色々な設定もしていきます。

CNCマシンの設定:
まず、画面左側にあるSettingsタブをクリック。そして青いSIZEタブの設定項目から入力していきます。
X-Length、Y-Lengthにはマシンの作業エリアの値を入れておきます。
Laser Beam Diameterは、今回の場合ラスタ加工するので0.1mm(かなり細め)にしておきます。
Cutting Mat Thicknessは3mmで(これは何なのか不明?)。
Air Assist NozzleはないのでDisable。
その下の、Default Import DPIは、
それぞれ96、96、92、600という感じで、グレーで数値が表示されている値(多分デフォルト値)を入れておきます(入力するとグレーが黒文字へ変わります)。そして下の緑色Saveボタン。
上の方に(NB: Page needs a refresh for these settings to take effect!)と書かれているので、一度ブラウザで再読み込みしないと変更された数値は反映されないようです。反映(設定)されれば、赤文字の! Incomplete Configが消えます。ただし、読み込んだ画像は消えてしまうので、再読み込みが必要。
(Required)は入力必須なので、何かしらの値を設定入力しておきます。

次に、また上に戻って青いGCODEタブ内の設定。

Concatenate Raster X Movesは、ピクセルが同じグレースケール値の場合長い線につなげるという機能のようですが、SmoothiewareではDisableにしろと書いてあるので、おそらくgrblでも無理だろうからDisable。
Start G-Codeには、加工前の動作を設定できるようです。例としてマシン原点に戻るなどグレーで書いてありますが、今回はここは必要ないかと。(Optional)なので入力しなくてもOK。
つぎにLaser ON Command、ここはGrblのLaser ModeのM4を入れておきます(Grbl0.9までならLaser ModeがないのでM3)。加工前にGrbl設定でLaser Modeをオン($32=1)にしておく必要があります。
そして、Laser OFF CommandはM5。これはGrbl1.1も0.9も共通。
もう少し設定項目は続くようなので以下へ。


PWM Max S valueは、レーザーの最大出力値。Grblでは1000は最大値なので1000を入力。
Homing Sequenceは$Hで、Grblのホーミングサイクル(機械原点移動)。
End G-Codeは、M30。加工のGコード最後につける加工終了のコマンド。
Travel Movesは、単位がmm/minではなくmm/sなので要注意。G0(加工していないときの移動速度)なので画像では5を入力しましたが、5mm/s=300mm/minなので遅すぎかも。Grbl内では1000mm/minに設定したので、それにあわせるなら16mm/s。試運転なのでちょっと遅めで10mm/sあたりに変更しておきます。
その下二つはレーザーテスト用の設定。(Optional)なので空白のまま。
緑のSaveボタンを押して、ここの設定は終了。

次の青いダブTOOLはあまり設定内容もないので、以下のまま。

さらにつぎの青いBACKUPも特になし。
重要なのは最初のほうに設定したSIZEGCODEタブの二つでしょうか。
大体設定できたので、つぎは先ほど取り込んだ画像を再取り込みします。

画像調整とGコード生成:
取り込んだ画像が大きすぎるので、解像度など変更しながらサイズ調整します。
左側のCAMタブをクリックして、画像名(この場合stamp001.png)をクリックすると以下のように設定可能な画面になります。

ここで、Bitmap Resolutionを変えていくと、画像の大きさも変化します。画像の寸法が出てきてくれるので、だいたいこんな感じというところまでDPIを調整します。今回は幅35mm、高さ6mmくらいまで小さくします。
Raster: Proportional Feedrateも単位はmm/s。今回試してみないと分からないので、一応かなり遅めで4mm/s=240mm/min(上画像では20mm/sになっていますが)に設定してみます。明暗でスピードが変えられるようですが、どちらも同じ設定にしておきます。おそらくレーザー照射されるDarkのほうが遅く設定するといいとは思いますが、これも今回は様子見で。
Laser Power Constraintsは0〜100%の設定。スタンプなので白黒となるため。
Position Offsetは適宜入力して、材料ぎりぎりだと加工が難しくなるので2mmほど余白をつけておきました。入力すれば、右画面の画像もその分移動してくれます。
こんな感じで、上にある緑色のGenerate G-Codeボタンを押して、Gコード生成。

Gコードによるパスを確認:
Gコードが生成されれば、右画面上のG-Code Viewタブで、Gコードのパスだけを見ることができます。

ラスタ加工なので水平のパスだけで文字が浮かびあがっています。Settings>SIZEのところでレーザーの直径を0.1mmに設定したので高さ6mmだと60本ほど線があることになります。つまり60回線を引いてこの画像を加工するということになります。幅35mm×60本=2100mm、加工スピードを4mm/sに設定したので2100/4=525秒、つまり9〜10分かかるということになります。大丈夫なのか少し心配です。加工面積は小さいので、失敗しても材料がそれほど無駄になるというわけでもないです。
ここで設定を考慮しなければいけない点は、
レーザーの直径:0.1mm(小さすぎるか?0.2mmだと荒すぎか?)
加工速度:4mm/s=240mm/min(ダイオードレーザーだと加工に充分な速度?)

作業開始:
Bluetooth経由でCNCマシンと通信しようとしましたが、なぜかエラーがでてしまいます。どうやら上手くつながらないみたい(Bluetooth対応のnode.jsもあるようなので、それを使えばいいのかもしれませんが、もう少し調べてからチャレンジしてみます 追記:その後アップデートしてみたらBluetoothでもつながりました)。
なので、今回はCNCマシンと直接USB接続で、このままLaserWeb3でGコードを送りつつ加工作業もしてみました。5.5Wのダイオードレーザーです。
今回はGrbl1.1のLaser ModeのコマンドM4でレーザー出力するので(Laserweb3内でもM4で設定済み)、GrblのレーザーモードをON($32=1)にしておく必要があります。
これはちょうど作業が終わったところ。やはり計算通り約10分かかりました。0.1mmずつの走査線なのでけっこうかかります。ランバーコア合板を台にして、その上にレーザー用ゴム板をただのせているだけです。両面テープ等使って固定した方がいいとは思いますが、今回はテストなのでそこまではしていません。
加工中も気になっていたのですが、レーザーが当たった部分は黒くなっています。ただ表面が焦げているような感じ。加工中は多少焦げ臭い匂いもしましたが、煙がでるほどでもなく、気にしなければあまり大した匂いでもない感じでした。

これが、加工直後の状態。幅35mm、高さ6.35mm。
左のほうは指で少し触ってしまったのですが、動画で見たような白い粉がでてきました。ただ黒く表面が焦げただけかと思っていましたが、もしかすると動画で見たような感じに上手く削れているかも。
ということで、ここでエアーダスター(エアースプレー)で一気に黒い焦げも含めて吹き飛ばしてみました。

そうすると、やはり白い粉のようなものがでてきて、ティッシュでも最後拭きましたが、こんな感じになりました。見た目からすると、上手くいっている感じ。やや彫りが少ないかなとも思いましたが(目測では0.3mmくらいの彫り)、文字はきれいに浮き出ているし、焦げているという感じでもないので、これでOKということにしました。
さすが機械でつくったという感じです。手彫りならこんなに正確には彫れません。

シートから切り取って、木片に両面テープで貼ってみました。文字を囲んだ枠の部分は必要ないのですが、今回はつけてみました。
さっそくスタンプしてみます。100均で買った水性黒インクのスタンプ台です。
設定なども勘で、初めてつくったわりには上手くいきました。やはりこのレーザー用ゴム板は、特殊な合成ゴムのようで、レーザーに対してただ焦げたり溶けたりするわけではなさそうです。なぜ白い粉が出てくるのか気になります。

幅35mm、高さ6.35mmの小さなスタンプですが、やはり0.1mmずつ線を引いていったほうが、このような文字などはくっきりすると思います。当然解像度が低ければ、文字のアウトラインももう少し曖昧になってしまうでしょう。
ただ、加工フィードに関しては5.5Wダイオードレーザーを使っているため(あまり強力ではないので)、これ以上速くすると彫りが浅すぎになってしまうかもしれません。今回は4mm/s=240mm/minでしたが、3mm/s=180mm/minなどもうすこし遅くてもいいかもしれません。そうすれば0.5mmくらいは削れるかもしれません。しかし、スタンプなのでそんなに凹凸がなくても何とかなるとは思います。
これからのシーズン、年賀状などにスタンプを使うのはいいかもしれません。

それからLaserweb3に関しては、ブラウザ上のアプリ一つでGコード生成とGコード送信もできるのでけっこう便利です。現在α版であるLaserweb4にも期待できそうです。

追記(スマホからホストへアクセス):
その後、Laserweb3をアップデートしてBluetooth接続可能となりました。MacBook Proの内蔵BluetoothでCNCマシンに取り付けたBluetoothモジュールと通信しているのですが、同時にスマホからも通信できないかと、スマホ上のChromeで192.168.3.6:8000にアクセスしてみると、普通に操作できました。スマホ上でもシリアルポートを選択して接続するのですが、MacBook Pro上で選択しているポートでOKでした。
こんな感じで画面の構成が多少崩れてしまうのですが(PCモードで表示/拡大表示も可)、ジョグボタン操作は可能なので、離れた位置にあるMacBook Proから設定やメインの操作などをして、CNCマシン付近ではスマホを使って加工原点出しができます。
つまり、bCNCのPendant機能のような使い方が可能というわけです。Laserweb3の場合は、Gコード生成とGコード送信が一つのソフトで可能なので、レーザー加工するならこれが一番便利かもしれません。

2016年8月3日水曜日

CNCマシン:LaserWeb3

ブラウザベースのG Code SenderであるLaserWeb3ができたようです。
ちょっと前までLaserWeb2でしたが、いつのまにかLaserWeb3にバージョンアップしたみたいです。
以前、LaserWeb1と2を試してみたときの内容はこちらへ
追記:
LaserWeb4(アルファ版)もできたようです。
Chrome上で動くようです。
さっそくダウンロード&インストールしてみました。
各OSごとのインストール方法はwikiページにのっているので、やや面倒ですが、それに従えば難しいことはないと思います。どうやらRaspberry Piにもインストールできるようなので便利かもしれません。
dxf、svg、stlなどのフォーマットも読み込めるようです。

関連:
Laserweb3を使用してスタンプ制作(使用例)

2016年5月28日土曜日

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

前回、bCNCをRaspberry Pi3にインストールはできましたが、Pendant機能でMacBookからChrome(ブラウザ)を使ってアクセスできませんでした。しかし、今日再度やってみたらつながりました。理由はたぶんボタンの押し間違えだと思います。なので手順をまとめておきます。

従来は、
PC(bCNC起動)<--(USB接続/通信)-->Arduino(Grbl)+CNCシールド
であったのが、
Raspberry Pi(bCNC起動)<--(USB接続/通信)-->Arduino(Grbl)+CNCシールド
という感じになるということです。

まずRaspberry Piの容量アップ:
おそらく初期設定だと
sudo apt-get update
sudo apt-get upgrade
などやっていくと、すぐに容量が一杯になると思います。
df -h
をTerminal上で入力すると、
こんな感じで表示されるのでどのくらい余裕あるか分かります。
これ↑は、容量アップした後の状態(8GBのMicroSDカード使用)。最初はたしか2〜3GBくらいしかなかったはず。
容量アップするには、Menu>Preferences>Raspberry Pi Configuration(以下)で、
「Expand Filesystem」があるので、そこをクリック(要再起動)。
容量アップした後にまた押してみると、もう既に容量アップしていると言われます。
これで容量にゆとりができたはずなので、いろいろ必要なものをアップロードしていけます。

Pipのインストール:
bCNCで使うpyserialをインストールする前に、pip(pythonソフトをインストールしたり管理するソフト)をインストールしておきます。Terminalで以下を入力。
sudo apt-get install python-pip

Pyserialのインストール:
さらに以下を入力。
sudo apt-get update
sudo apt-get upgrade
で一応アップデート/アップグレードしておきます。かなり時間がかかるときもあります。
アップデート/アップグレードがおわったら、
sudo pip install pyserial --upgrade

bCNCをインストール:
Raspberry Pi3の3.5インチの画面だときびしいので、MacBookでダウンロードしたbCNC(https://github.com/vlachoudis/bCNC)のデータをUSBメモリで受け渡したほうが早いかもしれません。
こんな感じでとりあえずbCNCフォルダごとデスクトップへ。
フォルダをあけると、以下のような感じ。この時点でCNCマシンのArduinoとは接続して置いて下さい。

bCNCを起動:
bCNCというファイルが2個あります。右上のほうのbCNCファイルをクリックするのですが、最初は反応しないかもしれません。なので、Terminalから、
cd Desktop/bCNC-master
と入力してこのフォルダ内に移動し、
sh bCNC
と入力すれば起動するはずです。画面がでてくるまで5秒くらいかかるかも。
次回からは、bCNCファイル(右上のほう)をダブルクリックすることで、以下のようなウィンドウがでて、

ExecuteもしくはExecute in Terminalで以下のように起動するはず。
こんなbCNCの画面がでてきますが、3.5インチスクリーンだと下のほうにあるジョグボタンが見えないし、スクロールで下に移動もできません。幸い、Port:とOpenボタンはぎりぎり入っているので、Port:を▼で選んでその右となりに半分見えているOpenボタンを押します。
つながれば、Not connectedがConnectedに変わります。
そのあとに画面上部Controlタブを選び、左側のほうにあるunlockボタンを押せば、ConnectedがIdle状態になります。

さらにPendantを起動(Wifi環境を利用してスマホなどから遠隔操作する):
全体的なシステムは以下のような感じ。
スマホ<--(Wifi通信)-->Raspberry Pi(bCNC起動)<--(USB接続/通信)-->Arduino(Grbl)+CNCシールド

画面上部のFileタブを選び、以下の画面で、
▶︎Startボタンを押せば、Pendant機能開始になります。

以下のような確認画面がでてくるのでYesをクリック。前回ここで間違っていました。勝手に右側がYesだと思って押してしまっていたようです。だからつながらなかっただけ。
そうするとブラウザが自動的に立ち上がって、Pendant機能の操作画面がでてきます。それでジョグ操作してもいいかもしれません。

MacBookでRaspberry Pi3のポートが開いているか確認:
上画面ではhttp://raspberrypi:8080にアクセスするとPendantが使えますが、一応事前確認としてポートが開いているか確認してみます。
Raspberry Pi3上では、右上のwifiマークにマウスをのせると以下のように黒い画面表示がでるので、ここで192.168.3.8に相当するIPアドレスとなります。

このIPアドレスのポート8080が開いているかMacBookのネットワークユーティリティで確認します。Raspberry Pi上のbCNCを起動してPendantボタンを押しておしてからポートの確認をして下さい。
だいたいこんなところ↑にあるはずです。

MacBook上でネットワークユーティリティを起動し、右端のタブを押すとこんな↑画面。
ここでRaspberry Pi3のIPアドレスをいれますが、raspberrypi:8080を入れてだめなら、数字でIPアドレスをいれます。
Scanボタンを押すと、下の画面に開いているポートがでてくるはずです。ここで、
Open TCP Port: 8080
がでてくればつながるはずです。

その他の端末からアクセス:
MacBookやスマホなどのブラウザで、IPアドレスにポート8080をつけて、192.168.3.8:8080にアクセスします。
こんな感じです。これはMacBook上のChromeからアクセスした画面です。そのままの画面だと広がりすぎたので、表示>縮小を2回くらいして画面を小さくしました。
ここでHome | Unlock | Resetボタンの下にIdleと表示がでていればジョグボタンで操作できるはずです。Not connectedがでているとダメです(前回そうだった)。


AliExpress.com Product - 2016 Original UK Made Raspberry Pi 3 Model B 1GB RAM Quad Core 1.2GHz 64bit CPU WiFi & Bluetooth3883円(送料込み)

まとめ:
ということで、当初考えていたRaspberry Pi上のbCNCでCNCマシンを制御するというところまではできるようになりました。
しかし、あまり使い勝手が良くない。すべては3.5インチタッチスクリーンが使いにくいだけなので、7インチくらいにしないとダメかも(7インチについてはこちら)。
もっと本格的にRaspberry Piをホストとして使うのなら、前回試してみたリモートデスクトップなどのほうがいいかもしれません。

CNCマシン:Raspberry Pi3にbCNCをインストール

当初の計画であったRaspberry Pi3にbCNCをインストールしてみることにしました。Pythonは入っているようなので、pipとpyserialをインストールするところから始めました。

AliExpress.com Product - 2016 Original UK Made Raspberry Pi 3 Model B 1GB RAM Quad Core 1.2GHz 64bit CPU WiFi & BluetoothAliExpressで3883円(送料込み)。

bCNC wikiには、
sudo apt-get install pip
と書いてあるのだけれど、どうもインストールできない。かわりに
sudo apt-get install python-pip
と入れてみたらようやくインストールできたようです。
つづけて、
sudo pip install pyserial --update
を入力。エラーっぽいのがでたので、
sudo pip install pyserial
を入力すると、--updateをつけろと、再度
sudo pip install pyserial --update
で、なんとかインストール完了。
Raspberry Pi3はwifiにはつながっているので、bCNCのデータをダウンロードしに
https://github.com/vlachoudis/bCNC
へ行ってみると、どうやらRaspberry Pi3のブラウザでは古いSafari扱いされてダウンロードできない。仕方ないので、USBメモリ経由でMacBookに入れてあるbCNC-masterフォルダごと移動。
とりあえず、こんな感じで準備は整いました。
いつもMacBookで起動しているbCNC実行ファイルをクリックしてみると反応しない。wikiにはTerminalで起動するといいと書いてあったので、
cd Desktop/bCNC-master
と入力してbCNC-masterフォルダ内まで移動、そして
sh bCNC
を入力すると何とか起動しました。
起動することが分かったので、Raspberry Pi3とCNCマシン(Arduino)をUSB接続し再度bCNCを立ちあげてみることに。いつもとは違うシリアルポート名が2つあり、
/dev/ttyACM0
のほうでOPENを押してみるとつながりました。
しかし、画面が小さすぎてジョグボタンが出てこない。Move Gantryは画面内にあるので、使ってみると一応動きました。3.5インチじゃやっぱり使えないなと思い、それならPendantはどうかというと、192.168.3.8:8080にMacBookからアクセスすると画面がでるのだけれども、なぜかNot connectになっている。以下。

Raspberry Pi3のほうでポートが開いてないのかもしれない。

リモートデスクトップを試してみる:
そしていろいろ検索しているうちに、リモートデスクトップ(https://www.realvnc.com/)でMacからRaspberry Piを操作できるということが分かったのでやってみることに(ここを参考)。書いてある通りにやってみると、
こんな感じでMacBook上にRaspberry Pi3の画面がでてきました。しかも画面が大きい。ポートを開いて動かしてみるとちゃんと動く。これは使えるかもしれないと思いましたが、この画面がRaspberry Pi3のほうにはなぜか現れていない。MacBookで勝手にRaspberry Pi3を使って操作しているだけのようで、画面を共有しているという感じではないみたい。
それなら、Raspberry Pi3のほうもbCNCを立ち上げて動かしてみようとすると、今度はMacBookのほうがつながらなくなる。どうやら一つのポート(ArduinoとRaspberry Pi3の間のポート)を取り合いしているような感じ。なんか惜しい感じ。きっとやり方があるのだろうけど、一つずつ問題を克服していくゲームにはまってしまいそうなので、いちど中断。今までのBluetoothを使ったやり方で充分CNCマシンは使えることを考えると、これ以上問題解決してもあまり意味ないかもということで保留。
一応Raspberry Pi3上でもbCNCは動かすことができたので、収穫はその程度で充分。それとリモートデスクトップで画面の小さいRaspberry Pi3では操作できない部分を補えるかもということで、無目的なまま少しだけ問題解決したという感じ。

追記:
次の日やりなおしたらbCNC+Pendantは一応つながりました。手順はこちら

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月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をあまり使わない人にとっては違和感あります。

関連:

人気の投稿