Нарезание резьбы в LinuxCNC: G33 и G76 с примерами
· ~10 мин чтения
Резьба - самая «нервная» токарная операция. Ось Z должна двигаться строго синхронно со шпинделем, профиль набирается за много проходов, а ошибка в знаке или единицах ломает пластину или портит почти готовую деталь. В LinuxCNC для резьбы есть два инструмента: G33 (один резьбовой проход) и G76 (многопроходный цикл). Разберём оба, с расчётами и примерами.
Содержание
- Что нужно станку для резьбы
- G33 - один резьбовой проход
- Глубина резьбы и диаметры
- Сколько проходов и какой глубины
- Способ врезания: радиальное и по боковой стороне
- Цикл G76: параметры
- Пример G76: M12×1,5
- Разгон и сбег
- Внутренняя, левая, многозаходная, дюймовая, коническая
- G32 и G76 на Fanuc - в чём разница
- Частые ошибки
- Резьба в Turn G-code
Что нужно станку для резьбы
- Датчик положения шпинделя (энкодер) с индексной меткой - один
импульс на оборот. В HAL он подключается к
spindle.0.revsиspindle.0.index-enable. Без него G33 и G76 не работают: LinuxCNC ждёт индексную метку, чтобы каждый проход начинался в одной и той же угловой точке и попадал в уже нарезанную канавку. - Постоянные обороты - G97. С G96 обороты меняются вместе с диаметром, а шаг резьбы - это мм на оборот.
- Запас скорости оси Z. Скорость по Z = обороты × шаг. При S300 и шаге 1,5 мм это 450 мм/мин, при S1000 и шаге 3 мм - уже 3000 мм/мин. Если ось не успевает, шаг «плывёт».
- Корректоры не трогать. Изменение оборотов ручкой корректора шпинделя на середине резьбы испортит профиль: проходы разойдутся.
G33 - один резьбовой проход
G33 Z-25 K1.5
- Z (и, при необходимости, X) - конечная точка прохода.
- K - шаг (ход) резьбы в мм на оборот при G21 или в дюймах на оборот при G20.
Полный проход выглядит так: подход на глубину, синхронный ход, отвод, возврат.
G0 X11.8 Z3 (подход на глубину прохода, разгон 3 мм)
G33 Z-20 K1.5 (резьбовой проход)
G0 X14 (отвод от детали)
G0 Z3 (возврат к началу)
Для резьбы таких блоков нужно много - с постепенно уменьшающимся диаметром (для наружной резьбы) и одинаковой начальной точкой по Z. Писать это вручную долго и рискованно, поэтому есть G76 и генераторы.
Глубина резьбы и диаметры
Для метрической резьбы (ISO, угол профиля 60°) при шаге P:
| Величина | Формула | M12×1,5 |
|---|---|---|
| Высота исходного треугольника H | 0,866·P | 1,299 мм |
| Глубина профиля наружной резьбы (болт) h₃ | 0,6134·P | 0,92 мм |
| Внутренний диаметр болта d₃ | d − 1,2269·P | 10,16 мм |
| Глубина профиля внутренней резьбы (гайка) H₁ | 0,5413·P | 0,812 мм |
| Внутренний диаметр гайки D₁ | d − 1,0825·P | 10,376 мм |
На практике наружный диаметр болта точат на 0,1-0,2 мм меньше номинала, а отверстие под внутреннюю резьбу растачивают ближе к D₁. Окончательная проверка - резьбовым калибром (кольцо, пробка) или ответной деталью.
Для дюймовой резьбы (UNC, UNF) шаг считают из числа ниток на дюйм (TPI): P = 25,4 / TPI мм. Например, 1/2”-13 UNC - это шаг 1,954 мм. Трубные резьбы BSP (G) и NPT имеют свои углы профиля (55° и 60°) и таблицы.
Сколько проходов и какой глубины
Если резать все проходы на одинаковую глубину, каждый следующий снимает больше металла: ширина среза растёт вместе с глубиной профиля. Поэтому глубину проходов уменьшают: первый - самый глубокий, последние - тонкие.
- Постоянная площадь среза: глубина до n-го прохода = глубина первого × √n. Нагрузка на пластину одинаковая на каждом проходе.
- Последний зачистной проход (spring pass) - по тому же диаметру, без врезания, чтобы снять упругий отжим.
- Ориентир по числу проходов: шаг 1 мм - 4-6, шаг 1,5 мм - 6-10, шаг 2 мм - 8-12. Для вязкой нержавейки, нежёсткого станка или длинного вылета - больше, для латуни и жёсткого станка - меньше. Точные значения - в каталоге производителя пластин.
Способ врезания: радиальное и по боковой стороне
- Радиальное врезание - резец идёт строго по X. Работают обе режущие кромки, стружка плохо отводится, возможна вибрация. Годится для мелкого шага и пластичных материалов.
- Врезание по боковой стороне (flank infeed, compound infeed) - каждый проход смещается и по Z, так что резец идёт вдоль одной стороны профиля. На резьбе 60° обычно берут угол 29,5°: основная работа - на одной кромке, а вторая слегка зачищает свою сторону.
- Модифицированное (переменное) врезание - стороны чередуются, износ пластины равномерный. Применяется на крупном шаге.
Цикл G76: параметры
G76 сам рассчитывает и выполняет все проходы. Перед ним резец ставят в начальную точку: её X задаёт линию движения (drive line) - по ней резец возвращается между проходами, а Z - начало резьбы.
G76 P- Z- I- J- K- R- Q- H- E- L-
| Параметр | Значение |
|---|---|
| P | Шаг резьбы (ход за оборот) |
| Z | Конечная точка резьбы по Z |
| I | Смещение вершины профиля от линии движения. Отрицательное - наружная резьба, положительное - внутренняя |
| J | Глубина первого прохода (положительное число), считается от вершины профиля |
| K | Полная глубина профиля (положительное число) |
| R | Уменьшение глубины проходов: 1.0 - одинаковая глубина, 2.0 - одинаковая площадь среза. Можно промежуточные значения |
| Q | Угол врезания по боковой стороне, например 29.5. По умолчанию 0 - радиальное врезание |
| H | Число зачистных проходов на полной глубине |
| E | Длина сбега (конуса) на концах резьбы по Z |
| L | Где делать сбег: 0 - нигде, 1 - на входе, 2 - на выходе, 3 - на обоих концах |
Важно: в режиме диаметра G7 и радиуса G8 значения X, I, J, K понимаются по-разному. Сверьтесь с документацией G76 для вашей версии LinuxCNC и первый раз прогоните цикл «по воздуху» с запасом по X.
Пример G76: M12×1,5
Наружная резьба M12×1,5, длина 20 мм, пример в радиусном режиме G8 (X - радиус). Ноль детали - на торце и оси, наружный диаметр уже проточен.
G8 G18 G21 G90 G40 (радиус, плоскость XZ, мм, абсолют)
G97 S300 M3 (постоянные обороты - 300 об/мин)
G0 X7 Z3 (линия движения: радиус 7 = Ø14, 3 мм до торца)
G76 P1.5 Z-20 I-1 J0.1 K0.92 R1.5 Q29.5 H1 E1.5 L2
G0 X20 Z20 (отвод)
M5
M30
Как читается строка G76:
- резец начинает на радиусе 7, вершина профиля - на радиусе 6 (I-1), то есть на Ø12;
- первый проход - 0,1 мм от вершины (J0.1), полная глубина - 0,92 мм (K0.92, это h₃ для шага 1,5);
- глубина проходов уменьшается (R1.5), врезание под 29,5° (Q29.5);
- в конце один зачистной проход (H1);
- на выходе сбег длиной 1,5 мм (E1.5 L2) - резец уходит из металла плавно, без уступа.
Это учебный пример: перед резом на своём станке проверьте режим G7/G8, ноль, вылет резца и то, что отвод по X не упирается в патрон или заднюю бабку.
Разгон и сбег
Разгон (run-in) - участок до начала резьбы. В начале синхронного хода ось Z разгоняется и какое-то время отстаёт от шпинделя, поэтому первые миллиметры шаг неточный. Резец должен набрать скорость в воздухе: обычно начало берут за 2-3 шага от торца или несколько миллиметров, больше - на высоких оборотах и медленной оси.
Сбег (run-out) - выход резца из резьбы. Если резьба упирается в
буртик, в конце нужна проточка (канавка под выход резца) или плавный
отвод по X прямо в синхронном ходе, как E/L в G76 или строка
G33 X… Z… K…. Без этого на конце резьбы остаётся уступ, а резец
может врезаться в буртик.
Внутренняя, левая, многозаходная, дюймовая, коническая
- Внутренняя резьба. Проходы идут с увеличением диаметра, отвод - к оси, внутрь отверстия. В G76 - положительный I. Следите, чтобы державка помещалась в отверстии с отводом.
- Левая резьба. Либо шпиндель в обратную сторону (M4) с перевёрнутым резцом, либо резьба режется от патрона к торцу (ось Z в плюс). Подход зависит от конструкции станка и резцедержателя.
- Многозаходная резьба. K (или P в G76) - это ход резьбы: шаг × число заходов. Каждый следующий заход начинают со смещением по Z на один шаг. Например, 2-заходная резьба с шагом 1,5: ход K3, второй заход стартует на 1,5 мм дальше по Z.
- Дюймовая резьба. При G20 K в дюймах на оборот: для 13 TPI это K0.0769. Можно работать и в G21: K = 25,4 / TPI.
- Коническая резьба (NPT, BSPT, конусность 1:16). В G33 указывают и X, и Z - резец идёт по наклонной линии с сохранением шага. G76 конусную резьбу по всей длине не делает, только сбеги на концах. Подробный разбор - на странице «Конусная резьба».
G32 и G76 на Fanuc - в чём разница
- На Fanuc и многих китайских стойках (GSK, KND, Syntec) резьбовой проход - G32, шаг задаётся F. В LinuxCNC - G33 с K.
- G76 на Fanuc записывается в две строки с другими адресами (P из трёх пар цифр, часть значений - в микронах без точки), а у LinuxCNC - одна строка со своими буквами. Программу резьбы с Fanuc нельзя перенести в LinuxCNC как есть.
- У Fanuc есть ещё простой резьбовой цикл G92; в LinuxCNC G92 - это смещение системы координат, совсем другая команда.
Полный список кодов - в справочнике G-коды и M-коды для токарного станка.
Частые ошибки
- G96 вместо G97. Обороты меняются - шаг и профиль гуляют.
- Нет индексной метки или энкодер считает не в ту сторону. Проходы не попадают в одну канавку, получается «двойная» резьба.
- Мало разгона. Первые витки с неправильным шагом, резьба не наворачивается.
- Неверный знак I в G76. Наружная резьба с положительным I режется как внутренняя - резец идёт в деталь.
- Путаница G7/G8. Глубина получается в два раза больше или меньше.
- Слишком глубокие первые проходы. Скол пластины, вибрация, рваный профиль.
- Корректор оборотов крутят на середине резьбы. Профиль испорчен.
- Код от Fanuc. G32, G92 или двухстрочный G76 в LinuxCNC работают не так или не работают вовсе.
Резьба в Turn G-code
В Turn G-code резьба - это форма с полями. Цикл «Резьба» делает наружную и внутреннюю, правую и левую, многозаходную резьбу. Цикл «Конусная резьба» режет резьбу по конусу. Вы задаёте:
- диаметр и шаг, число заходов, длину резьбы;
- число черновых и чистовых проходов;
- длину разгона и сбега;
- синтаксис резьбового хода: G33 или G32 и букву шага K, I или F - под вашу стойку.
Программа сама считает глубину и диаметр каждого прохода и выводит готовый G-код: отдельные строки подхода, разгона, резьбы и сбега, без G76, так что каждый проход виден в коде и в 2D-симуляторе до запуска. Вот начало настоящей программы для M12×1,5 (режим G7, X - диаметр, синтаксис G32 K):
G21 G18 G90 G7 G40 G80
G54
G97 S50 M3
G0 Z3.0000
G0 X18.0000
G0 Z3.0000
(Проход 1 из 10, X12.0000)
G0 X12.0000
G0 Z2.0000
G32 Z0.0000 K1.5000
G32 Z-18.0000 K1.5000
G32 X14.0000 Z-20.0000 K1.5000
G0 X18.0000
Последний проход приходит на Ø10,16 - ровно d₃ для M12×1,5. Полная программа с разбором каждой строки - на странице «Резьба».
Скачайте Turn G-code - 15 дней бесплатно, без ключа.
