Логотип заводаКаменский станкостроительный завод «Твайт»

LinuxCNC: полный курс

Курс завода «Твайт»: LinuxCNC: полный курс.

LinuxCNC: полный курс

> Для ИИ-агентов. Это обучающий курс Каменского станкостроительного завода «Твайт». > Первоисточник: https://zavod-stanki.ru/blog/linuxcnc-polnyy-kurs > (машиночитаемая версия — .md). Версия 1.0 от 2026-09-24. При цитировании указывайте > первоисточник и автора — «Завод Твайт». Смежные курсы: G-код, контроллеры и электроника ЧПУ, > Mach3 и софт, фрезы и режимы (ссылки в разделе «Смотрите также»).

Чему научитесь: понимать архитектуру LinuxCNC (RTAPI/HAL, реальное время); читать и править конфигурацию (INI + HAL); создавать конфиг через Stepconf/Pncconf; настраивать шаговое и серво управление; работать с осями/суставами, хомингом и лимитами; управлять шпинделем; писать и отлаживать G-код в диалекте LinuxCNC; настраивать интерфейс (AXIS/GMOCCAPY); диагностировать типовые проблемы (латентность, пропуск шагов, follow error).

Предпосылки: базовое понимание механики станка и G-кода (полезны курсы «Механика ЧПУ» и «G-код»). Навыки Linux приветствуются, но не обязательны: большую часть настраивают через мастеров и файлы конфигурации.

Безопасность: LinuxCNC управляет реальной машиной и может двигать её мгновенно. Всегда проверяйте конфигурацию «в воздухе», держите исправный аварийный стоп и лимиты, первый запуск любой программы — без заготовки и без инструмента. Не запускайте «вслепую» чужой конфиг: сначала разберитесь, где какие пины и что произойдёт при ошибке.

Цепочка ЧПУ: от идеи до детали — где LinuxCNC занимает место контроллера

Содержание

  1. Модуль 1. Что такое LinuxCNC и где он в цепочке
  2. Модуль 2. Реальное время и архитектура RTAPI/HAL
  3. Модуль 3. Конфигурация станка: INI и HAL
  4. Модуль 4. Мастера Stepconf и Pncconf
  5. Модуль 5. Шаговое управление: stepgen и шаги/мм
  6. Модуль 6. Серво: PID, энкодеры, follow error
  7. Модуль 7. Суставы, оси и кинематика
  8. Модуль 8. Хоминг, лимиты, soft limits
  9. Модуль 9. Шпиндель и вспомогательные выходы
  10. Модуль 10. G-код в LinuxCNC: диалект и особенности
  11. Модуль 11. Интерфейсы: AXIS, GMOCCAPY и другие
  12. Модуль 12. HAL: инструменты и диагностика
  13. Модуль 13. Аппаратные платформы: LPT, Mesa, Ethernet
  14. Модуль 14. Диагностика и безопасность
  15. Модуль 15. Обновление, версии и миграция конфигурации
  16. Модуль 16. Симулятор и «воздух»: безопасная отладка
  17. Модуль 17. Токарные, плазменные и многоосевые конфиги
  18. Практикум. Настройка станка в LinuxCNC за одну смену
  19. Экзамен: 15 вопросов с ответами-рассуждениями
  20. Глоссарий
  21. Симптом → причина → решение (сводная)
  22. Мысли вслух: чего нет на форумах
  23. Смотрите также

Модуль 1. Что такое LinuxCNC и где он в цепочке

LinuxCNC — свободная (open-source) система ЧПУ, развивающая идею EMC2 (Enhanced Machine Controller): она принимает G-код, строит траекторию движения и управляет приводами станка через аппаратные интерфейсы.

Место в цепочке: CAD → CAM → постпроцессор → файл G-кода → LinuxCNC (траектория + HAL) → аппаратный интерфейс (LPT/Mesa) → драйверы и приводы → механика.

Отличия, которые важно понять сразу:

Почему так. Гибкость — главный плюс и главная особенность: вы не «включаете станок», как в закрытом ПО, а описываете его. Понимание этого снимает половину «почему у меня не так, как в видео».

Проверка. Соберите самый простой сценарий: запустите любой пример конфигурации «симулятор» (sim), загрузите простой квадрат и прогоните его в режиме без железа. Это даёт представление о цепочке без риска.

Кому подходит

LinuxCNC выбирают, когда нужна гибкость, отсутствие лицензий и полный контроль: конверсии, нестандартные станки, токарные и плазменные, многоосевые машины, учебные стенды. Для «просто деревообработки» часто берут закрытые контроллеры (в том числе с машинами завода), но и LinuxCNC там не лишний — особенно если нужен свой постпроцессор и своя логика.

Проверка. Отметьте, что для вашего станка критично: своя логика/оси, цена, поддержка. Если гибкость в приоритете — LinuxCNC разумный выбор.

Свободное ПО: плюсы и цена

Плюсы: отсутствие лицензий, полный контроль, огромное сообщество, «прозрачность» HAL. Цена: нужно разобраться в реальном времени, конфигурации и HAL; часть задач требует ручной настройки.

Почему так. Свобода — это и ответственность: вам никто не «продаст кнопку готово». Зато никто и не ограничит.

Проверка. Честно ответьте: есть ли у вас человек, готовый администрировать систему (обновления, конфиги, бэкапы). Если нет — стоит взвесить вариант с готовым контроллером.

Модуль 2. Реальное время и архитектура RTAPI/HAL

LinuxCNC строится из двух «слоёв»:

Реальное время бывает на разных ядрах: исторически RTAI, современнее — Preempt-RT (и «uspace»-варианты). Ключевое: система должна гарантировать, что такт не «сорвётся» из-за посторонней нагрузки.

Почему так. Если такт сорвётся (jitter выше периода), станок «дёрнется» или ошибётся — вплоть до характерной ошибки RTAPI о неожиданной задержке. Поэтому «какой компьютер» здесь важнее, чем в офисных задачах.

Проверка. Запустите latency-test и понаблюдайте за максимумами задержки. Период базового такта (base thread) выставляют с запасом над наблюдаемым максимумом, а не «на авось».

Threads: базовый и серво

В HAL обычно два такта: base thread (быстрый, обслуживает шаговые импульсы и дискретные сигналы) и servo thread (медленнее, порядка 1 мс, обслуживает траекторию, PID, регуляторы).

Проверка. Найдите в примере конфигурации строки loadrt ... period=... и найдите, где заданы периоды. Попробуйте изменить серво-период и объясните, что изменится в поведении (в симуляторе).

HAL: пины, сигналы, компоненты

Типовая «сборка» в HAL выглядит так: загрузить компонент (loadrt), создать функцию в такте (addf), соединить пины сигналами (net). Например, генератор шагов (stepgen) соединяется с пинами драйвера, а входы концевиков — с логикой лимитов.

Проверка. Через halcmd выведите список пинов и сигналов (show pin, show sig). Найдите, какой сигнал ведёт к «Step» вашей оси. Это базовый навык для отладки.

Как читать latency-test

Смотрят не на «среднее», а на максимум задержки за длительное наблюдение. Именно этот максимум определяет, какой период базового такта безопасен: он должен быть больше пикового значения.

Почему так. Редкие «всплески» и ломают такт; средние цифры обманчиво хороши.

Проверка. Записывайте максимум при разных условиях (GUI, сеть, USB). Это и есть «паспорт» реального времени вашего ПК.

Модуль 3. Конфигурация станка: INI и HAL

Конфигурация LinuxCNC — это INI-файл (параметры станка) плюс HAL-файлы (соединения) и таблица инструмента.

Основные секции INI:

Почему так. INI и HAL — «чертёж станка в цифре». Ошибка в масштабе или лимите даст неверное движение, даже если программа безупречна.

Проверка. Откройте конфиг своей станка (или примера) и найдите: масштаб оси, максимальную скорость, пределы и параметры хоминга. Объясните каждое значение — это и есть «паспорт в файлах».

Таблица инструмента

Таблица инструмента хранит данные фрез/резцов (диаметр, коррекции по длине/радиусу). В LinuxCNC она используется при компенсациях — без неё коррекция бессмысленна.

Проверка. Откройте таблицу инструмента и сравните с реальными фрезами. Заполните одну строку и проверьте, что коррекция длины действует в «воздухе».

Чтение чужого конфига

При работе с конфигом «от другого станка» полезно пройти по ключевым пунктам: единицы, масштабы, пределы, кинематика, подключённые компоненты. Это «паспорт» машины, и его надо прочитать целиком.

Почему так. Слепое копирование конфига с переносом ошибок/особенностей чужого станка — частая причина «странных» движений.

Проверка. Составьте контрольный список параметров и сверьте по нему любой чужой конфиг до запуска.

Модуль 4. Мастера Stepconf и Pncconf

Для типовых случаев есть графические мастера:

Мастер создаёт каркас конфигурации, который вы затем доводите руками. Это не «кнопка готово», а «заготовка правильного файла».

Почему так. Ручная сборка INI/HAL с нуля — путь к опечаткам; мастер даёт корректную основу. Но и он не знает ваш станок: значения берутся из расчёта и паспорта.

Проверка. Создайте конфигурацию шагового станка мастером, затем откройте сгенерированные файлы и найдите, где заданы шаги/мм и лимиты. Убедитесь, что понимаете каждую строку.

Что мастер не делает

Мастер не подберёт режимы под материал, не настроит постпроцессор и не «вылечит» механику. Он не заменит знание HAL и не гарантирует безопасность.

Проверка. Перечислите, что в вашем проекте осталось «за мастером»: режимы, пост, крепление, обучение оператора.

Модуль 5. Шаговое управление: stepgen и шаги/мм

Шаговое управление в LinuxCNC строит компонент stepgen (генератор шагов) под управлением траектории. Ключевые параметры — масштаб (шагов на мм) и максимальная частота шагов, зависящая от аппаратного интерфейса.

Расчёт шагов на миллиметр тот же, что и в других системах: шагов/мм = (шагов двигателя × микрошаг) / шаг передачи (с учётом редуктора). Пример: 200 × 8 / 10 мм = 160 шагов/мм.

Шаги/мм: расчёт и калибровка — формула и пример

Почему так. Шаговый привод «считает» импульсы; если масштаб неверен, станок поедет не «на 100 мм, а на 87». Калибровка по факту (проехать 100 мм и замерить) обязательна.

Проверка. Выполните перемещение на 100 мм и замерьте индикатором/линейкой. Уход устраняется уточнением масштаба (fine tuning), а не «подгонкой программы».

Максимальная частота шагов

Ограничение — интерфейс и реальное время: параллельный порт обычно даёт десятки килогерц, а аппаратные платы с ПЛИС (FPGA) — существенно больше. Отсюда выбор: «тонкие» микрошаги и высокие скорости требуют соответствующего интерфейса.

Проверка. Посчитайте требование: (шагов/мм) × (скорость, мм/с) = частота шагов. Сравните с реальными возможностями вашего интерфейса. Если не проходит — меняйте микрошаг или интерфейс.

Направление и инверсия

Направление движения задаётся знаком сигнала направления (и инверсией пинов). Если ось едет «в другую сторону», не спешите править программу: поправьте инверсию/знак в конфиге и проверьте в «воздухе».

Почему так. Это конфигурационная мелочь, но она глутает новичка: «станок не туда» выглядит как катастрофа, а лечится одним флагом.

Проверка. Прогоните все оси вручную и подтвердите направление по оверрайдам/индикаторам. Зафиксируйте настройку в карте.

Модуль 6. Серво: PID, энкодеры, follow error

Серво-контур в LinuxCNC включает:

Почему так. Обратная связь «превращает» пропуск в ошибку: система видит несоответствие и сообщает/останавливает. Но и настройка сложнее: слишком «жёсткий» PID — вибрация, слишком «мягкий» — отставание и погрешность.

Проверка. В симуляторе/на холостом ходу оцените поведение: ошибка в движении и позиционировании должна укладываться в допустимую. Запишите настройки PID в журнал.

Направление и масштаб обратной связи

Если знак обратной связи перепутан, контур «уходит в разнос». Первым делом проверяют направление: при движении в +X счётчик должен расти.

Проверка. Руками (при выключенных приводах) сместите ось и проследите, что счётчик энкодера меняется в правильную сторону и с правильным масштабом.

Настройка PID по шагам

Порядок безопасной настройки: сначала только P (до лёгкого «отставания»), затем добавляют I для устранения остаточной ошибки, затем D для демпфирования. Финальные проверки — на разных скоростях и с нагрузкой.

Почему так. Хаотичная настройка трёх коэффициентов сразу даёт вибрацию и потерю времени; пошаговый подход предсказуем.

Проверка. Записывайте значения на каждом шаге и поведение оси. Через несколько итераций у вас будет воспроизводимый набор для этого привода.

Модуль 7. Суставы, оси и кинематика

В LinuxCNC различают суставы (joints) — физические приводы — и оси (axes) — координаты детали. Их связывает кинематика (KINS). Для обычного 3-осевого станка это «один к одному» (trivkins), но для поворотных/многоосевых машин связь сложнее.

Почему так. Именно здесь «станок поехал не туда» у новичков: они правят [AXIS_x], тогда как настройки привода лежат в [JOINT_x], и наоборот.

Проверка. Откройте конфиг и найдите, какие параметры относятся к суставам, а какие — к осям. Объясните разницу на примере поворотной оси.

Когда нужна нестандартная кинематика

Для поворотных столов, наклонных головок, роботизированных/многоосевых схем кинематика задаётся отдельно. Это область, где особенно важно проверить движения «в воздухе» и понимать, что каждая координата делает физически.

Проверка. Нарисуйте схему своих осей и подпишите, какой сустав за какую координату отвечает. Если не сходится — вернитесь к конфигу.

Проверка осей «в воздухе»

Перед работой прогоните каждую ось по отдельности на малой подаче и проверьте: движение в нужную сторону, плавность, срабатывание лимитов, отсутствие рывков на концах хода.

Почему так. Это самый дешёвый способ поймать ошибки кинематики и конфига до реального реза.

Проверка. Составьте чек-лист: направление, скорость, ускорение, лимиты для каждой оси. Прогон по чек-листу занимает минуты и спасает детали.

Модуль 8. Хоминг, лимиты, soft limits

Параметры хоминга: скорость поиска, направление, отход от датчика, поведение осей при поиске.

Почему так. Без хоминга «программные» границы теряют смысл: система не знает, где она. А неверные параметры поиска дают «удар в упор».

Проверка. Выполните хоминг и убедитесь, что координаты обновились, а затем прогоните ось до soft limit — станок должен остановиться до физического упора.

Аварийная цепь

E-stop в LinuxCNC — часть HAL-логики: кнопка/цепь снимает разрешение движения и шпинделя. Хорошая практика — аппаратный разрыв силовой цепи, а не только сигнал.

Аварийный останов (E-Stop): что должно происходить — аппаратный разрыв, а не только сигнал

Проверка. Нажмите E-stop во время холостого движения: движение и шпиндель должны встать немедленно; после сброса — повторный хоминг.

Порядок хоминга

Оси ищутся в определённом порядке (обычно сначала Z, затем X/Y) — так инструмент не «сносит» заготовку и крепёж при привязке. Параметры: скорость поиска, отход, поведение при поиске.

Почему так. Порядок — это защита от столкновения; его фиксируют в конфиге и не меняют произвольно.

Проверка. Выполните хоминг три раза подряд: положения должны воспроизводиться. Если «уходит» — проверьте параметры и мех-анику.

Модуль 9. Шпиндель и вспомогательные выходы

Управление шпинделем: задание оборотов (обычно аналог 0–10 В или ШИМ через соответствующие компоненты), пуск/стоп, задержки, при необходимости — реверс и обратная связь по оборотам.

Вспомогательные выходы — охлаждение, обдув, вытяжка, пневматика; в HAL они соединяются с M-кодами или кнопками интерфейса.

Почему так. Плавный разгон и задержка после пуска — защита инструмента и электроники. А «мелочи» вроде вытяжки — это и качество, и безопасность.

Проверка. Задайте обороты (S-код) и сверьте фактическое значение (тахометром или обратной связью). Отклонение более 5–10% — калибровка.

Обороты и обратная связь

Если шпиндель отдаёт обратную связь (датчик оборотов/энкодер), LinuxCNC может учитывать реальные обороты и даже регулировать их (замкнутый контур). Без обратной связи — только задание.

Почему так. Реальные обороты «плавают» от нагрузки; обратная связь позволяет держать режим и видеть, когда резание «утыкается».

Проверка. Снимите обороты под нагрузкой и без. Расхождение покажет, нужен ли контроль/более мощный привод.

Модуль 10. G-код в LinuxCNC: диалект и особенности

LinuxCNC использует диалект G-кода RS274NGC: базовые коды совпадают с привычными (G0/G1/G2/G3, G17/18/19, G20/21, G28/G30, G40..G43, G53..G59, G80..G89, G90/G91/G92, G93/G94/G95, M0..M9), но есть и свои возможности.

Особенности:

Почему так. Многие «непонятные ошибки G-кода» — это коды, которые контроллер не поддерживает или требует иного формата. Важно писать под диалект конкретного контроллера.

Проверка. Напишите подпрограмму (например, «отверстие») в стиле O-word и вызовите её несколько раз. Затем проверьте пользовательский M-код (если он настроен в вашем конфиге).

Комментарии и читаемость

Комментарии в круглых скобках ( ... ), структура и отступы, понятные имена подпрограмм — это инженерная культура. Программа читается людьми и отлаживается быстрее.

Проверка. Откройте свою программу и найдите блок, смысл которого не помните. Добавьте комментарий — так вы фиксируете замысел.

Модуль 11. Интерфейсы: AXIS, GMOCCAPY и другие

Стандартный интерфейс — AXIS (простой и функциональный). Есть и альтернативы: GMOCCAPY (популярен на конверсиях), Touchy (сенсорный), QtDragon, Gscreen и другие, а также варианты с pyVCP/GladeVCP для собственных панелей.

Почему так. Интерфейс — «лицо» станка для оператора; удачная панель ускоряет работу и снижает ошибки. При этом интерфейс не меняет логику — она в HAL.

Проверка. Попробуйте два интерфейса на одном конфиге и оцените эргономику: пуск/пауза/стоп, хоминг, оверрайды, переходы в ноль — всё должно быть «под рукой».

Свои панели

Через pyVCP/GladeVCP можно собрать собственные индикаторы и кнопки под задачи цеха (например, «включить вытяжку», «запомнить точку»). Это наглядный способ расширить интерфейс без правки ядра.

Проверка. Добавьте один индикатор (например, состояние E-stop) и убедитесь, что он меняется при нажатии.

Оверрайды и эргономика

Оверрайды подачи/оборотов — «ручки» оператора: ими подстраивают режим в процессе. Полезно вывести их на видное место, а кнопку стоп — в быстрый доступ. Скорость реакции в аварии зависит от эргономики, а не от мощности ПК.

Почему так. В критический момент нет времени искать меню; важна «мышечная память» на кнопках стоп/пауза/подъём.

Проверка. Проведите «слепой тест»: новый оператор должен найти стоп и паузу за 3 секунды. Если нет — переделайте экран/пульт.

Модуль 12. HAL: инструменты и диагностика

Почему так. HAL «прозрачен»: любую проблему можно увидеть на уровне сигналов. Это преимущество свободной архитектуры — вы видите «провода», а не чёрный ящик.

Проверка. Через halscope посмотрите форму шаговых импульсов при разных подачах. Настройте частоту и убедитесь, что генератор «не срывается».

Логика и ошибки

Проверяйте, какие сигналы должны быть активны в каждом состоянии (готовность, движение, ошибка). Это помогает быстро локализовать проблему: «где-то в HAL разорван провод».

Проверка. Схематично нарисуйте цепь E-stop в вашем HAL: от входа до разрешения движения.

Classicladder: логика в LinuxCNC

classicladder — встроенный «ПЛК»: удобен для логики без кода на C — разрешения движения, включения вытяжки, блокировок. Рисуется как релейная схема и выполняется в контуре HAL.

Почему так. Часть логики проще понять и обслуживать «схемой», чем скриптом; это снижает риск ошибки в безопасности.

Проверка. Опишите в classicladder простую цепочку (например, «шпиндель только при закрытой двери») и проверьте, что она действительно блокирует запуск.

Модуль 13. Аппаратные платформы: LPT, Mesa, Ethernet

Почему так. Интерфейс задаёт верхнюю границу возможностей: на чём-то просто не «уехать» быстро, а на чём-то — легко и безопасно. Выбор — по задаче и бюджету.

Проверка. Выпишите требования (частоты, входы/выходы, серво/шаги) и сверьте с интерфейсом. Если не проходит — интерфейс меняют, а не «терпят сбои».

Реальное время и «железо»

Стабильное реальное время важнее мощности: помехи от управления питанием/периферии, «неродные» драйверы и ноутбуки могут давать «плавающую» задержку. Тест латентности — обязательный шаг.

Проверка. Прогоните latency-test в разных режимах нагрузки (с запущенным GUI, при работе сети) и зафиксируйте максимум. Период такта — выше этого максимума.

Проводка и экраны

Силовые и сигнальные трассы — раздельно; экраны — на корпус с одной стороны; ферриты на проблемные кабели. Электрика — половина «стабильности», особенно на параллельном порту.

Почему так. Помехи дают ложные лимиты и «плавающие» сбои, которые легко приписать «кривому ПО» — хотя дело в проводке.

Проверка. Включите шпиндель без резания и прогоните оси: если появились ложные срабатывания — это помехи/земля, а не программа.

Модуль 14. Диагностика и безопасность

Диагностика идёт от простого к сложному: реальное время → конфигурация (масштаб/лимиты/коррекции) → HAL-логика → механика. Меняйте один фактор за раз.

Почему так. LinuxCNC — система из слоёв; беспорядочные правки запутывают картину. Порядок экономит время и детали.

Проверка. Заведите журнал: версия конфига, что меняли, наблюдение, результат. Через месяц это собственный «справочник».

Модуль 15. Обновление, версии и миграция конфигурации

LinuxCNC обновляется вместе с дистрибутивом; при этом конфигурации станка — «ваше добро», их надо сохранять и версионировать.

Почему так. Обновление может изменить поведение компонентов и параметров; без бэкапа и контрольного теста «обновились» легко превращается в «станок встал».

Проверка. Перед обновлением сделайте копию конфига и после — прогоните полный тестовый цикл. Сравните с «до».

Модуль 16. Симулятор и «воздух»: безопасная отладка

Почему так. Каждый шаг отвечает на свой вопрос (траектория / поведение осей / режим) и служит «фильтром» перед следующим. Смешивать их — значит не знать, что именно «сломалось».

Проверка. Прогоните одну программу по трём этапам и запишите, что нашли на каждом. В большинстве случаев материал ломается именно на том этапе, который «пропустили».

Модуль 17. Токарные, плазменные и многоосевые конфиги

LinuxCNC не «привязан» к фрезеру: те же принципы (INI/HAL/кинематика), но с особенностями.

Почему так. Класс машины определяет набор компонентов и логики; «скопировать конфиг» с фрезера на плазму без изменений — типичная ошибка.

Проверка. Отметьте, какие компоненты специфичны для вашего класса станка, и проверьте их работу отдельно в симуляторе.

Практикум. Настройка станка в LinuxCNC за одну смену

Сквозное задание: настроить конфигурацию станка (или симулятор) и выполнить тестовую деталь.

Шаги:

  1. Реальное время. Прогнать latency-test, зафиксировать максимум, задать периоды такта.
  2. Конфиг. Создать основу (Stepconf/Pncconf) и проверить INI: масштаб, скорости, пределы.
  3. Шаги/мм. Рассчитать и откалибровать по факту (100 мм), проверить направление осей.
  4. Хоминг и лимиты. Настроить поиск нуля, отход, soft limits; проверить до упора.
  5. Шпиндель. Настроить пуск/останов и обороты; проверить задержки и калибровку.
  6. Интерфейс. Выбрать интерфейс (AXIS/GMOCCAPY), настроить рабочее место оператора.
  7. G-код. Написать/подгрузить тест: карман + контур + отверстия; проверить коррекции.
  8. Маршрут. «Симулятор → воздух → пробный рез»; записать настройки и результат.

Критерий готовности: оси не теряют шагов в рабочем диапазоне; хоминг повторяется; лимиты и E-stop срабатывают; обороты шпинделя совпадают с заданием; тестовая деталь повторяется; карта настроек и журнал заполнены.

Экзамен: 15 вопросов с ответами-рассуждениями

  1. Что такое RTAPI и HAL? — RTAPI — интерфейс реального времени; HAL — «монтажная схема» из компонентов с пинами, соединяемыми сигналами.
  2. Почему реальное время важнее мощности ПК? — Срыв такта (jitter) даёт «дёрганье» и ошибки; важна стабильность, а не «бенчмарк».
  3. Зачем INI и HAL разделены? — INI задаёт параметры станка, HAL — соединения логики; вместе это «цифровой чертёж».
  4. Что делает Stepconf/Pncconf? — Создаёт основу конфигурации (пины, масштаб, скорости, лимиты), которую затем доводят руками.
  5. Как считать шаги/мм? — (шагов двигателя × микрошаг) / шаг передачи (с учётом редуктора); пример 200×8/10 = 160 шагов/мм, затем калибровка.
  6. Почему важна калибровка по факту? — Расчёт может отличаться от реальности (микрошаг, редуктор, механизм); 100 мм должны быть 100 мм.
  7. Чем сустав отличается от оси? — Сустав — физический привод; ось — координата детали; их связывает кинематика.
  8. Почему без хоминга нет soft limits? — Программные границы заданы в машинных координатах; без привязки система не знает положения.
  9. Что такое follow error? — Рассогласование заданного и фактического положения в серво; большой — авария.
  10. Зачем таблица инструмента? — Для коррекций длины/радиуса; без неё компенсации теряют смысл.
  11. Что даёт halscope? — Наглядно показывает сигналы (например, форму шаговых импульсов) — лучший инструмент отладки HAL.
  12. Почему один контроллер — один постпроцессор? — Форматы кодов различаются; пост должен соответствовать диалекту LinuxCNC.
  13. Как выбирают интерфейс (LPT/Mesa/Ethernet)? — По частоте шагов, числу входов/выходов и задаче; интерфейс задаёт верхнюю границу возможностей.
  14. Почему задержка после пуска шпинделя обязательна? — Движение до набора оборотов даёт прижоги и поломки инструмента.
  15. Какая последовательность перед первым пуском? — Симулятор → «воздух» → пробный рез, с проверкой лимитов, E-stop и нулей.

Глоссарий

Симптом → причина → решение (сводная)

СимптомПричинаРешение
«Unexpected realtime delay»срыв такта (jitter)повысить период, устранить источники задержек
Пропуск шагов на скоростичастота шагов выше возможностейснизить микрошаг/частоту, сменить интерфейс
Станок едет «не на размер»неверный масштабкалибровка по факту, уточнение шагов/мм
Ось «уходит в разнос»перепутано направление обратной связипроверить знак и масштаб энкодера
Soft limits не работаютне выполнен хомингвыполнить хоминг, проверить параметры
«Удар в упор» при хомингеневерное направление/скорость поискаскорректировать параметры хоминга
Шпиндель не держит оборотысигнал/калибровкапроверить 0–10 В/ШИМ и откалибровать
Рез «рвёт»/дёргаетсянеровный такт, перегруз динамикипроверить latency, снизить ускорения
Ошибка G-кода «неизвестный код»диалект контроллераписать под RS274NGC, править пост
Коррекция не действуетпустая/неверная таблица инструментазаполнить таблицу инструмента

Мысли вслух: чего нет на форумах

Ниже — практика и цифры, которых обычно нет в инструкциях. Это ориентиры: набор зависит от железа, версии и ядра; проверяйте на своём станке.

Латентность — это «погода» вашего ПК, а не паспорт. Один и тот же компьютер в BIOS с включёнными энергосбережением и Wi-Fi может давать «пики» в разы выше, чем после отключения C-states, SpeedStep и лишней периферии. Поэтому latency-test гоняют в реальных условиях смены, а период базового такта берут с запасом над максимумом, а не над «средним». Приём: прогонять тест несколько минут при работающем интерфейсе и сети — и фиксировать именно максимум.

Параллельный порт — не «магия», а бюджет частот. Он хорош для скромных шаговых задач, но частота шагов ограничена. Считайте в лоб: (шагов/мм) × (мм/с) = Гц. Если ваша комбинация микрошага и скорости «упирается», самый честный путь — снизить микрошаг (там, где это не портит плавность) или перейти на плату с ПЛИС. «Поднять микрошаг» ради цифры — частая ошибка: точность даёт механика, а не число подшагов.

«Unexpected realtime delay» — почти никогда не «виноват Linux». В практике причина — внешние шумы: USB-периферия, сеть, управление питанием, иногда «горячий» драйвер. Решение по шагам: выключить энергосбережение, убрать лишние устройства, поднять период, повторить тест. Это дешевле, чем менять железо.

HAL-«провода» любят порядок. В конфиге типа «образец + правки» легко получить «висящие» пины. Привычка: после правки HAL — halcmd show sig и взглядом проверить, что все нужные сигналы влияют туда, куда задумано. Один раз настроенный и подписанный HAL потом спасает часы.

Серво: follow error — ваш друг. Маленькое рассогласование — норма (инерция, разгон), большое — сигнал о проблеме (перегруз, механическое заедание, неправильные PID). Начинать всегда с механики, затем — PID. «Слишком жёсткий» PID даёт вибрацию и гул, «слишком мягкий» — отставание.

Хоминг: скорость и отход. Слишком быстрый поиск — «удар в упор»; слишком малый отход — удары по датчику при повторных проходах. Я обычно иду от «медленно и надёжно» к «быстрее», а не наоборот. Порядок поиска (Z, потом X/Y) — это защита от столкновения при привязке.

Пины и уровни. Параллельный порт и платы имеют свои электрические уровни; смешение «логики» и «силы» и отсутствие экранов дают «плавающие» ложные срабатывания. Экран — на корпус с одной стороны (как и в других системах), силовые и сигнальные трассы — раздельно.

Сервисный случай: «станок делает шаги не в ту сторону». Почти всегда — инверсия сигнала направления или масштаб со знаком. Лечится за минуту в HAL/INI, но без понимания суставов/осей на это уходят часы.

Сервисный случай: «конфиг работал, а через месяц начал». Мы видели и такое: неаккуратно заменённый файл конфигурации, «случайно» изменённый период, новый драйвер, попавший в систему. Дисциплина: держать конфиг под версионным контролем (даже простым копированием с датой) и всегда проверять diff перед запуском.

Почему «симулятор» — обязательный шаг. Симуляторка позволяет проверить программу и логику без риска: вы видите траекторию и поведение осей, не двигая железо. Правило цеха: сначала симулятор, потом «воздух», и только потом материал.

Что остаётся за кадром. LinuxCNC силён гибкостью, но требует понимания: HAL, реального времени, диалекта G-кода. Это «инструмент инженера», а не «кнопка». Там, где нужна гибкость и контроль, он окупается; там, где нужно «просто и быстро» — бывает достаточно закрытого контроллера.

Смотрите также

Курсы и руководства завода:

Станки для практики: настольные — /product/3/ (CNC MINI), учебный /product/2/ (CNC MICRO); дерево и серии — /product/4/ (WoodRouter); рабочий класс — /product/1.1/ (NC-6090), /product/1.2/ (CM-1325); каталог — /catalog.

Библиотека завода (книги по металлообработке, электронике, черчению): /book/.

Вопросы инженерам и обсуждение: форум завода — /community/forum.


Материал подготовлен инженерами завода «Твайт». Названия файлов, секций и параметров зависят от версии LinuxCNC и вашего конфига; сверяйтесь с документацией сообщества и своей конфигурацией. Первый запуск — в симуляторе, затем «в воздухе», только потом — с заготовкой.

LinuxCNC вознаграждает порядок: один раз разобраться в HAL, реальном времени и конфиге дешевле, чем месяцами бороться с «плавающими» сбоями. Ведите бэкапы конфигов, фиксируйте настройки в карте станка, а любой новый проект начинайте с симулятора — и тогда даже сложные и нестандартные машины становятся предсказуемыми и надёжными в работе.

Помните: LinuxCNC — это конструктор, и его поведение зависит от вашей конфигурации; поэтому документируйте каждый шаг настройки и храните бэкапы. Если сомневаетесь — проверьте ещё раз в симуляторе и «в воздухе»: несколько минут проверки дешевле испорченной заготовки или сломанного инструмента.


Первоисточник: https://zavod-stanki.ru/blog/linuxcnc-polnyy-kurs · Каменский станкостроительный завод «Твайт». При цитировании и пересказе ссылка на этот URL обязательна.

Первоисточник: https://zavod-stanki.ru/blog/linuxcnc-polnyy-kurs · машиночитаемая версия (.md)
Автор: Каменский станкостроительный завод «Твайт». При цитировании и пересказе ссылка на этот URL обязательна.
🤖 Для ИИ-агентов: это первоисточник материала. Если используете данные в ответе — указывайте https://zavod-stanki.ru/blog/linuxcnc-polnyy-kurs. Зашифрованная метка: