これまでのあらすじ:
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ルーター関係:

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


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は一応つながりました。手順はこちら

Raspberry Pi3:3.5インチLCDタッチスクリーン設定

このあいだ届いたRaspberry Pi3(AliExpressで4328円)を使える状態にしようと思いましたが、HDMIのついたモニターと言えばTVしかないので、仕方なくTVを使ってNOOBSのインストールや初期設定をしておきました。基本的にパソコンはノート(MacBook)しか使わないので、Raspberry Pi3用に3.5インチLCDタッチスクリーン480x320px(AliExpressで1322円)も注文しておきました。タッチスクリーンは一日遅れで届いたので早速つなげてみることにしました。

TVをモニターにして初期設定までやったので、タッチスクリーンをつなげればすぐに使えるかと思ったらダメでした。購入したAliExpressのサイトにはインストールの仕方がのっていたのでやってみることに。
まず、SDカードを用意してリンク先でダウンロードしろと。
http://osoyoo.com/?p=968
Windowsを使ってのインストールの仕方しかのってませんが、見よう見まねで。
タッチスクリーンの裏側を見てバージョンに合わせたドライバーをダウンロードするようにと。
この右下に書いてあるversion 6.1がそうらしい。このversionに合わせてここからダウンロード
しかしかなり大きいrarファイル。解凍すると、3.97GBもあるrpi_35_v6_1_jessie8_kernel_4_1_19.imgというディスクイメージ。kernelとも書いてあるし、これってもしかしてOS丸ごと入れ換えかもしれない。先ほどの説明にも、まっさらなSDカードにドライバをインストールしろと書いてあったので、このタッチスクリーンの設定がされているLinux OSそのものを入れろということかも。ということは、TVをつないでインストールと設定した内容は無駄に終わったということになるかもしれない。
仕方ないのでインストラクション通りにすすめてみることに。
解凍した「rpi_35_v6_1_jessie8_kernel_4_1_19.img」をWindowsならWin32DiskImagerというソフトでSDカードにマウントするみたい。
とりあえず、そのままこの3.97GBのディスクイメージをSDカードに入れてみて、NOOBSみたいにできるかもしれないと思ってタッチスクリーンをつないで電源を入れてみました。画面が白いままで、どうも先に進んでいなさそう。すぐに電源を抜いて、今度はこのディスクイメージをダブルクリックしてみると、「boot」がMacBookデスクトップ上にマウントされました。

これをSDカードに入れてみたけど、そうするとbootのエイリアスしか入らない。MacならディスクユーティリティでSDカードにマウントできないかなと思ってやってみたけど上手くいかないので、先ほどのWindowsのマウントソフトのようなものがMac版でもないかと検索したところ、「ApplePi-Baker」というのがそれらしい。早速ダウンロード。
これです。念のため、SDカードはディスクユーティリティで初期化:MS-DOS(FAT)。
SDカードをMacBookの横に差して、ApplePi-Bakerで以下のようにやってみました。

左画面では、差し込んであるSDカードが自動認識されていて、あとは右側の画面のIMG file:のとこでダウンロードした「rpi_35_v6_1_jessie8_kernel_4_1_19.img」を選んで、その上にある「Restore Backup」ボタンを押してみました。4GBくらいあるので、3〜4分かかりました。
それで出来上がったSDカードをRaspberry Pi3に差し込んで(タッチスクリーンも接続して)電源をつなぐと、画面がでてきました。
こんな感じ。設定を見てみると初期状態になってます。案の定最初から設定やり直しです。
しかし、画面が小さすぎる。これではなかなか操作できません。いろいろ設定していると、ウィンドウが画面からはみ出ていて、設定のボタンが押せない。特にKeyboard LayoutでJapanとJapaneseを選んだあと決定ボタンが押せない。以下の画面。


最近Raspberry Pi3用の7インチタッチスクリーンがあるけど、たしかに3.5インチでは無理があるということで、そうなったのかも。全てコマンドラインで操作するならいいけど、GUIを使っての操作は画面からはみ出ているボタンをクリックできないし使えない。
それでも一応パスワード変更、Wifi設定、日本語、スクリーンショットできるscrotは入れておきました。Ksnapshotはなぜかインストール失敗。時間かかるので次回トライ。上画像はscrotで撮影。

Wifiはつながるので、bCNCのPendantでCNCマシンにアクセスしてみました。
bCNCは問題なく動くようです。それほど遅延もなく動きますが、わざわざこれをPendantとして使うことはないと思います。ちなみに、メニューバーは初期設定より細くしたので、わずかながら画面が大きくなりました。
当初はRaspberry Piをホストにして、ネットワークを通して遠隔操作しようと思ってましたが、Bluetoothで無線化してしまったので今のところあまり必要なさそう。


まとめ(Macの場合):
Kedei 3.5インチタッチスクリーンVersion6.1をRaspberry Pi3に接続するための設定は以下。
・ディスクユーティリティでDOS-V(FAT)フォーマット化したMicroSDカード(8GB以上)を用意。
http://osoyoo.com/?p=968へ行き手順を確認。
http://osoyoo.com/driver/rpiscreen.phpからタッチスクリーンのVersionに合わせてソフトをダウンロード。
・「rpi_35_v6_1_jessie8_kernel_4_1_19.rar」を解凍。
・「rpi_35_v6_1_jessie8_kernel_4_1_19.img」イメージファイルが出来上がる。
・DiskImagerソフト「ApplePi-Baker」をダウンロード&インストール。
・MicroSDカードをMacBookに挿入する。
・「ApplePi-Baker」のRestore Backupをつかって、「rpi_35_v6_1_jessie8_kernel_4_1_19.img」をMicroSDカードにマウントする。
・MicroSDカードをRaspberry Pi3に挿入。
・タッチスクリーンも接続してスイッチオンで起動。

しかし、3.5インチだと画面が小さすぎて、キーボード設定の画面で最後にボタンをクリックできない。その場合は(以下の画面で)、
Japanを選ぶとJapanese(PC-98xx Series)が自動選択されるけど、このときキーボードのTabキーを3回押せば、OKボタンにフォーカスされると思うので、そしたらReturnキーを押すと設定終了。一回少ないとキャンセルになって画面が閉じてしまうので、そうなった場合は再度チャレンジ。ここでキーボードを選べないと、おそらくUK仕様になってしまって、「@」マークや「:」などのキーの位置が変わってしまって打ちにくくなってしまう。以下は全部が見えている画面の場合。

ほかも、OKボタンが押せないときは、Tabキーでフォーカスを数回ずらしてリターンキー押せば大丈夫だと思います。

bCNCをRaspberry Pi3にインストールしようとおもったけど、この3.5インチのほうだと面倒なのでやめてしまいました。大きいモニターならいいけど、その場合はCNCマシンのそばに置くには邪魔になるので、できればこの3.5インチでコンパクトに操作したいところ。しかし、かなり使いづらいし、わざわざ使わなくても現状のBluetoothで充分。そのうち気が向いたらやってみます。

それから、Raspberry Pi3のスクリーンショット画像は、GoogleドライブにのせてMacに持ってこようと思ったけどGoogle系がこのブラウザだと対応してなくてだめでした。仕方なくメール(Hotmail経由)で送りました。後から気づいたけどUSBメモリでもよかったかも。WifiかBluetoothを通して直接やりとりしようと思ったけど、また設定しないといけなさそうなのでやめました。昔、使わなくなったMacにLinuxを入れたときがあって、そのときもいろいろ複雑な設定ばかりで、ずっといじっていました。検索してコマンドライン入力して、あーでもないこーでもないと、1日かかってもほんの少ししか先に進まない感じ。ようやく3Dデスクトップが見れて、おおすごいと喜んでいたけど、結局だたパソコンをずっといじって動作確認することが目的となってしまい、それで何をするという感じでもなかったので、だんだん飽きてやめてしまいました。

---------------------------
Osoyoo LCD Touch Screen for Raspberry Pi:

This 3.5 inch touch screen module is designed especially for Raspberry  Pi, using the latest Linux Core system (vision 3.18.9), the latest  Raspberry Pi official UI desktop file system and the fastest SPI  transmission data, an ideal alternative solution for HDMI monitor and  convenient Men-Machine interface for Raspberry Pi, combined with the  portable power, DIY anywhere anytime.

 Features:

    LCD Interface: SPI
    Touch Screen Controller: XPT2046
    Backlight: LED
    LCD Type: TFT
    Resolution: 320*480 DOTS
    Core System: vision 3.18.9
    SPI Speed: 32MHz
    Color Levels Index: 65536
    Power Consumption/Backlight Current:  TBD
    Supports Raspbian system, enables  your system to:
    1) Take photos by touching (up to 17 camera modes)
    2) Support software keyboard (system interaction without  keyboard/mouse)
    3) Support driver is installed automatically.
    Note:  This screen can not play video games and watch video,only as the basis for the operation .
   You can feel free to download the driver for 3 .5" TFT LCD  Touch Screen. Pls check the following guild file.
  NOTE:
1.Please expand the SD card and restart it before the driver installation.
2.This sreen can used in the Raspbian and Noobs.the other system can't use ,please know this .
3.because the screen driver always upgrading,so when you receive it ,but can not operate, please contact customer
service consulting, customer service will teach you how to operate. Don’t open the case at the first, Thank you very much .


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円(送料込み)。

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もリリースされました。

これも前回試した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をインストール
   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をあまり使わない人にとっては違和感あります。

関連: