Last Update : 2006/08/30

注意:

100%無保証

Adaptor

EZ-CNC
開発の動機
構成要素
組み立て
今後
謝辞
<<戻る

    より付加価値の高い産業へのシフトが叫ばれている昨今の日本。ここで言う付加価値とは、要は単なる製造業を行うのではなくソフトとかサービスとかを付加しましょうってことみたい。じゃ、具体的に何すんの?ってわけで中国製の安いフライスにステッピングモータと使われなくなったノートPCをくっ付けて、CNC化してみた。


  • 開発の動機

    • ロボットの製作

      ロボット作りを始めた。コントローラと制御ソフトを製作したが、ロボットには機体が必要である。機体はメカであるので、工作技術やそれなりの道具(機械)が必要になる。工作機械として思い付くものを挙げると、旋盤、フライス盤、ボール盤などがある。その中でフライス盤は様々な用途に活用でき、汎用性も高いのでフライス盤を購入することにした。工作機械は楽器と同じで買ってきて、すぐに使えるものではない。原理の理解や日々の訓練が必要になるし、その機械のクセなども予め織り込んでからの加工が必要になる。

    • ステッピングモータのドライブなら…

      原理の理解ならともかく、操作技術の習得を待っていたのではいつまで経っても機体は出来上がりそうにない。そんな中で汎用の小型フライス盤をCNC化して活用している人々が大勢居る事を知った。基本的にはフライス盤が持っている移動軸(X, Y, Z)にそれぞれステッピングモータを取り付けて、G-Code字句解析、実行ソフトを走らせて CNC化しているようだった。ただ、残念なのがこれらのソフトは DOS (シングルタスクOS)の流れから、パラレルポートを直接叩いてステップパルスを発生させているようだ。改めて言うことも無いと思うが、これは昨今のOSのスタイルではない。WindowsやLinuxで同等のことをやるにはリアルタイム拡張したOSでやるべきことであると考える。あるいはコントローラをインテリジェント化して突き放し制御で行うべきだ。幸い、ステッピングモータはフィードバック系ではないオープンループのコントロールなので突き放し制御とは相性が良い様に思う。極論すれば適当なコントローラによるステッピングモータのドライブとG-CodeのパーサがあればCNC化出来ると言う事がわかった。それなら最初から自分の要求どおりのものを作ったほうが勉強にもなるので極力、自主設計で作ってみることにした。


  • 構成要素

    Adaptor

       
    1. 概要

      自作 CNC にはフライス盤はもちろん、PCやステッピングモータとそのコントローラなどが必要になる。フライス盤に相当する部分を自作してしまう猛者も居るが、最初の道具が無いことには始まらないのでフライス盤は購入する。その他の部品も性能を確保した上で極力安い部品で調達する。

       
    2. フライス盤

      型番は XJ9512 。OEMで納入しているために色々な型番が着くようだ。中国製。ヤフオクで購入したが、外国のほうが一般的に安そう。

       
    3. メカ
      1. ステッピングモータ

        フライス盤の移動軸をドライブする。各軸に取り付ける。

      2. ステッピングモータアダプタ

        ステッピングモータをフライス盤に取り付ける際に必要な治具。これは対象となるフライス盤により異なるので、完全に自作する必要がある。

        1. X軸

          X軸の形状に合わせて製作。

        2. Y軸

          Y軸の形状に合わせて製作。

        3. 部品
          1. アルミ板

            200mm x 100mm x 5mm 程度必要。ここから購入した。

          2. 80mmネジ

            ステッピングモータのX軸への固定用。下記、カラーと合わせて使う。

          3. 90mmネジ

            ステッピングモータのY軸への固定用。下記、カラーと合わせて使う。

          4. カラー

            カラーの長さステッピングモータアダプタの厚みが5mm でモータ自身の固定つばの厚さが 5mm なのを考慮すること。 ステッピングモータの逃げを作るために必要。ここで作っているようだが、こちらでも購入できるようだ。

          5. カップリングシャフト

            Adaptor
            移動軸とステッピングモータのシャフトを接続するのに使う。

       
    4. ハードウェア
      1. コントロール回路

        USB実験基板 miniFX-2 を利用。

      2. ステッピングモータドライブ回路

        自作。上記、コントロール信号を増幅しステッピングモータをドライブする。

       
    5. ソフトウェア
      1. ファームウェア

        ファームウェアはホストソフトウェアからの指令を受けて、実際にステップモータを動作させるためのステップパルスを発生する。今回のファームウェアはそれに加えて、USBの制御なども含んでいる。

        1. USBエンジン

          自作の FX2 用フレームワーク

        2. ステップ信号発生用タイマ

          上記フレームワークにステップ信号発生用タイマを実装。

        3. ダウンロード

          こちらへお問い合わせください。

      2. ホストソフトウェア

        コントローラを利用するに当たり、ユーザとの仲立ちを行うソフトが必要になる。それが、ホストソフトウェアになる。ホストソフトウェアの動作をまとめてみる。

        1. 機能と使い方

          フライスをCNC化するにあたり、装備すべき機能を考えてみた。下記モードが用意されているがモード間が遷移した場合は初期状態はロック状態になり、ポカヨケをおこなう。 Adaptor

             
          1. オートフィード

            CNC の基本用件は数値入力によるテーブルの移動である。相対、絶対座標の入力を受け付けるようにした。 Adaptor

             
          2. ジョグ  

            数値入力だけでなく、一般のフライスと同様にハンドルなどによるテーブル移動も直感的で便利である。本ソフトウェアではジョイスティックで行えるようにした。もちろん、ソフトウェア内にあるボタンで定量移動も可能。Fix-? Axis にチェックを入れると、その軸は固定され、ジョイスティックを動かしても動作しない。これにより、ある軸を固定したまま、他の軸のみの操作が出来る。 Adaptor

            1. ジョイスティック必須

              下記3機種において、動作確認が出来た。USBで接続できる他のコントローラも同様に接続できると思われる。

              1. CyborgEvo

                CyborgEvo
                片手で全て操作できる。しっかりしたコントローラだが場所を食うのが難点。

              2. PlayStation2 のコントローラ(Sammy 製)

                SammyPS2 SammyPS2
                コントローラから全てのオペレーションが可能。(要改造)

              3. GameCubeのコントローラ(動作の様子)

                NGC NGC
                なぜか、ボタンにX,Y,Zの刻印有り?

            2. 定寸送り

              決められた量を送る機能。

             
          3. CNC 実装中

            現在、実装中。機能は G-Codeをファイルから読み込みフライス盤をドライブするモードと G-Code を直接入力する OneLiner のモードになる。全てのG-Codeに対応出来ている訳ではないので、順次実装する。 Adaptor

        2. Configuration

          Adaptor

          1. 集中設定

            一覧性を向上させる。

          2. UI 考

            1. ジョイスティックの傾きとテーブルの移動方向

              各社、モデルによりマチマチらしい。各自で適当にやればよいと思われる。EZ-CNC ではユーザが選択できるようになっている。

            2. 移動方向

              移動方向を色によって表す

        3. ツール実装中

          この機能がEZ-CNC の最大の売りである。フライス盤は非常に汎用的なので、ボール盤の代わりに使うことなども多い。ボール盤の用途は穴あけだが、大穴になるとホールソーなどが必須になる。フライスでは順々に切削していって大穴を結果的に開ける事が出来る。このようにカタチの決まっているモノは予め切削手順を組み込んでおけば小回りが利き非常に便利である。すでに円などの単純なカタチは実装してある。ここでは使い方を簡単に紹介する。

          1. Tool->Shape->Circle

            ToolShapeCircle.png

          2. 半径の入力

            現在のツール位置に穴を開ける場合は開けたい穴の半径を入力する。 CircleTool.png

          3. 半径分、マイナス(オフセット)方向に移動する

            現在のツール位置を中心に大穴を開けるので、半径分マイナスオフセットする。 OnProgressCircleTool.png

          4. Gコード・自動生成

            オフセット量の移動が完了したら、CNC モードに移行し自動生成されたGコードを実行していく。生成されたGコードは One Liner のコンボボックスに自動的に挿入される。 OnProgressCircleTool.png

          5. Z軸の制御

            Z軸を少しずつ送り、4の操作を繰り返す。

           
        4. ダウンロード

          こちらへお問い合わせください。


  • 組み立て

    組み立てを行うにあたり、次の点に留意した。

       
    1. 価格にこだわる

      電子工作の趣味は元々、ラジオ製作に端を発していると思われる。それからアマチュア無線、マイコン製作、PC周辺回路の製作と変遷してきたような気がする。これらの趣味の最大のモチベーションは「市販品が無かった」、あるいは「高価なので代わりに作る」であったような気がする。最近では自作が最もカネのかかる手段になってしまった。大抵のものは市販されているからだ。今回は自作の最大のインセンティブである、「価格」を考慮した。そう、安い部品を積極的に活用するのだ!!

       
    2. パーツの入手性

      食材などはその季節に多く出回っていて、味、栄養価が高いものを旬と言うが、電子部品も同様の傾向があるようだ。ただ、価格的には旬を過ぎたほうが安くなるみたい。旬を過ぎた部品はディスコンの心配があるが、一般的な部品を使えばディスコンになってもビビる必要ないし、原理・原則を理解した上で設計すれば安い代替部品も利用できる。なるべく、秋葉原や通販で簡単に入手できる部品を利用する。

    3. 再現性

      報告をお待ちしております。

       
    1. メカ

      なるべく、本体の不可逆的な変更を加えないようにする。不可逆的とはテーブルそのものを切ってしまうとか削ってしまうような元に戻せなくなるような改造を言う。

          
      1. ステッピングモータ

        ステッピングモータは CNC化の基幹部品である。新品だと¥6,000程度するので、このコストを下げることが出来れば、CNC化のコストも劇的に下がる。なるべく安く入手するためにジャンクを活用する。ジャンクだと入手性の問題が出るので、ここでも原理・原則を理解し直接ここで紹介していないステッピングモータも利用できるようにしておく。結局、現品.com から購入。購入当時は \1,000/一台 だったのに最近では \2,000/一台と倍の価格になってしまった!!ナゼ??

        1. どのモータを使うか?

          定格の読み方 今回の目的で使えるモータの定格は自ずと限られてくる。

          1. テーブル移動の精度を上げるためのステップの分解能(1ステップあたりの角度)
          2. テーブルを実際に移動させるための脱出トルク
          3. さらに高速に移動させるための周波数

          上記1,2は最も重要である。1,2が成立しないと、CNCとして成立しない。3は加工時間が延びるだけなので、趣味で使う分には問題ないだろう。結局、購入したのは

        2. ミネベア 23LM-C004 (X, Y 軸)

          (2006.8.29 追記)ミネベア 23LM-C004では XJ-9512 をドライブするにはトルク不足であることが判明したため、X,Y,Z 軸全てに日本サーボ製のステッピングモータを使用している。

          1. スペック
            • 6.0V/Phase
            • 1.2A/Phase
            • 1.8deg/Step

          2. スプラインプーリのはずし方

            Adaptor
            このモータの最大のガンは特殊な割りピンで固定されているスプラインプーリだろう。これを外せば、通常のステッピングモータとして活用できる。外し方は穴に入る最大の大きさの精密ドライバの−(マイナス)を差し込んで、カナヅチでゆっくりと叩く。必ず、ゆっくり叩くこと。

          3. 配線の調べ方

            今回のステッピングモータは当初、配線の状態がわからなかった。ステッピングモータの構造がわかれば簡単に調べることが出来る。今回利用したモータはコイルが2つ入っていると考えることが出来る。それぞれの端子間の抵抗値を計り、無限大に近ければ別の組のコイルになる。最も抵抗値が近い場合は中点からの抵抗値となる。

          4. 取り付け場所と配線の順番

            モータの取り付け位置により、回転方向を変更する必要が出てくる場合がある。特にX軸は両端にハンドルが付いており、どちらにモータを取り付けるかで回転方向を変えなければいけなくなる。PCのプログラム実行領域はほとんど無尽蔵の容量と言っても過言ではないが、miniFX2 のファームウェアの容量は16KBである。コストもプログラムサイズも変えずに出来るのであればハードを変更するのが TeamKNOx 流である。モータの励磁の順番を配線を全く反対にして行えば逆回転になる。

            通常配線

            1. 白赤
            2. 白緑

            逆転配線

            1. 白緑
            2. 白赤

        3. 日本サーボ (Z軸)

          Adaptor
          こちらのモータはトルクが必要なことから新品を購入した。現行品であるので、資料は完備されている。取付け穴径は4.2mm ? なのだろうか?M5 のネジが入らなかった。自分でタップを立てられるかもしれないが、面倒なのでそのまま5mm で穴を拡げた。

           
         
      2. アダプタの構造 (XJ-9512の場合)

        テーブルのX軸、Y軸の構造を確認する。

        1. X軸

          Adaptor
          X軸は両端が固定されたカタチになるので、台形ネジの回転のガタツキはあまり発生しない。そのままカップリングシャフトを介して台形ネジとステッピングモータのシャフトを接続する。

        2. Y軸

          Adaptor
          Y軸は片端のみの固定なので、ネジの回転時に締込み・緩みの動きがそのまま台形ネジに現れる。これはガタツキになるので、ネジの長さを一定量確保する。確保する方法としてスペーサをかましてネジ止めする。このスペーサには先に外したスプラインプーリを利用して作る。

          1. スプラインプーリの加工(スペーサ作り)

            スプラインプーリの出っ張っているところを切り落とし、移動軸に合わせて軸穴を11mm - 12mm 程度に拡げる。今回はスプラインプーリを利用したが、もちろん他の部材を利用して作ってもよい。

        3. Z軸

          Adaptor
          Z軸はトルクが必要になるので、別のモータを使った。精密ダイヤルのシャフトとステッピングモータをカップリング直結する。

        4. 共通
          1. カップリングシャフトの加工

            Adaptor
            6mm - 8mm のカップリングシャフトを買った。このカップリングシャフトにしたのはただ、単に自分に知識がなかったからで他意はない。今ならモータの軸径に合わせて、6.35mm - 8mm のを買っている。6mm だとシャフトが取り付けられないので、6.5mm で座ぐってみた。

          2. アダプタ取り付け穴開け

            Adaptor
            台形ネジの固定器は6mm の六角ネジで固定されている。アダプタはこれと共締めなので、取り付け穴は 6.5mm で開ける。

          3. ステッピングモータ取り付け穴開け

            モータの取り付け穴はタップを立てることを考慮に入れ、穴径 4.2mm で 47.62 mm 間隔で穴を開ける。実はこれは規格で NEMA23 となっている。このモータの型番が 23〜 となっているのもこの辺から来ているのかもしれない。

          4. タップ立て

            モータを取り付けるための穴をネジで固定するためにタップを立てる。今回はアルミを使い、フライス盤のドリルチャックで行う。ただし、主軸は手動で回すこと。

          5. ホールソーを使っての大穴開け

            Adaptor Adaptor
            36mm以上のホールソーを使って、ネジの台座を逃がすための穴を開ける。けっこう、時間がかかるが切削油を時々、滴下しながら穴を開ける。でも、よく考えるとCNCになったらホールソーはいらなくなるんだよな…。

       
    2. ハードウェア

      この回路を3組作って、X,Y,Zにそれぞれ割り当てる。 Adaptor

          
      1. ドライブ回路

        Adaptor

           
        1. 格安ダーリントントランジスタアレイ

          秋月電子で売っているこのトランジスタアレイは元々、ステッピングモータの制御用に使われているものである。モータなどの制御で発生する逆起電力を相殺するフライホイールダイオードなども内蔵していて大変使いやすい。

           
        2. DINプラグ

          モータにはコネクタが付いていないので、適当なコネクタを付けるわけだが今回は DIN プラグを用いた。モータの配線をそのまま結線したので、6P タイプを用いた。 6Pで一般に使われているデバイスはあまり無いので延長ケーブルも自作した。電源などをまとめれば5Pでもいけるかもしれない。そうすれば、延長ケーブルはMIDIの延長ケーブルが使えそうだ。

           
        3. 放熱板

          Adaptor
          当初は手頃なのが見つからずに自作したが、秋葉原の鈴商に上記のダーリントントランジスタに合う放熱板があったので購入した。これにより部品の背が低くなったので、ケースの選択の自由度が高まった。

           
        4. 太い配線

          ステッピングモータのドライブには大電流が流れるので、極力太い配線を用いる。

           
        5. 駆動電圧

          ステッピングモータはトルクを確保するために、規定電圧の数倍をかける事が普通らしい。現在は2倍の12Vをかけている。

      2. コントロール回路

        Adaptor

         今回はUSB2.0でステッピングモータをドライブするために miniFX2 を活用した。miniFX2 はここから入手した。

      3. 電源

        現在、電源は24Vを用いているが、定格を完全に外れているがステッピングモータの場合は起動トルクを稼ぐために数倍の電圧をかけるのもありだそうだ。秋月電子から各種の電源が発売されているので、それを利用するとよい。あるいは電流容量が合えば各種デバイスの電源からも流用することは可能だ。電流が数A流せるものであれば使えるだろう。

      4. ケースの製作

        今回はなるべく、小型に作りたかったのでコントロール回路基板とドライブ回路基板が入るギリギリの大きさのケースを選定した。今回は150mm x 100mm x 40mm の大きさであるタカチ YM-150を利用した。


  • 今後

    今後も継続的に改良していく。

    • メカ
      1. 精度の向上
    • ハード
      1. 過電流検出
      2. リミットスイッチ
    • ソフト
      1. CNC のパーサの充実


  • 謝辞

    以下の方に感謝する(順不同)

    • アドバイスをくれた掲示板の方々
    • miniFX2 寄贈してくれたOpitimize氏
    • CNC パーサ、デコーダを開発してくれた T.M. 氏


頁の先頭
織田裕一へメール


Copyright (C) 1998 - 2006 TeamKNOx