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

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

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に下げたことで負荷が下がったのかも)。おお、ゆっくり動き始めした。このままいけるかな?と息をのんで見守っていると、なんとか最後まで無事ホーミングサイクルが終了しました。エラーなしです。思わずコンソール画面を見てみました。
偶然なのかなんなのか分かりませんが、ようやくホーミング達成(感動)。


ホーミングサイクルの流れ
・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ルーターとして使えそうという感じが見えてきましたが、まだレーザーについては後回しになっています。

175 件のコメント:

  1. こちらでも質問させてください。お願いします。
    コンデンサーの半田付けですが、見た目が似ていると思って選んだら1KVと書かれたもので、1uFというものとは違いました。耐圧の話と容量の話らしいのですがコンデンサーの種類はどれを選んだら良かったでしょうか・・・
    あと、CNCシールド3.0の人もコンデンサーの配線は同じでしょうか?

    返信削除
  2. Arduinoの回路上(5V)につけるので、耐圧に関しては通常の小さなセラミックコンデンサ(25Vや50V)で大丈夫です。容量のほうは、参考にしたInstructablesの記事によれば、0.47uFとなっています。以下がサイトです。ここも読んでみるといいと思います。
    http://www.instructables.com/id/End-Stop-Limit-Switch-Problems/

    たまたま手持ちに1uFしかなかったので、それをつけただけです。

    コンデンサーは各XYZのリミットスイッチ端子につけるので、grbl0.9ならArduinoボードのD9、D10、D12に対応する箇所につければいいはずです(grbl0.8ならD9、D10、D11)。3つともGNDは共有です。

    返信削除
  3. 今調べた所・・・コンデンサの容量が0.001UFでした。
    ちょっと小さ過ぎますかね。
    駄目かどうかは試してみます。

    それにしてもほぼ100%誤作動すると分かってなお継続して誤作動する基盤を生産、ヴァージョン変更するところが凄いな。
    そもそもなぜarduinoのGRBLとCNCシールドはこんなに互換商品が出回っててそれも安価がと撃たされない状態になってしまったのでしょうか。こんなに良い製品作ってるのに。ラズパイもいずれこうなってしまうのですかね。

    返信削除
    返信
    1. 0.001uFだと容量が低すぎると思います。故障の原因にもなるかもしれないので、無理に試さないほうがいいかもしれません。

      最新版であるCNCシールドV3.51では改良されてリミットスイッチ端子にノイズフィルターがついているようです。最初のバージョンから比べるとかなり改良されて、ほぼ製品に近いものになってきたと思います。もともとArduinoもgrblもCNCシールドもオープンソースのプロジェクトなので、利用者(参加者)が問題点を発見したり改良案を提供していく感じになっていると思います。このへんが、きちんとした製品(クローズド)とオープンソースの違いなのだと思います。
      今回のリミットスイッチのノイズの問題は、もう既に解決されていますが、何か問題を発見したり改良案がある場合は、Forumなどに投稿するといいと思います。
      ラズパイは、コピーがあまり出回っていないことから、完全なオープンソースではないようです。コピーしても採算がとりにくかったり、コピーしにくい設計になっているのかもしれません。

      削除
    2. オープンソースっていうのがあるのですね。勉強になります。
      オープンにする利点とそうでない利点を勉強すると楽しそうです。

      今回配線は逆にして逆にしてなど、いろいろ難しくなりそうなのでCNCシールドの11.12の回路をいじってピンが逆に戻るように改造しました。これで3.5と同じようにコンデンサーをつけようと思います。
      コンデンサーをどこかで買ってこようと思うのですが、こういうのってホームセンターですかね?

      削除
    3. 改造すると動かなくなりました。アラームエラーと・・・
      とりあえず次ぎ買うときは3.51を買おうと思います。ははは

      削除
    4. ホームセンターでも電子工作部品が置いてあれば売ってるかもしれませんが、普通のホームセンターだとあまり見かけませんね。やはり電子部品を扱っているところになるでしょうか。通販なら、秋月電子、マルツなどでしょうか。

      改造してアラームエラーが出たということは、どこかショートしているのかもしれませんね。リミットスイッチ用の端子は、一方が5Vでもう片方がGNDです。テスターで測ってみれば、どこが異常かわかると思います。リミットスイッチの端子は、普段はオープンになっていて、スイッチで閉じるとプルアップ抵抗によって5V(HIGH)になっている端子が0V(LOW)になります。HIGHの端子がLOWになったときに、リミットスイッチが入ったこととして感知する仕組みになっています。Arduinoボードでは5Vを上限として、3V以上がHIGH、3V未満がLOWと認識されるようです。ノイズや接触不良などにより5Vの電圧が揺らめいたりすると、瞬間的にLOWを検出してリミットスイッチが入ってしまうという感じです。
      自作するとこういった類いのトラブルはよくありますが、毎回解決していくことで次回似たようなトラブルにあったときは解決できるようになっているので、勉強にもなっていいと思います。

      削除
    5. 接続(半田付け)が甘いと隣の端子と競合しているようなことが起こるのですね。抵抗テスト見ても配線は有っていたのですがそれだけでは駄目だったようです。
      ただ配線が代わっただけでは正しく行かなかったりするのは分かったのですが、その原因が何なのか確かめられるかは専門知識を持っているかで差が出てしまいますね。
      僕にはなぜ駄目なのかまでは追求できません。これからもっと勉強してみようと思います。最近本屋で立ち読みを良くします。自作マイコン制御の類いを見ててCNCだけが勉強の範囲じゃないなって言うのを感じます。失敗したCNCシールドは今後の勉強のため取っておこうと思います。予備の方で改造だったので次は予備ではない方は同じ失敗をしない様に修正しようと思います。

      削除
    6. 配線を改造してエラーが出たのは、0.49uFのコンデンサーもつけたあとでしょうか? 
      もしコンデンサーをまだつけていないのなら、つければ大丈夫かもしれません。もちろんハンダ付けもきちんとなされていないと接触不良でノイズが発生することもあります。ハンダペーストなどつかっているでしょうか?

      削除
  4. 今日まで別の箇所を弄っていまして(機械オイルの循環機構の試作とか)、またリミットスイッチのノイズを消す為の半田付けに戻って来ました。コンデンサーのプラスマイナスの向きが分からなかった聞きに来ました。
    0.47ufをまた買い直しました。
    前回までの話について返信していませんでした。また機会がある時にお話しします。(というのも壊れたのかどうなのかそのシールドを取り付ける事自体に恐怖症になってしまいました。今回の半田付けを後回しにしたのもこの恐怖からですがおいてても解決はしないので・・・)

    返信削除
    返信
    1. この投稿にある最初につけた黒い円筒形のコンデンサーは47uFの電解コンデンサーで極性があるタイプですが、そのあとに付け替えた水色の0.47uFのコンデンサーはセラミックコンデンサーで極性は無しです。コンデンサーに極性が書いてなければ、どちらにつないでも問題ないと思います。詳しくは「コンデンサー 極性」などで検索して調べてみるといいと思います。
      まだステッピングモーターは動かないかんじでしょうか?

      削除
    2. ステッピングモーターもスピンドルモーターも無事動きました!本当に助かりました。
      まだ加工の向き(X軸では左右どちらが+の方向か)を設定していないのでそこからなんですけどね。
      コンデンサーの陽極陰極を付ける向きを間違えたらまずいですよね・・・?一応伸びてる線が長い方が陽極とは知っているのですが・・・(コンデンサー自体に書いてあっただけだが)
      半田付けのとき電気の流れと逆の向きに付けると動かないとかありますか?

      削除
    3. コンデンサーなしでも動くようなら、そのままでもいいかもしれませんね。ノイズで邪魔されて途中でロックかかってしまうようなら、コンデンサーをつけてみてもいいかもしれませんね。極性を間違ってつけた場合、すぐには壊れないでしばらくしてから壊れるときもあるようです。そのぶん気づきにくいので、かえって厄介な原因ともなるようなので、間違えないようにしたほうがいいですね。

      削除
    4. こっちも問題があるようです。
      本日下の方で質問した設定の解説を読みつつ設定を変更しているとリミットスイッチが入っていないのにアラームブロックがかかってしまいました。$22=1ホーミングサイクルを入れるとノイズが発生してました。
      コンデンサーの半田付けをする事にします。(まだ+と−をどっちの端子に繋げると正しい電気の流れになるのか分かっていないです)

      削除
    5. 黒い円筒型の極性のある電解コンデンサーをつかっているなら、表面のフィルムに-と書いてあるほう(足の短いほう)がArduinoのGNDに接続、もう一方(+)は、それぞれArduinoのD9、D10、D11ピンに対応する箇所に接続します。
      ノイズフィルターなので、念のためにつけておくに越したことはないと思います。

      削除
    6. ノイズフィルターできました。細か過ぎて難しかったです。
      ドライバの差し込む所が一部溶けちゃいました。
      こういう基盤への半田付けって熱の影響って大丈夫なのでしょうか。
      今回D9、D10、D11に付けたのですが11じゃなくて12に付ける予定でした。
      紹介されているコンデンサーを付けた画像がそこだったので。
      これは大丈夫ですよね。

      削除
    7. grbl0.8ならD9、D10、D11、
      D9:Limit X-Axis
      D10:Limit Y-Axis
      D11:Limit Z-Axis
      D12:Spindle Enable

      grbl0.9(grbl1.1も)ならD9、D10、D12ですね。
      D9:Limit X-Axis
      D10:Limit Y-Axis
      D11:Variable Spindle PWM
      D12:Limit Z-Axis

      参照:
      http://cnc-selfbuild.blogspot.jp/2016/11/cncv30v31v351.html

      削除
    8. 熱でパーツが壊れたりすることがあるので、手際よく(慣れが必要ですが)ハンダ付けしたほうがいいですね。単純な作業ですが、上手い下手があるので、ハンダの仕方をネットで検索してみるといいと思います。
      基本的には(電子工作的な意味でやや神経質に)、ハンダコテの先を水を含んだスポンジなどで常にきれいにして、ハンダペーストや吸い取り線など使ったほうが、素早くきれいにできると思います。あまり電子工作をしたことない人だと、ハンダとハンダコテだけで作業することがよくあるので、クリーナー、ペースト、吸い取り線など一通り揃えたほうがいいですね。コテ先もできるだけきれいな状態のものを使った方がいいです。古くなったものや、メッキがはがれたものなど使うと、作業も汚くなってハンダもつきにくく、何度もつけなおしているうちに、近くの部品を熱で痛めてしまったり、いろいろ不利になってきますね。

      削除
    9. 出来ていましたー
      感謝です。これでホーミングサイクルも出来る様になったので、安心して駆動させられます。後は電源とかかえてグレードを少しあげていきます。
      ホーミングサイクルが出来たらこの後は機械の原点も自動で作ってくれますよね?

      削除
    10. ホーミング出来てよかったですね。
      機械原点は、ホーミングによって割り出された位置(通常右奥上)になります。ただ正確には、ホーミング直後の位置は、XYZ軸は1mmだけマイナス側に移動していると思います。デフォルトでは$27=1.000(homing pull-off, mm)になっていると思うので、この値設定がホーミング後に何ミリ戻すか(安全のためスイッチに触れないように)ということです。なのでホーミング直後の停止位置が、正確には機械原点ではないということです($27で設定した1mm分ずれている)。

      ホーミングのあとは、材料をテーブル上の任意の位置に固定し、その材料に対して作業原点にしたい位置(CADなどで描いた図面の原点:例えば材料の左下など)へジョグボタンをつかってXY軸を移動します。Z軸は材料にぎりぎり当たるくらいまで少しずつ下げます。刃と材料の間に紙1枚はさんで、紙が動くか動かないか確かめる方法が一般的かもしれません。下げすぎると刃が材料を押しつぶして材料を破損したり、スピンドルやマシン自体も破損することにもなるので、ジョグボタンの進む量を小さくセットして(0.1ミリ以下)少しずつ下げていかないといけません。そして、そこを作業原点WPos(0,0,0)としてセットします。
      GrblControllerなら画面下中央にZero Positionボタンを押せば現在地をゼロ地点WPos(0,0,0)にセットしてくれます。手入力ならG92 X0 Y0 Z0と入力します。
      CAD等で描いた図面もその作業原点WPos(0,0,0)を基準としてあらかじめ描いておかなければいけません(作業原点を材料の右下にするか中央にするかは任意です)。

      ここまで書くとお気づきかもしれませんが、簡単な加工作業の場合は、機械原点はあまり必要なくて(ホーミングもする必要なし)、作業原点だけを材料に合わせて設定すれば加工できてしまうというわけです。ただ、複数の材料を配置したり、何個も量産するなら、機械原点はあったほうがいいと思います。

      削除
    11. えっと、まず24V2Aに変更するとホーミングサイクルをONにしてる場合でアラームロック(ノイズの影響)を受けました・・・
      何度か12Vの物と交換してテストしたのですがコンデンサーが0.47ufでは駄目なのかもしれません。ショックです。
      あと、これを使って何個も生産したいんですよ。なので端まで寄せてはリセットするのは大変なんで、自動でやってもらいたいんです。1ufのコンデンサーにしたら解決しますかね?

      削除
    12. 当面は60オズインが来たのでそれに変えてやろうと思います。
      多少はパワーアップするはず・・・。
      それから特殊かもしれませんが今回の企画(個人的な活動に企画とか言わないかもしれないですね)ではZ軸はあまり関係しないのです。せっかく切削なのにやってる事はレーザー加工機っぽくなります。板厚に関わらず切削可能な深さまで削ってもらうだけです。
      3Dプリンターで経験があるので0.1mの幅を普通紙で出すやり方は知っています。(下手で中々上手く出来ません。)今後3Dに変えたり、高さを重視する加工を始めたら微調整をしたいと思います。

      削除
    13. DC24V/2Aだと48Wしかないので、引くすぎるかもしれませんね。100W以上はあったほうがよさそうです。12Vなら10A、24Vなら5Aくらい欲しいですね。もしかしたら電力不足でエラーがでているのかもしれませんね。
      いくつか原因は考えられますが、
      例えばマイクロステッピングはいくつに設定しているでしょうか?A4988だと最高1/16まで設定できますが、もし1/16に設定しているなら1/8に下げてみるとか。
      あるいは、$110〜$112の最大フィード値を下げてみるかなど、要は電力的にあまり負荷がかからないようにするという感じです。
      A4988には保護回路も内蔵されていたと思うので、動作中に上記のような理由で負荷がかかって保護回路がはたらいて自動的にシャットダウンすることが、ロックの原因になっているかもしれません。
      おそらく、コンデンサーはそのままでも大丈夫だと思います。他の原因をまず考えてみたほうがいいかもしれませんね。

      量産するなら、一度作業原点WPos(0,0,0)をセットしたら(機械原点は設定せずとも)、あとは毎回材料を同じ位置に固定して、同じGコードをRUNさせればいいだけだと思います。
      どんな材料を切断するのでしょうか?仮に3mm厚のアクリルだとしても、1mmずつ3回のパスに分けて切ったりしないと負荷がかかりすぎるかもしれません。

      削除
    14. なるほど・・・アダプターを間違えているってことなんですね・・・何処かで勘違いしててっきり2アンペアって思っていました。
      一応アダプターとともにコンデンサーを買ってみます。どっちも安かったので。

      原点についてのイメージなんですが、パスに描かれている原点とCNCの原点が二つあり、CNCの原点がズレると同じパスでも加工される場所が全体的にズレると考えています。その作業原点って言うのはホーミングサイクルなくても自動で作られるのでしょうか?
      個人的にはホームを押すと勝手にいつもの原点に移動してくれて、切削終了後に開始地点に戻ってくれるのが一番嬉しいです。そういう設定を想定していました。

      削除
    15. ロックがかかってしまうことに関しては、$110〜$112だけでなく、$25(ホーミングの時のスピード)も少し下げてみたほうがいいかもしれません。どれかの設定スピードが速すぎて、負荷がかかっているかもしれないので。

      原点については、機械原点の座標系の上に加工する材料用の座標系(作業原点)が二層になってのっているとイメージするといいと思います。機械原点は絶対的な座標という感じで、作業原点はローカル座標のようなものです。
      例えば、加工するときは材料の左下(XY平面上)の角を作業座標の(0,0)とします。そこが作業原点になるわけですが、そこからヘッドが動き始め加工パスを通って、また作業原点にもどってきます。実際マシンにとっては、(0,0)と認識しているのではなく、機械原点からの座標、例えば(-100,-50)という感じで認識しています。なんでこの二つの座標を一致させないのかと疑問に思うかもしれませんが、もし別々の図面で描いた複数の材料があるときに、一方に一致させると他方と一致しないということになり、結局一致させる意味があまりないということになります。
      材料はどこにでも固定できるし、異なる材料を同時に加工することもできるし、それぞれの材料にとっての作業原点は複数存在するときもあります。ただ、機械にとって複数の作業原点がどの位置にあるかを見つけ出すには機械原点が定まっていれば、絶対座標として把握できるというわけです。
      なので、一個の作業原点だけしか使わない場合は、あまり機械原点は必要ないことにもなりホーミングもしなくてもすみます。すべてひとつのローカル座標系内ですんでしまうので。

      CADで図面を描いたときに、大抵は描いた図形の左下や中央に図面の原点があります。加工の際には、そのCAD図面の原点からヘッドが動きだして加工後にまた図面の原点に戻るということになります。そのようなGコードが普通は生成されます。自動でヘッドが加工開始点に戻るかどうかは、CADで図面を描いたときに決まる感じです。つまり、図面の原点が加工時における作業原点ということにもなります。もし機械原点と作業原点を一致させた場合は、CAD図面においても機械原点の位置をきちんと決定してから描かないといけなくなってしまい面倒です。

      機械原点は、CNCミリング/ルーターの場合は、通常X軸:右、Y軸:奥、Z軸:上にしておきますが、3Dプリンターとの座標系の違いは、特にZ軸で考えれば3Dプリンターは積層型なので下から上へと作業が進んでいきますが、CNCミリング/ルーターの場合は逆で、上から下へ削っていくのでイメージ的に反対になります。個人的な理由で設定を反転したり、機械原点と作業原点を一致させてもいいとは思いますが、他のサイトや説明などでは多くの人が使っているルールで書かれているので、個人的なルールで覚えてしまうと、設定のときに混同してしまうことがあるので、できれば普通のルールで覚えたほうがいいと思います。

      CADで図形を描くときに図面の原点が加工時の作業原点になるので、テーブルの作業エリアの範囲を越えないように図面の原点に対して遠すぎない範囲に図面を描かないといけません。もちろん、あとからでも原点の移動を設定変更することはできますが、イメージとしてはこんな感じで考えておけばいいと思います。
      なので、ホーミングによって機械原点は設定されますが、作業原点はジョグボタンなど使って固定した材料の位置と合わせながら手動でセットする必要があります(二つ前の返答に書いてあるように)。言い換えれば、CAD図面の原点と作業原点を材料に対して一致させるということです。一度セットすれば、あとはGコードで自動で動くので、また同じ位置に次の材料を固定して、同じGコードを繰り返せば量産も可能です。

      削除
    16. GrblControllerなら、たしかGo Homeボタンを押せば作業原点に戻ってくれます。ただ、ソフトによってはHomeボタンがホーミングサイクルのボタンだったりするので注意が必要です。例えば、bCNCの場合はHomeボタンはホーミングサイクルで、ジョグボタンの真ん中が作業原点に移動するボタンになっています。
      しかし、その作業原点WPos(0,0,0)は自動では決まらないので、前述したように最初に自分でセットしなければいけません。一度セットすれば、そこが作業開始地点になり、加工後には同じ位置に戻ってきます。

      削除
    17. 大体理解できました。$25ホーミングシーク?についてですが500.000mm/minになっていましたがこれは1分間に50cmなので動作的には速め位になっている気がします。どうですかね?(初期設定)その他ホーミングの付く設定も初期のままで、$24(feed)=25.000mm/min $26(debounce)=250msec $27(pull-off)=1.000mmとなっていました。結局昨日までハードの方を弄っていたので今日からソフトを弄るつもりです。しかし折角なので教えてください。ホーミングってホーム(原点)に戻る設定じゃなかったんでしょうか。(後に恥ずかしい質問だったと後悔することは分かってても聞かないとやれないんです。)

      今日までCNCのいろんな部品を買って試しましたが、始めから付いていたモーターが買って来た<60ozinのモーターよりデッカくて実はもっと強力だった可能性があって絶句しました。こういう装置って自分で色々勉強したり検査したり、調べられる能力がどれだけ必要な事なのか良ーーく分かりました。アダプターも12Vの5、6、7Aもよくわからないけど使う用途に合わせて付属している事がやっと分かったんでスッキリしましたし、ただ可変抵抗を下げてもだめで、上げてもだめなちょうど良いポイントがある事も分かりました。結論は始めに返って来つつあるってことに気付き始めた所です。

      なのでソフト面に関してはmirror nerror さんがおっしゃられる通りに機械的な原点を決めたいと思います。加工データ(3DCAD)を原点から機械の加工スペースに合わせてズラした位置に作ってNCデータも原点スタート、原点エンドさせれば良いんですよね。

      削除
    18. $24は$24=25くらいでいいと思います。
      $25については、少し下げたほうがいいかもしれません。$25=300とか、それでもだめなら$25=250などと少しずつ下げてみるといいかもしれません。
      $26は、$26=25くらいにしてみるとか。
      $27は、$27=3くらいにしてみるとか。
      $110〜$112も、いまの設定の600〜800くらいに下げてみるとか。
      それぞれの意味はこのページの投稿記事内に書いてあります。

      CNCだと、ホーミング(Home)は、機械原点MPosを決めるホーミングサイクルのことですね。おそらくイメージしているのは作業開始点などのホームポジションのことかと思いますが、それはCNCフライス/ルーターでは作業原点WPosのこととなると思います。当然、作業原点の設定さえすれば、ボタンを押して自動的に作業開始点となるホームポジションに移動してくれます。
      大抵の3Dプリンタの場合は、座標系は作業原点を含んだひとつしかないと思います。CNCフライス/ルーターの場合は、複数の座標系をつかって複数の作業もできるように設定されているため、機械原点と作業原点の2重の座標系があるということです(より高度な使い方をするために)。
      なので、単純な作業の場合は、機械原点の座標系は無視して、作業原点のほうでいろいろ設定すればいいだけです。イメージしてらっしゃる、原点(作業原点)をまずはテーブル上の中央に設定したいのか、それとも左下に設定したいのかなど、各自の決めたい場所に決めればいいというだけです。もし中央に設定すたいのであれば、CADでも原点を中央にして図面を描かないといけません。左下に設定したいのであれば、CAD上でも左下に原点がくるように図面を描いて、できるだけCADの原点から近い位置に図面を描くべきです。当然、CNCの作業エリアをはみ出すような描き方だと、加工時にヘッドがリミットスイッチにぶつかって非常停止することになってしまいます。
      この作業原点の設定をまずはやらないことには、作業開始点も決まらないということです。なので、ホーミングサイクルとは別と考えて下さい。機械原点と作業原点の二つがあるので、混同して考えないように注意が必要です。

      パーツ(モーターも含め)に関しては、必ずデータシートがあるので、「パーツの型番+data sheet」などとネットで検索して見てみた方がいいですね。データシートが検索しても出てこないようなパーツは、どんな内容なのか分からないので買わない方がいいかもしれません。買う前に必ずデータシートで確認して、スペックに相応しいかどうかチェックしてから買ったほうがいいですね。

      削除
    19. それから、ステッピングモータードライバ(たぶんA4988)のマイクロステッピングの設定はいくつにしているでしょうか?
      もし1/16に設定しているなら、1/8に下げてみるのも手だと思います。
      出来るだけ滑らかに動いたほうがいいと思って、つい1/16にしてしまいがちですが、そうするとその分電流が多く流れるようです。ドライバの電流制限をしたと思いますが、マイクロステッピングの設定のせいで、電流制限以上の電流が流れれば、保護回路がシャットダウンしてロックがかかってしまうかもしれないので、マイクロステッピング設定も下げたほうがいいかもしれません。

      削除
  5. 本日かなりビビりながらリミットを弄っていました。
    G-cordsenderですが、教えてください。リミットONの設定でテストし、無事ノイズの問題は解決した様に感じます。といってもノイズの邪魔はない可能性が分かっただけです。なので現状コンデンサーは使っていません。
    G01 X20などをコマンドしたのち、リミットスイッチを態と押すと止まりました。この後の事で質問なのですが、リミットスイッチで止まると一度G-cordsenderを再起動しないとまた動かせなくなります。これでは駄目だと思うのですが、ホーミングサイクル($22=1)をONにしたら良いみたいな別の設定の問題なのでしょうか?それともこれがノイズで動かないって現状なのでしょうか?それとも別の事ですか?

    別の件で質問です。ステッピングモーターはトルクとは別に異常な抵抗を感じると止まる様に出来ていますか?駆動軸周囲の平行が悪いのかちょっと抵抗がかかるとストップしてしまいます。(モーターは動くのですが軸は回らない様になる)
    たとえば他の軸のモーターも指でつまんだり抵抗を与えると同じ様に止まります。
    個人的には今のCNCの組み立てではX軸における抵抗を改善する事は出来ないし、実際に切削する場合に止まる可能性が高いので抵抗くらいで止まらない(トルクの限り)で動いてほしいです。
    その変更は出来ますか?

    返信削除
    返信
    1. リミットスイッチが動作の途中で押されれば(ホーミングサイクル中以外の場合)、マシン自体はその時点で非常停止になってしまいます(作業可能エリアを越えてしまったということなので)。再開するには、リセットとロック解除をしなければいけないはずです。bCNCなら上画像にあるようにResetとUnlockを押して再開です。コマンドならctrl-x (reset Grbl)と$X (kill alarm lock)を入力します。

      モーターに関しては、トルクが低いのかもしれませんね。
      モーターをもっと強力にするか(60 oz-in以上とか)、
      ドライバによる電流制限設定が低すぎるか、
      電源の電圧や電流が低すぎるか、
      などでしょうか。
      ステッピングモーター、ステッピングモータードライバは何(型番など)を使っているでしょうか?

      削除
    2. 弱いのは根本的にあると思います。
      今日は色々原因を探りましたが、本体の機能的な問題(歪みや精密度)があるのは分かりましたが、分解して再度組み立て直しても改善できる事ではないようです。調べてみるとステッピングモーターはトルク以上がかかると滑り、そのまま滑り続けると書いてる所もあるようで、その可能性を感じます。移動距離に対してモーターの回転速度を減らしたら必要なトルクを減らせ、脱調を防げるかもしれないと考えましたが、本当に弱い(モーターの振動など)力でも加わると止まるので違うと感じています。
      ステッピングモーターの型番は
      TYPE: FY42HM4405N-18.3T lot no FE23-F109
      使用電力は12V−5A,6A,7Aのアダプターで取っています。
      HM44がトルクだったような覚えがあるのですがやはり弱いですよね・・・
      わたし、アマゾン以外で買うのなれていなくて海外からでおすすめとかあるのでしょうか?

      削除
    3. 脱調の原因が振動にある事が分かりました。
      アルミフレキシブルシャフトが回転時に特有の振動を発生させ、軌道上にある物(ステージやスピンドル類)がある一定の一に移動するとシャフトから発生される振動がステッピングモーターの脱調を引き起こす周波数になり、モーターがスリップします。
      なのでスリップしながらさらに数センチ進むと脱調から切り抜けたりもするようです。
      詳しくは分かりませんが原因の一つだと分かりました。他に機械的抵抗も合わさって起きている事も分かっています。
      対策としてシャフトを引っ張り、緊張状態で回転軸をベアリングに固定する事で解決しました。
      どちらにしてもトルク不足は変わらないので購入しますけど・・・

      トルクが300以上・・・1600とかあるのですが、強すぎるのは返ってフレームを破損させたりしますよね?60〜100くらいで選ぼうと思っています。
      安かったのはこいつ・・・
      https://www.amazon.co.jp/gp/product/B01H754YMK/ref=ox_sc_act_title_1?ie=UTF8&psc=1&smid=A3SHGZVTMF8XZM

      削除
    4. 最後に書いたアマゾンのモーターでもいいかもしれませんね。
      このブログでも紹介しているように、アマゾンよりもAliExpressのほうが種類も豊富で値段も安いと思います。
      トルクが高すぎるとアンペア数も高くなるので、モータードライバも大きなものが必要となると思います。
      モータードライバの許容アンペア数を越えないようにモーターを選んだほうがいいと思います。
      NEMA17かNEMA23の60oz-inくらいであれば、大丈夫かと思います。
      電源がDC12Vだと低すぎるかもしれません。DC24Vの5A〜7Aくらいのほうがいいと思います。
      モータードライバは何を使っているのでしょうか?モーターを強力にするならモータードライバも変えないといけないかもしれません。

      削除
  6. モータードライバが何の事か分からないって言ったら振り出しに戻る事になりそうで怖いんですが・・・
    UNOの上にCNCシールドがあって、その上に4個ちっちゃいの・・・この小さい基盤?がドライバでいいですか?ここでも紹介されてる赤い奴使っています。ステップモーターが静かになるって有名な奴買ってみたいなーって思っていましたが、そんな違いが有ったなんて知りませんでした。
    24Vのアダプターが都合よく(ハードオフに)あるか分からないのですが、インターネットで買えますか?
    最後の奴をじゃあ使ってみます。トルク足りると良いな・・・
    トルクが1.5倍になり、電力が2倍になったら合計3倍ってことで良いのかな?

    返信削除
    返信
    1. ということは、モータードライバはたぶんA4988ですね。A4988なら電流2アンペアまでです。
      http://cnc-selfbuild.blogspot.jp/2016/04/cnccncdrv8825a4988.html
      もしくは、
      http://cnc-selfbuild.blogspot.jp/2016/03/blog-post_25.html
      この二つのページにドライバやモーターについて書いてあるので、読んでみてください。
      ドライバには、ヒートシンク(冷却用のアルミのひだひだ)はついているでしょうか?ヒートシンクがあれば2アンペアまでいけますが、ないと1アンペアまでのモーターしかつなげません。
      それと上記ページに、ドライバの「電流制限」について書いてあります。ドライバの基板上にある小さな可変抵抗器をテスターで計測しながら調節します。これが低く設定してあると、それ以上電流が流れないようになってしまいます(安全のために)。低すぎれば大きなモーターをつないでもトルクがでないし、高く設定しすぎれば過度に電流が流れてモーターやドライバが焼き切れたりすることもあるので、調節はきちんとしたほうがいいです。よく読んでみてください。
      A4988だと2Aまでなので、このブログで制作したCNCマシンではDRV8825(2.5AまでOK)を使っています。つまり使うモーターによっては、DRV8825に付け替えたほうがいいかもしれません。
      あとは、電源ですが、やはり24V(5A以上)のものがいいと思います。
      これらは、すべて中国のAliExpressで買うと半額以下の安さで買えると思います。アマゾンでも同じような中国の製品は売っていますが、すこし高いかもしれません。
      上のページにもAliExpressの商品リンクもつけてあるので、
      モータードライバ:A4988(2A)もしくはDRV8825(2.5A)
      ステッピングモーター:NEMA17もしくはNEMA23のトルク60oz-in以上のもの
      スイッチング電源:24V、5A以上
      これらの部品はマシンのスペックに合わせて吟味したほうがいいですね。
      ハードオフだと、望んでいるものが売っているかどうかわからないし、それほど高価なものでもないことからも、スペックに合ったものを買ったほうがいいかもしれませんね。

      削除
    2. さきほどAliExpressを見てみましたが、NEMA17(56.64oz-in、1.7A)だと一個1053円(送料込み)であります。
      http://s.click.aliexpress.com/e/Y3rrB6M

      削除
    3. とりあえずと思い、アマゾンで買ってしまった・・・
      アマゾンはその他色々必要になる物を一緒に買えるのが良いね!
      aliexpressインストールしていました。使い方は難しく無さそうですね。ただ英語なんですよね・・・
      輸入として考えるとここが最安値ですかね?とても良さそうに見えました!
      届いたら早速付け替えたいところですが、いきなりコンセントやモーター買えたら危ないですかね?最初は捨てても良いボード使いますが、気をつける点などありますか?

      削除
    4. まずはモーターの許容電流値に合わせて、ドライバの「電流制限設定」をしたほうがいいですね。方法は以下。
      http://cnc-selfbuild.blogspot.jp/2016/04/cnccncdrv8825a4988.html

      削除
    5. 何となく分かりました。この丸いのが回る事も初めて知りました。
      とりあえず、0.8Vをどうにか計測したら良いのですね。・・・今からCNCをほしがった時の自分に「無理だ」って伝えたいよ。

      削除
    6. 電源(12V)を繋いで、USBをパソコンと繋げた状態で電圧を測定していたらどうもUSBポートが壊れました・・・正しい測定手順みたいなのってありますか・・・

      削除
    7. ぐはっ・・・
      USBは無事再起動で正常化したけど、捻って抵抗を変更するアレを1A用に変えたら正常になった!つまりステッピングモーターの脱調の最大の原因がドライバの抵抗が高くなっていたからだー!
      でした。傷心です。だって強いアダプターとステッピングモーター買ってしまったんですから。
      無知は勉強代を結局使ってしまう訳ですね・・・
      強いモーターにする事は良い事なので変えますけどね。

      削除
    8. ルーターやフライス盤の場合はトルクが強いほうがいいと思うので、新しいモーターが届けば、再度そのモーターの許容電流値に合わせるといいと思います。
      自作だとこういう細かな設定もしていかないといけないのですが、ひとつひとつが勉強になるので、今後のためにはいいと思います。
      Arduino自体、電子工作の教材なので、CNCとは別にArduinoの本やサイトなど見つけて、いろんなセンサーやアクチュエータなどの実験をしてみると、かなり電気には詳しくなると思います。

      削除
    9. CNCを自作するにあたって必要なことは、以下にまとめてありますので読んでみて下さい。
      http://cnc-selfbuild.blogspot.jp/2016/04/cnc_4.html
      たしかに、ある程度の電気の知識や電子工作のスキルは必要だと思います。あとになってみれば、何だこういうことだったのかということも多いと思います。特に電気関係においては、ちょっとした配線の間違いや部品選定の間違いで、すぐに故障したり動かなくなったりするので、ひとつずつこまめにチェックしていくしかありませんね。電子工作やプログラミングをすると、どうしても細かいことにうるさくなる性格になってしまうと思います。その分、失敗は少なくなるので、いいのですが。

      削除
  7. おそらく本格的に使えるのはステップモーターを変えてからですが、それまでに今のを使ってソフト面の設定をマスターしておきたいのですが、GRBL0.9の設定の解説なんてありますか?(1.1も気になるけど今からやるならどっちですかね?)

    返信削除
    返信
    1. 設定については、このへん見て頂けばいいかと。
      http://cnc-selfbuild.blogspot.jp/2016/04/cnc_29.html
      とりあえず0.9で動作確認して大丈夫そうなら、1.1に移行するといいのではないでしょうか。

      削除
    2. 1.1のKnown Issuesに、Atmel16U2を搭載してあるArduinoクローンを使うとUSBシリアル通信でエラーが起きることがあるようです。以下を読んでみるといいと思います。
      https://github.com/gnea/grbl/wiki/Known-Issues
      ということから、とりあえず0.9でやってみるのがいいのかもしれません。

      削除
  8. ちょっと今の質問の流れをそれぞれ未解決ですが、別の事を質問させてください。
    現在の機械のXYZ軸の向きが正しいか確かめる為にパスを書いて確かめているのですが、Fusion360を主に使ってNCコードを作っています。Fusion360については質問しても良いですか?あまり記事は無かったのですが、主にどんなCAMを使っていますか?

    返信削除
    返信
    1. 個人的には、2次元カット(板材カット)が多いのでInkscapeでCADのように2次元の図面を描いて、そのsvgファイルをJscutで読み込み、オフセットパスなど設定し、Gコードを生成しています。
      そしてbCNCでGコードを読み込んで作業する感じです。
      3次元加工するならFusion360、SketchUcam、Blendercamあたりがいいとは思います。

      削除
    2. XYZ軸の動く方向を確かめるだけなら、
      G91 X10(現在地からX軸を右に10mm動かす)
      G91 X-10(現在地からX軸を左に10mm動かす)
      などのコマンド入力で確かめられます。
      X軸はプラスが右方向、マイナスが左方向、
      Y軸はプラスが奥方向、マイナスが手前方向、
      Z軸はプラスが上方向、マイナスが下方向。

      削除
    3. やはり、レーザー加工は別のソフト使いますよね。
      今気にしているのは作ったオブジェクトが機械だとどの向きに認識されるのかです。
      Vの形の物が<作られるのか>なっちゃうのか∧なるのかを確かめて、ちゃんとVの向きになるのを確かめたいのです。
      それから加工物体の中心が機械の中心にくる様にどうしたら良いか調べています。以前教わった様に始めに機械の中心から始めれば良いのですが、中心よりも機械の端(右奥下)に持ってくるのが一番簡単で都合がいいのです。(そこからスタートしたい)
      なので教わりたいのはFusion360でNCコードを作成する際に開始地点を決める方法です。
      現在Fusion360で決められた最初の削りだしの部分が加工原点になってしまいます。
      CADは原点から離した位置にオブジェクトを配置しているので、CAMでも原点(000)から物体に近づいて行き、加工を行う様に動いてほしいのです。
      ちょっと分かりづらくて済みません。

      削除
    4. http://forums.autodesk.com/t5/fusion-360-ri-ben-yu/bd-p/707?unanswered-posts-page=1
      ついにここで聞いてしまった。画像が貼れたので参考までに見てみてください。

      削除
    5. ルーター加工でも2次元ならInkscapeを使ってます。まさにV字型の部品制作を以下のページでやってます。
      http://cnc-selfbuild.blogspot.jp/2016/05/cnc_3.html

      どのソフトでも、XYZ軸の方向は同じなので、一旦図面をGコード生成して、それをG Code Sender上の図面表示(Visualizerなど)で見てみればいいと思います。
      G Code Senderの図面表示で、どっち向きに加工パスが現れているかでチェックできると思います。
      X軸を右に動かそうとしているのにY軸が奥へ移動しているとか、CNCマシン上で時計回りに90度ずれているとかなら、そのCNCマシンの配線がずれているのかもしれません。

      それから、3Dプリンターの場合はZ軸の開始点は下からになりますが(下から上へ積層していくので)、CNCルーター/ミリングの場合は、上から下へ削っていくので、加工原点は右奥下ではなく右奥上にしたほうがいいと思います(特にZ軸のことです)。そうしないとエンドミルが材料や台にぶつかったり、加工早々に水平方向の最大切削抵抗を受けてしまうので。

      XY平面上の右奥を開始点にする場合は、CAD図面上でも部品の右奥にCADの原点がくるように描けば、Gコード上でもそうなると思います。Fusion360では、原点をXY平面上の右奥にして図面を描くことはできないでしょうか?
      基本的には、どのソフトでも加工原点の位置は、部品の位置に対してどこにでも設定できると思います。
      ちなみにbCNCなら一旦Gコードを読み込んだあとからでも、原点(加工開始点)を違う位置に移動(編集)することはできます。
      なので、Fusion360上で原点を移動するか、移動できない(移動する方法がわからない)のであれば、bCNCを使うといいと思います。

      削除
    6. 画像見てみました。
      右側にある赤緑青のXYZの矢印の位置と材料の角を一致させたいということでしょうか?
      それなら、その3Dオブジェクト自体(オブジェクト全体を選んで)を平行移動すればいいだけだと思います。

      削除
    7. もう一度画像の質問文読み返してみたら、意味が分かりました(たぶん)。
      画像右側にある赤緑青のXYZの矢印に最初ヘッドがあって、そこからヘッドが移動して材料を削り始めるようにするということでしょうか?
      一度、そのGコードをG Code Sender(bCNCなど)で見てみるといいと思います(Fusion360のシミュレーションではなく)。G Code Sender上では、どこが開始点になっているのか確認できると思います。
      原点(赤緑青のXYZの矢印の位置)に対して、XY平面上の-Xと-Yの領域に材料がおいてあるわけだから、ヘッドの開始点(加工原点)は、G Code Sender上では赤緑青のXYZの矢印ところになると思います。

      見た感じ、2D加工をやっているようなので、それならInkscape+Jscutでやったほうが、簡単にできると思います(設定項目が少ないので)。Fusion360はかなり高度な使い方もできそうなので、以前触ったときも設定項目が多すぎて、初心者には難しい感じの印象を受けました。一旦、各種設定がきちんとされれば楽だとは思いますが、それまでが結構大変そうです(覚えてしまえば、簡単なことだとは思いますが)。

      削除
    8. もともとCAM自体そこまで選りすぐっていないので安易にFusion360を選んだ経緯があります。無料だけどオンラインが必要なので、本当はオフライン(CAD,CAM用のパソコンはウイルスとかかかりたくない為)で作業を始められる様にしたいので、もしかしたらそのJscutが役に立つかもしれません。
      2次元加工にしているのは画像のような四角く切ったものに一二三って書いたような深さの違うカットを入れるだけだったので。まだ使い方が分かっていないのですが、これにさらに淵は星形に全部下まで切る動作を足しても2次元加工で済みますか?
      また、面取りやフィレットを淵に入れる(バリ取り)などは3次元加工でしか出来ませんか?

      削除
    9. 板材(アルミ、アクリル、木材かかわらず)のものを星型に切り抜く作業なら2D加工ですね。エンドミルの先端が平らなスクエアエンド刃で削れるなら2Dの容量でいけます。
      材料の上面が球面状にカーブしていて、エンドミルも先端が球形状のボールエンド刃を使うなら3Dですね。
      面取りなどする場合は、最初はスクエアエンド刃で外形や穴の部分を削り、そのあとに刃が斜めになっている面取りカッターにエンドミルを交換して、引き続き面取り用のGコード(また別につくらないといけない)で2段階に作業する感じです。
      もし、面取り部分がそれほど大きくないのであれば、ヤスリなど使って手作業でするほうが早いかもしれませんね。単なるネジ用の穴に皿ネジ用の面取り(カウンターシンク)をつけるだけなら、ボール盤で面取り用ドリルビット(買うと高いので、単に一回り太いドリルビットでも充分)で加工するほうが早いです。

      言葉だけだと説明しにくいかもしれないので、ブログとかに画像をアップロードしてもらえば、その画像を見ながらもう少し的確なこと言えるかもしれません。とりあえず最終的につくりたい形を見てみないことには、わかりにくいですね。スケッチでもいいのでブログなどにアップロードできるといいんですが。

      削除
    10. ブログなんて持っていないんですけど、た・・・他人のブログでしょうか?(そんな分けない)
      やはりNCコードに原点からのスタートはできませんでした。
      また同じ質問に画像を足したのですが、赤いラインと黄色いラインがあり、小さいですけど赤い三角(下向き)は開始地点、緑の三角(上向き)は終了地点になります。
      回答してくださった方が戻るのはいくつか方法があり、難しくないと言っているのですが、説明が端的過ぎて私の脳内でピンとこない・・・そこまでの過程を教えてほしいんですけどね。

      二次元加工の製品をメインにいつかは3次元で物を作ってみたい感じです。ほとんどが板を切りとったり上を少し削ったりする程度です。削った部分を綺麗に仕上げたいのでレーザーより切削を選びました。レーザーはこげますよね?

      削除
    11. 7Yさんもブログを書くといいと思います。おそらくGoogleやYahooのアカウントくらいお持ちでしょうから、すぐに始められます。ブログ上に、画像も含めもうすこし詳しく内容を書いて頂ければ、どこをどうすればいいかアドバイスしやすいと思います。Fusion360のForumなどに質問するときも、リンクを張っておけば内容が伝わりやすくなると思います。

      Fusion360で現時点でのGコードを生成できるでしょうか?
      前に書いたように、bCNCならそのGコードを読み込んでから、好きな位置に原点を設定できます。
      Fusion360でも原点設定はできるとは思うのですが、どこにそれが設定できる項目があるのか使いこなしてないと分かりにくいですね。

      そんなFusion360の使い方なども含め、ブログに書いておけば、自分にとっての忘備録にもなるし、同じようなところでつまづいている他の人のためにもなっていいと思います。あるいはお互い情報交換になっていいと思います。

      このブログも最初は自作するにあたって参考になるサイトのリンク先や購入しようと思っている部品リストのメモ書き(忘備録)でした。そして複雑な設定内容や手順なども書いておくことで(特に海外のサイトの内容)、一旦情報整理されるし、内容を覚えてしまいます(忘れてしまえば、またそのページを見ればいいわけですから)。

      レーザーに適した素材であれば、レーザーのほうがいいときもありますね。その辺は使い分けています。レーザーも焦げないように出力調整はしますね。CNCミリング/ルーターならエンドミルの種類や回転速度、加工速度など、負荷なくきれいに切削できるような設定にするのもけっこう難しいですね。何回も試してちょうどいい設定値を見つけるという感じだと思います。マシンの特性、素材、使っているエンドミルの種類も様々ですから、設定も人それぞれというかんじになると思います。

      実際どんな素材(アルミ、アクリル、樹脂???)をどのような加工するのか、図面や絵(手書きのイメージ図でもいいので)があったほうがいいですね。

      もしFusion360のForumで質問した画像のような、四角い板の上に溝を掘るだけだったら、手動コマンドでやったほうが早いと思います。おそらく、試しにモデリングしたものだとは思うのですが(本当は別の形状の材料がある)、やはり具体的な最終形状が分かる図面や3Dモデルと素材名があったほうが、アドバイスもしやすくなると思います。
      それと、PCの画面をスマホなどで撮影するよりも、スクリーンショットしたほうが鮮明になって見やすいと思います。Windowsならスクリーンショットで検索すれば、やり方やフリーソフトも簡単に手に入ると思います。

      削除
    12. 以前ホームページないし、ブログを作ってみたかったのですがHTML言語の発音が悪く、コンピューターと会話できない為断念しました。ある人はいろんな情報をエクセルで保存すると良いとか言ってくれましたが、私はいつも頭の中に入れる以外の記録が出来ない人でした。
      ブログで自分なりに考えをまとめておくのって重要ですよね。本当に簡単なブログを作りたいです。
      Fusion360でのGコード生成は成功しました。しかし実際に削ってはいないのでどんな物が出来上がるのか見た事は無いです。CNCが動いている様子だけは見ました。
      bCNCでいいのですが、もう一度先の質問レスに画像を上げました。これでほぼ誰にでも言いたい事が伝えられたと感じています。

      1mm程度の薄板を加工するならレーザーを選ぶかもしれません。素材はアクリル以外多分使わないと思っています。作る物は☆の形だったり◯だったり、お花の形や絵のような造形を切り取ったような形です。

      流石に毎回横棒を引くだけとは行きませんが、手動っていうのは制御ソフトの矢印を押して移動するような感じで加工という事でしょうか?
      スクリーンショットを使うべきでしたね・・・ちょっと考えればそっちの方がうまく行きそうなことに気がつかず、写真でやってしまった・・・スクリーンショットで・・・検索!?ってどういう事なのでしょうか。画面をスクリーンショット取った後にその画像で検索が出来るのですか?
      一番簡単なブログの場所ってどこでしょうか。画像の容量制限が無い所が良いな。

      削除
    13. 再度画像みました。だいたいやりたいことは分かりました。基本的にはスクエアエンド刃で板状の材料を切り抜いたり、穴や溝を削ったりする2D加工ですね。

      加工原点の位置が材料から離れた位置に設定することは可能ですが、実際の作業手順を踏まえるとかえってやりづらくなりそうです。
      この場合なら、材料の右奥の角(本当は左手前にしたほうがやりやすい)に加工原点を持って来たほうがよさそうですね。おそらく右奥はホーミングによる機械原点の位置だと思うのですが、機械原点に近すぎて危険なので、もうすこし余白を持たせるためにも、材料の近くにしたほうがいいと思います(ただ設定としてはできないことはないですが好ましくないと思います)。特殊な加工内容ではなさそうなので、普通のやり方(作業しやすいやり方)をしたほうがいいと思います。

      というのも、この場合はいつも決まった大きさの材料を決まった位置に固定できるような治具(かぽっと材料をはめるようにできる台など)を使わないと、二度手間になるかもしれません。
      材料をセットするときに、左奥のエンドミルの位置から定規などで毎回測らないといけなくなるからです(当然治具などなければ、誤差もでてきます)。
      いざ作業開始したら加工パスが材料からはみでてしまったということが起きてしまいます。

      作業の手順としては、
      ・誤差を含んだ大体の位置でいいのでテーブルの中央あたりに材料を固定する(この誤差は以下の手順によって解消されます)
      ・エンドミルの先端(Z軸)を材料の上面より高い位置に上げておく(材料固定金具などあるなら、それ以上の高さに上げておく:安全のため)
      ・ジョグボタンを使って、エンドミルの先端を材料の角(仮に右奥)の真上にくるように移動する(X軸とY軸だけの移動、Z軸は材料よりも高い位置にあげたまま)
      ・ジョグボタンを使って、エンドミル(Z軸)を材料の上面に接するまで少しずつ下げる(以前書いたように紙一枚はさんで材料の上面まで下げる)
      ・この位置を加工原点としてセットする(GrblControllerなら「Zero Position」ボタン、bCNCならX=0、Y=0、Z=0のボタンを押す、コマンド入力ならG92 X0 Y0 Z0)
      ・これで加工原点はセットされたので、安全のためZ軸を少し上のほうにあげておく(材料上面や固定金具よりも高い位置へ)
      ・あとは切削開始
      ・切削終了後、自動的に加工原点に戻る
      この際、Z軸はJscutなどでGコードを生成する際に設定したエンドミル(Z軸)クリアランスの位置(材料上面よりも10mmほど高い位置)まで自動的に上がって停止する。
      ・あとは、次の材料を同じ場所に固定し切削開始
      この際も材料を固定するとき治具がなければ、1~2mm程度のc位費の誤差はでてきます。何か目印でもつけておけば最低限の誤差で済むとは思います。その分材料の余白も数ミリ多くしておけば問題ないですが。

      という感じで、材料を固定するところからの具体的な作業手順を踏まえると、加工原点は材料の角に合わせると楽だと思います。CNCマシンも写真で見させて頂きましたが、CADなどの図面上では材料に対して左手前が原点になるので、無理に左奥を原点にしないほうが、いろんな意味でも楽だと思います。

      ブログについては、どこでもいいと思います。Googleならこのblogspotになるし、Yahooでもありますし。容量はそれほど心配する必要はないと思います。大体そこそこの容量はあるので。

      削除
    14. bCNCによる加工原点の移動方法を以下のページにのせておきました(ヘージ後半に)。
      http://cnc-selfbuild.blogspot.jp/2016/05/cncjscutg-code.html
      一旦Gコードを読み込んで、たとえどこに加工原点があっても、あとから簡単に移動できます。

      削除
    15. そう言えば思い出しましたが、bCNCなら画面上のボタン(空きボタン)に任意のコマンドを割り当てることもできます。つまり、そのボタンを押せば、右奥の機械原点へ一発で移動したり、あるいはテーブル中央へ移動したりできるという感じです。

      それとは別に、読み込んだGコードの前後に任意のGコードプログラムを挿入することもできます。例えば、機械原点からテーブル上の任意の位置へ移動するGコードを挿入しておけば、機械原点から任意の座標に移動後、Gコードの加工作業に入り、加工作業が終わればまた機械原点へ戻るということもできます。

      たしかGrblControllerだと単純な機能しかなかったと思うので、bCNCを使えばおっしゃっていることは大体可能だと思います。

      ただ問題なのは、どこを基準にして材料を固定するかということです。その基準点が結局は加工原点になるという感じです。普通に考えれば、材料の角の位置、あるいは材料の中心点となると思います。

      削除
  9. 色々読んでいました、まだ分からない所が多いです。Jscutはソフトをダウンロードして使う者ではないのでしょうか?結局よくわかりませんでした。

    加工素材の位置の固定はいつも同じ位置に置く事が出来る様に対策は出来ています。なのでいつも加工時にXに90mmYに90mm動けばちょうどいい位置になるのです。しかし加工内容が毎回同じものである場合は滅多に無い予定なのです。☆の形に削ったり、◎の形に削ったり、チョイチョイ買える予定なのです。なのでbCNCで、もし、いつもその動作を最初と最後に入ってくれたら(Z軸は10mm上昇し2次元加工では10mm下まで削り、10mm上昇して0点に帰る)私のシミュレーション(脳内)では成功してしまいます。
    説明通りなら”何らかの奥に送った後リミットで止まり、バックランし、G92でそこを0点に決めるコード”を必ずコードの中に入れれば良いみたいなんです。質問板でもそう教わりました。ミラさんとほぼ同じ回答が返って来ました。

    新たな情報をまとめると
    ①Fusion360でコードに必ず90mm,90mm移動を入れるのは無理。
    ②Gコード作成後に書き足す方法は間違えた所に足さなければほぼ成功するらしい。(Gコードは設定を変えればメモ帳に保存できる?)
    ③Gコードではなく手動で素材の上(加工範囲内)に移動させれば0点(G92)をコマンドするだけでいい。(しかし私はこれがどうしてもやりたくないのです。3Dプリンターで散々だったのです。)
    ④bCNCを使えばいつも加工時に決まった動きをするコマンド追加できる。(ミラさんはこれが良さそうだと提言)

    理解するのに2日かかってしまいました。総合的に④ですね。

    返信削除
    返信
    1. Jscutは基本的にブラウザ上でhttp://jscut.org/jscut.htmlにアクセスすれば使えます。しかし、対応しているブラウザはFirefoxかChromeだけです。SafariやInternet Explorerは対応していないようです。なので、ソフトをダウンロードしないタイプのものです。最近は何でもブラウザ上で(インターネット上で)できるようになってきました(いちいちアプリをダウンロード&インストールする必要なし)。
      ただ、ダウンロードして使うスタンドアロンのものもあるようです。サイトを見てみるとわかるかと(http://jscut.org/)。個人的には使ったことはないです(そもそもChromeからアドレスにアクセスすればすぐに使えるので)。
      大体オープンソースのソフトやハードは主にChromeが使われています。Internet ExploreやSafariはあまり対応していないので使わないほうがいいと思います。

      CNCのほうについては、前に書いたようにbCNCを使えば、イメージしていることは設定可能です。ただし、CNCフライス/ルーターの場合は毎回加工原点出しをしたほうが確実です。

      3Dプリンタはノズルから材料が出てきて、大体テーブルの中央で動いていれば大丈夫なので、材料に合わせた位置決め自体必要がありません。しかも、いつも作業の開始点はテーブル面から上へとスタートするのでZ軸の加工開始点は固定されています。
      しかし、CNCミリング/ルーターの場合は、上から下へ少しずつ切削するので、材料の厚みがかわってしまえば、Z軸の加工開始点も変わってしまいます。
      たとえば、厚み5mmのアクリル板を切断する場合は、材料上面から下方へ1mmずつ5回のパスで削る(一気に5mmも削れないので)というGコードになるので、加工開始点はテーブルから5mmの高さになります。材料が3mmになれば、1mmずつ3回のパスで削るので、テーブルから3mmの高さが加工開始点(加工原点)になります。
      3Dプリンタなら、高さ5mmの部品でも、高さ3mmの部品でも、Z軸の原点はテーブル面なので変わらないですが、CNCミリング/ルーターの場合は、材料の厚みによって原点が変わってしまいます。そのため毎回材料に合わせて加工原点(特にZ軸)を定める必要がでてくるというわけです。

      もちろん、大量生産するような場合は、つかう材料の厚みもサイズも同じということになるので、最初に一度だけ加工原点を出してしまえばOKです。あとはテーブルに印をつけて、それに合わせて材料を固定したり、治具など使って所定の位置にはめこめば、それほど位置がずれるということもありません。7Yさんの作業イメージはこれに近いのだと思いますが、普通は毎回材料や部品の形状も違うので、その都度材料の位置決め(加工原点出し)をするという考え方です。

      なので、加工原点について普通に質問すれば、毎回手動で材料に合わせて加工原点を決めると大半の人が答えると思います。結局のところ、毎回材料に合わせて加工原点出ししたほうが、次にどんなサイズの材料が来ても対応できるということです。

      7Yさんのイメージしているやり方だと、自動で行われるかのような感じで一見便利そうなのですが(大量生産のときにはいいのですが)、材料が変われば(特に厚みが変われば)、結局また自動化するための設定(加工原点出し)をしなければいけなくなってしまいます。逆に言えば、大量生産しない限りは、毎回加工原点出しをしなければいけなくなるということです。大量生産だとしても、機械やツールも摩耗、歪み、ズレなどでてくるので、加工原点出しはできるだけまめにやっておくにこしたことはないと思います。要は、毎回ちゃんと制作環境をチェックするか、しないかの違いのようなものだと思います。

      しかしながら、7Yさんの言っているような使い方もないわけではないので、試してみるのもいいとは思います。それだけ知識や方法も増えるので、後々ためになるとは思います。

      削除
    2. 材料の位置決め(原点出し)を機械に任せる方法として、エッジファインダーというツールがあります。固定した材料に対して主にX軸とY軸の位置をツールを使って見つける方法です(以下)。
      http://cnc-selfbuild.blogspot.jp/2016/10/blog-post.html

      Z軸に関しては、Z軸プローブを使えば同じように高さの加工原点を見つけることができます。プローブ機能を応用すればXY軸方向でも同じようなことができます。
      http://cnc-selfbuild.blogspot.jp/2016/05/cncz.html

      これらを使えば、手動でやるよりも正確に位置決めができるので便利ですが、手動でやるよりもかえって手間や時間はかかります。一旦テーブルから外してしまった部品に追加の加工をするときとか、どうしても正確にこの位置に加工したいというときなどは便利だと思います。

      またbCNCではWebカメラを装着して、XY平面上の材料の位置や角度をOpenCVで認識させる方法もあるようです。しかし、この機能を設定したり調整するまでが、かなり大変だと思います。個人的には興味ありますが、いまのところそこまでやる必要ないかなと。
      https://github.com/vlachoudis/bCNC/wiki/Probe-Camera-Alignment

      というように、ツールや機材を使って高機能なCNCマシンをつくることはできるのですが、当然そこに至るまでの予備知識やスキルがかなり必要になってきます。普通は、そこまでやるなら(そこまで勉強するなら)手動でやったほうが早いという感じだと思います。

      もし、単なるCNC利用者というよりも、CNC開発者側に少しでも歩み寄って、GrblやbCNCの便利な使い方や新たな使い方のサンプルなどを提供できたり、その方法についてForumなどで議論できれば、みんなのためにもなっていいと思います。そういう意味でも内容をブログなどに記録しておけば、後々役に立つと思います。

      削除
    3. 以下のページに、加工原点のずらし方の手順を書いておきました。参考にしてみて下さい。
      http://cnc-selfbuild.blogspot.jp/p/inkscapejscutbcnc.html

      ここでは、2D加工の部品をInkscapeで描き、Jscutで位置をずらしたGコードを生成して、bCNCやGrblControllerでその結果を確認するという感じです。
      InkscapeやJscutの作業手順も説明してあります。
      実際役に立つかは別として、Jscutを使って位置をずらした場合という感じです。他にもやり方はあると思いますが、一つのサンプルということで。

      削除
  10. 実は決定的な事を1つ黙っていまいした。
    後々も秘密にしたい部分でもあったので、ごまかしていました。
    私はZ軸は一番上(加工に十分な高さ)から一番下まで削る予定だったのです。(加工の深さなどを気にしないで加工するという事です)
    物体も全部同じ形、同じ大きさが決まっていました。そして素材は2枚重ねで加工を始める予定なのです。つまり下の素材は固定されて上の物体は削り終わったとき外れるようになるのです。(必要なのは2枚目の取れた部分だけ)これはZ軸において0の位置にミスが無いようにする為の工夫でもありました。いままで0.1ミリを出すのが苦手でほぼ成功しなかったので(3Dプリンターの質の問題)、Z軸(XとYも同様)で0がいつも同じ0(誤差0.1~0.3)ではなくても仕上がりに影響しない方法を選ぶ事にしました。
    上に置く物体は厚みが確かに変わる可能性があるのですが、このCNCは3cmしか上下できないのと私が今回5mmの素材しか用意していないため最大高さ10mm(−加工できない高さ)の加工となります。
    CNC最大加工高さ・・・・・・・・・・・・・・・・・・・・・・・3cmくらい


    予定最大上昇値・・・・・・・・・・・・・・・・・・・・・・・・1.5cmぐらい
    2枚目材高さ・・・・・・・・・・・・・・・・・・・・・・・・・1cm(-加工できない範囲)
    1枚目素材高さ・・・・・・・・・・・・・・・・・・・・・・・・0.5cm(-上に同じ)
    ベッドの上の加工できない範囲・・・・・・・・・・・・・・・・・(2mmくらい)
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(ベッド)
    と言った感じになるのですが、もし2枚目の素材を2cmくらいにしたり、3次元加工をする場合はZ軸の高さを精密にやる事になります。おそらくその場合は設計オブジェクトの原点を素材の中真にくるようにし、加工前に素材の中央上に移動した状態でスタートになると思います。
    いろいろ教えてもらう間にちゃんと説明してなかったのですみません。

    js-cutをインストールしてみました!js-cutをデスクトップで使えました!
    これは嬉しいです。出来るだけオフラインで使いたかったのでこれにシフトして行けたらと思います。3Dを重視したり馴れない時にFusionも使おうと思います。

    エッジファインダー・・・これ凄いですね!ちょっとこんな物まで個人向けに撃っていたって事にびっくりです。こういうのはMCか高度な計測器くらいにしか付いてないと思っていました。
    ちなみに、CNCだとどこに付けるのでしょうか?
    プローブ機能はリミットスイッチよりもっと精度良さそうですね!記憶しておきます。
    webカメラで高さを・・・一番使い勝手良いですね!未来的!きっと精度悪そうで実は一番精度がいいんだろうな・・・
    加工原点のズラし方というのが前回話していたbCNCなら画面上のボタン(空きボタン)に任意のコマンドを割り当てる方法でしょうか?

    返信削除
  11. Z軸の高さ調整(紙をはさんで少しずつ下げる方法)は、以下のページの最後のほうに追加で書いておきました。
    http://cnc-selfbuild.blogspot.jp/p/inkscapejscutbcnc.html
    慎重にゆっくり行えば(ジョグボタンを連打しない)それほど難しいとは思わないのですが、やり方がまずいのでしょうか?一応、手順を書いておきました。

    2枚重ねについては、テーブルを保護するための捨て板として何かを敷くことはよくあると思います。上にのせた2枚目の本材料を意図的に貫通するように削ることもよくあることなので問題ないと思います。ただ完全に切り離してしまうと、材料が加工中に動いてしまうので、プラモデルの部品のように元の材料とつないでおくブリッジはつけておいたほうがいいです。ブリッジをつけない場合は(ブリッジ用のGコードを用意できないとき)、5mm厚の材料なら4.9mmまで切削して切り離されないようにしておきます。残りは0.1mm程度なので、あとでカッターで切り離してサンドペーパーで軽くやすれば切断面はきれいになります。あるいは両面テープで固定する方法もあります(多少動いてしまいますが)。求めている部品の精度によって、どのやり方を選んでいいと思います。

    高さの移動範囲については、マシンによって違うので、もう少し高くしたいのであれば改造するしかないでしょうね。それでもまだ材料上面と刃先に15mmほど隙間があるのなら、そんなに厳しいという感じでもなさそうですね。たしかに分厚い材料に場合は難しいかもしれませんが。

    Jscutは比較的シンプルなので使いやすいと思います。

    エッジファインダーはエンドミルを取り外してかわりにつけます。直径10mmなので、それが入る太さのコレット(刃をくわえる部品)が必要です。

    Z軸プローブの動画にあったように、何か薄い通電性のある板を用意して自作するといいと思います。Z軸プローブ機能を使えば、苦手と言っていたZ軸の位置決めを自動でやってくれます。

    加工原点のずらし方は、いくつかやり方があると思います。いまのところ以下。
    ・Jscutのオフセットでずらす方法
    http://cnc-selfbuild.blogspot.jp/p/inkscapejscutbcnc.html
    ・bCNCで原点そのものをずらす方法
    http://cnc-selfbuild.blogspot.jp/2016/05/cncjscutg-code.html
    どちらも簡単です。JscutでやるかbCNCでやるかの違いです。

    bCNCの空きボタンに任意のコマンドを割り当てるというのは、上の方法とはまた別です。

    実際、イメージしているのは以下のような流れという感じでしょうか?
    (1)最初エンドミルの位置は右奥上にある(ホーミング後の状態)
    (2)加工開始(テーブル中央)
    (3)加工終了
    (4)エンドミルの位置は左奥上に戻る
    一応、前述した二つの方法で、このように動くとは思うのですが、どうでしょう?

    bCNCの空きボタンにコマンドを割り当てる方法についてですが、(1)〜(4)までの流れで作業するなら、
    (1)Homeボタンを押す/ホーミングサイクルで機械原点へ移動
    (2)加工作業開始のボタンを押す
    (3)加工終了
    (4)Homeボタンを押す/ホーミングサイクルで機械原点へ移動
    という感じになってしまいます。これだと作業前後にホーミングサイクルを行っているだけなので、あまり今までと変わらないという感じです。なので、コマンドを割り当てるという方法は、もう少し複雑な手順で作業するときに必要なのかもしれません。

    返信削除
    返信
    1. >Z軸は一番上(加工に十分な高さ)から一番下まで削る予定だったのです。(加工の深さなどを気にしないで加工するという事です)

      というのは、材料の厚みが3mmだろうと5mmだろうと、一回のパスで一気に切削するということでしょうか?刃の先端で削るというよりも、刃の側面だけで削るみたいな。
      普通5mm厚なら、0.5〜1mmずつ最低でも5回のパスで5周まわって切削しますが、1周だけまわって切削するという感じですか?

      削除
    2. 1mmずつずっと最後まで降りて行く感じを予定しています。おそらく1周で厚さ5mmを削るのは精度が落ちて、バリが大きくなるとおもいます。エンドミルも折れるかもしれないし現実的ではないと思います。厚さが変わっても上から下まで削るというのは5mmの素材も厚さ1cmくらいの物を置いた想定でパスを作る予定です。最初の何周か空を切る感じです。

      削除
    3. >慎重にゆっくり行えば(ジョグボタンを連打しない)それほど難しいとは思わないのですが、やり方がまずいのでしょうか?一応、手順を書いておきました。

      なんというか、結局Z軸に関してはXとYとは違い、ベッドの平行度、平面、素材の歪み、機械の不調、モーターの遊び、歯車の遊び、いろんな事で0.1mmくらいは簡単にズレるとある3Dプリンターで経験して、Z軸は1mmくらい間違っても良いようにしたいのです。精度が確保できる機械と確証が持てたら0.1mmを手動で出すのはそこまででも無いと思います。以前使った3Dプリンターが0.1mmを出しても動き出すと結局0.1mmは関係なくなるくらい上下してたのであまり信用していません。結局5〜10回くらいうまく行きましたが残りは失敗で今は故障中です。(何度破壊したくなった事か)

      もしかしたらbCNCの手順で出来るかもしれません。同じくGrbl-controllerも。
      (1)Homeボタンを押す/ホーミングサイクルで機械原点へ移動
      これがうまく行けばと思います。

      原点をずらす方法も勉強が必要ですね。明日はjs-cutをしっかり操作してみたいと思います。

      1枚目と2枚目は適当にアクリル溶剤などで接着しちゃおうかと思っています。切り取った後に引きちぎって研磨位。それかいくつか別の方法も考えていますが2枚重ねは変えない予定です。

      削除
    4. 一度普通のやり方で(材料に合わせた加工原点の出し方)、切削してみるといいですね。どこかに画像をアップしてもらえば、その切削結果から、どのへんを調整すればいいか分かるかもしれません。
      CNCマシン自体は一応正常に動くようにはなったのでしょうか?
      それとソフトのほうでも、エラーなどでなくなりましたか?

      通常、CNCマシンを組み立てるときは、ただ部品をネジで締めておしまいというわけではなく、ダイヤルゲージをつかって平行と直角を計測しながら各部品を固定します。
      0.1mmくらいの誤差はまだいいとしても、1mmずれるとCNCとしては問題ですね。
      まあ、このへんはひとつずつきちんとやっていくしかないと思います。

      3Dプリンタの場合だと、制作物の形が加工途中で崩れたりすることはありますが、CNCミリング/ルーターなら、多少の誤差は出たとしても、部品そのものの形が大きく崩れることはないので、普通の手順を追ってやればそんなに失敗することはないと思います。せいぜい注意するところは、加工中の移動スピードをあまり速くしないというくらいでしょうか。ゆっくりめで加工すれば(多少摩擦熱はでますが)、大体思ったように切削できるはずです。

      とりあえずは、普通のやり方でどこまで加工できるか?という実験をやったほうがいいですね。
      脳内だけでのイメージだと未決定な部分が後回しになって曖昧になるので、実際に作業した結果結果から何をどうすればいいか考えた方がよさそうです。

      削除
  12. 出来ました!ただ、試運転でエンドミルも素材も無しの状態で図形パスの軌道を最後まで動いただけです。
    しかし今日まで難航した原因が謎の停止でした。何かがおかしく何度やっても途中で停止してしまいました。
    原因は以前一度話したスピンドルのノイズでした。スピンドルの+と-の間にコンデンサーを付けるように説明しているブログがいくつかあるのですが、自分のもそのせいで止まっていました。

    ソフト面では依然としてリミットスイッチに当たるとホーミングサイクル(22番)をONにしていると動かなくなります。リミットスイッチに当たった後3〜5mmバックさせる(27番)を入れているのですがなぜか機能しません。そしてホーミングサイクルを入れていると一度でもリミットオンを検知するとホーミングサイクルをオフにするまでうんともすんとも言わなくなります。
    ノイズの改造がうまく行っていないのでしょうか?

    返信削除
    返信
    1. $$を入力したときGrblの各種設定はどうなっているでしょうか?ここにコピペできるでしょうか?
      もしかしたら、いくつか設定変えれば動くかもしれません。

      削除
    2. 箇条書きで失礼します。
      $0=20
      $1=25
      $2=0
      $3=0
      $4=0
      $5=0
      $6=0
      $10=3
      $11=0.010
      $12=0.002
      $13=0
      $20=0
      $21=1
      $22=(1)
      $23=0
      $24=25.000
      $25=300.000
      $26=25
      $27=3.000
      $100=100.000
      $101=100.000
      $102=100.000
      $111=500.000
      $112=500.000
      $112=500.000
      $120=10.000
      $121=10.000
      $122=10.000
      $130=90.000
      $131=100.000
      $132=25.000
      でした。
      よろしくお願いします。

      削除
    3. この設定だと、ホーミングサイクルの途中で止まってしまうということでしょうか?
      以下の項目の値を下げて動かしてみるとどうでしょうか?
      $25=200
      $110=300
      $111=300
      $112=300

      あと、ステッピングモータードライバのマイクロステップ設定はいくつになっているでしょうか?
      マイクロステップ設定は、1/1、1/2、1/4、1/8、1/16のどれかになっているはずです。
      詳しくは以下のページ中ほどに書いてあります。
      http://cnc-selfbuild.blogspot.jp/2016/04/cnccncdrv8825a4988.html
      もしマイクロステッブ設定が1/16になっているのなら、1/8や1/4に下げて試してみて下さい。そうすると少しトルクがあがります。

      削除
    4. アドバイスありがとうございます。
      設定を変更してみました。Z軸が予定と逆に動いていたので$3=4にしました。
      ジャンパーピンを買っていたので付けてみました。

      設定を変えたのですが、結局何も変化を感じられませんでした。
      ホーミングサイクルを使うとアラームロックが解除されなくなる。
      エンドミルを使用するとNCコードを使った操作がストップする。
      などです。

      削除
    5. ホーミングサイクルでリミットスイッチが押されたあと、その状態で止まってしまうということでしょうか?
      リミットスイッチなどの機械的電気接点の場合は、スイッチが押された瞬間に微細な振動で2度押しするような現象が起こります。それをチャタリングとかデバウンシングというのですが、これは普通の電化製品などでもよくあることで、それを防止するために、一度スイッチが押された直後、ほんのわずかな間(Grblのデフォルトでは0.25秒)は2度目が押されても無効にするプログラムが組まれています。
      $26がリミットスイッチのチャタリング/デバウンシング防止のための時間設定です。デフォルトでは250ミリ秒(0.25秒)になっていたと思うのですが、この値を元の$26=250に戻してみてはどうでしょうか?あるいは$26=100などと、いくつか変えてみるといいかもしれません。

      あと現在の状況としては、
      ・Grbl0.9
      ・Grbl Controller
      ・Arduino Uno(中国製クローン)
      ・CNCシールドV3.0
      ・A4988ドライバ
      ・NEMA17ステッピングモーター
      という感じでしょうか?
      使っているステッピングモーターのスペックやデータシートはあるでしょうか?

      削除
  13. ホーミングサイクルとリミットスイッチで見られる現象から言える事はホーミングサイクルを0→1にしたばかりは動きますが、ソフトを再起動するともう動きませんね。なのでホーミングサイクル($22)を使うと動かないと言っていいと思います。
    再度動かすにはオフにしてソフトを再起動する必要があるみたいです。
    ホーミングサイクル無しで使用した場合の動きはリミットスイッチに当たるまで移動したらピタッと止まります。その後反転したりはしません。
    また、再起動するまで手動操作は出来魔無くなります。
    デバウンジングについて少し勉強してきました。これで何が防げるのでしょうか?2回押しになってもあまり変わらなさそうです。(現在$26=250に変更)
    本日は新たにCNCシールド(別)にコンデンサーを付け直してみます。(結構難しいです。なのでCNCシールドは予備を多めに買った。)
    ジャンパーピンを付けてからトルクが飛躍的に上がり、(フルステップ→1/8へ変更)人力では抑えられないほど強くなりました。ありがとうございます。変わって$100〜102を400へ変更しました。

    現状は
    ・Grbl0.9
    ・Grbl Controller
    ・Arduino Uno(中国製クローン)
    ・CNCシールドV3.0
    ・A4988ドライバ
    ・TYPE: FY42HM4405N-18.3T lot no FE23-F109(最初から付けていたもの)
    スピンドル用のステッピングモーターは無記載ですね。
    ちょっと同型を購入した人に聞いてみたいと思います。いつも聞いてばかりですが型番だけなので今回は本当に分からないかもしれません。中国が独自に作った物ではあると思います。

    返信削除
    返信
    1. あと考えられるのは、A4988ドライバの電流制限を調節してみるという感じでしょうか。
      前回調節したとき0.8Vなら、0.5くらいに下げてみるとか。過電流になるとシャットダウンしてしまうので。
      見た感じ1.7Aのステッピングモーターのような気もしますが、もしそうなら、1.7A=VREF x 2.5なので、VREF=0.68Vに設定ということになりますね。

      削除
    2. 電流は問題用に思えるのですが、具体的に差がでたか分からなかったので保留させてください。
      もしかしたら可変抵抗のダイアルの測定を間違えてるのか分からなくなってきました・・・難しいですね。電圧計で1.5V、DC10V、DC50V〜と順にあるのですが、
      DC10Vで測定してメモリが0.8(DCV.mA)になるようにセッティングしたら良いのだと思ったんですけどね・・・?

      今日はまた別の問題が起こってしまいました。
      なんとスピンドルが動きません・・・・
      これは色々調べたのですが、原因がハッキリしません。
      まず、調べたのがモーターですが、電気が通れば動きます。次にモーターから続く導線ですが、もちろん壊れていません。それからリレー装置、CNCシールド、ArduinoUNOについては疑問が残るのですが壊れていないみたいです。問題はGRBL制御ソフト関連なんだと思います。というのはGRBLcontrollerではスピンドルONにしても動かないのですが、GRBLcontrollではスピンドルONで動き出すのです。試しにGRBLcontrollerを再インストールしたり、bCNCで動かしたり、バックアップデータを使って過去のPCで動かしたり、ArduinoUNOを変えたりCNCシールドを変えたりしました。それでも動きませんでした。
      なぜGRBLコントロールでは動き、その他の制御ソフトでは動かなくなったのでしょうか。それもバックアップのPCデータでも動かない事があるのでしょうか。そうするとArduinoUNOを疑いたくなるのですが交換しても同じことが起こります。CNCシールドかリレーがおかしいのでしょうか?大ピンチ

      削除
    3. 電圧計については、計測される電圧は1.0V以下なので、1.5Vにして計測するといいはずです(10Vだと最高10Vまで計測できるということなので)。やはり念のため、0.5Vくらいに低く設定して様子見したほうがいいかもしれません。過電流になるといろいろ故障の原因にもなりやすいので。

      スピンドルのほうは、手入力で入れてみるとどうなりますか?
      M3 S1000(スピンドルオン、100%出力)
      M5 S0(スピンドルオフ、0%出力)
      これをGRBLcontroller、bCNCでそれぞれ入力して確かめてみるといいと思います。
      GRBLcontrollerやbCNCでは、ジョグボタン(十字ボタン)でXYZ軸それぞれ動かすことはできるんですよね?スピンドルオンのボタンだけ機能しないということでしょうか?
      ソフトによって、スピンドルオンのボタンに割り当てられているコマンドの中身が違うこともあるので、手入力なら確実です。それでも動かないようであれば、ハード(電気回路など)のほうの問題になるかもしれません。

      削除
    4. とりあえず早朝報告です。
      1.5Vで0.8mAだすと凄い回すんですよね。DC10Vと大部違う。

      手入力でM3 S1000で動きました。1秒くらい。そして止まりました。
      なんかノイズでアラームロックがかかる時と同じことが起こりますね。
      そう、NCコードを使って動かした時と同じ現象です。
      NCコードをテストさせるときスピンドルの導線を外してテストした時と同じ止まり方しました。

      削除
    5. 1.5Vに切り替えて、0.6V(0.8mAではなく、電圧を計測しているのでVです)になるようにドライバの可変抵抗器を調整します。電圧計の1.5Vや10Vというのは、測定範囲が1.5Vまで、測定範囲が10Vまでという意味です。低い電圧の場合は、低い測定範囲に切り替えて測ったほうが正確に測ることができます。

      スピンドルがノイズを発生しているのかもしれませんね。

      スピンドルが動かない問題もあるかもしれませんが、まずはXYZ軸が正常に動くようになることが先決です。ひとつずつ確実に問題解決していったほうが、いいですね。
      スピンドルをオフの状態では、XYZ軸はまだ正常に動かないんですよね?

      削除
    6. もう一回抵抗を正しい数字になるように調整し直します。(最悪出来なかったとしても、年末になると工学部出身の兄が帰ってくるので分からなくてもきっと教えてくれると期待します。)
      スピンドルのノイズなのか、ソフトの制御なのか、両方なのか現状分からないのが辛いです。

      NCコードはスピンドルを動かさなければ正常に動きますね!多分GRBLcontrollerがそういう仕様なんじゃないかと疑っています。

      嬉しい報告です。
      ちょっと問題は置いて次に進もうと思います。
      というのは、

      なんと出来ました!ついに!
      我ながら名案でした。予備に多くの基盤を買っていたのとGRBLコントロールの方ではスピンドルを動かせるという事で浮かんだのがスピンドル操作とNCコード操作を分ける方法です。
      ①GRBLcontroller+Arduino UNO+CNCコントローラー+ステッピングモーター
      ②GRBLコントロール+Arduino UNO+CNCコントローラー+スピンドル
      という事です。ちょっとやってる事が無茶苦茶で笑っちゃいましたが、これで切削テストに移れます。今は一歩でも前へ出たい所なので仕方ないですがこれで始めたいと思います。(うまく行くと感動しますね。)

      そうですね、スピンドルとステッピングモーターが動くようになったので次こそホーミングサイクルとリミットスイッチを制御できるようにして第一動作で機械原点へ移動してもらいたいです。

      削除
    7. bCNCの場合は、「Spindle」ボタンとその隣に出力調整のスライダーがあります。スライダーを右端いっぱい1000にしておいてから「Spindle」ボタンを押すと、M3 S1000が入力されます。つまりbCNCの場合はM3とS(出力値)が同時に入力される感じです。
      それに比べ、GRBLcontrollerの「Spindle On」は、M3だけのコマンドであってS(出力値)は入力されないようです。なので、手動で出力値Sを入力しないことには、動かないということです。
      おそらくGRBLcontrollerは数年前に開発がストップしているようなので、GRBL0.8対応のソフトって感じかもしれません。なので、GRBLcontrollerは、あまり使わない方がいいかもしれまんね。
      bCNC(GRBL1.1対応)のほうが結局は便利なので(加工原点移動などもボタン一つでできるし)、bCNCを使った方がいいと思います。
      bCNCはインストールは上手くいきましたか?bCNCは正常使えるような状態でしょうか?

      削除
    8. 確かにソフト毎に特色が違うので使いやすさと限界みたいなのがありますね。
      明日にはbCNCを使って行こうと思います。ちょこちょこ弄っているのですが、ボタン多過ぎて分かりにくいんですよね。あと、アイコンが変だと思う・・・いや、カナブンは変だ。
      GRBLcontrollerはそれなりに取っ付きやすかったしそろそろ卒業ですね。
      bCNCは正常に使えると思うのですが、これまた以前はスピンドルが動いていたのにGRBLcontrollerのスピンドルが使えなくなったと同時にこっちも動かなくなったのでびっくりです。GRBLコントロールが回してくれるので別で操作でも良いんですけどね。
      そういえばGRBLコントロールでスピンドルonにするとリレーがカチっとスイッチが入ったような音がするんですよね。それが鳴らないという事はもしかしたらリレーが原因かもしれないので新しいリレーが年明けに届くので交換で治る事を期待したいです。

      削除
  14. あけましておめでとうございます。
    今年もよろしくお願いします。
    去年は大変お世話になりました。

    このお盆からCNCを色々削る事をしました。
    まずアクリルを削るためのGコードについては去年教わったように彫り込むピッチは0.5未満にした方が無難のようでした。1mmでやると耐えきれず進路を外れることがいくつかありましたし、素材の方もズレてしまいます。0.4mmくらいがちょうど良さそうでした。

    スピンドルが回らない理由に付いては現在も詳しくは分かっていないのですが、電源のせいかもしれません。また調べてみます。

    bCNCをつかって切削してみました。始めはどのスタートを押すと始まるのか分からなかったのですが、なんとかNC加工をするまでは分かりました。

    新しい問題
    NC加工が最後まで行きません。6割加工が終わるくらいの段階で止まってしまいます。これはbCNCもGRBLcontrollerも同じです。以前3Dプリンターでも同じ事があり、分からないままになってしまっていました。パソコンのスペックが低いのでしょうか?
    CNC 途中で止まる 多くはUSBケーブルをノイズキャンセル付きにしたら良いとあったのですが、元々ノイズキャンセルできる物を使っていたのでそれ以外だと思うのです。
    それは3Dプリンター 途中で止まる で検索しても同じような内容が見られました。

    mirrorさんはそういうことは起きたりしませんか?
    ちなみに使用中のPCはwindows7 64bit CPU corei3 2.5Ghz 4Gメモリーです。

    返信削除
    返信
    1. あけましておめでとうございます。

      加工途中でとまってしまうのは、パソコンの問題ではないと思います。基本的にそれほどスペックの高いパソコンでなくても動きます。というのもラズパイのような貧弱なコンピュータでも動くので。
      問題として考えられるのは、USBシリアル通信のエラーかもしれません。これは、中国製Arduinoクローンに多く見られる現象のようです。対応策は特にないらしく、強いていえば、純正のArduino Unoにするのがベストという感じです。
      もし純正Arduino Unoを使っても途中で止まってしまうのであれば、次に考えられるのは、ステッピングモータやドライバ、あるいは電源関係かもしれません。加工中に負荷がかかる部分で過電流になり、ドライバの保護回路によってシャットダウンしてしまうということだと思います。
      モーターを強力なものにするか、ドライバをA4988ではなくDRV8825にして、もう少し高い電流が流れても大丈夫にしておくとか、電源もアンペア数の高いものにするとか。
      現状のままで解決するならば、ドライバの電流制限設定を8割くらいに下げてみる必要があるかもしれません。

      削除
    2. mirrorさんのご名答です。今回壊れたのはarduinoUNOではなかったのですがA9988が壊れました。もしくは壊れていました。過電圧によるショートです。抵抗測定の際に間違った所に触れたからとも考えられますが、きっと抵抗が低過ぎたのだと思います。
      1個しか正常なのが残ってなかったので新しいのが来るまで実物テストは出来ませんが、空運転で最後まで行けました。今までは行けなかったので本番でも行ける気がします。電流制限設定を8割どころが5割くらいに下げてもあまり変化を感じなかったのでそのままテストしました。トルク不足は110~112を10mm、120~122も10mmに変更し、かなりゆっくりで星形の加工に3時間くらいかかっていました。
      ちなみに壊れる前のテストはhttps://forums.autodesk.com/t5/fusion-360-ri-ben-yu/zi-zuocncga-tu-zhongde-zhimatteshimaimasu-doushitedeshouka/td-p/6779007?lightbox-message-images-6779007=307179i622D19354365E2C4こんな感じです。5センチくらいの大きさです。どれもしっぱいですが・・・

      削除
    3. 前にも書いたかもしれませんが、そのタイプのステッピングモーターは定格1.7Aかもしれません。そうであれば、ヒートシンク付きA4988の電流制限設定は0.68V以下ということになります。
      A4988にはヒートシンクはつけてあるでしょうか?つけてない場合はA4988は1Aまでしか耐えられないので、電流制限設定は0.4V以下ということになります。
      110〜112の加工フィードはそんなに落とさなくても大丈夫だとは思いますが、その代わりにZ軸の切削深さを浅くするといいと思います。仮に0.5mmずつ切削しているのなら、半分の0.25mmにするなど。
      あとは、アンペア数の高い電源に交換するとかでしょうか。12V/3Aくらいのを使っているならば、12V/5Aくらいにするとか。

      いずれにせよ、無負荷(空運転)で最後まで行けたということは、送信上は問題ないということなので、また加工中に止まってしまうようなら、負荷による過電流でドライバがシャットダウンするのかもしれませんね。
      アクリル用の専用刃を使ったり、スピンドルモーターをもっと強力なものに交換すれば、スムーズに切削できるのだと思います。

      削除
    4. ありがとうございます。シンクは使用しているので大丈夫だと思うのですがアナログテスターが古くて(当時)正確に量れていなかったのかもしれません。1.7Aというのは結局ハッキリしたモーターの詳細が分からなかったので不明なのですが、もしかしたらこのアナログテスターで調べられますか?
      Z軸のピッチの変更もやり方分かったので極端でなくとも少し下げてみたいと思います。今0.4mmですが0.1でも案外最後まで行くなら良いと思いました。
      トルクを上げる方法が色々あって、特に回転数に影響を受ける事をついさっき知りました。ゆっくりの方が精度が上がる(限界はある)傾向にあるはずなので私の中ではゆっくりでも(私自身早くないし)いいんじゃないかと思いました。
      ヒートシンクですが、容易はしてましたが壊れた当時取り外していたのを思い出しました。もちろん日頃は付けているんですが・・・
      ヒートシンクは接着剤でくっ付けているのですが密着していたら大丈夫ですよね?
      アクリル専用刃って知りませんでした。次から買い足す物をアクリル用にしたいと思います。スピンドルモーターは変えたいのですが、サイズを間違えると現在使っているアーム役の抜き板(アルミ製)に合わなくなるのですぐには変えない予定ですね。
      ミラーさんに聞きたい物があったのですが、素材を固定する爪役の金具は何を使っていますか?現在ベッドはアルミフレームのT溝x4に蝶ネジとワッシャーがくっついたような物で止めています。

      削除
  15. ヒートシンクについては、普通の接着材や両面テープだと熱伝導性が低いので、熱伝導性両面テープを使ったほうがいいです。例えば以下。
    http://akizukidenshi.com/catalog/g/gP-00515/
    ドライバの温度管理や電流制限などはできる限りきちんとしたほうがいいと思います。その分、影響もでてくるので。
    A4988を取り替えるのであれば、DVR8825にしたほうがいいですね。値段もそんなにかわらないし、2.5Aまで大丈夫なので。

    ステッピングモーターに関しては、以前アマゾンで60oz-inくらいのものを購入しませんでした?おそらく、そちらのほうがトルクも高いし、定格電圧や定格電流もはっきりしているので、取り替えてみたほうがいいかもしれませんね。
    いま使っているステッピングモーターをそのまま使用するなら、駆動している最中に電圧や電流を測ってみるといいかもしれません。
    テスターもデジタルマルチメーターなどを今後にためにも購入したほうがいいかもしれませんね。こんな感じの1200円のでもいいと思います(以下)。
    http://akizukidenshi.com/catalog/g/gM-05900/

    あとは12V電源を24V電源に変えたほうがいいかもしれませんね。

    素材固定用のクランプなら、以下のようなものがいいと思います。
    http://s.click.aliexpress.com/e/z7eIyFe
    とか、
    https://goo.gl/rGQgEA
    そこそこ分厚い3mmくらいの金具であれば何でもいいとは思いますが。

    つまり、
    ・データシートのあるステッピングモーターを使用する。
    ・ドライバをDRV8825にし、熱伝導性両面テープでヒートシンクをつける。
    ・使用するステッピングモーターに合わせて、ドライバの電流制限設定を行う。
    ・ステッピングモーター用の電源を24V/5Aにする(スピンドル用の電源は既存のまま)
    ・スピンドルにノイズフィルター(コンデンサー)をつける
    ・アクリル用エンドミルを使う
    ・加工速度をゆっくりめにする
    以上のことをすべて行えば動くと思います。何が原因かは分からないので、どれかひとつでも不確実だと動かないかもしれません。

    返信削除
    返信
    1. ありがとうございます。
      一つ一つ返事を書きたいのですが最後の方で凄く重要な事を書かないといけないようです。

      熱伝導テープ今度は挟んでおきます!一応それように用意をしていました(なぜ使ってない)
      電流制限に付いては最後にまとめたいと思います。
      ついにDVR6625が届きました!これに付いて質問なのですが、抵抗の調節はダイアルとGNDを測れば良いですよね?GND2つあるのですが角に来てる奴ですよね?(ダイアルから一番遠い所。)
      ステッピングモーター、買ったのですが元々あった奴がもっと強かったので結局変えませんでした。(単純に同じ設定だったのでそれぞれ適正な設定だと違うかもしれません)
      そのうち自作でレーザーも作る事があると思うのでその時に使います。そうすると60オズインも要らない訳ですが。
      データシートがある奴が良いって言うのは納得です。
      テスターはデジタル化したいですね。でもお金掛けたくないんですよね(今更ですが)。でもやっぱり壊れてるんですよね。買っておきます。

      クランプですが、クランプ自体の高さを低くしたかったのですが、今だと蝶ネジの羽が伸びてる所やネジが高くなるのでもう少し低い物があればと思い探していました。
      そういうのがあったら解体です。2個目のURLがエラーっぽくなりまして、見れませんでした。すみませんもう一度書いてもらっても良いでしょうか。

      最後に
      今まで電源を12Vのやつと24Vの奴2つ使ってて、ずっと12Vをステッピングモーターに、24Vをスピンドルに使っていました!逆だったんですね!それも含めて抵抗を調節しないと行けないですね・・・

      電源24V5A→ArduinoUNO→CNCシールド→DVR8825(抵抗調節1Aくらい?)→ステッピングモーター
      電源12V5~7A→ArduinoUNO→CNCシールド(5V/GND)→リレー(5VDC※)→スピンドルモーター
      このようにしたら良いですか?
      (※今回リレーを変えるのですが一応分からなかったので12VDCも買ったのでどっちを使ったら良いでしょうか?)

      削除
    2. DRV8825の電流制限設定については、そのやり方でOKです。基本的にはA4988のやり方と同じです。角のGNDでOKです。ただ、調整する際に、そのステッピングモーターだと定格電流が不明なので、よくわかりませんが、同じような中国製CNCキットに含まれているモーターを見ると1.7A程度なので、それに従えばDRV8825の電流設定では、可変抵抗器を0.85V以下に設定という感じになります。ゆとりを考慮して少し下げておくならば、0.6Vくらいにするとかでしょうか。

      おそらくAmazonであとから購入したステッピングモーター(60oz-in)のほうが、もともとのステッピングモーターよりもトルクが高いはずです。もともとのステッピングモーターのトルクは、せいぜい40oz-in以下だと思います。できれば、もともとの怪しいモーターを使うよりは、スペックのはっきりしたモーターを使ったほうが間違いないという感じです。ここがはっきりしないと、DRV8825の電流制限設定も決められないので。

      電源については、24Vをステッピングモーター用、12Vをスピンドル用という感じでいいと思います。

      クランプのリンクは、Amazonにあったプロクソンのフライス盤用のクランプです。リンクアドレス長いですが、以下です。
      https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%AF%E3%82%BD%E3%83%B3-PROXXON-%E3%83%9F%E3%83%8B%E9%AB%98%E3%81%95%E8%87%AA%E7%94%B1%E3%82%AF%E3%83%A9%E3%83%B3%E3%83%97-%E3%83%95%E3%83%A9%E3%82%A4%E3%82%B9%E3%83%86%E3%83%BC%E3%83%96%E3%83%ABFF230%E5%B0%82%E7%94%A8-No-24256/dp/B001LF3PHS/ref=s9_simh_gw_g60_i1_r?pf_rd_m=AN1VRQENFRJN5&pf_rd_s=&pf_rd_r=AB38HS0B9G61R1ZAWFY4&pf_rd_t=36701&pf_rd_p=99ab4c28-247f-465c-815b-57b5dd6b6e1e&pf_rd_i=desktop

      削除
    3. いくつかまた問題が起きてしまいました。
      まず、テスターでの測定はDCどちらでACで測るのでしょうか?一応DCで0.6Vになる様にしてみました。
      電源は下がった方のスピンドルは馬力が下がったかのような静かな回転に変わりました。でも削るのが不可能と言う訳では無さそうでした。
      電源を24Vに変えた方のステッピングモーターの方ですが、少し問題が起こってしまいました。結果的にはDRV8825のXZ+Aに付けていた物が壊れました・・・(南無・・・)
      気になるのはCNCシールドかArduinoUNOに帯電が起こっていないでしょうか・・・一度動かした後にDRV8825を取り外し、再度付ける時にショートが起こりました。今まではこんな形でショートが起きた事は無かったので意外でした。その時は電源にもUSBにも繋がってはおらず、電気の逃げ場が無い感じでした。また、電源のコードとCNCシールドを繋ぐ導線を外した際にもショート(火花)が導線から出ました。2度出るほどどこに溜まっていたのでしょうか。(Arduino本体、CNCシールド、リレー、ステッピングモーター、スピンドル)なにかアースを付けた方が良いでしょうか?

      クランプのリンクありがとうございます。ちょっと今回は合わなさそうです。すみません。

      とりあえずY軸のドライバは生きているので後でステッピングモーターの性能差を見ておきます。

      削除
    4. DRV8825がショートしたのは、もしかすると、上下逆さまに装着したのかもしれません。
      http://cnc-selfbuild.blogspot.jp/2016/04/cnccncdrv8825a4988.html
      ここを読んでみて下さい。だいたい書いてあると思います。A4988とはちがって、見た目は可変抵抗器が上にくるように装着します。正確には、ドライバ基板裏側を見てそれぞれの端子の位置を確認したほうがいいです。

      ドライバの電流制限設定は、上のページにも書いてありますが、「電流」を制限するために、基板上の可変抵抗器を回して「電圧」を調整することでなされます。なので、テスターでは電圧を計測し、ステッピングモーターの最大定格電流値が1.7Aなら0.85V以下に設定、少しゆとりを見て、0.6Vに下げて設定しておくという感じです(この値はドライバにヒートシンクがついている場合です)。DRV8825にヒートシンクがついていなければ、7〜8割くらいに下げたほうがいいと思います。

      CNCシールド上には4つ(XYZだけでなくAも)DRV8825を装着しているのでしょうか?Aは何に使っているのでしょうか?Aは基本的にGRBLの場合は、XYZのどれかの軸のクローン用になります。例えば、Y軸両端に2個のステッピングモーターを取り付けて駆動させるときなどに必要です。前に7YさんのCNCマシンの画像を見た限り、XYZ軸それぞれの一個ずつステッピングモーターを使っていると思うので、4個目のAのドライバは必要ないと思うのですが、どうでしょうか?
      このへんのことも、以下に書いてあります。
      http://cnc-selfbuild.blogspot.jp/2016/04/cnccncdrv8825a4988.html

      削除
    5. …うむ、Aは要らなかったですね。本当に付けなければ壊れなかったかもしれない。
      流石に上下逆さまにはしませんでしたが。
      そういえば前回壊れたA4988ですがDC2.0Vくらい流していた可能性がありました。もしかしたらもっと流れてたかもしれません。このドライバに流れる電流の量ってどこに行っているんですか?ドライバは電子制御的な物だと思っていたので実際にモーターに必要な電気が流れているのは別の回路だと思っていました。このドライバを通った電気がモーターの力になっているのですか?もしモーターが1.7Aだった場合そのドライバに2.0Vが流れる様になっていたらモーターは3.4Wの力で回っているってことですか?

      削除
    6. ドライバには24Vの電源とモーターが直接つながっています。以下のページのドライバとモーターの配線図を見ると分かると思います。
      http://cnc-selfbuild.blogspot.jp/2016/04/cnccncdrv8825a4988.html
      なので、ドライバを通して24V電源からモーターに電気が流れていることがわかります。ステッピングモーターは内蔵されている複数のコイルに順番にON-OFFを繰り返して電気を送らないと連続して回らないので、ドライバ内には電気的なスイッチが4つ入っています。そのスイッチのON-OFFをArduinoがGコードの内容に合わせてやっているというかんじです。

      モーターのデーターシートに定格電圧2.0V、定格電流1.7Aと書いてあれば、2.0Vを与えると1.7Aの電流が流れるということになります。そのとき単純計算で3.4Wにはなります。ただし、これが上限という感じです。トルクに関しては電圧よりも電流値のほうが問題になるので、それを越えないように電流制限設定をする感じです。高速回転のときも多少負荷がかかりますが、どちらかというと、低速で動いている時や固い材料を削っているとき(その位置がずれないようにふんばっているとき)、負荷がかかって過電流になると思います。

      いずれにしても、ステッピングモーターのデーターシートがないと、定格電圧も定格電流も不明なので、きちんと設定しにくいという感じですね。

      削除
    7. 分かりました。つまり最大でもその設定では3.4Wで負荷がどれだけ掛かろうがそれ以上の電流は流れないし、強くはならないんですね。
      しかし問題は電流で、電流が最大で1.7Aになっているけど、それ以下になる様に設定しないと行けないってことですか?たとえば抵抗を高くして0.5Vになる様にして落ちたトルクを補う為に移動スピード(モーターの回転スピード$100番台の設定を小さくする)を落とすと結局過電流に変わってしまうってことでしょうか?
      そのためモーターを大きくすると良いのでしょうか?

      削除
    8. ステッピングモーターの定格電流が1.7Aだとしたら、それ以上の電流が流れると許容範囲オーバーとなってしまいステッピングモーターのコイルが焼き切れるという感じです。ステッピングモーターの動きを無理矢理止めようとすると(固い材料の切削など)、その反動で瞬間的に逆気電流が発生するときがあります。それに反応してドライバがシャットダウンするという流れです。

      以前、無負荷(空運転)では動いたとおっしゃっていたので、おそらく通信上のエラーは大丈夫だと思います。原因は切削時における過負荷や過電流なのではないかというのが今の見解です。その過負荷や過電流を軽減するために、いろいろいじっているのですが、ステッピングモーターのデータシートがないので(その値が分からないために)、電流制限で0.5Vに下げたり、$100の移動スピードを下げてみたり、Z軸の切削深さを浅くしたり、いろいろ遠回りせざるを得なくなっている感じです。
      データシートがあれば(あるいはデータシートのあるステッピングモーターを使えば)、この部分での設定で悩む必要はなくなるので、次の段階の調整に移ることができるということです。

      次の段階としては、適切な加工移動速度($100など)、アクリル切削に相応しいエンドミル回転数やアクリル専用刃の選択という感じです。

      削除
    9. そ、そうだったんですね!いままでそこまで考えていませんでした。
      一応買った物に交換します。なのでその詳細とグーグル翻訳を貼ってみます。ちなみに軽く脱調を起こすトルクを手の間隔で見るのってダメですか?グッと握って止めるの・・・説明読んでるとまずい事した気がしました。
      その際の間隔としては買って来た方と大差がなかったです。それから、ステップの数なのか早さなのか分かりませんが買って来た方が反動が細かかったです。
      、。・、。、。。、・、。・。・、、。・、。・。、・、。・、。・、。。・、。。、
      ステッピングモーター詳細
      This is high torque Nema 17 stepper motor with 1.8 deg. step angle (200 steps/revolution).
      Each phase draws 2A, allowing for a holding torque of 45Ncm(63.7oz.in). This stepper motor is ideal for the RepRap Prusa, Mendel 90, Rostock and similar 3D printers, as well as CNC and robotics applications. The motors are supplied with a 1 metre long power cable with a 4-pin Harwin female connector already fitted - ready to plug and print!

      Electrical Specification:

      * Manufacturer Part Number: 17HS16-2004S
      * Motor Type: Bipolar Stepper
      * Step Angle: 1.8 deg.
      * Holding Torque: 45Ncm(63.7oz.in)
      * Rated Current/phase: 2A
      * Phase Resistance: 1.1ohms
      * Inductance: 2.6mH+/-20%(1KHz)

      Physical Specification:

      * Frame Size: 42 x 42mm
      * Body Length: 40mm
      * Shaft Diameter: 5mm
      * Shaft Length: 23mm
      * D-cut Length: 21mm
      * Number of Leads: 4
      * Lead Length: 1000mm
      * Weight: 310g

      Connection:

      Black(A+), Green(A-), Red(B+), Blue(B-)

      Warning:

      Make sure the motor connect to a constant current or chopper drive controller before you test motor.
      Connecting the motor directly to a power supply will destroy the motor.

      これは1.8度の高トルクNema 17ステッピングモーターです。ステップ角(200ステップ/回転)。
      各相は2Aを引き、45Ncm(63.7oz.in)の保持トルクを可能にする。このステッパーモーターは、R​​epRap Prusa、Mendel 90、Rostockおよび同様の3Dプリンター、ならびにCNCおよびロボティクスアプリケーションに最適です。モーターには、長さ1mの電源ケーブルが付属しており、4ピンHarwinメスコネクターが装備されています。

      電気的仕様:

      *メーカー型番:17HS16-2004S
      *モータータイプ:バイポーラステッパー
      *ステップ角:1.8度
      *保持トルク:45Ncm(63.7oz.in)
      *定格電流/フェーズ:2A
      *相抵抗:1.1オーム
      *インダクタンス:2.6mH +/- 20%(1KHz)

      物理的仕様:

      *フレームサイズ:42 x 42mm
      *本体の長さ:40mm
      *軸径:5mm
      *軸長:23mm
      * Dカット長さ:21mm
      *リード数:4
      *リード長さ:1000mm
      *重量:310g

      接続:

      黒(A +)、緑(A-)、赤(B +)、青(B-)

      警告:

      モータをテストする前に、モータが定電流またはチョッパ駆動コントローラに接続されていることを確認してください。
      モーターを直接電源に接続するとモーターが破壊されます。
      。・、。。、・、。・、。・、。・。、・、。・、。・。・、、。・、。・・、。、。

      削除
    10. http://cnc-selfbuild.blogspot.jp/2016/04/cnccncdrv8825a4988.html
      ここを参考に、電流制限設定すれば特に問題ないと思います。
      ・ドライバDRV8825
      ・ステッピングモーター(定格電流2A)
      ・電源24V/5A以上(または12V/7A以上)
      ということなら、ドライバ電流制限は1.0V以下に設定すればいいと思います。
      ちなみに、このモーター(17HS16-2004S)は2.2Vを与えると2Aの電流が流れるようです。

      削除
    11. 純正のArduino買いました。以前までのボード、多分壊れました。次は絶対成功させてみせるぞ!
      そっくりな基盤でも並べて比べるとそれぞれすこしずつ形や使われている物が違いますね。期待してみます。
      電流制限の設定ですが、直流で測定でしょうか?交流で測定でしょうか・・・見た感じ交流に見えますが・・・自分に直流と交流の違いなんてまだ分からないので教えてください。
      あと、CNCシールドやドライバチップは純正とか無いんでしょうか?ドライバチップには清音に特化したTMC2100っていうのを以前から知っていました。これもいろんな種類があるのでしょうか?

      削除
    12. 非常に心配なのですが、そもそもなんで前のマイコンボードは壊れたのでしょう。
      考えられるのはドライバチップが壊れたため、その異常な電力がArduino(互換)に流れたからじゃないかと思っていたのですが、まさかですが、接続した瞬間このボードも異音を発生させたりしないですよね。
      現在壊れた3つのマイコンボードはキリギリスのような音色を出します。

      削除
    13. 電流制限は直流(DC)で計測です。ちなみに交流はAC。
      CNCシールドはV3.51が最新なので、中国製V3.0よりはいいと思います。
      ドライバは、DRV8825が2.5Aまで大丈夫なので、A4988よりもいいと思います。
      TMC2100はマイクロステップ1/256まで設定可能で、3Dプリンタで使われていると思いますが、最大定格電流が低いのでトルクの高いステッピングモーターを使うならDRV8825のほうがいいと思います。

      電流制限設定のときに、他の端子などに触れてしまって壊れたのかもしれませんね。注意深く作業するしかありませんね。
      もしかしたら、配線なども再度チェックしてほうがいいかもしれません。どこかがショートしていたりするのかもしれません。

      削除
    14. http://cnc-selfbuild.blogspot.jp/p/blog-page.html
      まとめの記事を書き直しているところなので、こちらのページも参考にしてみてください。

      削除
    15. 実は現在A4988を使っています。DRV8825が壊れてしまったので新しいのが来るまでですが。
      なので直流で0.5Vに制限しています。1.7A=VREF x 2.5なので、VREF=0.68Vに設定とおっしゃってたので今回のモーターを変えて2Aに増えたので上げるべきか下げるべきかわからず下げました。このVREFはモーターに一定の電圧をかける意味みたいですが今思うと当時0.68Vにしか目がいってなくて理解していませんでした。1.7Aでは0.68Vとはどういう計算でしょうか。Current Limit=VREF x 2.5って言うのが分かりません。最大トルクを得る為のセッティング・・・このモーターに合う数字をもう一度教えてください。
      実は二度と間違った端子に触れない様に新しく買うドライバチップは両サイドの端子にコードの皮膜をハーフパイプ状にカットした物をかぶせています。その他基盤のチップにも接着剤でコーティング。そこから初めて電圧を設定する様にしています。完全にGNDと可変抵抗機しか当たらない様にしています。

      上記URL読ませていただきました。ブートローダーって何の為に付いているのでしょうか?

      削除
    16. A4988の場合は、Current Limit=VREF×2.5という公式がPoluluのサイトに書いてありました。
      Current Limitが、制限したいステッピングモーターの電流値(定格電流値)。
      VREFが、ドライバ上の可変抵抗器の電圧調整値。
      よって、電流制限設定では、ドライバ上の可変抵抗器の電圧調整値VREFを知りたいので、
      VREF=Current Limit/2.5
      となり、Currnet Limit(ステッピングモーターの定格電流値)が1.7Aとデータシートに書いてあれば、
      VREF=1.7/2.5=0.68
      となり、ドライバ上の可変抵抗器を0.68V(もしくは0.68V以下に)設定します。
      もし、A4988で定格電流値2Aの違うモーターを使う場合なら、
      VREF=2.0/2.5=0.8
      となるので、ドライバ上の可変抵抗器を0.8V(もしくは0.8V以下に)設定します。
      DRV8825の場合は、公式がCurrent Limit=VREF×2となるので、同様に計算してVREFを求めます。
      しかし、先ほどPoluluのサイトを見てみると、2017年以降のPolulu製A4988ボードには、従来は50mΩのセンスレジスタであったのに対して0.68mΩに変わったようで、そのため公式も以下のようになったようです。
      VREF=8⋅Imax⋅Rcs
      VREFは、今まで同様ドライバ上の可変抵抗器の電圧調節値
      Imaxは、制限したい電流値(ステッピングモーターのデータシート上の定格電流値)
      Rcsが、センスレジスタの値、従来の50mΩか2017年以降の新しい68mΩか。
      従来のものであれば、
      VREF=0.4×Imaxとなるので、去年までの公式であったVREF=Current Limit/2.5と結局は同じということです。
      DRV8825に関しては、特に変更はないようなので、今まで通りの
      VREF=Current Limit/2.0
      で大丈夫そうです。

      ブートローダーは、パソコン上のArduino IDEアプリからUSB経由でプログラムを書き込めるようにするためのマイコン内に用意されたもう一つのプログラムです。もしArduino Unoが壊れたときに、ATmega328を交換すれば大体は復活するのですが、ATmega328を差し替えただけではArduinoとしては使用できないので、最初にブートローダーを書き込んでおく必要があります。ATmega328をArduinoではなく、普通のAVRマイコンとして使うのであればAVRライターなど使用してプログラムを書き込むことになります。Arduinoはこのへんの面倒な手順をPCとUSB接続して簡単にプログラムを書き換え可能にしてくれているという感じです。
      自作CNCにおいても、電気の専門用語や知識がある程度は必要となるので、CNCとは別にArduinoで電気について勉強してみるといいと思います。「Arduino 使い方」などで検索すれば、LEDの点滅の仕方から様々なセンサを使った応用例などでてくると思います。

      削除
    17. なるほど・・・2017年以降は抵抗が変わる・・・こういう話だけでも僕はお腹いっぱいです。自分の持ってる奴がどうなのかなんてどうやって分かるやら・・・(自分の見てみると全くPoluluの画像のと形が違った・・・)
      VREF=current limit/2.5で一応計算します。2Aなので0.8Vですね。了解しました。

      ブートローダーも取り替えだけではダメなんですね・・・CPUみたいには行かないってことですね。

      削除
    18. windows でずっとやって来たのですが(利点がいくつかあったため)誤作動が多いため(スピンドルが動かない、スピンドルを動かすと接続が途切れる)パイソンやCNC制御ソフトの無駄な物をアンインストールしたり試してみてるのですがよくなりませんので一度Macで制御しようと思うのですが・・・
      MacでArduinoUNOをUSB接続した際にbCNCでポートを選択する方法がwindowsと違うので分かりません。windowsはデバイスマネージャーでArduinoUNOのポートを調べればいそのポートを選べば良かったです。
      Macもシステムレポートを見ればArduinoUNOと接続しているのは分かるのですが、ポートが分かりません。
      製品 ID: 0x0043
      製造元 ID: 0x2a03
      バージョン: 0.01
      シリアル番号: 85531303830351815171
      速度: 最高 12 Mb/秒
      製造元: Arduino Srl
      場所 ID: 0x14100000 / 1
      利用可能な電流(mA): 500
      必要な電流(mA): 100
      こんなのが出ます。

      削除
    19. ArduinoをMacにつなぐと、
      /dev/tty.usbmodem1411
      のようなシリアルポートがでてきますが、これを調べるには、
      ArduinoをUSB接続したあとに、Macでターミナルを開いて、以下を入力すると
      ls -l /dev/tty.*
      シリアルポートのリストがでてきます。この中に/dev/tty.usbmodem1411のようなポートがあれば、それをコピペするか手入力でbCNCのポート欄に入れるといいと思います。
      もしターミナルを使わないなら、
      ArduinoをUSB接続したあとにArduino IDEを開いて、
      メニューバー>ツール>シリアルポートを選択すると、その中に複数シリアルポートのリストがでてきます。
      純正なら、/dev/tty.usbmodem1411
      中国製なら、/dev/tty.wchusbserial1410
      こんな感じのポートがあれば、それをbCNCに手入力すればいいと思います。
      もし、ここで上のようなポートが見当たらない場合は、認識されていないということなので、再起動するか、中国製なら専用のドライバのインストールが必要になります。

      削除
    20. bCNCのオープンを押しても'NoneType' object has no attribute 'Serial'と出ます。繋がりません。
      /dev/cu.usbmodem1411(ArduinoIDEで調べた場合)

      crw-rw-rw- 1 root wheel 18, 2 1 14 13:10 /dev/tty.Bluetooth-Incoming-Port
      crw-rw-rw- 1 root wheel 18, 4 1 14 13:10 /dev/tty.Bluetooth-Modem
      crw-rw-rw- 1 root wheel 18, 14 1 14 22:58 /dev/tty.usbmodem1411(ターミナルで調べた場合)
      二種類コピペしたのですが、同じ結果でした。1411もだめでした。シリアルが違うって書いてあるのでしょうか?bCNCのbautは15200にしてます。下向きの▲を押した時候補になるポートが空なんですが、普通はここでそのポートが出るのですよね?

      削除
    21. おそらくポートは、
      /dev/cu.usbmodem1411
      でもいいと思います。
      これをbCNCのポートに手入力してもだめということでしょうか?
      一度つながれば、次からは自動でbCNCのポートのリストにでてくると思います。

      ちなみに、pyserialはインストールしてあるでしょうか?
      pyserialがインストールしてあるか確認するには、
      ターミナルを開いて、以下を入力。
      python -c "help('modules')"
      そうすると、アルファベット順にたくさんモジュール名が出てきます。
      そのなかで、serialというのがあれば、pyserialがインストールされているということになります。

      削除
    22. runpy
      sched
      select
      sets
      setuptools
      sgmllib
      sha
      shelve
      shlex
      shutil
      signal
      どうやら無いみたいですね。
      easy_installとかPySerialとかインストールしたら良いらしいのですが、ここがMacの苦手な所で解答インストールみたいにならないみたいです。どれをインストールが良いのでしょう?

      削除
    23. 1日掛かってようやく出来ました。本当にMacのこの手のインストール苦手です。
      きっとmirrorさんからしたら何でだよって噺家もしれませんが、ターミナルにコピペしたら終わりました。理解してから完了まで1分の作業でした。ありがとうございました。

      削除
    24. オープンソースのソフトではターミナルをよく使うので慣れておくといいと思います。Windowsならコマンドプロンプトになります。ラズパイならLinuxなので、ほとんどターミナルでコマンド入力することになると思います。今後もよく使うと思うので、初歩的なコマンドだけでも覚えておくといいと思います。そういうのも含めてブログなどに記録しておけば、忘備録として情報も整理できると思います。

      削除
    25. macでも動きませんでした。windowsと全く同じ症状でしたのでまた、A4988を壊してしまったようです。ソフトは動くけど機械が動かないと言う事は今までもずっと電子回路を壊していたようです。
      明日、DRV8825が届くと思うので・・・何も触らず、ただ基盤に付けてためしてみます。

      削除
    26. 以前、空運転まではできたと言ってましたが、また出来なくなったのでしょうか?
      それとも、スピンドルをオンにするとノイズで誤作動するということでしょうか?

      削除
    27. パターン1としては、スピンドルを動かすともう一方のUSB接続が切断される症状が出ます。
      これはスピンドルとステッピングモーターの制御を別のArduinoで動かした状態です。
      パターン2ArduinoUNO+ステッピングモーターの制御ができない。
      ソフト上は制御されているが、ステッピングモーターは動かない状態です。
      これはmacに変えても動きませんでした。
      可能性としてはスピンドルのノイズがUSBを伝わってる?もしくはノイズが直接Arduinoに飛んで影響している・・・と思います。

      あと、元々あったステッピングモーターの情報が見つかりました。中国語と英語で書かれていますが、
      Nema17stepperMotor 17HS16-2004S1
      stepperonine社 www.OMC-StepperOnline.com

      ステップ角度1.8 クラスB トルクholding torque ( 2phases on)N.m0.45
      rated surrent/phase2.0  phase resistance 1.1 rated voltage/phase 2.2
      phase inductance tyoical 2.6

      など書いてあります・・・トルクは63.72ozinで買って来たのとほぼ変わらない事が分かりました。その他のデータって差がありますか?

      削除
    28. ステッピングモーターに関しては、元々のものと新しいものでは、似たようなスペックなので、どちらでも大丈夫そうですね。定格電流2.0Aなら、電流制限設定はA4988なら0.8V、DRV8825なら1.0Vということになりますね。

      パターン1の「もう一方のUSB接続が切断」というのは、「もう一方」ではない方のUSB接続もあるということでしょうか?それは何のUSB接続のことですか?
      それともパターン1とパターン2をパソコンに2個同時に接続しているということでしょうか?
      また、「別のArduino」とは中国製クローンUnoのことですか?

      パターン1で考えられるのは、スピンドルのノイズ対策。
      A4988が壊れたということから考えられるのは、スピンドル用リレー回路の配線に間違いや問題があるなどでしょうか。リレー用の電源や配線について再度確認してみるといいと思います。
      CNCシールドは、まだ中国製クローンのV3.0を使っているのでしょうか?
      そしてリミットスイッチ端子にノイズ対策としてコンデンサーをつけた状態になっているということでしょうか?そのコンデンサー部分で他の端子とショートしているのかもしれません。

      削除
    29. 各部分の写真、特にArduino、CNCシールド、ノイズ用コンデンサーの部分、リレー部分、各種電源、全体の配線図など、7Yさんのブログなどにアップして頂ければもう少し分かりやすくなるのですが、どこかにアップロードできますか?

      削除
    30. http://ycnnc.blogspot.jp/2017/01/blog-post.html
      超簡単でした。たった1時間で出来ました。

      また、ブログにアップしようと思いますが、まずパターン1と2は別です。同時ではありません。
      パターン1の時にはパソコンにarduinoが2個繋がってて、両方パソコンの本体以外では独立させていたのですが(制御ソフトも別)、スピンドルを操作するとスピンドル側はアラームロックが起こり止まり、ステッピングモーター側はUSB接続が切断されました。
      パターン2はスピンドルも1つのArduinoUNOで動かした場合です。そうするとソフト上は動きますが、モーターが動きません。また、スピンドルはソフト上でも動いていません。

      電源やドライバーチップを違う物にしても動きますか?電源をパソコンの物を使ったり、L6480などのドライバ・・・あまり今までと異なる物を使うと危なそうですが。

      削除
    31. ドライバA4988かDRV8825で大丈夫だと思います。
      それよりも、スピンドルのリレー回路とCNCシールドとの接続のほうに問題ありそうな感じですね。

      削除
    32. はうって声が出ました。そうそう、リレーがですね5V対応の物を12Vに変えたんですよ。(5Vの方でうまく行かなかったときがあった)それでちょっと変えたらスピンドルが制御できる様になりました。
      あと、純正が壊れました。なので互換の中でも好評価の物と変えて再度チャレンジしました。そしたら正常に動き、(ドライバーが壊れていないのが2つしか無いので完全ではないです)Arduino1つでスピンドルとステッピングモータを制御出来るまで回復しました。このままドライバが3つ揃えば完璧です。数日中にDVR8825が届きますので安心せず、緊張感持ってやれば上手くいきます。
      ドライバ、Arduino、リレーが壊れていたみたいです。あと、スピンドルのノイズ対策が完成しました。本当に疲れました。

      削除
    33. DRV8825が届いたら、すべて正常に動くといいですね。
      7Yさんのブログにも、画像などアップロードお願いします。

      削除
    34. 大体理解できたのでDRV8825を0.8Vに設定しコードを動かしました。
      結果スピンドルも動くし、最後まで行きました。ですが、念のためステッピングモーターは外してやりました。
      身長過ぎかもしれませんが、明日、空で動かすのと切削やっても大丈夫そうでしょうか?
      あと、1.0Vにすると高過ぎますかね?

      削除
    35. スピンドルを動かしても大丈夫なら、スピンドルのノイズは問題なさそうですね。
      ステッピングモーターの定格電流が2.0A、DRV8825使用という前提なら、理論的には電流制限設定は1.0Vで大丈夫です。電流制限により2.0Aまでしか電流が流れないので、ステッピングモーターにダメージを与えるということは、なくなります。
      ただ、フィードが速すぎたり、切削抵抗を受けすぎたりすると、加工中にロックがかかることはあるかもしれません(ステッピングモーターにダメージを与えないようにするために)。

      削除
    36. 少しエラーが出始めてて不安です。
      ドライバ(DVR8825)の発熱って正常だとどんな物でしょうか?60度くらいでて普通でしょうか?(0.8V設定)
      直接触るのは良くないかもしれないですが、ヒートシンクがかなり熱かったので危ないのか何と思いました。

      あとはスピンドルのノイズ除去は個体差があるのだと思います。完全除去しようとすると返ってスピンドルの回転がうまく行かなくなるようでした。スピンドルに電気が流れず抵抗の方を通ってしまうのか、かくかくと回転してたり。色々変えてみるしかなさそうです。

      削除
    37. どんなエラーでしょうか?
      おそらくドライバのほうは1.0Vまであげても大丈夫だと思います。
      スピンドルをオフにして運転すると、きちんと最後まで動きますか?

      削除
    38. そういえばチョイチョイ出るコマンド(コード)のエラーの中にerror:Unsupported command[for T 1 M6]がでますね・・・
      これはGコード作成時に正しい種類のコード化を選択してないってことですかね?

      エラーとしてはまず、Z軸が動かなくなります。なので再度接続し直しました。
      また、一度エラーが出るとUSBを刺し直しが必要になります。
      また、各ドライバのヒートシンクの60度くらいの発熱を感じます(ヒートシンクのサイズ変更も考えています。
      ここでZ軸のエラーの原因を探ってたらスピンドルのノイズ対策のダイオードが一つ逆である事が分かり、これを戻しました。(ここで初めてダイオードを使ったノイズ除去が機能。今まではもう一つのコンデンサーによる方のノイズ除去のみ効果があった様子)するとスピンドルの動きは一気に緩慢になり、1秒に1回転程度のクルックルッと断続的な回転になったためノイズ対策を一気に全部除去してみました。
      すると以前あったスピンドルを動かすとUSB接続の切断が再開しました。
      また、その状態でスピンドルを使わないでGコードを使うと最後まで動いてくれます。(最初に書いたエラー内容はありますが)
      問題なのは多分スピンドルのノイズ対策でダイオードを3つ[uxcell ショットキーバリアダイオード 整流用ダイオード 高速スイッチ 1N5817 DO-41 20V 1A]だと思います。なのでこれを減らすべきなのか増やすべきなのかですね・・・

      削除
    39. 非接触の温度計でヒートシンクなど温度を測ったら60度ではなく65度くらい出ていました。おおよそ実際の温度より5度くらい低く出るので70度だと思います。
      また、ヒートシンク外の部分を測るとさらに高く78度くらい出ていました。

      そして1時間くらい連続して空の加工させていたらUSB接続が切断されたので再度温度を測るとヒートシンクの上で80度以上、ヒートシンクの上以外で90度以上出ていました。
      加工中に止まる原因にもなっていそうです。

      削除
    40. Grblが対応しているGコードコマンドは以下に書いてあります。
      https://github.com/gnea/grbl/wiki/Grbl-v1.1-Commands
      「T1 M6」はツール1にツール変更というコマンドになると思うのですが、ツールチェンジのM6はサポートしていないのだと思います(ATC:オートツールチェンジャ:自動でツール交換してくれる機能)。
      Gコードを生成するときに、オートツールチェンジャを使わない設定にすればいいと思います。

      やはり、問題はスピンドル付近のようですね。
      コンデンサも3こつけているのでしょうか?
      あと、気になるのはリレー回路の部分ですね。
      ブログにアップできます?

      削除
    41. ちょっと報告です。
      後でブログに画像上げたいと思います。
      電源を今まで24Vをスピンドルへ、12Vをステッピングモーターへしてたのをご指摘を受けて反対にしたのですが、今回また戻してみました。これならドライバーの熱は平均して60度未満で最後まではしれました。(約3時間)トルクも申し分無しでした。(ゆっくり動かす設定なので)
      一つ問題はスピンドルも付けていると途中で止まっていた(スピンドルは動いてました)ことですね。ノイズかな?

      削除
    42. スピンドル用のリレー回路のノイズかもしれませんね。
      リレー回路とDRV8825は電気的につながっていますが(GND共有など)、スピンドルモーターとDRV8825は絶縁されていると場合もあります(GND共有もしない)。スピンドルモーターとDRV8825が絶縁されていれば、それほどノイズの影響はでないと思いますが、それでもノイズが出ているようならリレー自体がON-OFFを切り替えるときのノイズかもしれません。
      どんなリレー回路になってますか?

      削除
    43. https://www.amazon.co.jp/dp/B0119GJB76/ref=sr_ph?ie=UTF8&qid=1485013755&sr=1&keywords=リレー
      https://www.amazon.co.jp/HiLetgo-1チャンネルリレーモジュール-高低レベル-トリガー-並行輸入品/dp/B0116IZ9FK/ref=sr_1_92?ie=UTF8&qid=1485014015&sr=8-92&keywords=リレー
      アマゾンから引っ張ってきました。5Vと12Vのものですね。うまく行くのは5Vのほうですね。上に乗っかってる青い箱だけ売ってたり、全く違う形のリレーなど色々ありますね。

      削除
    44. そのリレー回路とCNCシールドはどのように配線してます?
      実際の画像アップできますか?

      削除
    45. http://ycnnc.blogspot.jp/2017/01/blog-post_22.html
      がんばりました。初めての事をやるのって楽しいって人いますね・・・僕は苦手です。

      削除
    46. ブログ初投稿おめでとうございます。7Yさんのブログのほうにコメントしておきました。
      やはり画像などあると分かりやすいですね。検索可能にしておいたほうが、同じようなところでつまづいている人にとって参考になるので、いいと思いますよ。

      削除
    47. む・・・頑張ります。
      まあ、テスト的なブログでちゃんとやるときはまた別でやりたいです。
      貼り直してみました。

      削除
  16. 前回、ステッピングモーターの配線について相談させてもらいありがとうございました!

    今回はリミットスイッチでハマってしまいました。またご助言をいただけないでしょうか?
    このページに書いてあるとおり、0.47uFの電解コンデンサをつけたのですが「Alarm lock」が表示されてしまいます。
    構成は CNCシールドv3.0+Grbl v0.9ですが電解コンデンサは・・・D9、D10、D12にプラスを半田付けし、
    D14にGNDでいいんですよね?
    GrblControlerの設定かと思い、設定を変更してみましたがダメでした・・・。

    う~~ん。何か考えられることはありますでしょうか?

    返信削除
    返信
    1. ホーミングボタンを押すとロックがかかってしまうということでしょうか?
      それと、コンデンサーをつけない場合もロックかかってしまうのでしょうか?


      instructablesでは(以下)、
      http://www.instructables.com/id/End-Stop-Limit-Switch-Problems/
      0.47uFの電解コンデンサー(極性あり)をD9、D10、D12、GND(D14でもOK)につけるということにはなっています。この投稿内では、最終的には1.0uFのセラミックコンデンサー(極性なし)をつけて無事動くようにはなりました。手持ちに1.0uFのセラミックコンデンサーしかなかったので。

      GrblControllerは、以下の投稿でも書いてありますが、
      http://cnc-selfbuild.blogspot.jp/2016/03/blog-post_26.html
      設定(GRBL Settings)で、
      error: Invalid statement
      というエラーがでるときがあります。「Alarm lock」なので、このエラーではなさそうですね。ためしに、ほかのG Code Senderを使ってみるのも手だと思います。

      あと考えられるのは、ステッピングモータードライバA4988やDRV8825で、保護回路が働いてシャットダウンするときにロックがかかるということもあります(過電流や温度などが原因)。なので、A4988の電流制限設定を確かめるなど。
      そのほか、スピンドルあるいはスピンドルのリレーやドライバのほうでノイズが発生してロックがかかるときもあると思います。
      スピンドルをオフにしたままでもロックされてしまうのでしょうか?

      削除
    2. ・ホーミングボタンを押してもロック
      ・GrblコントローラーのXYZをマニュアル(矢印マークのやつです)で動かしてもロック
      ・コンデンサーをつけない状態でもロック
      ・リミットスイッチの配線を外して(hard limit、homing設定はオンの状態)にロック
      ・試しにbCNCでもやってみましたがロック・・・。


      現在このような感じで、毎回、Unlockを押さない限り何もできない状態ですね。
      スピンドルはまだつけていない状態で、XYZ動くだけの機械になっています(笑)


      電流制限設定についてですが、ステッピングモーターに「ST-42BYH1004」を使っております。
      「定格電流 1.0A」ですので、1.0A÷2.5=0.4vになると思いますが間違いないですよね?
      (CNCシールドには12vで電源供給しています。)

      1.0uFの電解コンデンサで試してみるべきでしょうか。

      削除
    3. 電流制限はそれでよさそうですね。

      hard limitをオフ($21=0)にすればロックはかからないですか?

      CNCシールドの右側にある白と黒の端子(Z+からE-STOP)で、ノイズが出ていないかテスターで計測してみるといいかもしれません。Gコードを送信してロックがでる瞬間に、ノイズが発生しているような端子が見つかればいいのですが。もしあれば、そこにもコンデンサーつけるとかですかね。

      削除
    4. mirrorさん、いつもご助言いただき感謝です!
      返信が遅くなりましたが、無事ホーミングができました!コンデンサの問題ではありませんでした。

      結果からすると、GRBLについて私の知識がなかったことでした。GRBLのホーミング関連の設定を見直したら動くようになりました。お騒がせしました・・・。

      今回も質問させてもらってもよろしいでしょうか??

      (1)ホーミング前のマニュアル操作について
      「ホーミング前にマニュアルで動かすとAlarmLockがかかってしまう」のは仕方ないことなのでしょうか?

      (2) GRBL ControlerとbCNCで挙動が違う。
      現在、これに悩まされているのですが・・・。「GRBL接続 → ホーミング」を行ったあと、bCNCではZ軸が動かなくなってしまいます。一瞬だけ動いた感じはあるのですが。GRBL Controlerでは普通に動作しています。bCNCで設定がいるとか・・・?

      削除
    5. (1)
      https://github.com/gnea/grbl/wiki/Grbl-v1.1-Commands
      このGrbl wikiのページの$X(Kill Alarm Lock)や$H(Homing)を見ると、
      事前に$22=1でホーミングをオンにしておくと、Arduinoへ電源投入し接続直後にAlarm Lockがかかる仕様のようです。何か異常があったときにもAlarm Lockがでますが、マシン原点が未設定(まだホーミングしていない)の場合もAlarm Lockがでるようです。マシン原点が未設定なので、そのままでは危ないですよということだと思います。
      $X入力でロック解除できますが、この際もマシン原点未設定ということを念頭にいれて、その後の操作など行わなければいけないということです。

      ただし、ArduinoをUSB接続したまま(電源を入れたまま)、一旦bCNCと接続を切ったのち再接続した場合は、Arduino自体はリセットされていないのでAlarm Lockはでないと思います。つまり、ArduinoもbCNCも両方とも電源を再投入すれば、接続直後には必ずAlarm Lockがでて、その都度$Xでロック解除する必要があるのだと思います。

      (2)
      bCNCのTermnalタブのコンソール画面では、どんなエラーがでていますか?
      ソフトリミット($20=1)がかかっているというわけでもないですか?
      ちなみに、bCNCのToolsタブのConfigボタンで設定変更できそうですが、このへんは特に触らなくても大丈夫でした。

      削除
    6. 返信が遅くなりました・・・すみません。

      >ソフトリミット($20=1)がかかっているというわけでもないですか?
      確認しましたがソフトリミットはかかっていませんね。ハードリミットとホーミングだけがONになっている状態です。

      >bCNCのTermnalタブのコンソール画面では、どんなエラーがでていますか?
      Terminalタブをみようと思ったのですが、矢印ボタンを押してからログが更新するまでが早くて目で追えない状況です(涙)
      リンク先のgithubを見たのですが、Z軸をCommandで動かす場合は「$J=G53 Z2.0」と打てば良いのでしょうかね。

      それと私の環境がWindows環境で行っているのですが、もしかするとpython、pyserialのインストールに失敗してZ軸が動かないのかもしれません。bCNCを使っているのコマンドプロンプトでこのようなエラーが表示されています。また、不思議に思うことがありますのでこちらも相談させてください。

      ・UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordin
      al not in range(128)

      ・ HomingCycle完了後でもAlarmと表示されている

      ・ bCNC最新版で「Japanese」を選択しても、bCNC再起動後、英語に戻っている

      ・ bCNCを終了するとき、ウインドウの×ボタン、Exitボタンを押しても終了できない。終了するときはバックグラウンドで起動しているコマンドプロンプトを消すしかない。


      pythonのバージョンによって、Z軸が動かない可能性があるのでしょうかね・・・?

      削除
    7. Python3ではなくPython2.7をインストール。
      コマンドプロンプトでPython起動後、
      import serial
      を入力してエラーが出なければインストールされています。
      もしエラーなど出るのであれば、おそらく環境変数パスが未設定なのかもしれません。

      bCNCで$J=G53 Y5.0を入力すると、なぜかエラー(error:22)が出ますね。
      調べてみましたが、error:22はフィード未設定のためのエラーのようで、
      $J=G53 Y5.0 F600
      という感じで、後ろにフィード値(例えば600)を入れるとエラーが出ませんでした。この$J=というコマンドはGrbl1.1からの新しい機能だと思います。実際使ったことないです。
      普通に操作するなら、
      G90 Z10
      で絶対座標Z10(mm)へ移動
      G91 Z10
      なら、相対座標でZ軸が現在の位置から10mm移動
      という感じで入力してます。

      HomingCycle完了後にAlarmというのは、HomingCycle自体は動くということですか?
      「Japanese」選択後、ControlタブのExit(終了)ボタンやCtrl+Qを押して閉じても、また英語になっているのでしょうか?確かにウィンドウの閉じるボタンを押すと固まったりしますね。

      Pythonの文字エンコードについては、Python起動後、
      >>> import.sys
      >>> sys.getdefaultencoding()
      を入力すると、
      'ascii'
      と出て来ます。普段bCNCを使っている上では、asciiになっていても特に問題ありませんね。
      もしutf-8に切り替えるのであれば、
      http://qiita.com/puriketu99/items/55e04332881d7b679b00
      ここに載ってました。

      削除
    8. Z軸が止まってしまう問題ですが、GRBLの設定を変更したら動くようになりました。Z軸のAccelerationの数値が大きすぎたのかもしれません。かなり低くしたら動くようになりました。

      bCNCの日本語表示、終了できない問題ですがこちらも解決しました。問題は設定のフォントでした。初期値に日本語フォントが設定されていたのですが、すべてSansに変更したら解決できました。

      bCNCですが原点を左下に移動させることってできるのでしょうか?bCNCは右上が原点になっていますよね?GRBLでは$23 (homing dir invert mask:11010000)を3に設定してあります。(X -方向 Y-方向 Z+方向)

      次はこちらの記事を参考にしてプローブを作成してみたいと思います。
      http://cnc-selfbuild.blogspot.jp/2016/05/cncz.html

      削除
    9. 解決してよかったですね。いざという時の参考になります。
      $23でホーミングの方向を変えることはできるので、$23=3なら、それで大丈夫だと思います。
      プローブは基板や金属板で簡単に自作できるので、動画にあったようなもので十分だと思います。

      削除
    10. 調整などをしてなんとかパス通りに動くようになりました!
      mirrorさんのおかげです。ありがとうございます。

      bCNCのことでまたお聞きしたいことがあるのですが、いいでしょうか。

      (1)completed 99%から進まない
      Inkscape+Gcodetoolsでngcを作成、bCNCで読み込んで動かしているのですが99%から動かなくなってしまいます。

      https://box.c.yimg.jp/res/box-l-wge5q47ze333v3luiounoouwjq-1001?uid=dd0d5f1d-92f0-4a9a-86ac-53f7560211a7&etag=1a6287b1c7790205e3946114a737d143

      動きに問題はなく、最初から錯誤までパス通りに動くのですが99%から動かないので他の作業に移ることができません。STOPを押して停止し、パソコンを再起動しないとbCNCが使えなくなってしまいます。

      https://box.yahoo.co.jp/guest/viewer?sid=box-l-wge5q47ze333v3luiounoouwjq-1001&uniqid=31440fed-e010-4041-83a1-d52f5afbaebc&viewtype=detail

      作業の流れは「x=0、y=0、z=0で原点を決定→ファイルオープン→スタート」で問題ないですよね?

      (2)F値について
      Terminalで「G91 X10 F10」「G91 X10 F20」「G91 X10 F100」などとF値だけ変えているのですが、まったく速度が変わりません。

      (3)Statusについて
      bCNCを使っているのですが、Statusが「Connect」や「Idle」に変わることがないのですが、問題ないですかね?


      まだハンドルーターで試しているのですが、ここまで完成しました。
      本当に感謝しております!

      https://box.yahoo.co.jp/guest/viewer?sid=box-l-wge5q47ze333v3luiounoouwjq-1001&uniqid=85988a6e-9984-44cb-b3d2-3d0aca53374f&viewtype=detail

      削除
    11. (1).ngcファイルのGコードの最後は何になっていますか?
      M30を最後に書き足せば終了になるかもしれません。終了コマンドとしてM2、M30、%(プログラムエンド)などありますが、最後M30で大丈夫でした。
      bCNCのTools画面内のConfigボタンを押すと、Gコードの最後に入れるコマンド(Footer)の設定ができます。そこに書き込むといいと思います。
      普通は、加工が終われば自動で終了となりますね。

      (2)デフォルトではG0(位置決め用の早送り)に設定されているので、F値を反映させたいときはG1にします。
      G1 G91 X10 F100
      というように、G0をG1に変えて動かせばF値に合わせてゆっくり動くはずです。
      G0やG1はモーダル(一度変更すると再度変更しない限りその設定は継続する)なので、最初に入力しておくだけで大丈夫です。
      ただ、Grbl1.1からは、ジョグ操作は
      $J=X10F100
      と入れれば、Gコードに関係なく動かせると思います。

      (3)Statusは何になっているのでしょうか?
      通常はDisconnected→Connected(あるいはAlarm)→Idleになり、動かすことができるようになります。一度エラーなどが出ると、Statusのボタンにエラーメッセージが表示されたままになってしまいます。ボタンを右クリック(あるいは中クリック)でClear Messageが選択できるので、またIdleなどの表示に戻ると思います。

      削除
    12. 写真見ました。このマシンは3Dプリンタでパーツを作ったのでしょうか?
      もう少し全体が写っている画像も見てみたいです。

      削除
    13. (1)ngcファイルのGコードについて
      デフォルト値(M5 G0 Z20)にM2やM30を追加してみましたが、やはり98%で止まってしまいます。これであっていますか?
      ・M5 G0 Z20 M30

      (2)ありがとうございます!無事できました!

      (3)Statusについて

      Arduino接続前 →Not connected
      Arduino接続後 →Not connected
      ホーミング後  →Not connected
      clear Message選択 →Not connected
      リミットスイッチオン →HardLimit

      起動からずっとNot connectedになっていますね(涙)一応、Not connectedでも動くので問題はないと思いますが・・・。Arduinoに問題があるのでしょうかね。


      低予算で作るためにパーツは3Dプリンタで作りました。次はもっと大きいマシンを作りたいですね。写真ですが、部屋が汚すぎるので片付けてからでもいいですか?
      (このサイトで紹介しているAliexpressでレーザーモジュールを購入してみました。届くまで時間がかかりそうですが、かなり安いんですね。)

      削除
    14. (1)(3)bCNCのTerminalタブのコンソール画面に何かエラーのようなものは出てないでしょうか?
      リミットスイッチオンは$21=1にした時でしょうか?それでも動くのですか?
      もう一度bCNCをダウンロードしてみると、ちょっと変わるかもしれません。Gitのソースが数日ごとに微妙に書き換えてあるようなので。

      AliExpressは、かなり安いですね。配送に時間かかったり、品質も微妙な時もありますが、おおむね大丈夫です。

      削除
    15. Terminalを見ながら操作してみましたが、これといったエラーは表示されませんでした。リミットスイッチは$21=1の状態です。
      ただ1回だけ、ゴチャゴチャやっていたときに成功したことがあります。

      ■設定
      http://yahoo.jp/box/VFu94a

      ■完了時のコンソール画面
      http://yahoo.jp/box/tcGb9t


      ちなみにホーミングサイクル終了直後の写真がこれです。
      http://yahoo.jp/box/q4oVer
      http://yahoo.jp/box/HleHkb


      今更なんですが、WPos、MPosに座標が一切出ないのですが・・・。これも問題ですよね?先ほどbCNCをダウンロードし直してみたのですがダメですね。参りました(涙)
      ArduinoやCNCシールドが壊れている。もしくはPython周辺に問題があるのでしょうか。

      削除
    16. 最後まで動くのであれば、動かないよりはいいと思いますが、表示が変だという感じですね。
      前に書いたように、Pythonのエンコードをasciiからutf-8へを変えてみるのはどうでしょうか?
      以下を参考に。
      http://qiita.com/puriketu99/items/55e04332881d7b679b00
      あるいは一度英語に戻してみるとか。

      それから、インストールされているパッケージ/モジュールをアップデートしてみるとか。
      まずpipをアップデート(すでにアップデートされていれば、already up-to-dateと出ます。
      pip install -U pip
      アップデートしたら、インストール済みのパッケージリストを表示します。
      pip list
      一応リストを見たら、その後一括でアップデートします。
      pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs pip install -U
      エラーが出るようなら、一個ずつアップデートしてもいいかもしれません。
      先ほどのパッケージリストを「pip list」で表示して、「pip install -U パッケージ名」、例えば、
      pip install -U pyserial

      これで何かよくなればいいですが。

      設定については、HeaderのM3 S12000 G4 P3となっていますが、
      GRBLだとS値はS1000が最大値になります。
      Spindle Max(RPM)は、S1000にした時のスピンドルモーターの最大回転数を設定しておけばいいと思います。

      削除
    17. 教えてもらった内容を全てやってみましたが、ダメでしたね。
      bcncの海外フォーラムでそれっぽい内容のものがありました。

      https://github.com/vlachoudis/bCNC/issues/456
      https://github.com/vlachoudis/bCNC/issues/391

      この内容だとGRBLのバージョンが原因ってことになりますかね?

      削除
    18. MPosやWPosの表示であれば、$10の設定が変になっていると、現在のマシンの状況を返してこないみたいですね。
      $10=1(デフォルト)か$10=2(バッファつき)みたいです。
      これを変えてもダメですか?
      bCNCのToolsタブ>Controllerボタンでも設定画面で入力できますが、この設定画面が縦に二分されていて、設定項目と入力欄が別々にスクロールするので見間違えやすいですね。
      入力して一旦bCNCを再起動すれば大丈夫だとは思いますが。
      念のため、直接$10=1を手入力して、$$で確認するといいと思います。
      これでもダメでしょうか?
      ちなみに$$入力後の設定内容の画像もアップしてみてください。

      削除
    19. $10の値が0になっていたので、1・2に変えてみましたがダメでした。bCNCで設定値を変えて終了すると保存されずに、元に戻っているときがあるようです。(設定だけGrblControllerの方でやって試しました)

      設定内容がこちらです。
      http://yahoo.jp/box/XyVHwk

      削除
    20. 無事解決することができました。原因はGrblのバージョンでした。
      相談させてもらったときはGRBL0.9を使っていましたが、そのバージョンを1.1に変更することがで解決しました。
      Windows8.1、Windows10、ラズベリーパイ、Ubuntuで試しましたが全てOKでした。

      ・ wpos・mposの表示
      ・ Statusの変化
      ・ bCNC画面右側のXYZが動くようになった

      とりあえず、解決です。ありがとうございました!


      やっとprobe作りを始めたのですが、また問題が発生しました。このようなエラーが表示されたのですが「at least one probe direction should be specified(機械翻訳:少なくとも1つのプローブ方向を指定する必要があります)」GRBL上で何か設定が必要でしょうか?
      SCL端子とGNDに差すだけじゃダメなのでしょうか?

      削除
    21. Grbl0.9だったんですね。1.1にして動いたのなら、良かったですね。

      プローブは、X,Y,Zそれぞれ計測可能ですが、おそらくbCNC上のProbe欄のZ軸だけに数値を入れれば、Z軸に進むということなんだと思います。
      まずはプローブ機能が正常に動くか試した方がいいと思います。Z軸が下がりきる前に、一度手でプローブを持ち上げて止まるかどうか。プローブの接触不良などあれば、どんどん下に下がって行って、止まらなくなると危険なので。

      削除
  17. このコメントは投稿者によって削除されました。

    返信削除
  18. mirrorさんありがとうございます!100回以上も質問したり、3ヶ月もあれこれ聞いてしまってご迷惑をおかけしました。
    きっとこんなに関わった人はこのブログでは初めてですよね・・・
    ついに完成してしまいました。
    完成は来年になるんじゃないかと不安になったときもありましたがこれで胃痛からも苦悩からも解放される気がして天にも舞い上がりそうな気持ちです。
    偏にmirrorさんのお陰です。新しい写真をアップしました。かりそめのブログだったのですが、タイトルを変えてみて多少誰かの役に立てるような事をまとめて行きたいと思います。例えば今までの失敗内容とか(それだけで立派なブログになりそうなネタの量がありますが)
    このまま疎遠は寂しいのでまた、不調になったりまだ出来ていないホーミングサイクルのことなど質問させてください。
    長い間お世話になりました。

    返信削除
  19. 2段階切削が失敗に終わりました・・・・なんでだよ・・・
    【USB過電流防止について】
    Arduino UNOは、ショートや過電流からPCのUSBポートを守るために、リセット可能なポリフューズを持っています。多くのPCは内部に保護機能を持っていますが、このフューズは別階層の保護となります。500mAがUSBポートに供給された場合、フューズは過負荷やショートが取り除かれるまで自動機に接続を切断します。
    http://www.fabxfab.com/?pid=53456245ここに書いてあった事なんですが、そういう事は知りませんでした。
    AruduinoUNOへの電流負荷を減らすとすると何が良いでしょうか?電源のアンペアを下げたら良いんですかね?スピンドル用を24V0.5Aのような電源に変えたらスピンドルは回らなくなったりしませんかね?定電流ダイオードを挟めば良いらしいですが・・・どこに付ければ良いのやら

    僕はArduinoはおろかCNCシールドの回路すら読み取れません。一体どこからどこに流れれば0.5A以上の電流がUSBへ流れると言うのでしょうか?

    返信削除
    返信
    1. スピンドルへのトルクが過負荷になり、過電流が発生するのだとすると過負荷が掛かっても過電流が恐れるほど大きくならないようにしたら良いと言う物ではないですか?
      やはりモーターが強力にならない限り、現状アクリルを削る事が出来ないと結論づけるのが正しいでしょうか?(何も使わなければ削れます。)

      削除
    2. USB過電流に関しては、UnoやCNCシールドのどこかで接触不良が起こっているのかもしれません。例えば、Uno基板を固定するネジを金属製ではなく樹脂製のネジにするとか。どこか半田付けが不完全とか。
      USB過電流でストップすることはあまりないので、もう一度基板周辺をチェックするか配線やUSBケーブルを新しくした方がいいかもしれません。

      AruduinoUNOへの電流負荷を減らすために電源のアンペア数を下げるというのは、消費される電気に対して供給が追いつかなくなり、電源内のブレーカーが一時的に遮断してしまいます。
      電気は、電源が電気を送るというよりも、電気を消費しようとするパーツが吸い取る(消費する)というイメージです。例えば、DC12V/2AのACアダプターを使う場合、供給される12Vは一定なので12V対応の部品を使う必要がありますが、2Aというのは常に2A流れているのではなく、上限が2Aということです。0.1A消費する部品が5個あれば合計で0.5A消費することになり、まだ1.5A余裕があるという感じです。

      USB接続の場合500mAが上限ですが、DRV8825一個で5〜8mA程度、Arduino Unoが50mA程度なので、制御回路上では合計70mAくらいしか消費していないので上限500mAまではまだまだゆとりがあります。
      ・Arduino Unoは500mAまで、それ以上流れたらArduino Unoのポリヒューズがリセット。
      ・ステッピングモーターはDRV8825の電流制限により2Aまで、それ以上流れたらDRV8825の保護回路がリセット。
      ・スピンドルについては、過電流になればACアダプター内のブレーカーによってリセット。
      回路用電源、ステッピングモーター用電源、スピンドル用電源の3種類別々になっていて、それぞれどこがリセットしているか違うということです。

      アクリルは比較的硬い材料なので、かなり負荷はかかると思います。ゆっくり少しずつ削るしかないと思います。確かに強力なスピンドルに変えれば、このような問題も解決するかもしれません。

      ただ、USB過電流に関しては別問題だと思います。きっとどこかがショートしているか接触不良だと思います。USBケーブルも違うものに変え、その他の配線や半田付けした部分をやり直した方がいいと思います。

      削除
    3. なるほど、それならポリヒューズがって言うのも変な気がしますね。
      一度ポリヒューズを0.5Aから取り外して0,8Aの物と変えようかと迷いました。
      でもパソコンが壊れちゃ元も子もないですしね。
      各基盤、アダプターの中身、配線、全て見直しました。可能な限り、外れにくいように足したり、変えたりしました。
      調べてて、気になる事がまた見つかりました。オーバーカレントって言葉なのですが、
      切削進行方向に過剰な負荷かがかかる事らしいです。しかしただ切削でこのような負荷は起きないと思うのですが、じつは、切削油を使うともの凄く振動するんです。1つは地面を叩くような振動。2つ目にキリキリする高い音、3つ目に音が周囲の物を震えさせるようなデカい音です。
      この震えがXYZ軸のステッピングモーターに瞬間的なオーバーカレントのようなストレスをくわえているかもしれないと思いました。
      ステッピングモーター関連の配線に付いてもう一度詳しく知りたいです。何処かに抵抗を付ける事で改善できるかもしれません。私はどうにか振動を抑える手段を考えてます。

      削除
    4. Arduino Unoのポリヒューズを0.8Aに変えてしまうと、今度はパソコンのUSB端子において過電流(通常500mAまで)となるので、パソコン自体がUSBをシャットダウンするか壊れてしまいます。
      切削油はどんなのを使っているのでしょうか?
      オイル系だと刃が滑ってしまって削れないということもあると思います。
      切削油なしで加工できるのであればそれでもいいのではないでしょうか。温度が上がって溶けるようなら、エアークーラントなど使うか、
      https://www.monotaro.com/p/0828/3484/
      エアーダスターを吹きかけながら冷やすとかすればいいと思います。
      https://www.monotaro.com/g/00353977/
      やはり、アクリル切削するならそれなりのスピンドルの方がいいかもしれませんね。
      AliExpressだと300Wで4000円くらいのありますね。
      http://s.click.aliexpress.com/e/BurRnQn
      最低でもこのくらいのパワーは欲しいですね。

      削除
    5. パソコンが3.0USBだったら良かったんですよね〜
      ちなみに油は
      https://www.amazon.co.jp/AZ-エーゼット-水溶性切削油1L-切削油・切削オイル-821/dp/B000TGATK6/ref=sr_1_4?ie=UTF8&qid=1486455568&sr=8-4&keywords=切削油
      です。水に溶いて使っています。水と混ぜるから安上がりです。
      ちなみにスピンドルは僕も見ていたのですが、チャックとファンのセットで今の奴に付くのか調べてみると全然サイズ違いでした。今のは太さが38mm高さが65mmです。モータの高さ: 175ミリメートル直径: 52ミリメートルでは本体の作り替えからになりそうです。また、ベッドからスピンドルのエンドミルが設置できる幅(Z軸可動行)が50mmから80mmとせまいです。コレットが48+αも有るのでこれにエンドミルも付けられないと分かったのでこの金属加工用は諦めました。値段こそは安くて欲しかったです。まあ、笑ってください。
      油無しでも溶けたりはしません。刃が擦ったあとが全体的に白くなり、ムラが出る部分が縦線に残るのが気になるくらいです。
      切削油を使いたかったのは表面がツルッと仕上がるからです。でも鏡面仕上げするには結局削る事には変わりないです。鏡面仕上げしない場合にこっちが重宝すると思ったので出来れば使いたかったです。
      多分ですが、油を使った方が刃がしっかり立ってる気がします。それが逆にエンドミルをアクリル板側に引っ張る結果になり、スピンドルを上下に揺れさせる原因になってる気がします。切削油無しだとほとんど振動しないので油無しの場合は熱で柔らかくなったアクリルが切り取るよりは剥がれる感じで掘っている気がします。エンドミル温度は加工の時の直線かカーブか、で違いますが、緩やかなカーブほど熱くなり、大体30〜70度くらいになっています。アクリルとの接点はもう少し熱いと思います。
      ちなみに、刃を逆回転させるとこれも綺麗に削れます。特徴としては逆回転なので削った物を中に押し込んじゃうような力が働くので切削油がまとわりつくようになるのでよCNC周囲が汚れません。また、削ると同時に溶かす感じになって少し透けます。なので残念ながら現状一番綺麗な切削の組み合わせは逆回転で油有りです。続いて逆回転の油無し、正転油無しです。正転油有りがおそらく一番綺麗に作れます。べつに油にこだわってないのですが、逆回転と言うのが・・・ただそれだけって言っていいのかな?

      削除
    6. そういえば、エンドミルを3Φ使っていたのですが、2Φ1Φを試す事をしていませんでした。上に書いた考えが正しければ振動が減るかもしれません。

      削除
    7. 確かに改造したり新しいスピンドルを取り付けるなら、新しいCNCマシンを作った方がいいかもしれませんね。
      アクリルの場合は、温度上昇で溶けてしまうことが一番問題になるようで、とにかく冷やした方がいいということです。ただし、スピンドルがパワフルでCNCマシン自体の剛性も十分にあるという前提になるかと。
      ゆっくり加工すれば大丈夫とは言っても、あまりにも時間がかかるのであれば、それはそれで大変です。おそらく、今のマシンだとそのくらいが限界なのかもしれませんね。逆回転の方がきれいに削れるというのも、本来なら正しく加工していないということなので、モーターやエンドミルの性能が発揮されていない状態で、ギリギリ動いているという感じだと思います。

      エンドミルは、3mmあたりがちょうどいいとは思うのですが(細いと折れたりするので)、2枚刃も試した方がいいと思います。
      もし、そのマシンにふさわしい切削条件が見つかれば、今までの数倍速く加工できると思います。

      削除
    8. 成功しました〜刃径を2Φにしたらドリルへの圧力が表面積分減ったと考えられます。
      振動も激減し、切削能力もそこまで落ちていませんでした。
      もう一度微調整して明日やりたいと思います。
      もう、全然問題なかったです!

      削除
    9. http://ywyacnc.blogspot.jp
      タイトル変えました。なのでドメインも変えました。
      良かったらまた遊びに来てください!

      削除

人気の投稿