---手パ(手動パルスジェネレーター)の接続 (2)---

 前掲写真のテパには、結線の詳細がありました。

 

 16本の線があり、これを結線する必要があるようです。
 通常のCNCのコントローラーは、予備の入出力の端子が、
 4個程度しかありませんので、別のポートか専用のポートに
 接続する必要がありそうです。

 大きな手がかりが諸兄のHPにありました。
 やはり、SmoothStepper等のボードを使う必要があるようで
 す。
 先ほどのHPで、
  『次に設定
   まず、A相 B相が主力される信号をポート3に入れます。
   SSではポート3がエンコーダーの信号を入れられます。
   MACHのEncoder/MPG’sの設定でMPG#1に割り付けます。』
 とありました。先ほどの結線表の、3番と5番がA相B相ですから、
 これを、ポート3の該当の端子に入れればいいのかなと思い
 ます。
 通常のパラレルポートで、PCに接続するには、パラレルポートを
 増設する必要があるんでしょうか。USB接続なら、大丈夫のよう
 な気もしますが。

---手パ(手動パルスジェネレーター)の接続 (1)---

 手パ(手動パルスジェネレイター)は、ホルムさんのを便利に
 使ってます。

 

 接続もUSBなので、設定もいらずに使えたと思います。
 諸兄のHPを見ていると、別なタイプの手パがあるようで、ちょっと、
 興味がわき、調べてみました。
 手動パルスジェネレーターで検索すると、日本製の部品が
 まずかかります。
  東京測定器材株式会社(Tosoku)
 HPには、ロータリーエンコーダーとあります。
 これらの部品を使った、製品版が、aliexpressでも多数
 あります。

 

 aliexpressで販売されている手パのなかに、技術資料?も
 あるものもあるので、これを手がかりに、諸兄のHPを参考
 にしながら、結線やらソフトの設定やら探ってみます。

---差動(ラインドライブ)とオープンコレクタドライブ---

 今まで、何度か見かけましたが、その意味が分かりませんで
 した。あるサイトでやっと意味が分かりました。
 CNCのコントローラーでは、
    差動(ライン)ドライブ・・・・差動信号
    オープンコレクタドライブ・・・・シングルエンド信号
 という言葉を見かけます。オープンコレクタは何となく理解で
 きていたのですが、差動(ライン)ドライブが理解できませんで
 したが、やっとその意味が分かりました。
 オープンコレクタの信号伝達は、シングルエンド方式と呼ばれ、
 グランド(0V)を基準に、信号のの電圧レベルで、”H”と”L”が
 決まる、とありました。

 

 シングルエンド信号は、一つの信号あたり、1本の線が使われ
 るようです。
 これに対して、差動信号は、文字通り、二つの信号の差で動き
 ます。一つの信号あたり、必ず2本の線を使うとあります。
 2本の信号線は、+側(ポジティブ)、ー側(ネガティブ)として、
 結線します。この二つの信号の電位差が信号レベルになり、
 差がプラスであれば”H”、マイナスであれば、”L”の様に認識
 します、とありました。

 

 今日も一つ勉強しました。

---Z軸プリセッター---

 今までは、Sable2015の刃高を合わせるのに、10mmの
 真鍮の丸棒を使ってました。
 某オークションを眺めていると、プリセッターなるものが目に
 とまりました。

 

 Z軸ケージの存在は、以前から分かっていましたが、値段が高かった
 ので、購入しないでいました。
 某オークションのものは、もともとは、某中華製のようで、同じ
 ものが、AliExpressで販売されてます。

 

 Machとの組みあわせで、刃高の調整が、半自動でできるよう
 です。
 このほかにも

 

 などがありますが、高いです。まだ、かの有名なYUSAさんは。
 ダイヤルゲージとの組みあわせで、自作なさってます。

 


 今、不明な点を質問中です。回答がありししだい、購入
 しようかなと思います。

---Mach4 発売---

 いつの間にか、Mach4が発売になってました。検索してみると、
 木製CNC自作の先輩のHPがヒットします。
 Mach4は三つのバージョンに分かれたようで、値段も違います。
     Mach4 Lite      OEM
     Mach4 Hobby     200$
     Mach4 Industrial  1000$~2000$
 
 それに、下記の注意書きがあります。
 IMPORTANT NOTE: The LICENSE will only work for the Computer
               for which you supplied the PC ID.
                Each PC has a unique ID code and
               the license works in coordination
               with this code.
 一つのライセンスで、一台のPCでしか動かせないようです。
 ソフトをインストールすると、ソフトがPCに個別のIDをふって、
 そのIDに対してのライセンスを買うという形なんでしょうかね。
 ちなみに、Mach3は、一ドル80円の時に買いましたら、値段
 比べてみると、
    Mach3 175$× 80円=14,000円
    Mach4 200$×120円=24,000円
 1万円と高くなります。今は、何台かのPCで使ってますが、
 そんな便利な使い方もできなくなります。また、基本的に
 PCのパラレルポート使わないようです。使う場合は、有料の
 プラグインのソフトをさらに購入する必要があるみたいです。
 今回は、見送りですね。

---NCコード作成 渦巻(ヘリカル)切削 (4)---

 ヘリカル切削のGコードを自分流に作れるようになったので、
 旋盤の自動送りの使うステッピングモーターを旋盤に取り付け
 るマウントの切削データー(Sabl-2015用)を作りました。
 サブルーチンの作り方等が分かったので、繰り返しの部分は、
 サブルーチンにしました。
 また、NCVCで、読み込んで、その都度、シュミレートしながら
 デバッグをしました。
 NCVCでは、サブルーチンや変数の処理はそのままではでき
 ないので、掲示板で教えてもらったマクロをつかいました。
 その成果、NCVCが何度か固まりました。
 サブルーチンの威力はすごいもので、コンパクトにまとめるこ
 とができます。マクロで展開したものを見ると、コメントを含め
 ても約1300行オーバーになります。サブルーチンを使った
 ものは、135行程度です。

  サブルーチンを使ったプログラム。
  展開したプログラム。

 非力なSabl-2015用ですので、切り込み量が0.2mmですので、
 今回使用予定の10mmのアルミを切削するのに、同じこと
 を最低でも50回行うことになります。一筆書きできるのであれ
 ば、50回ですすみますが、離れている箇所の切削をする
 には、切削箇所×50回同じことをするこになりますので、
 プログラムの行数もかなりになります。

 

 本番の前に、MDF等で、試し切削をするようです。

---NCコード作成 渦巻(ヘリカル)切削 (3)---

 NCVCのサポート掲示板で、変数は使えないのか、問い合わせ
 てみました。早速の回答があり、スクリプトを使うと、マクロや
 変数を含んだGコードを使えるようになるとのことで、早速ため
 してみました。
   O2
   G00X18.Y5.
   G00Z#1F100(#1の深さで切削)
   G02X12.I-3.
   X20.I4.
   X10.I-5.
   X22.I6.
   X8.I-7.
   X24.I8.
   X6.I-9.
   X24.I9.
   #1=[#1-0.2](#1の値を-0.2だけ増やす)
   G00Z10.
   G00X18.Y5.
   M97
  「#1」というMACH3でも使える変数を使って過日の
  プログラムを書き換えたものですが、私には、わかりや
  すくなりました。「G92Z0.」という基準点をその都度変えて
  いたのでは、大本の原点が分からなくなるので、
  メインテナンスがしづらくなると思います。「IF」文も
  使えると、回数を数えなくてもいいのですが、MACH3でも
  「IF」文を使うには、マクロ(VBスクリプト等)を使う必要
  があるようなので、変数が使えるだけで、デバックが
  しやすくなります。

---NCコード作成 渦巻(ヘリカル)切削 (2)---

 MACH3のサポートフォーラムをあれこれ探しました。
 サブルーチンの呼び出し方と、ループの方法が分かりま
 した。サブルーチンの先頭には、「O」(オー)と番号をつけます。
 たとえば「O1」のようにします。呼び出すには、「M98」を
 使い、「M98 P1」のように記述います。「P1」は、
 サブルーチンの「O1」を呼び出すという意味です。
 また、呼び出す時に、繰り返しの回数も記述できます。
 「L」を使い、繰り返す回数を「L5」のように記述します。
 「L5」だと5回サブルーチンを呼び出すということになります。
 この繰り返しを使うと、やりたいことに一歩近づきました。
 % (プログラムの開始) 
 (2014/11/29 15:43)・・()はコメント
 G90G54G92X0Y0Z10.
 
 M08
 S3000
 M03
 O1・・メインルーチン名 
 M98 P2 L5 (L ha,kurikaesi,kaisu)・・サブルーチンO2を
                       5回呼び出す

 M98 P3・・サブルーチンO3を呼び出す。
        O3は終わりの処理
 
 O2・・サブルーチン「渦巻き処理」
 G00X18.Y5.(START-POS)
 G00Z-0.2F100.(0.2mm DEPYH)
 G02X12.I-3.
 X20.I4.
 X10.I-5.
 X22.I6.
 X8.I-7.
 X24.I8.
 X6.0I-9.
 X24.I9.
 G92Z0.・・(0.2mm掘り下げた位置を基準点0にする)
 G00Z10.
 G00X18.Y5.(START-POS)
 M99・・(サブルーチンの終わり)
 O3
 M09
 M05
 X0Y0
 M30・・(プログラム実行の終了)
 %(プログラムの終わり)
 
 このような、Gコード(NCコード)で、渦巻き状に1mmほり
 下げるプログラムにできました。「IF」と「変数」が使えると
 楽なんですが、変数は、MACH3では、使えるようですが、
 NCVCでは使えませんでした。後で、サポート掲示板で、
 問い合わせしてみようと思います。
 ちなみにMACH3で変数は、「#1」のように数字に#を
 つけると、変数の扱いにできるようで、この変数の操作は、
 #1=[#1-1](変数を1減らす)
 #1=15(変数に15を代入)
 のようにします。これで「IF」が使えると楽なんですが。
 「IF」が使えないので、0.2mm掘り下げて、その位置
 をその都度「0」(ゼロ)の基準点に変更することで、
 だんだん切削点を下げてます。
 NCVCで、上記のプログラムを読み込んでみると、

 

 のようになります。エミュレートしてみても、
 いいようです。

---NCコード作成 渦巻(ヘリカル)切削---

 渦巻き状に切削するNCコードの作成がしたくて、検索しましたが、
 お手軽にできるものは、見つかりませんでした。
 NKさんのHPに「渦巻きソフト」がありましたが、WINDOWS7では、
 動きませんでした。
 MACH3のプラグインソフトの「Circular Pocket」で渦巻き
 のNCコードを作成できるようでしたので、いろいろ作って、
 動かしてみました。コードと、逐次変化する画像をみていると、
 円を半分にしたものを組み合わせていることに気付きまし
 た。もうちょっと難しいことをやってるのかと、思いましたが
 円の組み合わせということで、目から鱗でした。
 MACH3で作った渦巻きのコードは、NCVCでは、うまく読み
 込めないようでしたので、NCコードをいろいろいじって、
 渦巻きを作ることができました。

 

 この渦巻きのコードの一部は、
      G00X18.Y5.(18.5のXY座標に移動)
      G01Z-0.2F100.(-0.2mmまで、垂直に切削)
      G02X12.I-3.
        (18.5の座標から、半径3mmで、
         12のZ座標まで下半分の半円を切削)
      X20.I4.
        (半径4mmで、X20の座標まで、
         上半分の半円を切削)
      X10.I-5.
        (半径5mmで、X10の座標まで、
         下半分の半円を切削)
      X22.I6.
        (半径6mmで、X22の座標まで、
         上半分の半円を切削)
      X8.I-7.
        (半径7mmで、X8の座標まで、
         下半分の半円を切削)
      X24.I8.
        (半径8mmで、X24の座標まで、
         上半分の半円を切削)
      X6.0I-9.
        (半径9mmで、X6の座標まで、
         下半分の半円を切削)
      X24.I9.
        (半径9mmで、X24の座標まで、
         上半分の半円を切削)
 の意味のようです。
 これをサブルーチンとして活用できれば、楽になります。
 NCコードでも、サブルーチンの呼び出しができるようですが、
 細かい文法が分かりません。研究課題です。

NCVCで原点レイヤーが読み込めない。

 ステッピングモーターのコントローラーをケースいれるために、
 パネルの加工をしています。
 形状のちょっと複雑な電源の差し込みコネクターの穴を開け
 るのにsable2015を使おうと思い、Gコードの作成にかかった。
 いつもの通り、「花子→JWCAD→NCVC」とデータを作成した
 が、NCVCで「原点レイヤーが読めない。」と怒られてしまう。
 あれこれやってネットでも検索して、JWCADのデーターを
 そのまま読み込むときちんと原点レイヤーも読み込まれる。
 JWCADで、DXFファイルに変更すると原点レイヤーが読み
 こまれなくなる。
 あれこれさがして、JWCADのレイヤーの書き込みか、と
 あたりをつけて、設定のところを見てみると、

 

 ありました。オプションのところに「レイヤーに番号を付加する」
 オプションがあり、しっかりチェックが入っていました。
 ここを外して、保存して、読み込むと、あっさりよみこめました。
 めでたし、めでたし。
 ちなみに、新しくNCVCとJWCADをインストールしたばかり
 でした。デフォルトでは、だめだったんですね。