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

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



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


2016年4月30日土曜日

CNCマシン:G-Code-Sender(bCNCなど)

前回、試運転をして一応動くことは確認できましたが、調整やコントロールボックスなどつくるところは残っているので、CNCマシンを使った本格的な作業はまだできないといったところです。
Universal-G-Code-Senderを使って簡単なG-Codeを直接入力することで直線運動や円運動をしてみました。Universal-G-Code-Senderは、GitHubのgrblサイトにあったので使ってみたという感じです。
比較的シンプルで分かりやすいのですが、Consoleの出てくる文字をコピペできないというのが少し不便。

そして次に、CNCシールドのProtoneer経由でGrblController3.4.1-T4(ダウンロードなどは以前の記事参照)を見つけて使ってみました。
こちら↑は、もう少しいろいろ機能があって良さそうですが、右上のスライダーで移動量を調節するとき、きりのいい値を入力できなくてちょっと使いにくい。座標値はRefresh Posを押さないと更新されないのも不便。G-Codeを入力するかわりとなるボタンがあってそれなりに便利ではあるのですが。

以前、Shapeoko wikiのG-Code-Senderリストにもいろいろあったのを見て(以前の記事)、Shapeoko3やX-CARVEの専用ソフトは初心者にとっても使いやすそうに思いましたが、自作用にはいろいろ設定できないところもあって結局使えない。

「bCNC」というソフト:
grblサイトのUsing Grblを見てみるとG-Code-Senderリストがあり、bCNCというのが一番上に出ていて(もしかしたら、これが人気なのかな?と思い)、見た目も便利そうなので試してみました。
Pythonベースで、使うにはtk-inter(Macなら既にインストール済み)とpyserial(PipかPypiを先にインストールしてから)が必要。
OSごとのインストール方法はこちらへ(本家Wiki)。
このブログ上でのインストール方法の説明はこちらへ

以下がbCNCの画面。かなりいろんなことができそう。
初心者にとっては、機能が多すぎてどれが何なのかわかりにくいですが、便利そうなことはたしか。
右側にXY平面がありますが、マシンのヘッド部分がリアルタイムで動くのがすごい。Move Gantryボタンを押して、マウスでXY平面上をクリックすると、そこにマシンが動いていく。画面もFile、Control、Probe、Tools、Editor、Terminalと切り替えができるし、G54〜G59に複数の設定を当て込むことができるらしい。

当然座標値もリアルタイムで動くし、Serial接続も自動で行えるように設定できる。
はじめはボタンとかありすぎて難しそうと思いましたが、いろいろいじっているうちに見慣れてきて、なんとなくどんなことができるのか見えてきました。ということで、しばらくはこれを使ってみようかなという感じです。最初の二つよりは使いやすいと思います。いちおうDXFも大丈夫らしい。ただ、検索しても日本の記事はあまりでてこない。日本ではあまり使われていないのでしょうか?

Pendant機能:
bCNCには、Wifi環境を利用しスマホなどをコントローラーとして遠隔操作出来るPendant機能があります。単純に以下の画面のスイッチ(以下画像の▶︎ボタン)をONにすれば自動的にブラウザが立ち上がってブラウザ上の画面からも操作可能となります。

CNCマシン本体(Arduinoボード)とUSB接続したパソコンがネットワークのホストになり、Wifiを使っていればその他のパソコン、スマホ、タブレットなどからもブラウザからホストのIPアドレスにアクセスすることで、CNCマシンを操作することができます。
タブレット上の画面はこんな↑感じ。いちおうファイルも送ることが可能。ちょっとしたリモコンとしてスマホやタブレットを使ってもいいし、ポートマッピングを使えばローカルネットワーク外から遠隔操作することも可能となるはずです。

関連:
bCNCのインストール&使い方
bCNC上で加工原点を移動編集する方法(リンク先ページ後半)

2016年4月29日金曜日

CNCマシン:試運転+Grblの設定

配線はレーザー以外はほぼ終わったので、試しに動かしてみようと思います。まだコントロールボックスも出来ていませんが、最低でもモーター用DC24V電源とCNCシールドがあるのでなんとか動くはずです。
現状はこんな感じ↑です。まだCNCシールドやDC24V(7A)電源はむき出しのまま。各種スイッチ類もまだ。右奥に少しだけレーザードライバーが見えますが、今回は未接続です。

今回、Arduinoボードにはgrbl v0.9jがアップロードされています(アップロード方法はこちらへ)。
念のため、配線が間違っていないか再確認し、DC24V電源を入れ、CNCシールド付きのArduinoボードをMacBookに接続。もし異音や異臭がしたら即CNCシールドのリセットボタンを押す準備を整えておく。

今回はUniversal-G-Code-Sender v1.0.7を使ってみます。Zipファイルをダウンロード+解凍すると以下のような感じ。
この中のUniversalGcodeSender.jarをダブルクリックするとソフトが開きますが、その前にREADMEに注意書きとして、Macの場合パソコン上に"/var/lock"ディレクトリをつくる必要があると。ターミナルを開いて、以下のコマンド入力(要:管理者権限パスワード)。
sudo mkdir /var/lock 
sudo chmod 777 /var/lock 
*UniversalGcodeSender1.0.8以下のバージョン(最新版は1.0.9)をMacで使う場合は、上のようにコマンド入力でディレクトリをつくる必要があるようです。1.0.9の場合は不必要(未確認ですが)。

これで、ようやくUniversalGcodeSender.jarを開くことができます。以下のような画面。
Port:をArduinoボードのポートに設定。Baud:は115200(grbl v0.8までは9600)。
そして「Open」ボタンをクリック。そうすると以下の画面。
ちょっとモーターがカクッと動いて、上の画像のようにすぐロック状態。これは?と思いましたが、そういう仕様のようです。ただ、ここで確認できるのは、一応つながったということと、Arduinoボード内のGrblが0.9jのバージョンであるということ。
['$H'|'$X' to unlock]とコンソールに出ているので、ロック解除するために$Hか$Xを入力しろと。$Hはホーミングらしいですが、まだよくわからないので、今回は$Xの方で。
$XをCommand:に入力しリターンを押すと、以下の画面。
ロック解除されてコンソールにはokと出ています。これで入力可能になります。
試しに、Command:に
X10
を入力すると、X軸が10mm右に動きます。
X-10
なら左へ10mm。
Y10
なら奥へ10mm。
Z10
なら
上に10mm。

いちおう動きましたが、Y軸だけ逆向きです。
どれかの向きが逆転している場合は、$3で以下のように変えられましたが、まず$3で設定する前に、$$で今の設定内容を確認します。
$$
を入力するとずらずらずらと出てきます。

$0=10 (step pulse, usec)
$1=25 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=2 (dir port invert mask:00000010)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.010 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=1 (homing cycle, bool)
$23=4 (homing dir invert mask:00000100)
$24=25.000 (homing feed, mm/min)
$25=600.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$100=320.000 (x, step/mm)
$101=320.000 (y, step/mm)
$102=320.000 (z, step/mm)
$110=600.000 (x max rate, mm/min)
$111=600.000 (y max rate, mm/min)
$112=600.000 (z max rate, mm/min)
$120=10.000 (x accel, mm/sec^2)
$121=10.000 (y accel, mm/sec^2)
$122=10.000 (z accel, mm/sec^2)
$130=740.000 (x max travel, mm)
$131=940.000 (y max travel, mm)
$132=190.000 (z max travel, mm)

すこしいじったのでちょっと違うかもしれませんが、こんな感じです。
上からそれぞれの項目の現在の設定内容が出ています。
$3
が、XYZ各軸の移動反転設定です。
最初は$3=0になっており、Y軸だけ逆だったので、以下の設定テーブルを参照して$3=2を入力(設定変更)しました。

  $3=0 X:反転、Y:反転、Z:反転
  $3=1 X:正転、Y:反転、Z:反転
  $3=2 X:反転、Y:正転、Z:反転
  $3=3 X:正転、Y:正転、Z:反転
  $3=4 X:反転、Y:反転、Z:正転
  $3=5 X:正転、Y:反転、Z:正転
  $3=6 X:反転、Y:正転、Z:正転
  $3=7 X:正転、Y:正転、Z:正転

このようなことは、grblのサイトにあるConfiguring Grbl v0.9に書いてあります。
このほか確認するところは、
$13
使う単位をインチにするなら$13=1にすればいいのですが、だいたいの人はmmだと思うので、$13=0で大丈夫かと。

$23
これはリミットスイッチの+方向とー方向の反転設定です。Z軸が逆になっていたので、$23=0だった設定を$23=4に変えました。これも$3の反転テーブルと同じように変えます。

$100、$101、$102
この三つは移動量のstep/mmなのでマシンに応じて変える必要があると思います。
今回のCNCマシンでは、
・各ステッピングモーターは1回転200ステップ
・DRV8825ドライバのマイクロステッピング設定が1/8
・ボールネジが1回転5mm
なので、各ステッピングモーターは1回転1600ステップで5mm進むことになり、320step/mmということになります。
ということから、
$100=320
$101=320
$102=320
を入力してあります。

$110、$111、$112
は、各軸の最高速度のようです。例えば、
G0 X50
と入力すると、最速で50mm右に動きますが、このG0(速度制限なし)のコマンドの速度の10〜20%少なめくらいがいいと書いてあります。現在は$110=600(たぶん遅め)という感じで適当に入れているだけです。

$130、$131、$132
は、各軸の移動可能距離です。$20のsoft limitsや$21のhard limitsをオンにしたときに有効になるようです($20=0、$21=0なのでオフ状態)。一応CNCマシンの移動可能距離は入力しておきました。

とりあえず、動作確認ではこんなものでしょうか。
まあ、とりあえず動いてよかったです。
DRV8825のヒートシンクもそれほど熱くなっていませんでした。Z軸は、けっこう平行を調整しましたが、まだX軸とY軸に関してはきちんと調整していないので(そのため、接合部のボルトは少し緩めで試運転してみました)、これから再調整必要です。

続き(試し描き):
X10やY10で、あるいはG1 X10 F300などのコマンドを使って、それぞれの軸を直線で動かすことはできましたが、円を描かせてどのくらいの精度があるか確かめてみました。円の描き方はShapeoko wikiのこのページを参考にしました。

ミニクランプで水性ボールペンをはさんでXY軸だけの移動で描いてみました。半径20mmです。
一応きれいに描けています。寸法も合っていました。
Gコードはまだぜんぜん覚えていませんが、G90(絶対座標)とG91(相対座標)の設定ができるようです。この実験のときは、紙の真ん中あたりを原点にしていたので、G90の絶対座標設定にして円を描かせました。
円弧はG2(時計回り)、G3(半時計回り)があり、XYのパラメータ以外にIとJ(Rもあるけどあまり使わないらしい)。
相対座標G91でも試してみました(現在地から半径20mmの円を描く/直径40mm円を12時の位置から時計回りに描く)。
G2 X0 Y0 I0 J-20 F300
G2(円弧時計回り)、X0 Y0(終点座標/開始点でもあるけど)、I0 J-20(現在地からの中心座標の差分)、F300(300mm/minのfeed速度設定)

そのうち、この辺の基本的なGコード入力方法をまとめたいと思います。
追記:
Grblの$コマンドやGコードについて

続き:ホーミングサイクル/リミットスイッチのトラブル

2016年4月28日木曜日

CNCマシン:制作中16(スピンドルマウント)

4/1にAliExpressに注文したスピンドルマウントがやっと到着。Air Mail便で27日もかかりました。なかなか着かないので気になってはいたのですが、トラッキングしてみるとこんな感じ。
4/14に[Reach Guangzhou terminal]、Leave [Guanzhou] TAC Air Terminalとなっているので、空港に到着して出発したかのようですが、4/16にも同様に到着して出発、さらに4/23にも到着と出発。これって、出発したのに、また同じところに戻ってるみたいな感じ。4/23の出発後、4/26に川崎に到着しています。もし、4/14にちゃんと出発していれば、その3日後の4/17には川崎に着いていたはず。そしてその二日後の4/19には手元に届いていたはず。なんで、途中で3回も同じところをぐるぐると回っているのかなと疑問に思っていました。今までの経験だと、早ければ10日くらい、遅くて3週間くらいでしたが、今回はかなり遅いほう。配送がきちんとすれば、AliExpressももっと使いやすくなるんですが、ちゃんと着いたからよかったと思うしかないのかも。

思ったより大きい。がっちりホールドしてくれそうなのでいいかもしれません。アルミキャストですが、柔らかいアルミのようでそれほど重くないです。一見きれいに見えますが、アルミの上にシルバーの塗装がしてあります。手で持つと塗装がついて手が銀色になります(なので一度タワシで水洗いしました)。写真では分かりにくいですが、正直それほど精巧なつくりではないです。三つ穴なのになぜかネジは2本しかついていませんでした。径65mmのスピンドル用です。手持ちのマキタのトリマが入るかチェック。
けっこうぴったりで特に問題なし。多少バリがあるので、ヤスリで面取りなどしました。
同時に、二股のクーラントチューブも届いたので、取り付けるとしたらこんな感じ。
このクーラントチューブは集塵用に買ってみたのですが、このトリマは下に吐き出す排気になっているので、この程度ではあまり集塵効果は期待できません。以前つくった360度囲い込む集塵装置をつけたほうがいいかもしれません。このクーラントチューブは、逆に空気を送り込んで文字通り冷却用に使うかもしれません。
AliExpress.com Product - High Quality 1PCS 1/4" Round Nozzle Plastic Flexible Coolant Pipe Valve/Milling Lathe Milling CNC Machine Switch
ということで、またスピンドルマウントに戻りますが、スピンドルマウントとZ軸の移動テーブルに穴あけする必要があります。マウントのアルミは柔らかく、すぐに穴があきます。M5用に径5.5mm貫通穴をあけて、ボルトの頭を沈めるために(16mm長のボルトでは短すぎたので)径10mmで5mmほど(隣の立ち上がりがあるため、段付きドリルビットだと短すぎて使えない)。
以下のように取り付けてみました。特に問題なしというか、予想通りという感じ。
ちなみに、トリマ+マウント+Z軸でちょうど8kgくらい。やっぱり重い。
トリマから伸びている電源コードは、蛇腹ホースや何かで宙に浮くようにしないといけないかもしれません。あるいはピアノ線をケーブルにつけるのでもいいかもしれません。電源コードはこの先にスピードコントローラーがついて、いちおうスピード調節できるようにします。
以下が以前Amazonで購入したスピードコントローラーです。20Aまで大丈夫なので、アルミLアングルなどを切断する際の卓上マルノコにも使っていました。けっこう便利です。



配線作業も大体終わりそうなのですが、そろそろ直動機構の平行やレベル出しをしなければいけません。

AliExpress.com Product - New Arrived ! CNC Spindle Motor Clamping Bracket 65mm Diameter Square mount Cast Aluminium Bracket !

続き:いよいよ試運転

2016年4月27日水曜日

CNCマシン:制作中15(配線作業その5)

前回CNCシールドからの配線までは終わったので、次はこの左に見えるコネクターに接続する本体からのケーブルをつくります。上画像のコネクターには、あと8線レーザー+その他用につながる予定ですが、それは後回しで。

というわけで、本体からのケーブル合計36線なんとかまとめました。以前と同様にコネクターは2.54mmピッチのピンヘッダとピンソケット。ハンダ付けした部分に黒いホットボンドを充填し、コテと台(クラフトテープのテフロンっぽい表面を使った)でコネクターの四方から押さえつけて平らにしておきました。
この状態なら、CNCシールドにDC24V供給しパソコンとUSB接続すれば、いちおう動くはず。
まだスイッチ類(主電源スイッチ、レーザー用スイッチ、非常停止スイッチなど)が残っています(レーザー用の配線も)。
それから、ガイドレールの平行、直角、レベルを出すためのジグも作らないといけないかもしれません。そのままではなかなか計測しにくいので、たぶんアルミの端材を使ってダイヤルゲージがセットできるようなものをつくらないといけないかも。

続き:スピンドルマウント装着

2016年4月26日火曜日

CNCマシン:制作中14(配線作業その4)

まだまだ配線作業が残っています。同時にスイッチ類などもつけたいと思ってます。
非常停止ボタンも買おうと、前回配線材料を買いに秋葉原に行ったのですが意外に高い(1000円以上する)。AliExpressで探してみると、やっぱり安い。
いわゆる、押したら回さないと元に戻らないボタンスイッチ。ボタンの直径だけで40mmもある。まあ、目立っていいのかもしれないけどかなり大きい。安いので、これも注文(140円送料無料)。これはいずれつけるにしても、他の部分のスイッチや配線作業がまだまだ残ってます。
本体のほうの配線作業もありますが、CNCシールドのほうの配線作業もあるので、こちらからすすめています。
手前に本体からのケーブルをつなげるためのコネクター(2.54mmピッチピンソケット)、そしてCNCシールド、レーザー用ドライバ、DC24V電源という感じで並んでいます。CNCシールドはV3.5、DRV8825を搭載(電流制限セッティング済み)。これらをコントロールボックスとしてスイッチ類もつけて完成させたいのですが、スイッチパネル制作などはまだ。全体的に細長い感じになる予定。

そして、前回の専用台に本体を固定するためのLアングルは穴あけしボルトで本体に固定。いまのところミニクランプで台に固定中。これでも大丈夫かもしれません。ただ、平行直角の調整を行ってから本格的に固定ということになります。
もう少しで完成しそうなのですが、細かいところがけっこう残ってます。仮運転くらいは近々できるかもしれません。

続き:配線作業(その5)

2016年4月25日月曜日

CNCマシン:制作中13(専用台)

配線はXYZ軸すべてが集結する最後の部分ですが、この部分をまとめてCNCシールドへつなげるようにします。線が多すぎて作業のやる気があまりおこりません。

というのも、この最後の部分にはCNCシールドを内蔵したコントロールボックスがきたり、最後のケーブルドラッグチェーンの出口の固定の仕方、さらにはY軸の反対側にあるモーターの線を引っ張ってくるなど、いくつかやらなければいけないことがあり、まだアイデアがまとまっていません。CNCシールドからの配線(コネクター)も必要なので、そちらからやろうかなとも思ってました。
しかし、そろそろマシン本体の平行や直角も調整しないといけないので、どうしようかと。

ということで、このCNCマシン専用台を用意することにしました。前に作業台として使っていた24mm厚のシナ合板1220x1200mmがあるので、サンダーで表面をきれいにし、余っていたステイン塗料を塗ってみました。
という感じで、CNCマシンを一度分解して新しい専用台に引っ越し。こんな↑感じです。右側に余白があって、そこにコントロールボックスなど置くつもりです。24mm厚の積層合板でけっこうしっかりしているので、このままマシン本体を固定してもいいかもと。
当初は、Y軸2本をつなぐ前後のフレーム材(75x50mmのLアングル)をつけようと思っていましたが、それのジョイント材として切り出してあったこの部材↑(長さ65mm短いLアングル)をY軸端部に取り付けて、そのまま台に固定してもいいかもしれないと思ってます。前方がフレーム材によって塞がらないので、そのまま普通の作業台としても使いやすくなります。

おそらく専用台を用意したほうが、マシン本体を直に固定することもできるし、平行直角出しなどいろいろやりやすいかなと思い、配線作業するかわりにこんなことをやってました。

続き:配線作業(その4)

2016年4月24日日曜日

CNCマシン:制作中12(配線作業その3)

X軸とY軸との交点に必要な配線用ブラケット制作から開始。どの部分にコネクターをつけようか悩みましたが、すぐに取り外すことができるX軸のモーターマウント上に取り付けることにしました。
手前左から、コネクター(ピンヘッダ+ピンソケット)、コネクター用ブラケット、右に見えるのがケーブルドラッグチェーン用ブラケット、モーターマウント上にM3のタップを2カ所切って、そこにコネクター用ブラケットを取り付けます。こんな感じで、必要に応じてブラケットをつくったり細かい作業が多いです。

これらを組み立ててハンダ付けし、ようやくX軸とY軸をつなぐ配線が終わったところ。Y軸に沿った2個目のケーブルドラッグチェーンに8芯ケーブル3本通しました。
8芯ケーブル3本だとかなり弾力があるのですが、なんとかねじ曲げてすっきりまとまりました。いちおうどのネジにもアクセス可能にしておきました。
ハンダ付けしてあるところは前回同様黒いホットボンドで固めてあります。今回は、ホットボンドを盛りつけたあとにコテ(クラフトテープの粘着しにくい表面)で押さえたので、内部に充填しつつ表面もいくらか平らになっています。X軸(Z軸も含む)をY軸から切り離すときに、このコネクターを外す感じです。いちおう通電テストもしてみましたが大丈夫そうです。

次は、これら8芯線3本がケーブルドラッグチェーンを通った後に、Y軸モーター2個+Y軸リミットスイッチ2個と合流します。合計で36線となり、最後にCNCシールドや電源が入っているコントロールボックスにつながる予定です。

続き:「専用台の制作

2016年4月23日土曜日

CNCマシン:制作中11(配線作業その2)

前回のZ軸裏の部分が大体できました(Z軸につくレーザー+FAN+LED+EXTRAの合計8線はまだ)。結束バンドで力が加わりそうなところはブラケットといっしょに固定。ケーブルドラッグチェーンが垂れる部分をLアングルで支える部材を付け加えました。これで、正面から見れば、ケーブルドラッグチェーンはX軸のちょうど真裏で動くので目障りではありません。
まあ、それなりにすっきりしました。けっこう時間かかります。ケーブルの取り回しを考えて、そのための小さなブラケットをつくり、細かい作業が多いです。8芯ケーブル2本が取り付くピンソケット部分とケーブルドラッグチェーンに入る手前の部分は、いちおう結束バンドで押さえておくことに。結束バンドを通すために、ピンソケットがついている短いアングルはスペーサーで少し浮かしてあります。
その場その場で解決しながらつくっているので、あーでもないこーでもないと考えている間に時間がたってしまいます。しかもブラケットが取り付く穴を本体にもあける必要があるので、いちいち分解しては、ボール盤へ持って行き作業をする感じです。

つぎは、この↑部分。ここは前回の線+X軸モーター+X軸リミットスイッチで、合計24線ケーブルドラッグチェーンを通ります。8芯ケーブルなら3本ですが。
ここは、前回より大変そうです。まだ、どこに何を配置するか決まっていません。だいたい以下三つがここに集中しています。
・前回のX軸裏ケーブルドラッグチェーンを通ってきた8芯ケーブル2本の着地点コネクター
・X軸モーターとX軸リミットスイッチの端子をまとめたコネクター(合計8線)
・つぎのケーブルドラッグチェーンの入り口(8芯x3本)
あまりスペースもないのでまた新たなブラケットを付け加えなければいけませんが、どこにどのようにつけようか思案中です。必要に応じて、既存部品の改造もでてくるかと思います。そうなると、また分解して穴あけし、組み立て状態を見るという繰り返しになります。

次:配線作業続き

CNCマシン:制作中10(配線作業)

今日秋葉原に行って、ケーブルや端子類を購入してきました。
ケーブルはオヤイデで、ケーブルドラッグチェーンを通すなら多芯ケーブルがいいと思い購入。
左がVVC8芯(0.3㎟)、右がVVC4芯(0.3㎟)。それぞれ径が7mm、6mmくらい。最初ネットで見た段階では中の芯の断面積0.18㎟にしようかと思ってましたが、現物を見ると細いので、ひとつ上の太いものにしました。この太さでもケーブルドラッグチェーンには通るし、曲げてみてもそんなに硬くないので問題ないでしょう。これが2〜3本ケーブルドラッグチェーンに通る感じになります。
それから、赤黒の2本線ケーブルもリミットスイッチ用に買いました。
モーターなどからのノイズ対策にシールドケーブルもいいとShapeOko wikiに書いてありましたが、今回は普通のケーブルで。ノイズがひどければ、あとで交換するしかない。


まずは簡単そうなリミットスイッチから作業開始。これはX軸の一番遠いところのリミットスイッチ。レールの下の隙間にケーブルを通すことができたので、ちょうどよかったです。いちおう熱収縮チューブでハンダづけした端子部分を覆い、両面テープ付きのケーブル用抑え金具で多少引っ張られてもすぐには外れないようにしておきました。


これ↑は、Z軸の下のリミットスイッチ。ケーブルが弛まないように押さえ金具で部分的に固定。


つぎはZ軸裏側部分とX軸との交点。ここが面倒。モーターやリミットスイッチ、その他レーザー用の端子など入れると合計で16線あります。さきほどのVVC8芯ケーブル二本をZ軸から持って来て、ケーブルドラッグチェーンに通す部分です。ケーブルドラッグチェーンはどっち向きがいいか迷いましたが、下に垂らすほうにしてX軸の真裏にくるようにしました。木のブロックで支えていますが、あとで垂れるポイントに短いLアングルを取り付ける予定です。


上から8線Z軸のケーブルが来ており(レーザー用にあと8線あるけど、それはまだ)、普通の2.54mmピッチのピンヘッダ(2列x4)とつながれて、X軸側のピンソケットに差し込まれています(コネクターはちょうどいいのがなかったので、ピンヘッダとピンソケットを代用)。ピンヘッダだと弱すぎるかなと思いましたが、CNCシールドのモーター端子もピンヘッダなので大丈夫かと。分解するときに、Z軸とX軸を分離できるように配線を脱着可能にしてあります。
まだ仮固定中ですが、ピンソケットの両端3本ずつのソケットを抜き、そこにM3穴をあけてLアングルに固定する予定です。ピンヘッダのハンダづけされている部分は、ピンがたまに抜けるときがあるので、熱収縮チューブを用いずホットボンド(黒色)で固めてしまっています。同様にピンソケット側の8芯ケーブル2本分(合計16線)もホットボンドで固めてしまいました。とにかくこの8芯ケーブルをハンダ付けするのが面倒。
ケーブルドラッグチェーンの内寸が10x20mmで、まだ少しゆとりがあります。

こんな感じでしばらくは配線作業となります。
ホットボンドがべたべた扱いにくいのですが、ある程度盛りつけたらすぐにクラフトテープの表面(テプロンっぽい粘着しにくい面)に押し付けると平らになることがわかったので、今後そうやってもう少しきれいに作業しようと思ってます。

次:配線作業続き

2016年4月21日木曜日

CNCマシン:配線計画その2+CNCシールドV3.5到着
























CNCマシン本体に対して、主には以下の配線が必要です。
・XYZ軸のステッピングモーター(4個)
・XYZ軸両端のリミットスイッチ(6個)
・レーザーモジュール+ファン
・LED照明+予備端子

全ては手前右下のCNCシールドを内蔵したコントロールボックスまで線が引かれます。
コントロールボックス上には、主電源スイッチや非常停止ボタンなどいくつかのスイッチ類がつきます。
途中、X軸裏面とY軸右側面にケーブルドラッグチェーンがつきます。
ケーブルはCNCマシン本体をX軸、Y軸、Z軸にそれぞれ分解したときに脱着可能にするためコネクターが用いられます。
以下が配線のダイアグラムです(ちょっと見にくいですが)。































字がつぶれて見にくいですが、このくらいの配線数があるという感じです。かなり大変。
上のほうから、一番遠いZ軸付近のもの、次にX軸関係、そしてY軸関係、最後下の方がコントロールボックス(CNCシールド)で、スイッチ類や電源など。
途中にコネクターもつけるので、その数も多いです。だいたいこれで把握はできたので、まだケーブルドラッグチェーンは届いていないのですが、配線部品を買いにいこうと思います。コネクター類は現物を見て判断しながら選ぼうと思います(相応しいのがなければ、普通の2.54mmピッチのピンヘッダとピンソケットでもよさそうだけど)。

CNCシールドV3.5到着
それから、CNCシールドV3.5が届きました。これでレーザーの可変出力が可能になります。
V3.0からだと、けっこう内容が変わっているようです。ピンの数も増えている感じです。


























このCNCシールドにDRV8825を4つのせる予定です。DRV8825のほうが電流制限値が高いのでその分パワフルなのでは。



























基板右側の真ん中あたりに「SpnEn(pwm)」端子があります。それと基板左上のタクトスイッチの右にある「P-STOP(シルクが重なって読みにくい)」とあるのが、非常停止ボタン用でしょうか?試してみないと分からないですね。基板右下の「Abort(中断/途中終了)」とどう違うのか?タクトスイッチ(Arduinoボードのリセットスイッチ)のすぐとなりにあるので、リセットだとは思うのですが。
それと、ジャンパーブロックもついていました。これでようやく実験できます。

ハードウェア/構造の作業は大体終わったので、徐々に電気系の作業に移っていきます。

次:引き続き配線作業

2016年4月20日水曜日

CNCマシン:制作中9(リミットスイッチ+配線計画)


リミットスイッチXYZ軸用(合計6個)つくりました。左からX軸用、Y軸用、Z軸用。フレーム外部に取り付けるものは大きめですが、内部に取り付けるものはスペースが限られているのでかなり小さいです。マイクロスイッチの大きさが13x6.5x5mmで、アルミLアングルを加工したものにM2ネジで固定してあり、本体へはM3ネジで固定します。
注文したケーブルドラッグチェーンがまだ届かないので、配線作業はまだこれからです。本体をX軸、Y軸、Z軸に分解したときに配線も脱着可能にするために各部にコネクターも必要です。配線作業もけっこう手間がかかりそうです。
当初は、XYZ軸のリミットスイッチをパラレルにつないで一組のプラスマイナスの線に集約しようと考えていましたが、grbl0.9では、それぞれ別々に認識してくれるようなので、CNCシールドまで合計12本の線で引っ張ってくることになります。

追記:
Arduinoボードのピン割当を見てみると、XYZで3端子+GNDの合計4端子あればいいようです。つまりX+とX-はパラレルにつながっているということです。YやZも同じ。ということで、12本が4本で済むはずです。


配線計画
CNCマシン本体Y軸右手前(Y-のリミットスイッチを基準点とすると)からの線の最短道のりは以下のようになるので、
X+2線:1.2m
X-2線:2.2m
Y+2線:1.2m
Y-2線:0m(基準点)
Z+2線:2.4m
Z-2線:2.4m
最短でも合計9.4m。
しかし、Y-の基準点からコントロールボックス(CNCシールドや安定化電源)までの線もあるので、それぞれに0.5m延長させると12.4mとなり、リミットスイッチだけでも約15m分は2本線ワイヤーを買ってこなければいけません。

そのほか、
・ステッピングモーター
  X軸4線:1.2m
  Y軸左4線:1.0m
  Y軸右4線:0m(基準点)
  Z軸:4線2.4m
・レーザーモジュール
  LD2線:2.4m
  ファン2線:2.4m
  TTL2線:2.4m

スピンドル先端にLED照明もつけたいけどそれは後回し(というか2線余分につけておけばいい)。
ワイヤーの種類や長さ、コネクター端子類、そしてスイッチ類などいろいろあるので、一度きちんと配線計画の図面を描いて整理してみないとダメですね。そのあとに秋葉原に行く感じですね。

次は配線計画へ

ボールネジの種類や仕組み

今回使っている送り機構としてのボールスクリュー(ボールネジ)には、いくつか種類や仕組みの違いがあるようです。ミスミの「エンジニアのための技術講座」に書いてありました。

ボールネジの種類や仕組み

鋼球の循環方式解説
(1)エンドキャップ方式ナット内壁の鋼球循環穴と両端に組付けるエンドキャップで循環させる構造で、高速駆動に強い
(2)フロップオーバー方式(こま方式)「こま」をナット外筒に埋め込み、1リード毎にねじ軸のランド部を乗り越えて鋼球をもとの溝に戻し循環させる方式、コンパクト化に適す
(3)リターンチューブ方式鋼球循環用に成形した鋼管(リターンチューブ)をナット外周から組付けた構造で、組立が容易で量産に適していますがサイズが大きくなる
(4)ガイドプレート方式リターンチューブの替わりに同じ機能のガイドプレートやディフレクタを採用した構造で、コンパクト化に適している



上図はボールスクリュー上のナットについてですが、内部でベアリングが循環しているのはなんとなく知ってはいましたが、こんな感じになっているんですね。内部のベアリングボールがボールスクリューの溝を転がりながら進んでいて、行き止まりにならないように、また最初の位置に戻って来れるような道がついています。
ナットをボールスクリューから外してしまうと、バラバラとベアリングが出て来てしまって、再度入れ直すのは大変そうです。


今回購入したボールスクリューは「こま方式」のものだと思います。画像にあるような「こま部品」がついていました。この部分で一周回ってきたベアリングボールがまた元に戻るという仕組みになっているんですね。たしかによくできてる。


ボールネジの精度と等級
それからボールネジの精度や等級についての説明もありました。
JISだとC0、C1、C3、C5、C7、C10の6等級あるようです。C0〜C5が精密ボールネジ、C7〜C10が一般ボールネジで、C0が一番精度あるということです。
今回使っているのは、たしかC7の一般ボールネジだと思います。おそらく精密ボールネジクラスになると、値段も一気にあがりそうです。今後ボールネジを見たときに、この等級を参考にしてみるといいかもしれません。

ちなみにAliExpressだと、以下のようなC7クラスのボールネジが安く売っています。
AliExpress.com Product - 16mm Ballscrew 1605 C7 SFU1605 Rolled ball screw L=500mm with single ball nut for CNC part BK/BF12 end processing径16mm、500mm長、リード5mm、4,538円(送料込み)図面を送れば固有の両端加工もしてくれるようです。
ホビー程度ならC7クラスでも充分だと思います。当然台形ネジよりもずっと精度はでるはずです。国内(ミスミなど)でC5の精密ボールネジを購入するなら、最低でも5万円以上はすると思います。確かに、ボールネジの部分は加工精度に大きく影響してきますが、それと同様に躯体そのものも相当剛性がなければ意味のないものとなってしまうので、業務用レベルの加工精度を必要としないかぎりは、そこまで精度をあげなくてもよさそうです。

さらには、AliExpressには以下のようなCNCマシン用のボールネジセットも売っています。
AliExpress.com Product - 3sets Linear Rails SBR16 +3 ballscrews 1605+3 bearing mount BK/BF12 +3 couplersXYZ軸用のボールネジ、両端ベアリング、スライド機構含めて、33,022円(FedEx送料込み)国内C5精密ボールネジ1本以下の値段で、このようなセットも購入できます。

ボールネジの与圧
与圧によってボールネジのバックラッシュ低減や剛性の増大をさせているらしいです。あそびを設けるというよりも、逆に圧力かけているみたいですね。今回のボールネジナットにも小さなイモネジが2カ所ついており、そこを締めてみるとたしかに動きがきつくなります。これは与圧調整用ということなのかも。
用語解説
定位置予圧ねじ軸と鋼球の位置関係で予圧を与える方式
オーバーサイズボール方式ねじ溝の形状より僅かに大きな径(弾性変形程度)の鋼球を挿入して、常に力がかかった状態にする方式
リードシフト方式ナットの中央部でかけたい予圧量分だけリードをずらして溝加工し予圧を与える方式
間座方式2個のダブルナット構造の間に、予圧量分だけスペーサ(間座)をはさんで固定させた方式
定圧予圧ばね力を用いて予圧を与える方式


まあ、ここまで本格的な精密さは求めてはいないのですが、仕組みが分かることでメンテナンスやトラブルの際の対処方法も見えてきます。


ボールネジへの給油(参照こちら
潤滑剤
用途
商品名
メーカ名
点検および補給
グリース
一般用アルバニアグリースS2昭和シェルグリースの汚れ、切粉の混入を2~3ヶ月間隔で点検する。
古いグリースを拭き取った後に補給する。特に異常がない場合も1年程度で交換する。
モービラックス No.2モービル石油
ダフニーコロネックスグリース No.2出光興産
低温用
マルテンプ PS No.2協同油脂
高温用
マルテンプ LRL協同油脂
オイル
一般用
ダフニーメカニックオイル出光興産油量、汚れを1週間ごとに点検する。
点検ごとに補給すること。
モービルバクトラオイルヘビーモービル石油


シェル アルバニアグリース HDX
昭和シェル石油
販売価格 ¥842