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

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



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


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

2016年5月17日火曜日

CNCマシン:Bluetoothでワイヤレス化(その2:完成)

前回からの配線のつづき:
こんな感じでコントロールボックス内部にBluetoothモジュールをつけたあとからの作業。

ワイヤーストリッパーのおかげ:
面倒な配線作業なのですが、先日届いたワイヤーストリッパーのおかげで少しははかどりました。いつものAliExpressで1000円(送料込み)。ガシャンと勢い良く皮膜が剥けます。

非常停止ボタンの見直し:
とはいっても、いろいろ考えることがあって、この際、機能が中途半端だった非常停止ボタンの配線も変えることにしました。40mmもある巨大なボタンなのに、Arduinoのリセットをするだけだったので、コンセントから来ているAC100Vも遮断できるようにすべき。幸いこの非常停止ボタン(これもAliExpressで139円送料無料)、内部に二回路入っていて、ひとつは普段オープン、もうひとつはクローズドになっています。いままでは、普段オープンのほうだけをCNCシールドのE-STOP端子につないでいましたが、普段クローズドのほうもAC100V電源の非常時遮断に使うことにしました。
まずはこの非常停止ボタンを配線することに。ただ、これとは別に主電源スイッチもあるのですが、それもAC100VをON/OFFできます。機能がダブっていそうですが、実はMacBookとArduinoをUSB接続しているときに、主電源を落としてもArduinoはMacBookのUSBケーブルから電源供給されているため電源が落ちるというがありません。非常停止ボタンの場合は、Arduinoもリセットするのでより確実という感じです。ということで非常停止ボタンのほうは何とか片付きました。


新たにスイッチ追加:
今回はBluetoothのON/OFFのスイッチもつけなければいけません。Bluetoothの送受信ピンは、Arduinoのシリアル通信用のピン(D0とD1)とつながっているために、そのままだとUSB接続の際にMacBookから送受信すると干渉してしまいます。
ということで、一個余っていたスイッチを正面のパンチングメタル上につけることにして、これを主電源スイッチに変更。LED付きスイッチなので電源が入っているかどうかも確認しやすいです。面倒ですが、いままでの主電源スイッチの配線を移動。非常停止ボタンとも絡んでいる部分なのでちょうどよかったのかもしれません。それでいままでの主電源スイッチをBluetooth用に。
しかし、配線がかなり複雑になってきてやや混乱気味です。間違うと大変なので、一応紙に配線図を描きながらダブルチェックしつつ作業しました。


Arduinoへの別電源供給:
もうひとつ面倒なのが、Arduinoへの電源供給。これまではMacBookとUSB接続で電源供給されていたけれども、ワイヤレスなので別に電源を確保しなければいけません。レーザー用のDC12V電源があるので、そこからつなげることにしました。Arduinoにも外部電源用ソケットがついているのですが、それは使わないで裏側から直にケーブルをハンダづけしました。上画像でも分かるように、Arduinoボードがケーブルに埋もれているので、取り出すにはケーブル全部とCNCシールドを外さないといけません。これが面倒に感じてしまって後回しにしていましたが、やる気を出して作業続行。


なんとか配線終了:
下の画像のように、この部分はスイッチ類や配線ですごいことに。特に面倒なのがLED付きスイッチ。大抵のLEDつきスイッチは、ただ単にスイッチボタンにLEDが入っているだけでスイッチ部分と連動もしないので、必要な抵抗や配線は自分で考えてつけなければいけません。
LED付きだとON/OFFの確認がしやすくなるし、光ってた方が見た目もいいし、という理由で選んだので作業量が増えても仕方ないですが。



動作確認:
とりあえず、両側の板をつけるまえに動作確認。主電源スイッチは手前パンチングメタル上の赤く光っている丸い押しボタンスイッチです。上画像は、USB接続でも大丈夫か確認しているときのものです。特に問題なさそうです。


正面からみるとこんな感じ。手前パンチングメタル上の赤い主電源スイッチの下にやや緑色に光っているのがBluetooth通信中ということです(通信が切れると赤)。パンチングメタル裏にBluetoothモジュールは入っています。上面の3個並んでいる一番手前がBluetooth用スイッチです(以前は主電源スイッチだったもの)。真ん中がLED照明用スイッチ(まだLED照明はつけてない)。一番奥がレーザー用スイッチ。
一応、BluetoothでもUSB接続でも動くことを確認できたので、両側面の板もつけて作業終了。

ワイヤレス化と言っても、主電源スイッチとBluetoothスイッチをON、そしてbCNCでBluetoothのSerial Portを選んでOpenを押すだけです(上画像左下のConnect on startupにチェックを入れておけば、bCNCを立ち上げたときに記憶しておいたポートに自動で接続されます)。仕組み的にも、シリアル通信のパイプ役になっているだけなので単純です。このBluetoothモジュールはClass1(通信最大距離100m)で強力なので多少のノイズにも強いかもしれません。

これで、パソコン作業しているテーブルの上からもワイヤレス操作可能です。それとbCNCのPendant機能で、他のパソコン、スマホ、タブレットのブラウザ上からもワイヤレス操作可能です。
MacBookをわざわざCNCマシンのそばに持って行かなくてもよくなったので、かなり便利です。ポートマッピングすれば外出先からも操作できますが、そこまではいまのところ必要ないです。

あと残っているのは、トリマーにつける集塵カバー(LED照明付き)くらいでしょうか。以前AliExpressに注文したリング型LEDがまだ届いていないので、それが届いてからつくることになると思います。
AliExpress.com Product - Free Shipping hc-06 HC 06 RF Wireless Bluetooth Transceiver Slave Module RS232 / TTL to UART converter and adapter327円(送料込み)安いので追加で2個買っておきました。

CNCマシン:Bluetoothでワイヤレス化

先日、bCNCのPendant機能でタブレットでワイヤレス操作ができることがわかりました(以下がタブレット上の操作画面)。これでも充分便利ですが、昔買ったBluetoothモジュールがあったことを思い出し、それもつけてしまおうかと思い始めました。
そうすればわざわざMacBookをCNCマシンの脇に持って行かなくてもいいので、普段パソコンをしているテーブルの上からも操作可能となります。CNCマシンの近くにパソコンを置いておくと埃などもかぶってしまうし、パソコン作業を中断するのも面倒なので。しかし、こういう工作機械は、ワイヤレスにしないほうが誤作動も起こらなくで本当はいいはずです。それなら、スイッチなどつけて切り替えできるようにしておけばいいかなと。イメージとしては、別のテーブルでパソコン作業をして、タブレットをリモコンとして持ってCNCマシン付近でジョグ操作などするという感じ(そのうちRaspberry Pi 3をホストにしてWifi上で操作するというのも考えてはいるのですが、、、)。

ということで、昔のBluetoothモジュールを取り出してきました。ひとつ3000〜4000円くらいしたと思います(探したら全部で5個くらいありました)。その後ワイヤレスと言えばネットワークが組めるXbeeが登場して来てXbeeを使うようになったのですが、最近はWifiモジュールのESP-WROOM-02とかでしょうか。
これは、かなり前にSparkfunで買ったBlueSMiRFというBluetoothモジュールです。使う端子はVCC(5V)、GND、TX、RXの4つだけです。Class1で100mくらい電波が届きます。いまでも売っているはず。

MacbookのBluetooth設定:
まずシステム環境設定のBluetoothで設定する必要があったので行ってみます。やり方は忘れてしまったのですが、それほど難しかったわけではないので適当に。しかし、ここではペアリングできないようです。
追記:パスキーが0000ではつながらなかったのですが、1234であればペアリングできました。
仕方ないので、システム/ライブラリ/CoreServices内にあるBluetooth設定アシスタントへいくことに。
ここでも接続はできないけれどもポートはつくることができたので、あとはbCNCでそのポートを選択して接続すればいいはずです。


CoolTermで設定(ATコマンド入力):
ただ、Baudrateが9600になっていたかもしれないので、念のためgrbl0.9でつかっている115200に合わせておこうと思います。ATコマンドというのを入力して変更します(ATコマンドについてはこちらに書いてあります/HC-05やHC-06のATコマンドについてはこちら)。そのためにターミナルソフトがあるといいのですが、検索するとCoolTermというのが見つかったので、それでやってみます。
こんな感じのソフトです。たしかこのBluetoothモジュールは電源が入ってから60秒以内にATコマンドを入力して設定モードに入らないといけなかったはずです。つないだり他の設定しているあいだに1分すぎてしまうこともあるので、その制限時間も無制限に設定し直すことにします。ちなみに、このときBluetoothは5VとGNDにつないで電源だけ確保しておけば大丈夫です。通信自体はワイヤレスなので。
これがCoolTermの操作画面ですが、ただ文字(ATコマンド)を打っていくだけです。
いちおうCoolTermの設定画面(以下)で、Local Echoにチェックいれておきます。そうしないと自分で入力した内容が表示されないので。


ATコマンド入力:
最初に設定モードに入るには(電源を入れて60秒以内に)、
$$$(リターンキーなし)
そうすると、
CMD
と返してきます。これで設定モードに入ったということです。
現在の設定内容を確認するには、
D(リターンキー)
そうすると、上の画面のように、設定内容が出てきます。
もう設定し終わったあとの画面なので、Baudrt=115kになってます。
Baudrateを変えるには、
SU,115(リターンキー)
で115200になります。9600ならSU,96です。
それから設定モード突入までの制限時間60秒を変えるには、
ST,255(リターンキー)
と入力すると無制限になります。
設定終了するときは、
---(リターンキー)
ハイフン3個です。ENDという返事が出ます。


BluetoothモジュールとCNCシールドの接続:
これでBluetoothの設定はできたので前にAitendoで買ったCNCシールドV3.0につなげてみます。まだ実験段階です。
このようにCNCシールドの右上にはRX、TX、5V、GNDがまとまって付いているので、ここにつなげればいいだけです。ただし、つなげるときは、TX(Bluetooth)→RX(CNCシールド)、RX(Bluetooth)→TX(CNCシールド)という感じでクロスさせてつなぎます。ちなみにSCL端子はProbeに使っています。
メス-メスのジャンパワイヤがないので、こんな感じでつないで実験してみます。


bCNCでの接続確認:
Serial Port:でBluetoothのポートを選んでOpenを押します。
ConnectedになればOKです。あとはいくつかGコードを入力して確認します。

$Xを入力して解除、そして$$を入力すればArduino内に保存されているCNCマシンの設定が出てきます。これで大体確認はとれたと思います。


コントロールボックスへの取り付け:
ということで、あとは実際のCNCマシン(コントロールボックス)への取り付けとなります。
久々に開けたら、配線がたくさんあって何かめんどくさそう。とりあえずBluetoothモジュールをどこにつけるか?配線は基本的に4本。

コントロールボックスの前面にあるパンチングメタルにつけてみました。表側から見ると、BluetoothのLEDが光っているのが見えるので通信中ということが確認できます。

これでMacBookをUSB接続しなくてすみます。しかし、USB接続しないかわりに、Arduinoボードに電源を供給しなければいけません。DC12VのACアダプターは入っているので、そこから線を分岐させればいいのですが、かなり配線がこみ入っていてこれまた面倒。USB接続もすることがあるので、スイッチもつけておいたほうがよさそう。また配線が複雑になってきました。スイッチは一個余っているので、それを使えばいいのですが、一旦ハンダづけして熱収縮チューブもつけたところを外して、またハンダ付けすると考えると面倒に感じてきます。そもそもArduinoボード自体外すのが面倒だし、これからつけるスイッチだけ形が違うので、それを主電源スイッチにしたほうがよさそう。それと非常停止ボタンをCNCシールドのE-STOPにつなげてあるのですが、それだとArduinoボードをリセットするだけなので、この際主電源カットにしたほうがいいのかも。配線計画をやり直しになるかも。そう考えているうちに時間切れ。この作業の続きは次回へ
AliExpress.com Product - Free Shipping hc-06 HC 06 RF Wireless Bluetooth Transceiver Slave Module RS232 / TTL to UART converter and adapter327円(送料込み)、今はBluetoothモジュールもこんなに安い。*HC-05やHC-06のATコマンドについてはこちら

2016年5月16日月曜日

AliExpressのワイヤーストリッパー到着

CNCマシンの配線作業をしているときに、間に合わないとは思っていましたが、ついAliExpressでワイヤーストリッパーを購入してしまいました。それが昨日やっと届きました。送料無料で1000円です。AirMail便でちょうど2週間。また例の外が白くて中が黒いビニール袋に先端だけプチプチに巻かれてそのまま入っていました。郵便局の人に手渡された瞬間何が入っているのかすぐに分かりました。

この手のワイヤーストリッパーは昔から欲しいと思っていたのですが、かなり高価なので買わないでいました。たしか4000〜5000円くらいしたと思います。そのかわり3000円くらいのものをある時購入してしまい今まで使っていました(下画像手前のもの)。
ワイヤーストリッパーがないときはカッターで転がして皮膜をむいていましたが、やはりあると便利です。というか作業が早い。しかし、この手前のワイヤーストリッパーだと決められた径のワイヤー以外では上手く切れなかったりして、もう一本違うサイズのが欲しくなってしまいます。
電子工作用なので結構細め。刃の溝がワイヤーの径にぴったり合うようになっており、その分正確に切れるようになっています。これ以外の径だと、多少手加減して切れないわけでもないのですが、ワイヤーの中の銅線まで切れてしまうこともたまにあります。それと切れ目が入った皮膜をひっぱるのが結構面倒。よく切れていないと、ひっぱってもただ皮膜が伸びてしまうこともあります。

そこで、今回購入したワイヤーストリッパーは、その引っ張る部分もやってくれるので(だから昔から欲しかった)、どのくらいつかえるのか?
ちなみに、これをアマゾンで買うと2000円以上します。中国製の同じものです。やはりAliExpressだと安い。


もうひとつ違うタイプのワイヤーストリッパーがあるのですが、以下のようなもの。
昔欲しいと思ってたのはこのタイプでした。これが4000〜5000円くらいしたと思います。たかが皮膜むきにそんなに払えないということであきらめてました。使っている人を見たことがあって、確かに便利そうだなと思っていました。ちなみにこのタイプはAliExpressで600円くらい。Amazonでは当然2倍以上。このタイプでもよかったのですが、よくみると刃に溝がついていて、ワイヤーの径に合わせて切るタイプのようです。なので今回はやめました。


それで、今回購入したタイプは刃には溝がついていないので、特定の太さだけではなく、どんな太さでも切れるのではないかと?
調整ネジが2個ついていて、左側(やや中央より)が太さ、右側がどのくらい長くむくかになっています。
先端部分はこんな↑感じで、握るとまず左のほうから動き始め、すこし遅れて右側が動きます。実はこの時間差の複雑な動きがずっと気になっていました。絶妙。
左側のギザギザでワイヤーを押さえて、右側で皮膜をむきます。刃はケーブルの径に合わせた溝はなく、一直線なので上下の刃ではさむ感じです。当然すべてはさみこんでしまうと中の銅線も切れてしまうので、切るというより噛んで引っ張るという感じです。

どのくらいの太さ(細さ)までいけるのか、Fケーブルで実験。Fケーブルなので外側にかなり分厚いグレーの皮膜がついています。結果的には上の画像のように、引きちぎるような感じで、いちおうFケーブルの外皮膜、そして内部の皮膜(白い皮膜、中が銅単線)もむくことができました。さらには細いワイヤーだとこんなものもむくことができました。白赤黒の3本線ですが1本径1mmです。赤黒2本同時にむくこともできました(これは便利、ほかのワイヤーストリッパーだと1本ずつなので)。かなり幅広い範囲で使えます。

使ってみて分かりましたが、このワイヤーストリッパーは、ゆっくり握るとダメみたいで、いっきにいくときれいにむけます。やはり、切るというより噛んで引っ張るという感じなので、皮膜の切断面は引きちぎれたようになっています。ゆっくりやっていると、噛んでいる部分もズルズルとずれてきてしまいます。一気にガシャンと少し荒々しい感じですが、大体寸法通りにむけているのでそれほど問題はありません。一回むいてみて、噛む力が弱すぎだなと思ったら調整ネジを締めるという使い方かもしれません。
いずれにせよ念願のツールが手に入ったので、今後の配線作業は楽しくなりそうです。1000円は安い。

この間秋葉原に行ったとき工具類も見てみましたが、AliExpressで見かける商品もかなり多く売っていました。パッケージだけそれっぽくして値段は3倍くらいします。そうやって見て行くと、かなり中国製のものが多く出回っているというのが分かります。先ほどの今まで使っていたワイヤーストリッパー(秋葉原で3000円くらいで購入、たぶん千石だったかな?)もAliExpressで1068円で売ってます。

以前購入したレーザー用のゴーグルもそうでしたが、このようにAliExpressの出現のために安く買えるのはいいのですが、価格破壊のような現象が起こっています。Amazonで2倍以上の値段、普通の店頭で約3倍の値段で売られているようなものはそのうち売れなくなるだろうし、逆にAliExpressが値上がってくるのかもしれません。


AliExpress.com Product - HS-D1 AWG24-10 (0.2-6.0mm2 ) design Multi functional Cable wire Stripping, Cutting and Crimping tools High Quality TOOL
これは↑安い。648円。

2016年5月8日日曜日

CNCマシン:スイッチパネルの制作

まだCNCマシンのスイッチパネル/スイッチボックスは出来ていないので、昨日また秋葉原に行って必要な端子類など買ってきました。
Z軸の真下あたりに照明もつけようと、ためしにテープ状のLED(一番上)も買ってみました(使うかどうかわからないけど)。画像左中にもLED照明がありますが、これは昔買ったもので、こっちをつかうかもしれません。ピンソケットとピンプラグはプローブ用。それからステッピングモータードライバ用のファン。電源用ソケットとプラグ付きコード(この辺も探したら持っていた)。
だいたいこの部品を取り付ける感じ。

現状はこんな↑感じ。CNCシールド、レーザードライバ、DC24V電源、DC12V電源が一直線線に並んでいる。
この上にもう一枚板のせる感じです。

上面の板は、ここまでは出来ています。AliExpressで買った非常停止ボタン(139円送料無料)も届いたので取り付けてみました。普通に取り付けるなら径22mmの穴をあけるのですが、この板が15mmもあるので、上から径30mmのフォスナービットでザグリをいれて、さらに26mmで貫通穴をあけて、段つきの穴にして取り付けました。そうしないと上から締め付けるギザギザナットがスイッチ本体のネジ山まで届かない。
縦に3個ならんでいるスイッチはLEDで光るタイプ。手前が主電源用(AC100VをON/OFF)。真ん中がLED照明用。奥がレーザー用。
あとは、先ほどのプローブ用ピンソケット、電源用ソケット、ファンが側面につく感じです。LED付きスイッチもあるし、けっこう配線が面倒かも。

秋月や千石のある通りに、二軒ほどLED屋があるので(いつのまにかできていた)ちょっとのぞいてみました。Z軸真下につけるLEDでちょうどいいのがないかと。そうするとリング状のLEDを発見。しかし、2個セットで3000円以上する。高すぎる。径60mm、70mm、80mm、90mmなど、ちょうどトリマを囲むように配置できそう。
あとからAliExpressにも売ってないかなと思って、「LED ring」で検索したらやっぱりでてきた。
2個セットで591円。これに透明カバーがついたものとか、LED部分がもう少し強力そうなものとか何種類かあるけど、このタイプが比較的安い。明るさはどのくらいなのかわからない。大きさも径60〜120mmまで10mm単位でいろいろあるみたい。DC12V仕様。
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円

これは何用なのかと思ったら、自動車のヘッドライトの周囲につけるアクセサリー照明らしい。この大きさはこの車種に適合しているとかたまに説明が書いてあり、サンプル写真ものっていた。
これ↑が正規の利用法らしい。自動車用だからDC12V仕様だったのかと。

いずれにしても、サイズや種類も豊富なのでトリマのサイズにあわせて一個買ってみようかと。
ただトリマの場合、集塵カバーも取り付くので、LED照明を取り付ける部分がなかなかない。集塵カバーにLEDを内蔵してしまえばいいのかもしれないけど、どうしようかな?いずれ集塵用カバーも作り直そうと思うのでそのときにでもまた考えます。


作業のつづき:
その後かなり時間かかりましたが、一応配線終了。LED付きスイッチのLEDがスイッチのON/OFFに連動するのかと思ったらそうではなくて3個分配線やり直しました。全体的に相当面倒な配線でした。
接点がむき出しにならないように、熱収縮チューブとホットボンドも使いました。こんな感じで開けることができるように線を少し長めにしました。けっこう隙間なく詰まっています。
CNCマシンの脇に置くとこんな感じです。まだ側面の板はつけてませんが、一応すっきりしたと思います。LED照明はまだつけていませんが、スイッチ(真ん中)には配線済みなので、LED照明をZ軸裏の端子につなげばON/OFF可能です。予備用にもう一回路あるのですが、それもZ軸裏までは配線済みです。何に使うかは未定です。

まだ上板も固定はしていないのでちょっとずれてのっています。全面はパンチングメタルで、ここから空気が入り込んで右脇にあるクーリングファンから排気されます。パンチングメタル上の左上にあるピンプラグがプローブ用の端子です。プローブを使うときだけここに差し込みます。非常停止ボタンは、CNCシールドのP-Stop端子(E-Stop端子)につないでありますが、まだ試していません。3個ならんでいる一番手前のスイッチが主電源ON/OFFで、これをOFFにするとAC100Vが遮断されるために、モーターやレーザーなども同時にOFFになってしまいます。CNCシールド(Arduinoボード)だけはMacBookにUSB接続するために電源が落ちるということはありません。非常停止ボタンはおそらくArduinoボードのリセットボタンと同じなのかもしれませんが、その場合モーターはOFFになるにしても、レーザーはOFFにならないので、その辺が気になります。ということから、主電源OFFが非常停止になるのかもしれません。

Shapeoko wikiを見てみると、E-Stopには、AC BreakerとDigital Breakerの二種類あると書いてありました。
AC Breakerは、もともとのAC電源を切る方法。
Digital Breakerは、Arduinoに信号を送ってマシン自体(ステッピングモーター)を止める。しかし、スピンドルは別なので、Sparkfunで売っているPowerSwitch Tail Ⅱと連動させればスピンドルも止めることができるようです。
こんな感じのもの↑($28.95)。
本体に端子がついていて、E-Stopを押すとPowerSwitch Tail Ⅱに信号が送られてAC電源も切ってしまうようです。たしかに便利というか安全そうです。


さらに作業のつづき(スイッチパネル完成):
ようやく完成。というか側面の板を貼っただけです。なぜか手ノコと穴あけはカッターで作業(このほうが早い)。

側面にUSB端子とクーリングファンがついています。右側2/3は電源類が入っているので簡単な通気口をあけておきました。
前面にあるピンソケットにプローブ用ピンプラグを差しこんであります。前面のパンチングメタルから空気が入ってクーリングファンにより排気されます。主にCNCシールドのステッピングモータードライバDRV8825(4個)とレーザー用ドライバを冷却します。コントロールパネル(コントロールボックス)はすべてネジ止めで組み立てられているので、故障や機能を付け足すときは分解することができます。とにかく配線がとても面倒でした。

あと残っている作業は、スピンドル下のLED照明(集塵カバーも兼ねて)、レーザーシールドの取り付けくらいでしょうか。レーザーシールドについては、現在問い合わせている段階です。レーザー遮蔽アクリルでレーザーダイオードの真下を箱状に囲いたいと思っています。内寸で32.5x32.5x50mmくらい。最悪一面だけレーザー遮蔽アクリルにして、残り3面は普通の不透明アクリル(黒など)でもいいかもしれません。それまでは、かわりになる不透明な箱をつけてみようかと思ってます。

2016年5月1日日曜日

CNCマシン:リミットスイッチ/ホーミングのトラブル(無事解決)

追記:
*リミットスイッチの配線については、GrblサイトのWiring Limit Switchesに追記されたので参考にするといいと思います。ノイズフィルターの有無、ノーマルオープン/ノーマルクローズドなど画像付きで詳しく書かれています(英語)。

G-Code-Senderは、以前書いたようにbCNCを使うことにしました。そこでCNCマシン本体にせっかくつけたリミットスイッチを確かめようと実験開始。bCNCで$$を入力し設定を確かめて、リミットスイッチを使う設定$21=0を$21=1にして動かしてみました。しかし、動かすとなぜかすぐにロックされてしまいました。
bCNC画面のTerminalボタンで、コンソール画面にすると、以下のようなメッセージ。

ALARM: Hard limit
[Reset to continue]

再度Control画面に戻り、画面左上にある以下の「Reset」と「Unlock」で解除。
何度やっても、動かした瞬間にリミットスイッチが反応しているようで、まったく先に進みません。CNCマシン本体をいろいろ調べてみました。Shapeoko wikiにもリミットスイッチはノイズを拾いやすいからシールド線を使うといいと書いてあったのを思い出し、たしかにモーターの近くを線が通っているし、シールドなしのケーブルを使っているのでそういうノイズの問題かな?と、またオヤイデ行かないといけないのかなと思いながらもケーブルをたどるように調べてみました。しかし、最終的にはCNCシールドのリミットスイッチをつなぐ端子でおかしなことが起こっているというのが分かりました。
使っているCNCシールドはV3.5なので、grbl0.9のピン配列に対応しています(V3.0の場合はZ limit端子がArduinoボードのD11からD12に入れ替わっているので注意、詳しくはこちらへ)。
上の写真のように、CNCマシン本体からのリミットスイッチ線を外し、かわりに緑色のジャンパワイヤをZ limitのZ+(5V)に接続しつつ、白いジャンパワイヤ(手でもっているだけで何にも接続されていない)をちょっとつけるだけで、そのノイズに反応してリミットスイッチが入ってしまうという現象。試しにテスターで計測しながらやってみると、たしかに5Vが外乱(白ジャンパワイヤ)によって1~3Vくらいまで下がってしまう。それで通常HIGH状態がLOWを瞬間的に検出して反応してしまうみたい。
なんでこんなに敏感すぎるんだ?じゃあ、コンデンサでもかましてみたほうがいいかな?と思って、ちょっと検索してみると、やっぱりこのようなリミットスイッチのノイズ問題はよくあるそうです。その対策としてシールド線を使うとか安物ではなくノイズに強い部品にするとかいろいろあるけど、手っ取り早いのがやはりコンデンサーをつけるというのが、instructablesにのってました
そこでは0.47uFのコンデンサーをArduinoボード上のリミットスイッチ用の端子(grbl0.9の場合、D9、D10、D12)につけるといいと書いてあります。ためしに手持ちのコンデンサーをつけてみることにしました。
こんな感じ↑で、CNCシールドV3.5に電解コンデンサー3個を直づけ(ちょうどArduinoボードD9、D10、D12の真上の端子とGND)。
これで動かしてみました。bCNCでGコードを入力。$21=1にしてHard limitをオンにしておきます。
Control画面の矢印で前後左右上下に動かしてみると、リミットがかからずちゃんと動きます(感動)。なるほど、やはり何らかのノイズがコンデンサーで解消されたというわけです。


ホーミングサイクルにチャレンジ
そのまま$21=1にしてHard limitをオンにして、今度はホーミングサイクルにチャレンジ。
しかし、、、動き始めましたが、途中で止まってしまいました。一歩進んだけど、また壁にぶちあたりました。
何が原因なんだろう?といろいろ調べてみたり、設定を変えてみたりしました。

grbl0.9にはホーミングの設定がいくつかあります(grblサイト参照)。
・$22:Homing cycle bool
  ホーミングサイクルするかどうかの設定(する場合$22=1)
  ホーミングサイクルによって、Z軸、X軸、Y軸、(A軸)という順番でゼロ地点設定
  そのためにはリミットスイッチを最低各軸の+側につける必要あり
  $23によってホーミングの方向を変更可能(通常各軸+側)
・$24:Homing feed mm/min
  ホーミングサイクルで最終的に座標ゼロポイントを決定するときの速度設定
  かなり遅めにして少しずつ進む感じ
  25mm/minくらい
・$25:Homing seek mm/min
  ホーミング開始後、各軸のリミットスイッチを探しだすときの速度設定
  慎重すぎて遅すぎると時間がかりすぎるので、スイッチをなぎたおさないくらいの速度
  600mm/minくらい(最終的には300に下げました)
・$26:Homing debounce ms
  ホーミングサイクルによってリミットスイッチを押す際のチャタリング/デバウンス防止のためのディレイ時間設定
  5〜25ms(最初250msになっていました)
・$27:Homing pull-off mm
  ホーミングサイクル後にリミットスイッチから事故防止のため少しだけ離れておく距離
  3〜5mm

と、こんな感じであります。

まずは、リミットスイッチのノイズがなくなったので、即停止はなくなったのですが、以下のような感じで止まってしまいます。

・Z軸+リミットスイッチを探しに上にあがる。
・Z軸+リミットスイッチを押す
・Z軸一旦少し下がる
・再度ゆっくり上昇(多分$24のHoming feedの速度で)
・また少し下がる(多分$27の5mm分)

ここまではいいのですが、次の行程でつまづきます。
・XとY軸が+方向に向かって同時に動き始める
・それぞれリミットスイッチを押す
・それぞれ少し戻る
そして、ここで止まる

おそらく次はZ軸の動きから察すると、ゆっくりHoming feedでゼロ地点を設定しに動くはずですが、なぜか止まります。またノイズなのかなとも思ったりして、いろいろ検索してみましたが、解決できるようなネタは見つかりません。
リミットスイッチにもコンデンサーつけてみたり、Y軸片側のモーターだけで駆動させてみたり。
なんとなくモーターに負荷がかかっているようにも見えるので(送りネジとガイドレールの平行がとれていなくて窮屈になっているとか)、ドライバが一時的にシャットダウンしているのかと思ってみたりして、それでマイクロステッピングを1/8から1/4に変えてみたりしてみました。


コンデンサー付け替え
いろいろやっているうちに分からなくなってきて、先ほどつけたノイズ対策のコンデンサーを見てみると、0.47uFなのに47uFをつけていることに気がつきました。容量がデカすぎるけど、つけたことによって一応ノイズは消えたわけだし大丈夫だろうと思いましたが、もうちょっと他のコンデンサーがないか探してみると、1uFのコンデンサー一袋が見つかったのでためしに付け替えてみました。
こんどはこんな感じ。コンデンサーも小さくなりました。同じようにArduinoボードD9、D10、D12、GNDの真上の部分です。0.47uFに対して1uFなのでまあまあ近い。
念のためと思ってつけたリミットスイッチのコンデンサーも外してしまいました。この3つで勝負。
それと、上記に書いたgrbl0.9ホーミングの設定値も少し変えてみました。

主には、$24=30、$25=300、$26=25、$27=5、そしてマイクロステッピングは1/4。
さて、ホーミングボタン(Home)を押すと、
まずは、Z軸が動き始めました。そしてX軸、Y軸です。速度をちょっと変えたので、なんとなくいい感じ。それで、問題のXとY軸のHoming feed速度で動く部分(最初600でしたが300に下げたことで負荷が下がったのかも)。おお、ゆっくり動き始めした。このままいけるかな?と息をのんで見守っていると、なんとか最後まで無事ホーミングサイクルが終了しました。エラーなしです。思わずコンソール画面を見てみました。
偶然なのかなんなのか分かりませんが、ようやくホーミング達成(感動)。

追記:

AliExpress.com Product - 3D Printer Parts Limit Switch End stop for CNC 3D Printer RepRap RAMPS 1.4 Board Mechanical Limit Switches Printing Accessories
リミットスイッチ6個セット、324円(送料込み)。
このようなノイズキラー付きのリミットスイッチを使えばトラブルが少なくなるかもしれません。


ホーミングサイクルの流れ
・XYZ軸の+側(右、奥、上)にリミットスイッチ(この場合ホームスイッチと呼ぶのかも)をつける。
 *grbl0.9ではZ+端子とSpinEn端子が入れ替わったので、CNCシールドV3.0を使う場合は、Z+リミットスイッチをSpinEnへつなぐ。Z+とZ-は内部でパラレルにつながっているので、Z-リミットスイッチもSpinEnにつなぐ(詳しくはこちらへ)。
・デフォルト$21=0(リミットスイッチ:オフ)のままでも構わない。
・$22=1にしてホーミングサイクル機能をオンにしておく。
・$24〜$27は上記のような数値にしておく。場合によっては少し遅めにする。
・あとは$Hをコマンド入力して(あるいはHomeボタン)ホーミングサイクルを開始する。
・最初にZ軸がリミットスイッチ方向に動き出しマシン原点を見つける。つぎにXY軸も同じように原点を探し出して終了。これでリミットスイッチがある箇所、右奥上がマシン原点(0,0,0)となる。最終停止位置は、$27で設定した値分だけ戻った位置になり、そこで終了(ホーミングサイクル中に各リミットスイッチを押すけれども、S21=1でHard limitがオンになっていても関係なく動き続ける)。

この画面↑でも分かるように、右側のX-Y平面上で、きちんと右上に矢印と現在位置が重なりました。原因はコンデンサーなのか、設定値なのか分かりませんが、なんとかここまで辿りつけました。
これでようやくゼロ地点設定可能となったので、思うように操作できそうです。
というのが、今日の収穫でした。ここまで来るのにかなり疲れました。
あとで設定値などを変えてみてどこが原因だったのか究明したいと思います。途中試行錯誤していた段階でも、速度を変えると動き始めたりしたので、適度な速度設定などがもしかしたら必要なのかもしれません。当然マシンによっても違うので、調べても最適な値は分からないのかもしれません。

ちなみにホーミングが成功するまでは、以下のように現在値と原点がずれた感じになっていました。
追記:
このずれは、現在地をWPosのリセットをすることで解消できます。G92X0Y0Z0のGコードを入力することで現在地を原点(加工原点)にセットすることができます。あるいは、bCNCならX=0、Y=0、Z=0ボタンで各軸ごとに、現在地を0に設定できます。

このままでも作業できないわけでもないのですが、やはりせっかくリミットスイッチもつけたことだし、ホーミングが機能しないと、なんとなく気持ちが悪い。

ということで、ホーミング直後の状態。右奥が原点です。見た目は前から特に変わっていません。
完成目標は4月中としていたので、ぎりぎり予定通りという感じです(まだ少し作業は残ってますが)。まあ、とりあえず一段落つきました。

作業エリア940x740mmの3軸CNCマシンとしてこの段階で、
Grbl0.9j+bCNC:Mac対応フリーウェア
ボールネジ+リニアレール一式:37000円
ステッピングモーターNEMA23(4個):9000円
アルミ構造フレーム材料+ネジ類:12000円
Arduino Uno:3000円
CNCシールドV3.5+モータドライバDRV8824(4個):3000円
配線材料+ケーブルドラッグチェーン:6000円
合計約70000円くらいかかりました。
予算の半分はボールネジ+リニアレールという感じ。MakerSlide、V-Wheel、タイミングベルトなどにしていれば、50000円くらいで済んだかもしれません。
その他:
レーザーモジュール5.5W(購入済み:17000円)、トリマ300W(手持ち:10000円くらい)、DC24V/7A電源(手持ち:5000円くらい)
という感じです。
使用工具など:
卓上マルノコ、小型ボール盤、ジグソー、ハンダゴテ、ホットボンド、各種タップ、各種ドリルビットくらいです。


追記:
その後、ドライバ(DRV8825)のマイクロステッピング設定を1/4から1/8に戻してホーミングしてみましたが問題ありませんでした。
ついでに、以前サンプルで拾った星形の.ngcファイルを読み込ませて実行してみました。
ホーミングでマシン原点を出してから、作業エリアの中央あたりに移動させて、そこをWPosの原点にしてから実行してみました。まだトリマはつけてないですが、MDFを3回パスで削るファイルのようで、きちんと3周して元の定位置に戻りました。もうそろそろCNCルーターとして使えそうという感じが見えてきましたが、まだレーザーについては後回しになっています。


続き:合板の初カット

人気の投稿