リジッドタップの使い方

2026-11-05。この機械(7I76EU、主軸は A6-RS で 2:1、Z は閉ループのステッピング)で、リジッドタップを使う方法を調べて決めた。公式の文書とフォーラムを読んだ。Gemini の検索も手がかりに使った。Gemini の答えは、原典で確かめたものだけを使った。[原典] は公式の文書か製品の資料。[フォーラム] は利用者の報告。[計算] は仮定を置いた試算。

結論

1. LinuxCNC のリジッドタップ(G33.1)

書き方は G33.1 Z- K- I- $-。[原典]

語意味
Z指令の深さ。XY は前の行で穴の位置へ動かしておく。G33.1 には Z だけを書く。XY を書くと、斜めの同期の動きになる。
K1 回転あたりの送り。メートルねじはピッチ(M10 なら K1.5)。F は書かない。
I戻りの主軸の速さの倍率(省略できる)。
$主軸の番号(省略できる)。

動きの順番(公式の文書から)。[原典]

  1. 主軸の索引を待ち、主軸の回転に合わせて指令の深さまで下がる。
  2. 指令の深さで主軸の反転を指令する(I があれば速さを上げる)。
  3. 主軸が実際に止まって反転するまで、同期したまま指令の深さより先へ進む。
  4. 主軸に合わせて開始の高さまで戻り、もう一度反転を指令する。
  5. 主軸が止まって反転するまで、少し上へ行き過ぎる。
  6. 同期を外して開始の高さへ戻る。

2. 信号のつなぎ方

信号のつなぎ方

HAL の例。番号は X が 2 本、Y、Z で stepgen の 00〜03 を使い、主軸を 04 とした場合。数値は立ち上げで決める。

# 主軸:速度モードの stepgen
setp hm2_7i76e.0.stepgen.04.control-type 1
setp hm2_7i76e.0.stepgen.04.position-scale [SPINDLE_0]STEP_SCALE   # パルス/主軸 1 回転
setp hm2_7i76e.0.stepgen.04.maxaccel 50                            # 主軸 rev/s²。反転の速さ
net spindle-vel-cmd  spindle.0.speed-out-rps => hm2_7i76e.0.stepgen.04.velocity-cmd
net spindle-on       spindle.0.on            => hm2_7i76e.0.stepgen.04.enable

# 主軸の位置:A/B はサーボから、索引は主軸のセンサから
setp hm2_7i76e.0.encoder.00.scale [SPINDLE_0]ENCODER_SCALE         # カウント/主軸 1 回転
net spindle-revs     hm2_7i76e.0.encoder.00.position    => spindle.0.revs
net spindle-vel-fb   hm2_7i76e.0.encoder.00.velocity    => spindle.0.speed-in
net spindle-index    hm2_7i76e.0.encoder.00.index-enable <=> spindle.0.index-enable

# 速さの到達:指令とエンコーダの速さを比べる(端子を使わない)
loadrt near
addf near.0 servo-thread
net spindle-vel-cmd  => near.0.in1
net spindle-vel-fb   => near.0.in2
setp near.0.scale 1.05
setp near.0.difference 0.2
net spindle-at-speed near.0.out => spindle.0.at-speed

3. 穴底での行き過ぎ

G33.1 の動き

反転を指令してから主軸が止まるまでの回転分だけ、Z も下がる。[原典の動きからの計算]

行き過ぎ = ピッチ × 回転数 / 60 × 止まるまでの時間 / 2

切削速度を同じにすると、太いタップほど回転が下がり、ピッチが上がるので、行き過ぎはタップの太さによらず、ほぼ同じになる。

ねじ下穴5 m/min10 m/minZ の速さ(10 m/min)行き過ぎ(止まるまで 0.1 秒)同(0.2 秒)Z の加速度(0.1 秒)
M3×0.5φ2.5530 rpm1060 rpm530 mm/min0.440.8888 mm/s²
M4×0.7φ3.34008005600.460.9393
M5×0.8φ4.23206405100.420.8585
M6×1φ5.02655305300.440.8888
M8×1.25φ6.82004005000.410.8383
M10×1.5φ8.51603204800.400.8080
M12×1.75φ10.21332654600.390.7777

4. 同期のずれの出どころ

出どころ大きさの見込み判断
主軸の止まり方(行き過ぎ)0.4〜0.8 mmZ が主軸に付いて動くので、ねじのずれにはならない。深さが増えるだけ。
ベルトの伸びとキーのガタキーのガタ 0.05 mm(φ19 の軸の外周で、仮定)は 約 0.3°。M10 の軸方向で 約 0.001 mm。A/B はモーターを見ている。しかし、2:1 の減速なので軸方向の誤差は小さい。[計算] フォーラムでは「ベルトのガタでタップが折れる」という意見もあった。しかし、この機械の比では当てはまらないと判断した。キーは止めねじで押さえる(主軸プーリーの強度計算)。
Z の遅れ(閉ループのステッピング)未確認一番大きい心配。反転のときに、Z が主軸より遅れるとタップを押したり引いたりする。halscope で joint.N.f-error を見る。ホルダの微少フロートで受ける。
索引の位置1 回の往復では影響しないペックや同じ穴への入れ直しでは、主軸の 1 回転 1 発がずれの元になる。センサの位置がぶれないように付ける。

実例:7I92H と AC サーボ(ステップ/方向)の主軸で G33.1 を動かした報告がある。この例では I3 で Z の追従の誤りが出て、I1.5 では出なかった。[フォーラム] 7I76 と ±10 V のサーボ主軸(1:1.8、A/B はサーボ、索引は主軸)で M3〜M6 を常用している報告もある(AC Servo as Spindle)。制御の構成は 制御と電気の構成。

5. タップとホルダ

ホルダ(決定)

方式軸方向の逃げこの機械での判断
ER コレットで丸いシャンクをつかむなし。回る方向に滑る使わない。反転のときにタップが滑ると、深さと位相がずれる。
角でつかむ ER のタップ用コレットなし次点。安い(海外品で 1 個 千円台の見込み、未確認)。手持ちの BT30-ER32 のホルダで使える。同期のずれはそのままタップに掛かる。
シンクロ用ホルダ(微少フロート付き)約 0.2〜0.5 mm採る。Z の遅れを受けて、タップの軸方向の力を下げる。振れも小さい。MISUMI で BT30 品が約 ¥27,000〜35,000(税別、検索の抜粋)で買える。タップ径に合わせたコレットが別に要る。
伸縮するフローティングのホルダ(GT12 など)数 mm保険。同期が成立しない間でも、G84 でタップを切れる。ねじの精度が落ち、振れも大きくなる。

タップと条件

トルク

タップのトルクの見積もりの違い

ねじ目安の式Yamawa から逆算、SS400 など同、S45C など主軸(定格 6.36、トルク制限 約 12)
M61.41.5〜2.52.3〜4.0定格の範囲
M83.03.1〜5.34.8〜8.4SS400 は定格の範囲。S45C は定格を超えるが制限の内側
M105.35.6〜9.68.6〜15.2SS400 は制限の内側(余裕は小さい)。S45C は制限を超えることがある
M128.79.2〜15.614.1〜24.8制限を超える。スレッドミルにする

単位は N·m。トルク制限は、ベルトの力から決めた値(制御と電気の構成)。制限に当たるとサーボが遅れ、Z が主軸に付いて行くので、ねじは崩れずに止まる見込み(推定)。

トルクの見積もりが違う理由

見積もりM10 の値中身確かさ
目安の式(切削の力の計算)5.3T = P² × D × kc / 8000、kc 1900(SS400 の穴あけの目安)式の出典は未確認
Yamawa のロールタップの式から逆算SS400 など 5.6〜9.6、S45C など 8.6〜15.2ロールタップ T = Kf × D × P² / 1000(めねじの長さ 1.5D、ひっかかり 75%)。「ロールタップのトルクは切削タップの 2〜3 倍」とあるので、2 と 3 で割った[原典] ただし逆算は私の換算
Yamawa の実測の棒グラフHT 1500、SP 約 900、PO 約 750M10、Ck60(S60C 相当)、10 m/min、不水溶性の油、20 mm の通り穴、下穴 φ8.5、圧電式の動力計[原典] 軸に単位が書かれていない。N·cm と読むと SP 約 9、PO 約 7.5 N·m(推定)
Gemini の 1 回目10〜15「OSG の S45C のトルク線図」とした原典は見つからない
Gemini の 2 回目7.52「OSG A-SFT、S45C、20 m/min」とした示された出典の画像は無関係で、Yamawa のページの番号も違った。使わない

6. G コードの書き方

G21 G90 G17 G40 G80
G0 X50 Y30                  (穴の位置へ。XY は G33.1 に書かない)
G0 Z3                       (開始の高さ。主軸の加速と同期に余裕を見る)
S160 M3                     (M10、5 m/min)
G33.1 Z-15 K1.5             (M10×1.5。止まり穴なら 0.4〜0.8 深く入る)
G0 Z10
M5

ペック(同じ穴で深さを増やして G33.1 を繰り返す)。G33.1 は毎回開始の高さへ戻り、索引で位置がそろう。

o<peck_tap> sub
  (#1 最終の深さ  #2 ピッチ  #3 1 回の深さ  #4 開始の高さ)
  #<z> = #4
  G0 Z#4
  o100 while [#<z> GT #1]
    #<z> = [#<z> - #3]
    o101 if [#<z> LT #1]
      #<z> = #1
    o101 endif
    G33.1 Z#<z> K#2
  o100 endwhile
o<peck_tap> endsub

7. スレッドミル(同期が要らない方法)

2026-11-05 に追記。M12 以上と S45C の M10 はスレッドミルにする方針なので、この機械でうまく切れるかを確かめた。

スレッドミルの経路

同期が要らない理由

代わりに効くこと

出どころねじへの出方この機械での見込み
XY の円の誤差(ガタ、反転のときの遅れ)半径の誤差の 2 倍が、有効径の誤差になる案内とネジのガタが 0.010 mm(精度のいる穴の加工方法)なら、有効径の誤差は 0.02 mm 程度。M10×1.5 の 6H の有効径の公差 0.18 mm(9.026〜9.206 mm、ISO の値で原典は未読)に比べて小さい。[計算]
工具のたわみねじが細くなる。奥(工具の先)ほど細い2 回に分けて削り、同じ径でもう 1 回なぞる(スプリングパス)。
工具の振れねじが太くなるホルダの振れを小さくする。ER の手持ちで始め、振れを測る。
Z のネジのリードの誤差ピッチの誤差長さ 15〜20 mm のねじでは 0.01 mm 未満の見込み(推定。Z のボールネジの等級は未確認)。
小さい円の動き円が崩れると、有効径がばらつくM10 を φ8 の工具で切ると、工具の中心は半径 1 mm の円しか回らない(図 4)。ガタの出方がそのまま出る。試しの穴で確かめる。

回転数と送り

OSG の AT-2(スレッドミル)の表では、低炭素鋼(C 0.25% まで)で 115〜180 SFM(約 35〜55 m/min)、中炭素鋼(C 0.25〜0.45%)で 260〜525 SFM(約 79〜160 m/min)、1 刃の送り 0.0004〜0.0028 in(約 0.01〜0.07 mm)。エアブローの前提で、機械と保持の剛性で条件を調整するようにとある。[原典] AT-2 は左刃(M4 で回す)の工具である。そのため、数値は目安として使い、買う工具の表で決め直す。

ねじ工具径(例)35 m/min の回転79 m/min の回転3000 rpm での切削速度判断
M6×1φ4.72370 rpm5350 rpm44 m/minSS400 は届く。S45C は届かない
M8×1.25φ61860419057同上
M10×1.5φ81390314075SS400 は届く。S45C はわずかに足りない
M12×1.75φ9.51170265090どちらも届く
M16×2φ129302100113どちらも届く

G コード

1 刃形(1 周で 1 ピッチを切る工具)のサブ。下から上へ G3 で回る(右ねじを M3 の右刃の工具で切るときのダウンカット)。図 4 の動きになる。

o<thread_mill> sub
  (#1 X  #2 Y  #3 ねじの外径  #4 ピッチ  #5 工具径)
  (#6 ねじの下端の Z  #7 ねじの上端の Z  #8 径の足し  #9 送り:工具の中心)
  #<r> = [[#3 + #8 - #5] / 2]           (工具の中心の円の半径)
  #<n> = [FIX[[#7 - #6] / #4] + 1]      (周の数。上端を必ず越える)
  G0 X#1 Y#2
  G0 Z[#7 + 2]
  G1 Z#6 F[#9 * 5]                       (下穴の中を中心で下りる)
  #<z> = [#6 + #4 / 2]
  G3 X[#1 + #<r>] Y#2 Z#<z> I[#<r> / 2] J0 F#9      (入り:半円)
  #<k> = 0
  o110 while [#<k> LT #<n>]
    #<z> = [#<z> + #4]
    G3 X[#1 + #<r>] Y#2 Z#<z> I[0 - #<r>] J0          (1 周で 1 ピッチ)
    #<k> = [#<k> + 1]
  o110 endwhile
  G3 X#1 Y#2 Z[#<z> + #4 / 2] I[0 - #<r> / 2] J0    (出:半円で中心へ)
  G0 Z[#7 + 2]
o<thread_mill> endsub
G21 G90 G17 G40 G80 G64 P0.005
S1600 M3                                 (SS400、φ8、40 m/min)
o<thread_mill> call [50] [30] [10] [1.5] [8] [-15] [0] [-0.3] [29]   (1 回目:径を 0.3 小さく)
o<thread_mill> call [50] [30] [10] [1.5] [8] [-15] [0] [0] [29]      (2 回目:仕上げ)
o<thread_mill> call [50] [30] [10] [1.5] [8] [-15] [0] [0] [29]      (同じ径でもう 1 回:たわみの分)
G0 Z10
M5

判断

8. 立ち上げの手順

  1. 主軸の向きと scale。手で主軸を 1 回転させる。spindle.0.revs が 1.0 増えることを確かめる。M3 で正に増えること。
  2. 索引。主軸を回す。index-enable を立てると 1 回転以内に落ちることを確かめる。
  3. 反転。M3 と M4 を切り替える。A6-RS が過電圧で止まらないことを確かめる。止まるなら maxaccel を下げるか回生抵抗を見直す。ステップの主軸で急に止めて過電圧になった報告がある。[フォーラム]
  4. 空中で G33.1。halscope で spindle.0.revs、Z の指令と実位置、joint.N.f-error を取る。行き過ぎと反転のときの Z の遅れを測る。表の行き過ぎを測った値に置き換える。
  5. SS400 の端材の通り穴で M6、M8、M10。ねじゲージで確かめる。
  6. 止まり穴。測った行き過ぎで下穴を深くしてから。
  7. M3〜M5。折れやすいので最後に。

9. 不確かな点

10. 出典