これまでのあらすじ:
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年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週間ごとに点検する。
点検ごとに補給すること。
モービルバクトラオイルヘビーモービル石油



アルバニアグリースS2

2016年4月19日火曜日

CNCマシン:制作中8(XY軸接合部+リミットスイッチ)

X軸とY軸の接合部分を改良していました。前回のやり方だと最終的な平行や直角の調整のとき、アクセスできないネジがあったので、ワンクッションはさんだ部材を付け加えることで解決しました。これで組み立てや分解、そして調整も楽になります。


























まずY軸のスライダー部分です。線対称的に奥にも同じY軸のスライダーがあります。この上にX軸がまたがるようにのります。X軸からすれば移動する土台みたいなものです。上面は穴だらけ。中央4つの穴は前回の失敗穴です。今回は使いません。



























上方↑にX軸が見えます(木のブロックで持ち上げています)。X軸の端部には下からアルミ板をつけて逆Tの字型の足をつけました。これが今回付け足した部品です。このままX軸をY軸に降ろして、ネジをしめるだけです。前回は気をきかせて一部下から差し込むネジをつかっていましたが、今回は全部上から差し込むネジに変更しました。この状態であれば、Y軸はスライダー含め固定されており、その固定された状態で上からX軸をのせることができます。またX軸の高さをもっと高くしたい場合には、この部分にスペーサー的な部材を挿入すればいいと思います。




























こちら↑は、X軸反対側のモーター部分。カップリングの下に見える極低頭ネジの部分が前回一番の問題でした。ネジ頭は他の部品に干渉しないのですが、スペースがせまいため締めにくい。いったんモーターマウントを外してから締めないといけません。モーターマウントはすぐに裏のネジを外せばとれるようにしておいたのでそれほど問題ではないのですが、それでもベアリングユニットにすこし重なってしまったので、六角レンチが入りにくいかんじです。それで以下のように既存の六角レンチをグラインダーでカットして短くしました。


























奥の六角レンチが既存のもので、手前がカットして短くしたものです。高さが約13mm。それでも締めにくいのですが、少しずつでも確実に回すことはできるという感じです。作っていると、どうしてもこういった例外的な部分がでてきたりします。今回は、これでいちおう解決したことにしました。

前回はひとつの部材でX軸とY軸を固定しようと材料数を減らしたために構成はシンプルになったのですが、かえって組み立てや調整がしにくい仕組みになっていました。なんか地味な作業でしたが、この部分はマシンの動きや精度において重要な箇所なので、いちおうきちんと作り直しておきました。一枚部材が増えたことから、調整の幅も増えたという感じです。本調整はモーターを動かしながらとなるので、もう少し先です。

この段階で、Y軸片側を手でスライドさせてみましたが、かなり剛性があるみたいで、反対側の対となるY軸にはほとんどブレがありませんでした。ベアリングの入ったスライダーとレールの場合、動きが滑らかなだけでなく、あそびがほとんどなくても動くようなので、Y軸ではステッピングモーターを片側だけにしても大丈夫そうです(いまのところ2個使う予定ではありましたが)。逆にモーター2個だと、同期が崩れた場合問題となってしまいます。このことも実際モーター試運転のとき試してみます。

これでXYZ軸のおおまかなつくりは完了した感じです。あとはもう少し細かいところ。ということで、試しにリミットスイッチ部分をつくってみました。



























これはX軸端部のリミットスイッチです。
注文したマイクロスイッチが思ったより小さく(13x6.5x5mm)、板バネの移動量も少ないので少し折り曲げました。スイッチが押されても多少惰性で動くと思うので、ある程度のあそびがあったほうがいいはずです。30x30mm t=3mmのLアングル(また手持ちスクラップから)をジグソーで切ってスイッチのサポート部材をつくりました。止めてあるネジはM2です。LアングルのほうにM2タップをきってあります。こんな感じで、X軸の両端とY軸の前方端部はいけると思います。その他の部分は、多少違うかたちにしないと固定できないので、また後日考えます。

CNCマシン:CNCシールド+ドライバDRV8825/A4988(まとめ)

数日前にDRV8825もAliExpressから届いており、CNCマシンが完成したらAitendoで購入したA4988と交換する予定です。ついでに、CNCシールドの新しいバージョン3.5も注文しました。いまなら、AliExpressでも$20以下で買えるようです。CNCシールドv3.5(V3.1から)ではgrbl0.9のピン配列に対応しているため、そのままPWM端子を使ってスピンドルやレーザーモジュールの可変出力制御できます。V3.0の場合grbl0.9のピン配列に対応していないため、Z+とZ-がPWMピン、SpnEn端子がZ+(あるいはZ-)。Ebayから購入すれば、最新版V3.5.1みたいですね。
*CNCシールドV3.0とV3.1以上(最新版V3.51)の違いについてはこちらへ

主に制御用の電気系統については以下が必要:
・grbl0.9jファームウェアをアップロードしたArduino Uno(方法はこちらへ
・CNCシールド(CNCシールドV3.0とV3.1以上の違いに注意)
・ステッピングモータードライバ(A4988/DRV8825など)
・ステッピングモーター(各XYZ軸)
・XYZ軸用リミットスイッチ(マイクロスイッチなど)
・スピンドル用TTL端子付きドライバ(あるいはレーザー用ドライバ)
・電源(ステッピングモーター用):DC24V/5A以上
・非常停止ボタンや各種スイッチ類(要配線)
という感じでしょうか。
ステッピングモーターのトルクや許容アンペア数、それに応じたステッピングモータードライバについてはデータシートなど見ながら適切なものを選んだほうがいいと思います。また電源もDC12VよりはDC24Vで充分なアンペア数のあるものを選んだほうがいいと思います。
各項目の詳細は以下に書いてあります。


追記:AliExpressでもV3.51ありました。以下。
AliExpress.com Product - New Development Board CNC Shield V3.51 for Arduino 3D Printer Micro Controllers GRBL v0.9 Compatible Uses Pololu Drivers1958円(送料込み)



どうやらこのCNCシールドV3.5は、クローンがたくさん出回っているV3.0と違って、AliExpressだとここでしか扱ってないようです。PROTONEER純正品らしく値段も格安というわけではないです。もともとそんなに高いものではないですが。

実は、まだCNCシールドV3.0を使ってステッピングモーターの試運転をしてなくて、というのもジャンパーブロックを購入していなくて、マイクロステップやA端子へのクローン設定を確かめることができないでいます。

AliExpressだとジャンパーブロックが格安だけれども、こんなに要らない。100個で105円(送料無料)。ピッチは2.54mmのものを使います。


CNCシールド:A端子設定:
CNCシールドにはXYZ軸用ドライバ端子と予備のAドライバ端子(4番目のドライバ用端子)があり、基板上のピン(電源12-36V端子の上に並んでいるX,Y,Z,D12)にジャンパーブロックを差し込むことで、AをXYZのどれかのクローンに設定することができます。またXYZのクローンではなく、独立した4番目のモーターとして駆動することもできます(Arduino Uno/ATMega328にアップロードするgrbl0.9や1.1は3軸まで、Arduino Mega 2560用であれば専用の4軸ファームウェア6軸ファームウェアがあります)。今回製作しているCNCマシンのようにY軸に2個のステッピングモーターを使っている場合は、Y軸設定をA端子にクローンすれば、二つのモーターが同じ動きになります。設定方法はこちらに書いてあります。

AをY軸のクローンにするなら、上記画像のように、ジャンパーブロック2個をYの欄に横一列に差し込むことになります。AをX軸のクローンにするなら、X欄に横一列に差し込む。独立した4番目のモーターとして制御するなら D12へ。説明は見当たらないですが、Aの回転を反転するには、A.DIRに差し込んだジャンパーブロックを外せばいいのかもしれません。ステッピングモーターの配線を反転させるといいようです。

AliExpress.com Product - Free Shipping 4 X A4988 Stepper Driver Module with Heat Sink + CNC Shield Expansion Board for Arduino V3 Engraver 3D PrinterCNCシールドV3.0(V3.51より古いタイプ)とA4988のセットならかなり安い。1146円(送料込み)。V3.0でも配線に注意すれば使えるので、低価格重視ならこれでも充分。


リミットスイッチ:
XYZ軸の両端にリミットスイッチをつけるときは、CNCシールド基板右側にあるEND STOPS:X+,X-,Y+,Y-,Z+,Z-にマイクロスイッチなどを接続(±の記号は通常、X+:右方向のリミット、X-:左方向のリミット、Y+:奥、 Y-:手前、Z+:上、Z-:下)。接続方法はこのページ下部にあります。
リミットスイッチは原則的には通常オープンのほうの端子を使います。
追記:
リミットスイッチ端子はかなりノイズに弱いようなので、コンデンサーをつけるといいみたいです(その内容はこちら)。

CNCシールドV3.0(grbl0.8ではなくgrbl0.9や1.1に使う場合)のリミットスイッチについて:
grbl0.9からは、Z軸用リミットスイッチのピンとSpindle PWMのピンの位置が入れ替わったので、それに対応していないCNCシールドV3.0(grbl0.8用)を使うときは注意が必要です。CNCシールドV3.0の場合、まだSpindle PWM端子(可変制御)ではなく、Spindle Enable端子(ON/OFF制御)になっているはずです。つまり、CNCシールドV3.0でgrbl0.9や1.1を使う場合は、Z軸用リミットスイッチ(+と-の両方)をSpindle Enable端子に接続。そのかわりSpindle Enable(PWM端子として)は、Z+かZ-のどちらかへ接続。CNCシールドV3.0上のZ+とZ-は内部でパラレルにつながれているので、どちらにつないでもいいはずです。
*CNCシールドV3.0とV3.1以上(最新版V3.51)の違いについてはこちらへ

CNCシールド3.10以降であればgrbl0.9や1.1に対応しているので、ピンの配置はそのままのはずです。
CNCシールド上の各リミットスイッチ端子(2本ずつ)は、普段オープンな状態になっており、内部のプルアップ抵抗により一方の端子(内側の端子)がHIGH(5V)の状態になっています。リミットスイッチが押されるともう一本の外側のGND端子と接続されるためにLOW(0V)になり反応したということになるようです。
CNCシールドV3.0.2からは、リミットスイッチが押されたときにLOWになるかHIGHになるかを選択できる端子(END STOP HIGH/LOWの横にならんだ3本ピン)があります。デフォルトでは、3本ピンの左と真ん中にジャンパブロックを差し込む。逆の設定にしたい場合は、真ん中と右に差し込む。


ドライバ(A4988/DRV8825)の設定:
ドライバは、CNCシールドにただ差し込んで終わりというわけではなく、
・ヒートシンクをつける
・マイクロステッピング設定をする
・電流制限設定をする
ということが必要です(以下に説明)。

まずCNCシールドにドライバを差し込むときは、向きに注意しないといけません。
A4988なら、CNCシールド対してこの向き(上画像)。A4988上の可変抵抗器が下にくる感じです(この可変抵抗器もあとで使用するモーターに合わせて設定しなければいけません)。上画像のようにヒートシンクを各ドライバにつけたほうがいいでしょう。ヒートシンクなしだと1Aまで、ヒートシンクやクーリングファンできちんと冷却すれば2Aまで大丈夫らしいです。

また、DRV8825なら以下のような向き。A4988と違って可変抵抗器が上にくるように差し込みます。DRV8825はヒートシンクなしで1.5A、ヒートシンクありで2.5A。



実はドライバの裏側を見れば、どの端子が何なのか分かるのですが、始めて見たときは気づきにくいかもしれません。



マイクロステッピング設定方法:
ドライバを差し込むと見えなくなってしまいますが、ドライバのちょうど真下にジャンパーブロック(ジャンパーピン)を縦に3個差し込む端子MS1、MS2、MS3があります。以下の赤枠で囲んだ部分。
上画像の場合は、Z軸用ドライバの位置に白いジャンパーブロック(ジャンパーピン)が縦に2個差し込まれています。マイクロステップは以下の表を参考にすると1/8になります。X、Y、Aに関しても同様に所定の箇所へ必要数取り付けてください。

ジャンパーブロックの差し込む組み合わせによってマイクロステッピングをFull Step(1/1)、 Half Step(1/2)、1/4、1/8、1/16から選ぶことができます。Low:差し込まない、High:差し込む。
最高1/16までできるのがA4988(以下)。Pololuのサイトの書いてあります

MS1MS2MS3Microstep Resolution
LowLowLowFull step
HighLowLowHalf step
LowHighLowQuarter step
HighHighLowEighth step
HighHighHighSixteenth step
ジャンパーブロックを何も差し込まなければ、初期設定のLow/Low/Lowのフルステップになります。
つまりマイクロステッピングされないまま、1回転200ステップのモーターなら200ステップのまま。
3つさせば、200x16=3200で1回転で3200ステップのきめ細かさになります。細かくすればするほど動きは滑らかになって振動が減りますが、トルクが下がってしまうようです。

また、DRV8825なら1/32まで設定できます(とは言っても、1/32は使わないと思うけど)。
現状では、DRV8825でマイクロステッピング1/8に設定しています。
DRV8825についてのPololuサイト
MODE0MODE1MODE2Microstep Resolution
LowLowLowFull step
HighLowLowHalf step
LowHighLow1/4 step
HighHighLow1/8 step
LowLowHigh1/16 step
HighLowHigh1/32 step
LowHighHigh1/32 step
HighHighHigh1/32 step

電流制限設定:
ステップ数をあげるとより多くの電流が流れるため、モーターにとって過電流になりダメージを与えることがあります。そうならないように電流制限する機能がドライバについています。ドライバ基板上の可変抵抗器で調節可能です(電流というか電圧を調整するのですが)。以下、Pololuのセッティング動画。

まずマイクロステップ設定をフルステップの状態(ジャンパーブロックをなにも差し込まない)で、
モーターの許容電流値が1Aなら、
A4988の場合、
Current Limit=VREF x 2.5
モーターの許容電流が1A=VREF x 2.5なので、 VREF=0.4Vとなります。可変抵抗器を回して、0.4V以下になるように設定すればいいことになります。
その際テスターで電圧を計測します。ドライバ基板の右下のGND端子(以下のステッピングモーターとの配線画像を見るとGNDの位置が分かります)にテスターのマイナスプローブ、そしてテスターのプラスプローブを可変抵抗器の回す部分(もしくは可変抵抗器の3つ脚の真ん中の端子)に接続。ゆっくり可変抵抗器を回しながら、1Aのモーターなら0.4Vくらいになるようにします (下の画像のような2Aのモーターなら0.8V)。A4988の場合は、CNCシールドに差し込みパソコンにUSB接続で電源供給し調整できました。

追記(2017年以降):
PololuのA4988のサイトを見ると、従来の電流制限設定の計算式は
Current Limit=VREF x 2.5
でしたが、2017年以降のPololu製A4988ボードでは、センスレジスタが0.050Ωから0.068Ωへ改良されたために、計算式は

となったようです。
Rcsの部分が、センスレジスタの値(従来の0.050か2017年製の0.068か)であり、
従来の計算式にRcsを代入すれば、
Vref=8×Imax×0.050=Imax×0.4
となるので、結果的には、
Current Limit=VREF x 2.5(従来の計算式)
と同じ値になるというわけです。
新しい計算式は、Pololu製の2017年製のA4988ボードを使った場合適用されるので、中国製のA4988の場合は、おそらく従来の計算式のままで大丈夫だと思います。

DRV8825の場合、
Current Limit=VREF x 2.0
なので、1Aのモーターなら0.5V、2Aのモーターなら1.0Vになるように可変抵抗器を回します。
DRV8825の場合、パソコンとのUSB接続だけではダメで、CNCシールドの12-36Vに電源供給しないとできませんでした。

追記:
RepRapの電流制限のページを見ると、A4988やDRV8825ドライバーのチョッピング機能により上記のように電流制限すれば、例えばInventablesで売っている2.8AのNEMA23モーターも駆動可能。2.8Aの場合、A4988ならVREF=2.5/2.8=0.89V以下に可変抵抗器を設定すれば、最大トルクは得られないけれども大丈夫らしいです。Inventables NEMA23 2.8Aのページの質問(2013/DEC/10)で、GrblShield2.0Aでこのモーターは使えるのか?というのがあり、最大トルクは得られないけれども一応使えると書いてある。
関連:Shapeoko Wikiのドライバのページ


ステッピングモーターとの配線:
モーターによっては線の色が違う場合があるので、データシートなどでチェックして、どの色がどの線なのか確認したほうがいいと思います。また、ステッピングモーターには4線、6線、8線などあります。PololuのFaqにそれぞれの接続の仕方が書いてあります。
以下は、今使っているモーター(2相ユニポーラ6線)です。
定格3.6V/2.0A、3.6V与えると2.0A電流が流れるということなので、ドライバDRV8825で2Aの電流制限をしたということは3.6Vで駆動することになります。
上の図面で、右下に見える配線図にどの線が何色かが書いてあります。
これを見ながらA4988の場合なら、以下の配線になります。
モーターは右側の端子、2B、2A、1A、1Bの4本に接続されています。ということは、先ほどのモーターの図面を参照すると、
2B-BLK(黒)
2A-GRN(緑)
1A-RED(赤)
1B-BLU(青)
という対応になります。CNCシールドの各ドライバの右側に4つのピンが縦についており、そのまま上から、黒、緑、赤、青という配線でこのモーターの場合つなぎます。
モーターのYEL(黄)とWHT(白)は未接続で構いません。

DRV8825の場合は以下。
B2-BLK(黒)
B1-GRN(緑)
A1-RED(赤)
A2-BLU(青)
となります。
A4988とピンの番号が微妙に違うので、間違わないようにしてください(上からの順番は同じ)。
それと、モーターの線の色については、そのモーターのデータシートを探し出して確認したほうがいいと思います。ドライバA4988/DRV8825のピンに関しては、裏返すとシルクで書いてあるので、ドライバの差し込む向きを確認する場合やモーターと接続する場合、どの端子なのか実際に見て確認できます。
CNCシールドのモーター接続のピンは、ドライバのピンをそのまま右へ平行移動した4つのピンになっているはずです。

という感じで準備は整っているのですが、肝心のジャンパーブロックがまだない。CNCマシンの配線作業する段階になったときに、秋葉原に行ってケーブル、コネクター類といっしょに手に入れようと思ってます。


基本的な配線の仕方(CNCシールドV3.5の場合):
*CNCシールドV3.0の場合は、SpnEn端子とZ軸リミットスイッチ端子を入れ替えて接続(詳細はこちらへ
左下の青い端子にステッピングモーター用の電源、そして各軸ステッピングモーター、各軸リミットスイッチ、可変出力可能なTTL端子つきのスピンドル用モータードライバ(あるいはレーザー用ドライバ)を接続。下画像には、ステッピングモータードライバは搭載されていないので、A4988やDRV8825をマウントして下さい。

この画像の場合、Y軸に2個のモーターを使う設定なので、4つのステッピングモータードライバを搭載します。右下のステッピングモータードライバ用の端子(A端子)がY軸用のクローンです。その設定のため、左側に緑色の枠で示したジャンパブロックを2個(Y軸用)を差し込みます(写真上のX軸用の黒いジャンパーブロック2個は差し込まない)。3個しかモーターを使わないのであれば、A端子そして左側のクローン用のジャンパブロックも不要です。
*ステッピングモーターの各線の色はモーターによって違う場合があるので注意して下さい。

各軸ドライバ用端子の間(電解コンデンサの下)には、写真上ではマイクロステップ設定用のジャンパブロックが縦に3個ずつ差し込んでありますが、マイクロステップをいくつに設定するかは、前述してある内容を確認して必要数差し込んで下さい。

リミットスイッチは、XYZ軸に2個ずつあるため12本の線が必要ですが、各軸+と-は回路内で並列つなぎになっているため、配線をまとめてしまえば4本で済みます(黒い端子はGNDなので、6本ある線を1本にまとめ、各軸ごとの赤い線は1本ずつ合計3本にまとめることができます)。もし長い距離を配線しなければいけないときは、途中でまとめてしまったほうがいいかもしれません。

スピンドル用のドライバ(TTL端子)をSpnEn(pwm)に接続することで、Gコードでスピンドルの出力調整が可能になりますが、スピンドルを手動制御するなら接続する必要はありません。

このほか、プローブ機能、非常停止(デジタルブレーカー)など、いくつか端子は余っていますが、最低限これだけをつなげば動かすことはできます。動作確認後、あとからそのような機能を追加配線していってもいいと思います。ステッピングモーターの回転方向やスピード(フィード)は、ソフトで設定可能です。
このCNCシールドの真下にくるArduinoボード自体は、通常パソコンとUSB接続されるために、USB経由でDC5Vが供給されます。もし、ワイヤレスなどスタンドアロンで動かす場合は、Arduinoボードに電力を供給する電源が別途必要になります。


電源について:
ステッピングモーターは前述してあるNEMA23(3.6V/2.0A)を4個使用しており、現在DC24V/7Aのスイッチング電源(AC100V用)に接続しています。
ShapeOko Wikiには電源について書いてあり、NEMA17クラス4個であれば100から120W程度、NEMA23クラス4個であれば150〜200W。
参考までに、ShapeOko3ではNEMA23クラス4個使用に対して、24V/5Aの電源を用いているようです。最近のX-CARVEでは、NEMA23クラス(140oz-in)4個に対して24V/17A。

2016年4月18日月曜日

CNCマシン:レーザーモジュール(5W?)到着

4/9にAliExpressに注文したレーザーモジュール5W($156.53)が届きました。9日間で届いたので早いほうです。China Post AirMailで送ってきました。
開封してみると、以下のような感じ。当然マニュアルなどは一切入っていません。ACアダプターだけ厚紙の箱に入っており、レーザーモジュールとドライバはプチプチに包まれて袋に入っていただけ。全体も箱に入っておらず、紺色のビニール袋に3つゴロゴロと入っていました。


























ACアダプターは、よく見ると100-240Vまで対応なのでそのまま使えそうです。ドライバは本当についてくるのか心配だったので、いちおうメッセージで聞いたら「ドライバはある」と言っていました。
追記:
この画像からも分かるように、ドライバ上方に二つ白いコネクター端子があり、コネクターには左から黒赤(FAN用)と黒赤(LD用)がつないである。ケーブルの色で判断すると、-+-+という感じで並んでいるように見える。しかし、ドライバの基板上にはLD端子のマイナス側に赤ケーブル、プラス側に黒ケーブルがつないであることになっている。つまり基板上では左から-++-という順番。怪しいので計測してみると、ドライバLD+端子には約5.5Vの電圧があり、どうやらレーザーモジュールへとつながっている赤黒の線の色が逆になっている(紛らわしい)。唯一手がかりとして、コネクターの向きがFANのコネクターと同じ向きにして差し込む(つまり赤が-端子、黒が+端子)。配線し直したりするときに注意が必要。

しかし、思ったより小さい。レーザーモジュールは32x32mm角で長さは75mm(クーリングファン含む、先端のレンズ部分除く)しかない。これで5Wも出るのかと思って、レーザーモジュールをよく見てみると、なんか違う。



























(画面右が、レーザーモジュールの表面に貼られているシールの表記)
Wavelength:450nm
Outputpower:5.5W
となっている。
注文したのは5W、そしてWavelengthが520nm(Green)+450nm(Blue)だったはず。ということは0.5W分得したってことか?たしか、5.5Wで売っているモジュールは450nmのブルーレーザーだったので、これはそのタイプと同じということになります。
注文した商品とは違うけど、これならOKということにしましょう。結局5Wの値段で$156.53でしたが(他のショップだと$200以上する)、今見ると5.5wなら最低でも$280〜300くらい。ということはかなり安い買い物ができたことになります。




























これ↑は、付属のレーザードライバ基板で、左側に電源12V端子、そしてTTL端子がちゃんとついているので、PWMで出力を可変できるはず。実は、注文した後に、「画像にはドライバらしいものが写っているけど、5番目の写真と7番目の写真では物が違うけど、どっちが本当だ?」と聞いたら、「すぐに全部の写真送る」と言っていた。全然画像を送ってこないから、「時間かかるならいいよ。ちなみにACアダプターはAC100V対応か?たぶんAC220Vしか対応してないだろう?AC220Vのアダプターなら送ってこなくていい。そのかわり何かそれ相応のもの送ってくれ」と頼んだ。すると、「忙しくて画像送るの忘れてた。しかも商品はもう配送会社に手渡してしまった」とか言っているから、「わかった。もういいよ。」と言って、「ショップの画像や商品説明がわかりにくいから、内容物:5Wレーザーモジュール、レーザーモジュールドライバボード、ACアダプター220V用とでもちゃんと書いておけ」と伝えたら「わかった。ありがとう。そうするよ」って言っておきながら、いまだに何も改訂されていない。たしかにいい加減な店だとは思ったけど、他店よりずっと安いのでまあいいかという感じだった。その結果、5Wじゃなくて5.5W、しかもACアダプターも100V対応だったので、結果的にはよかった。




























これ↑は、レーザーモジュールの先端部分。この部分についてもちゃんとフォーカスできるようになっているのか気になっていたけど、こんな感じ↓で回すと伸び縮みするようなので大丈夫そう。



























裏側(というか側面)には、M3のネジ穴が縦一直線に4つついているので、一度アルミ板でもつけて、それをZ軸に固定できるようにすればいいかもしれない(本当はドライバをつける穴なのかもしれない、穴のピッチが同じなので)。このヒートシンクつきの黒いアルミ製ボディはけっこうつくりが雑だけれど、まあ仕方ないという感じです。
出力が強いので、まだ点灯実験していませんが(ちょっと怖い)。たしか以前300円くらいで買ったレーザーゴーグルは190nm〜540nmまで守備範囲があるので、それをつけて実験したいと思います。

FedExからの関税請求:
そういや、FedExから2000円の請求書も届いた。何かと思ったら、ボールスクリュー+ガイドレール一式の関税+手数料とのこと。今回のレーザーモジュールなど小物の場合は大体ギフトとして送ってくるので(領収書や納品書とかも一切入ってないので)、関税とかはかからないんだと思うけど、ボールスクリュー+ガイドレール一式は商品として送って来たようで、関税がかかったみたい。仕方ないので払うしかないけど。

追記:
ちょっとレーザー試してみました。ちゃんとレーザーゴーグル装着して。


























板から5cmほど離してレーザー照射してみました。光が当たった瞬間からめりめりと音を立てて焦げていきます。近づけたり遠ざけてみたりしましたが、焦点がちょっと分かりにくい感じです。レーザーモジュールのレンズ自体も動かすことができるので、ぴったりフォーカスを合わせるのがむずかしいです。その間ずっと見ていないといけないのも、ちょっと危険で怖いですね。ゴーグルをしているせいか残像が目の中に残るというわけではないのですが、なんとなく目が疲れた感じします。ゴーグルの隙間から青白い光が自分の体に当たっているのが見えて、溶接しているときのような感じです。ブルーレーザーなので、紫外線に近いのか、顔の皮膚もなんとなく日焼けしたときのような感触。やっぱりレーザーは怖いですね。CNCマシンが出来た後に、距離を変えながら何本か線を引いていく実験をしたほうがいいですね。とにかく光をあまり見ない方がよさげです。

いちおう、レンズを1mmほど出っ張らせた状態で、このベニア板(2.5mm厚)に55mmの距離で5秒ほど当てたときが、貫通しそうになっていました。5.5Wならこのくらいの板は切れそう。たしか4mmまでいけるとか書いてあったかも。ただ、焦げを少なくしてきれいに切るのは難しそう。

CNCマシン:制作中7(XY軸接合部)

XYZ軸が大体できあがったのですが、それらを組み立てる際に直角や平行がとれていないと精度がとれないばかりか、ベアリングに変な負担をかけてしまい壊れる可能性もあります。まずY軸2本のレール間の距離が等しくなるように平行に配置し台の上に固定しておきます。その状態でX軸を載せていくのですが、ひとつ問題発見。



























これ↑は、X軸(横)とY軸(縦)の接合部ですが、X軸とY軸の角度を微調整しようとしたら、この状態では無理だということに気づきました。いろんな部品が込み入っていて六角レンチが入る隙間がないということです。
この画像でいうと、ちょうどカップリング真下に見える、突き出た4本のネジ(ネジ先端部分が見える)。いろいろ考えた末に、下から突き刺してタップを切って留めるという方法にしたのですが、それでもダメでした。X軸とY軸をこのように一旦組んでしまうと、もう調整不可能。上はカップリングが邪魔し、下はY軸レールが邪魔して、このネジにアクセスできません。バラした状態で固定する以外ないというわけです。
同じようにX軸の反対側(対となっているもうひとつのY軸)の接合部は以下。



























こちら↑も同様に下からネジ4本突き刺さってタップが切られていることで固定されています。カップリングなどないのでなんとかなりそうですが、この状態では下のネジ頭に六角レンチを入れることが不可能。この場合なら下からではなく、上から普通に突き刺せば良かったのかもしれません。しかしナットで留めることはできないので、下の部材にタップを切らなければいけません。そうすると違う位置にまたネジ穴をあけることになってしまいます。こちらはそれでもいいのかもしれませんが、また違うところにネジ穴あけるの嫌なので、いろいろ考えた末、この接合部にもう一枚部材をはさむという方法をとることにしました。X軸とY軸との角度を微調整するために、モーターやカップリングを外したり、狭い空間でぎりぎり六角レンチを回さなくてもすむようにと。
ということで部材切り出し。以下。



























手前のアルミ板2枚が、さきほどの問題を解決するための部材。これをX軸とY軸との間に挟みます。奥の変則Lアングルは、Y軸のボールスクリューとスライドブロックをつなぐ部材です。以下の部分です。



























下部に見えるボールスクリュー上を移動するベアリングナットブロック(4つ穴)とその上にある150mm幅のLアングルをつなぐ部材です。ただの平板でよかったのですが、さきほどのX軸とY軸との接合部にアルミ板を使ってしまったので、手持ちのスクラップから取り出したLアングルを利用しただけです。

という感じで、おおまかにはXYZ軸それぞれできあがってはいるのですが、細かい部分でいろいろ問題がでてきたりして、その都度試行錯誤しながら微妙に改良している感じです。


作業のつづき:
とは言ってもあまり進みませんでした。途中レーザーの実験もしていたので。



























Y軸のボールスクリューナットブロックとレール上のスライドブロックの連結部品です。これでがっちりつながりました。ブレはほとんどない感じ。あとはこの上面のソケットスクリューを廃止して、左右4個ずつあいている穴に段付きドリルビットでザグリを入れて、極低頭ボルトを差し込みます(真ん中4つの穴はもう使わない)。その上から、X軸と接合するアルミ板を重ねます(それを留めるネジ穴も新たにあけなければいけない)。
つまり、Y軸はこの状態で完結できるようにしておき、後付けされるX軸が簡単に載せられるようにしつつ、ネジ締めも容易にできるように改良します。

2016年4月17日日曜日

CNCマシン:制作中6(引き続きY軸2本)



























Y軸2本がほぼ完成。C型チャンネルにレール、ベアリングユニット両端(ボールスクリュー付き)、ステッピングモーター+マウントを取り付けました。ほとんどがドリルの穴あけとタッピング作業でした。穴だけでも78回(下穴も含め)あけてます。タッピングも48カ所です。1本の単純な部材にけっこう手間かかります。
あとは、Y軸とX軸をつなげるジョイント材の加工がまだ終わってません。とりあえず現段階で昨日までつくったXZ軸をこの上にのせてみると以下のようになります。


























これでようやく全体像が見えてきます。横幅約1m、奥行き約1.2mです。
Y軸1本の重さを計ったら9kgありました。XZ軸で16.5kgあったので、この段階で総重量34.5kgということになります。超重い。ルーター(トリマ)もまだだし、Y軸2本をつなぐフレーム材2本もこれからです。40kgにはなりそう。ここまでの費用は約6万円。
Y軸2本をつなぐフレーム材は、当初は30x30mmのアルミ角パイプを使う予定でしたが、75x50mm t=5mmのアルミLアングルがまだまだあまっているので、それをつかおうかと思ってます。そのための穴もY軸にあけておきました。
つぎの作業としては、X軸とY軸をつなぐジョイント材の加工、それからY軸2本をつなぐフレーム材とジョイント材となります。