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

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



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


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

2017年1月12日木曜日

Grbl1.1について(2017年版)


このブログでは、3軸CNCマシンにArduino+Grbl+CNCシールドを使っています。理由は、Macでも可能であること、そしておそらく最も安価で手っ取り早く自作できるということ。Arduino+Grbl以外にも、Smoothieboard、TinyG、LinuxCNC、Mach3などあります。これらは、もっと本格的な制御も可能(4軸制御など)ですがやや高価であり、板状の材料を2D加工する程度ならArduino+Grbl(3軸制御)で充分という感じです。

Grblについては、2016年12月にGrbl1.1に本格的にバージョンアップし、まだ3軸制御ではあるのですが、より本格的な仕様に近づいたという感じです。さらには、レーザー機能も充実してきたので、それに伴いGrbl0.9jからGrbl1.1に切り替えました。これまでは、Grbl0.9jでの内容を書いてきましたが、2017年になってやや情報も古くなってきたこともあり(情報もブログ上に散在していることもあり)、再度まとめ直していきたいと思います。

以下は、Grbl1.1に合わせて情報を編集し直したリストです(一部編集中)。

Arduino+Grbl1.1:まとめ(2017年版)
最新版Grbl1.1のバージョンアップ内容について
Grbl1.1のインストール方法
電気/制御系統の設定/動作確認について
Grbl1.1の$コマンドやGコードについて

Grbl1.1レーザーモードについて
Grbl1.1レーザーモードの実験(設定など)
レーザー用ゴム板でスタンプ制作(Grbl1.1+Laserweb3使用)

*Grbl0.9とGrbl1.1のピン配置は同じなので、CNCシールド等の接続に関してはGrbl0.9と同じです(2016年の記事を参考にしても大丈夫だと思います)。
*Grbl0.8はGrbl0.9や1.1とは大きく内容が異なるので、いまさら使わないほうがいいと思います。いくつかのG Code Senderは、もうすでにGrbl1.1に対応しているので、2017年以降であれば、無理にGrbl0.8や0.9を使わずに、素直にGrbl1.1に移行したほうがよさそうです。

また、他の情報や仕様変更、バージョンアップなどについての情報があれば、コメント欄に書いて頂けると助かります。よろしくお願い致します。

現状としては:
Arduino+Grbl1.1+CNCシールド+DRV8825
Inkscape(2D図面描画)
Jscut(ルーター用オフカット設定:Gコード生成)
Laser Tool Plug-in(レーザー用Gコード生成)
Laserweb3(レーザー用Gコード生成、Gコード送信)
bCNC(Gコード送信)
という感じです。
*部品や材料調達は、ほぼAliExpress(もはやAmazonはあまり使わない)。
*CNCシールドに関しては、最新版V3.51(以下)がオススメです。Amazonなどで中国製の格安CNCシールドが購入可能ですが、V3.0(旧型)なので一部配線を入れ替える必要があります。簡単な作業なので安価なV3.0でも問題ないのですが、トラブルを避けるならば最新版V3.51のほうがいいかもしれません。
AliExpress.com Product - New Development Board CNC Shield V3.51 for Arduino 3D Printer Micro Controllers GRBL v0.9 Compatible Uses Pololu Drivers最新版CNCシールドV3.51(2,084円:送料込み)


多軸制御:Grbl 1.1(Arduino Uno)では3軸までしか制御できませんが、以下のようなArduinoMega用多軸ファームウェアを使用すれば、4軸目以降に回転制御機構を追加できそうです。ArduinoMega:4軸ファームウェアArduinoMega:5軸ファームウェアArduinoMega:6軸ファームウェアArduinoMega:6軸ファームウェア(Android)
AliExpress.com Product - CNC Rotary A Axis chuck 50mm activity tailstock for CNC Router Engraver Milling Machine
14,862円(送料込み)、回転軸用パーツ

2016年5月5日木曜日

CNCマシン:中国製レーザーモジュールについて(まとめ)

レーザーの実験も終わったところなので、いままでのことをまとめておきます。

今回の自作CNCマシンでは、5.5W、12Vのレーザーモジュール(レーザーダイオード)を使っています。この手のレーザー加工機用のモジュールはEbayでも入手できますが、AliExpressで入手するのがほとんどでしょう。AliExpress内で「5.5w laser」や「5500mw laser」で検索すれば出てきます。
見た目はこんな感じのもので、レーザーモジュール本体、ドライバ基板(中央)、ACアダプターの3点セットになっています。もちろんマニュアルなし。Air Mail便で2週間前後で届きます。

AliExpress.com Product - 5.5w blue laser module high power focusing laser engraving and cutting TTL module 500mw/ 2500mw/5500mw laser tube+ gogglesAliExpress.com Product - 5500MW laser engraving machine 5W high power laser modules focusing head point wavelength 450m12v
ちなみに、これ↑は、5500mwのレーザーモジュール(6,757円)。たまに安いのがあります。

注意事項として:
購入する際も、一応内容のチェックをしたほうがいいです(メールやチャットで)。ドライバ基板はついてくるのか?ACアダプターは何V対応なのか?焦点距離はアジャスタブルかもしれないけど、大体どのくらいなのか?もし壊れていた場合返却できるのか?など。
マニュアルはないので、すぐに接続して試す前に、それぞれをテスターなどでチェックしたほうがいいです。ACアダプターの極性や電圧をチェックしてから、ドライバ基板に接続(このときまだレーザーモジュール本体はつながないほうがいいかも)。当然レーザー用ゴーグルも必要。ドライバ基板の各端子の極性や出力電圧チェック。配線の色が逆になっていることもあるので、それも確認するなど。レーザーを接続する場合も、異臭や異音を感じたら、すぐに電源OFFできるように身構えておく。燃えやすいものが近くにないかどうか。使用前と使用後の異常を確かめるためにも、最初にカメラで撮影しておくといいと思います。

出力と値段:
この種類、メーカーはどこのものなのか分かりませんが、0.3W、0.5W、1W、2W、2.5W、3W、4W、5W、5.5W、8W、10W、12W、15W、17W、20Wのバリエーションがあるようです。5.5Wで1万円前後、20Wで2万円前後という感じでしょうか。ショップによっても値段がかなり違いますが、画像は同じものを転用しています。購入するときはメールやチャットで内容を確認したほうがいいでしょう。


AliExpress.com Product - Blue Laser 15W Laser Engraving Machine Focusable High Power Laser Module 450nm TTL/Analog with Power Supply CNC Engraver Cutterダイオードレーザーではかなり強力な15Wレーザーモジュール。18,509円(送料込み)

17Wで33,576円(送料込み)。

また最近(2019年)では、以下のようなセットもありました。以前に比べるとかなり安くなってきました。

AliExpress.com Product - Powerful 20W 450nm blue laser module DIY laser head for Master Series CNC laser engraving machine Accessory with Wrench20W ダイオードレーザーCNCマシン、21,140円(送料込み)


レーザー加工機としてどのくらいのW数がいいか?:
国内のSmart DIYsの「FABOOL Laser mini」は1.6Wのようで、3Wにも拡張できるようです。おそらく、一度手にするともっと出力数の高いものが欲しくなってくると思います。1.6Wで柔らかい木材2mm切断できるらしいです。5.5Wで4〜5mmくらいでしょうか。アクリル板も切りたいと思うかもしれませんが、この手のダイオードレーザーだと透明アクリルは光を透過してしまって切れないようです(黒いアクリルなら可能)。もし分厚いアクリルも切りたいのであれば、Smart DIYsの「Smart Laser CO2」などの40Wクラスになってしまうでしょう。透明アクリルでも10mmまで切れるようです。ただし248,000円(税抜き)とかなり高額になってしまいます。中国製の40W/CO2レーザーであれば8万円前後で買えますが、電源やソフトなど改良する必要があるかもしれません。

AliExpress.com Product - 40w co2 3020 laser engraving machine,3020 laser cutting machine,engrave size 30*20cm support CorelDRAW output
中国製CO2レーザー40Wなら、こんな感じ↑(約68000円/送料込み)。これなら透明アクリルも切れるはずです。


ルーター、ミリングマシンという選択:
今回CNCマシンを制作するにあたりそんなことを考えましたが、やはり20万円以上も費やすのは高いかなと。分厚いアクリルなどを切るならルーターやミリングマシンで切った方がいいんじゃないかと。そうすれば、アルミなどの金属加工もできるし、レーザーとミリングの使い分けがいいのではないかと。
レーザー加工機の場合は、基本的にXY軸だけで済むし切断する材料から切削抵抗も受けないので、それほど剛性のある構造にしなくてもいいのですが、ルーター/ミリングマシンの場合は剛性をあげないと切削抵抗に耐えられなくなってしまいます。なので、レーザー加工機をルーターマシンに転用することはできませんが、その逆は可能なので、CNCルーターマシンをつくるという前提のほうがよさそうです。
もし自作しないのであれば、「Shapeoko3」や「X-CARVE」のような$1000くらいのXYZ軸の3軸CNCマシンを購入して、そのヘッドにレーザーモジュールを買い足せば15万円くらいで両方使えるようになると思います。当然自作すれば10万円以下で両方が可能になるはずです。
ミリングマシンであれば、基板制作も可能になるというメリットもあります。
ということから、レーザーの場合は例え5万円前後の10Wダイオードレーザーを装備したとしても、値段の割にはあまり大した物は切れないので、あくまで薄い素材を切るか、切るというよりも表面刻印加工用として考えたほうがいいかもしれません。どうしても分厚いアクリルなどをレーザーできれいに切りたいというのならCO2レーザーになってしまうと思います。

レーザー加工機を自作する場合:
ミリングは必要なく、レーザーだけでいいのであれば、3万円もあれば作業エリア500mm角くらいのものをつくることができると思います。何Wのレーザーにするかでコストが変わるので、レーザーモジュールを除いた部分(XY軸の2軸CNCマシン)だけであれば2万円くらいでつくれると思います。
必要なのは:
モーター:ステッピングモーターNEMA17クラス2個
送り機構:2GTタイミングベルト+タイミングプーリー
直動機構(構造フレームも兼ねる):V-slot Rail+solid V-wheel
制御:Arduino+ステッピングモータードライバ
その他:配線材料、ネジ類、ブラケット、リミットスイッチなど
しかし、AliExpressで2万円くらいで2Wレーザーカッターキットが買えるので、それをベースに改造したほうが早いかもしれません。Arduinoで動くものが多いので、Arduinoが使えるのであれば特に問題ないと思います。付随のソフトに問題があるのであれば、オープンソースのgrblやUniversal G-Code Senderを使えばいいと思います。自作についてはソフトとハードともに、Shapeoko wikiReprap wikiなどから充分情報が手に入ると思います。

AliExpress.com Product - benbox 2000mw laser engraving machine cutting maching laser engraver big working area 65*50cm support laser power adjust2Wレーザー加工機、21,671円(送料込み)

ダイオードレーザーモジュールの構成:
CO2レーザーはあきらめるとして(かわりにミリング加工する)、それでもレーザーでしか切ることができない柔らかい素材や刻印加工もあるので、一概にダイオードレーザが使い物にならないというわけでもありません。レーザーモジュールを買うなら、上画像にあるようにTTL端子のついたドライバが付属しているか確認したほうがいいと思います。

以下はダイオードレーザー用のTTLドライバ単品。

AliExpress.com Product - TTL driver board,laser driver board 2879円(送料込み)



こんな感じで↑、ドライバ基板にTTL端子がついています。ここにArduinoなどのマイコンをつなげばレーザーの可変出力を可能にします。何もつながなければ、手動によるON/OFF制御になってしまいます(具体的な配線についてはこちらへ)。

ドライバ基板は全体的にはこんな感じになっています。大きさは幅50mm、奥行き30mm、高さ25mm程度。右上が先ほどのTTL端子+-、その下の赤黒ケーブルがついている端子が電源DC12V端子、左側にLD+-端子(レーザー本体につなぐ)、その下がFAN+-端子(レーザー本体につけるDC12V用クーリングファン)。LD端子+からは約5.5Vが出ていました。

左に見えるのが付属のACアダプター、INPUT:AC100〜240V 50/60Hz DC12V 2A。レーザー本体は、32.5x32.5x65mmくらいの大きさです。先端と反対部分にファンがついており、ケーブルも別です。回路も含めてレーザー本体は、ほとんどが黒塗りのアルミ製ヒートシンクで囲われており、中心に円筒状(径18mm)になって入っています。
この状態で電源をつなげばすぐにレーザーは使えますが、いきなり最大出力がでるので注意しないといけません。
そのために、レーザー防護用ゴーグルが必要になります。

レーザー防護対策:
レーザーの安全基準(オムロン)を見てみると、大抵のレーザ加工機の場合は最も危険なクラス4に入ると思います。なので一度読んでおくといいと思います。
レーザ用ゴーグルなどがないと目に損傷を与えてしまうので、もし複数の人数で作業している場合は全員着用する必要があると思います。できるだけ見ないように注意しても、予期せぬ反射光が目に入って来たり、ゴーグルを着用していても頭をちょっと動かした際にゴーグルと顔との隙間から光が入ってくることもあります。当然、何も防護していない他の人やペット類がいるような場所での作業は控えた方がいいと思います。
個人的な経験ですが、レーザーの焦点実験などしていると、レーザーゴーグルをつけているにもかかわらず、なんとなく目が疲れたような感じになります。顔もなんとなく日焼けしたような感触を得ます。それだけレーザーの反射光を顔に浴びているということだと思います。

国内の防護ゴーグルを購入しようとすると2〜3万円くらいします。

リケン レーザー保護メガネCO2レーザー RSX4CO2
理研オプテック
定価 ¥21,600
Amazonで詳細を見る

安いものであれば、

BOSCH(ボッシュ) レーザーメガネ BL-GLASS
ボッシュ(BOSCH)
売り上げランキング: 105,133

ボッシュ製らしいですが1620円。

安いですが、これもきっと中国製だと思います。なのでAliExpressで同じようなものを探すと、
これ↑なんかは、一個155円(送料無料)
いちおう使っているレーザーの波長をチェックして、それに対応するものを選ぶ必要があります。
レーザーの種類、出力数によっては、品質の高いものを選んだほうがいいと思います。それと、安いものだと完全にレーザーを遮光するというわけでもないので、レーザーゴーグルを装着したからと言って直接レーザー光を見ないようにしたほうがいいと思います。遮光というよりは、あくまで軽減ということなので。

前述のレーザーモジュールの場合450nmなのでその波長をカバーしているかどうか?それと安全性の基準となるOD値(Optical Density:光学濃度)が書いてあるはずなので、それもチェック。書いてないようなものは買わない方がいいと思います。
この表↑を見るとOD値が大きいほど安全という感じです。

それと、ゴーグル以外にもレーザー遮光アクリル/シートなどあるといいかもしれません。ただしこれも結構高いです。
AliExpressで安く売ってるかと思うと、そうでもありません。
これ↑は、Laser Safety Windowという厚さ5mmのアクリル板ですが、50x50mmサイズで2203円(送料込み)もします。

他には、アメリカのJ-Tech Photonicsにある以下のもの。
12インチ角(約300mm角)で$16.99しかしないのですが、送料が$63.61もするので、8000円くらい。このサイトに利用例がありますが、以下のようにするだけでもかなり目に入ってくる量は減ると思います。

使っているレーザーの焦点距離が素材まで50mm程度なので、できればレーザーモジュール下の部分を箱状に囲ってしまうともっといいはず。そうすれば、いちいち怖がらずにどんどん作業できそうです。

追記:
最終的には以下のように、安価なレーザー用ゴーグルを材料にシールドを自作しました(そのときの内容はこちら)。


レーザー用ソフトなど:
Inkscapeで描画しGコードを生成するには、
Laserweb3(Grbl1.1対応のブラウザベースGコード生成+送信アプリ)
があります。
特にLaser Tool Plug-inは、Inkscapeのプラグインであり、レーザー加工機用につくられているのでInkscapeで描画しつつ、それをすぐにGコード変換できるので使いやすいと思います。あるいは、Laserweb3ならInkscapeで描いた図面等を取り込んだ後、Gコード生成とGコード送信が一つのアプリで可能なので便利です。
レーザードライバのTTL端子への出力値や刻印加工の設定も簡単にできそうです。
Arduino+grbl0.9(あるいは1.1)を使っている場合は出力値0〜1000の値を入力します。1000で100%、500で50%、0で0%。

レーザーの焦点距離:
きちんとした製品であれば、マニュアルなどに焦点距離について書いてあるはずですが、上記の中国製レーザーモジュールの場合、当然マニュアルなんかはついてきません。なので自力で探し出すことになります。もしくは買ったショップに問い合わせてみてもいいかもしれませんが、商品を売ってはいるものの、その商品の細かな内容についてまで知っているとは限りません。
設定が悪いとせっかく高出力のレーザーであっても半分の能力しか発揮できないということもあり得ます。まあ仕方ないですが、それも経験や学習から向上させていくしかありません。

焦点を合わせるには2カ所調整する必要がありそうです。
まず、先端部分にレンズが内蔵されたアルミチューブがあります。これを回すと前後に位置を調整できます。

こんな感じで飛び出してきます。中のレーザーダイオードからレンズまでの距離を合わせる必要がありそうです。
まず、レンズチューブ先端と素材を50mmくらい離して照射してみて、一番光点が小さくなるように調整します。もちろんゴーグルは必須です。できれば、出力を下げてやったほうがいいのですが。
ただ問題は、このレンズチューブを緩めると(飛び出させると)、ネジ山のあそびが多すぎるせいか、すこしぐらぐらしてしまいます。締め付けるために薄型ナットを取り付ける方法もあるのですが、M9ピッチ0.5mmという特殊なナットが必要になります。そのようなもので管用ナットというのがあるのですが、国内だとM9ピッチ0.75mmが主流のようでなかなか見つけるのが大変です。それならそのナット(締め付ける部品)すら自作したほうがいいかというと、


いちおうAmazonでもM9ピッチ0.5mm(1300円+送料880円)のタップは購入できます。しかし、たかがナット一個のために2180円も費やすのももったいないというのであれば、

こんな感じで、プラスチックの板などに径8.5mmくらいの穴をあけてから、アルミのレンズチューブ根元についているネジ山を利用して、タッピングしてしまうという手があります。そうすればプラスチックの板がレンズチューブを締め付けるナットになってくれるというわけです。これでレンズチューブを飛び出させてもぐらぐらしなくなります。
こんな方法で、内部のレーザーダイオードとレンズの距離を合わせたら、つぎは素材との距離を計測します。およそ50mmくらいだと思うのですが、レーザーの種類やレンズの種類によっても異なるかもしれないので、いちおう距離10mmから100mmくらいまでを5mm間隔くらいで照射実験します。

これが実験結果ですが、下のほうに手書きしてある数字が距離(mm)です。つまり左側10mmから徐々に5mmずつ離していって照射してみたということです。これを見ると分かるように、距離50mmが一番線がシャープになっています。50mmから離れるほど、線が太くなり、さらには線が薄くなっていくのが分かるかと思います。これは5mm間隔でやっていますが、さらに今度は45mmから55mmの間を0.5mm間隔などで実験すれば、さらにもっと正確な焦点距離がわかるはずです。という感じで焦点距離を探すように調べてみるといいと思います。

追記:
その後、0.1mm単位で焦点距離を調べてみると46.5〜48.5mmくらいでした。肉眼で見る限りでは約2mm前後のずれがあってもシャープさが鈍る感じではありませんでした。2mmの焦点深度があるような感じです。

いちおう以下に、10mmから100mmまで(5mm間隔、合計20本)の実験につかったGコードを書いておきます。
Arduino UNO+CNC ShieldV3.5+grbl0.9jで、PWM機能を使ってレーザードライバのTTL端子へつないで出力調整できるようにしてあります。尚、実験レポートは前回の投稿に書いてあります。

M05 S0
G90
G21

G1 F600
G1  X10 Y60 Z10
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X10 Y10 Z10
G4 P0 
M05 S0

G1 F600
G1  X15 Y60 Z15
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X15 Y10 Z15
G4 P0 
M05 S0

G1 F600
G1  X20 Y60 Z20
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X20 Y10 Z20
G4 P0 
M05 S0

G1 F600
G1  X25 Y60 Z25
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X25 Y10 Z25
G4 P0 
M05 S0

G1 F600
G1  X30 Y60 Z30
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X30 Y10 Z30
G4 P0 
M05 S0

G1 F600
G1  X35 Y60 Z35
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X35 Y10 Z35
G4 P0 
M05 S0

G1 F600
G1  X40 Y60 Z40
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X40 Y10 Z40
G4 P0 
M05 S0

G1 F600
G1  X45 Y60 Z45
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X45 Y10 Z45
G4 P0 
M05 S0

G1 F600
G1  X50 Y60 Z50
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X50 Y10 Z50
G4 P0 
M05 S0

G1 F600
G1  X55 Y60 Z55
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X55 Y10 Z55
G4 P0 
M05 S0

G1 F600
G1  X60 Y60 Z60
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X60 Y10 Z60
G4 P0 
M05 S0

G1 F600
G1  X65 Y60 Z65
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X65 Y10 Z65
G4 P0 
M05 S0

G1 F600
G1  X70 Y60 Z70
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X70 Y10 Z70
G4 P0 
M05 S0

G1 F600
G1  X75 Y60 Z75
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X75 Y10 Z75
G4 P0 
M05 S0

G1 F600
G1  X80 Y60 Z80
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X80 Y10 Z80
G4 P0 
M05 S0

G1 F600
G1  X85 Y60 Z85
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X85 Y10 Z85
G4 P0 
M05 S0

G1 F600
G1  X90 Y60 Z90
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X90 Y10 Z90
G4 P0 
M05 S0

G1 F600
G1  X95 Y60 Z95
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X95 Y10 Z95
G4 P0 
M05 S0

G1 F600
G1  X100 Y60 Z100
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X100 Y10 Z100
G4 P0 
M05 S0

G1 F600
G1  X105 Y60 Z105
G4 P0 
M03 S1000
G4 P0
G1 F400.000000
G1  X105 Y10 Z105
G4 P0 
M05 S0

G1 F600
G1 X0 Y0
M30

2016年4月19日火曜日

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! New cnc shield v3 engraving machine / 3D Printer / + 4pcs A4988 driver expansion board CNCシールドV3.0(V3.51より古いタイプ)とA4988のセットならかなり安い。456円(送料込み)。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月11日月曜日

CNCマシン:最終スペック

構想から約3週間、CNCマシンの部品は、ほぼ揃ったのであとはつくるだけです。
最終的なスペックとしては、以下のようになります。

・作業エリア:940x740mm、高さ195mm(外形1220x1000x450mm)
・ルーター(300w/出力調整可能)
・レーザー(5000mw/出力調整可能)
・直動機構:XYZ軸リニアベアリングレール(径16mm)
・送り機構:XYZ軸ボールスクリュー(径16mm、送り5mm)
・XYZ軸リミットスイッチ付き
・ステッピングモーターNEMA23(3.2V、2A、9kgfcm、X軸:1個、Y軸2個、Z軸1個)
・ステッピングモータードライバDRV8825
・制御/ソフト:Arduino Uno+CNCシールドV3.0+Grbl0.9(Macで制御可)
・材料・部品代:約80,000円(上記ルーター除く)

細かな変更はあるかもしれませんが、基本的には上記のスペックで。
スピンドル先端付近にLED照明や集塵機能もつけたいです。


2016年4月6日水曜日

CNCマシン:設計内容を3Dモデル化してみた

図面もだいたいできて、各部の寸法も割り出せたので、3Dモデルをつくってみました。ほぼ前回の図面通りなので、変更点はほとんどないです。ただ、モデリングしたおかげで、さらに細かいディテールを再確認できてよかったかも。
こんな感じか。全体的にゴツくなったけど、まあ頑丈そうでいいか。
実際の作業台1220x2440(4'x8'版)の上に900x1800x12の合板がのっているという設定です。
2本あるY軸の下に30mm角パイプを敷いて、ちょっと浮かせている感じです。900mm幅の合板をまたぐように置くことができます。実際は作業台の上に捨て板を敷いて、その上に材料をのせることになると思います。そのままビス止めあるいはクランプがはさめるようならクランプで。Y軸も宙に浮いてるけれども、スライド機構は上面と側面だけなので、底面は作業台に接していても問題ありません。そのままこのマシン自体クランプでとめてもいいかもしれません。
レールが手前まで来ていませんが、ルーターホルダーの出っ張りのために、そこまで動かないということと、1100mmのレールとボールスクリューをできるだけ有効に使うため、スライダーがのらない部分は後ろにずらしたということです。レール端部にある黒いボックスがステッピングモーターです。奥のもうひとつのY軸にもステッピングモーターはついています。2個のステッピングモーターで駆動するので、おそらくガタはでにくいでしょう。

これはFormZ freeというソフトでつくりました。いろいろフリー3Dソフトがでていますが、個人的にはこれが使いやすかった。中点などもスナップしてくれるので、この手の機械っぽいものはつくりやすいです。XYZ軸ともだいたい仕組みは同じなので、一度つくったパーツをコピーすればいいので、いっきにできあがりました。
背面はこんな感じ。この陰線処理画像もかたちが見やすい。

人気の投稿