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

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