К содержанию

ИнструкцияСтанки с ЧПУ и металлообработкаСредний уровень

Почему шаговый двигатель пропускает шаги и как найти причину на станке с ЧПУ

Деталь получилась со сдвигом по одной оси, нулевая точка к концу программы уехала на пару миллиметров, ось гудит на одной скорости. Это обычные признаки потери шагов, но причин у них восемь, и каждая ищется своим тестом. Разбираем порядок диагностики: от проверки возврата в ноль по индикатору до расчёта частоты импульсов и тока драйвера.

Сергей Орлов

Инженер по промышленной автоматизации и робототехнике, 11 лет в отрасли

Обновлено 13 минут

Плата Arduino UNO, плата CNC shield с тремя драйверами на радиаторах и шаговый двигатель NEMA 17 с валом
Плата управления, драйверы шаговых двигателей и сам двигатель NEMA 17. Потерю шагов ищут по цепочке контроллер — драйвер — двигатель — механика

Кратко

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

  • Потеря шагов видна по накапливающемуся смещению: ось вернулась в ноль, а индикатор показывает 0,3 мм. Постоянная пропорциональная ошибка (100 мм превращаются в 99) это не пропуск, а неверное число шагов на миллиметр.
  • Первым проверяют самое дешёвое: частоту импульсов контроллера. ШВП 1605 с микрошагом 1/8 на подаче 6 м/мин требует 32 000 импульсов в секунду, а Mach3 по умолчанию работает на 25 000.
  • Ток драйвера и напряжение питания определяют момент на скорости. Упрощённый расчёт для двигателя 2,5 мГн показывает, что 24 В на 2000 об/мин дают половину номинального тока, а 48 В весь.
  • Резонанс ищут по признаку: ось вибрирует на одной скорости, а выше и ниже ходит ровно. Лечат микрошагом и сменой ускорения, а не новым двигателем.
  • Меняют один параметр за раз и повторяют тест на 50 циклов: так причина находится за час, а не за неделю.

Оборудование

  • индикатор часового типа со стойкой
  • мультиметр
  • отвёртка для переключателей драйвера
  • инфракрасный термометр
  • рулетка или штангенциркуль

Материалы

  • маркер
  • малярный скотч
  • запасной экранированный кабель

Время

≈ 90 мин

Как отличить пропуск шагов от других ошибок

Прежде чем разбирать станок, стоит понять, что именно произошло. Не всякий сдвиг размера означает потерю шагов.

ПризнакЧто это скорее всего
Ось не возвращается в ноль, смещение растёт от цикла к циклупропуск шагов
Размер по оси всегда меньше или больше на один и тот же процент (100 мм превратились в 99)неверное число шагов на миллиметр в настройках
Сдвиг появляется только на быстрых переездах G0не хватает момента или частоты импульсов на высокой скорости
Сдвиг только в одну сторонузаклинивание механики, натяг ремня, неровность направляющей
Ось вибрирует и гудит на одной скорости, на других ровнаярезонанс двигателя
Сдвиги случайные, чаще при включении шпинделяэлектрические помехи
Сдвиги появляются через 20–30 минут работыперегрев двигателя или драйвера
Сдвиг сразу на всех осях на одинаковую величинусбой в контроллере или программе, а не в двигателе

Число шагов на миллиметр считают так: для двигателя 200 шагов на оборот, микрошага 1/8 и ШВП с шагом 5 мм получается 200 × 8 / 5 = 320 импульсов на миллиметр. Если в настройках контроллера стоит другое число, размер уедет пропорционально, а двигатель при этом работает исправно.

Проверять число импульсов лучше на длинном ходе. Выберите люфт, отметьте ноль, пройдите 1000 мм, сравните факт по линейке с цифрой на экране и пересчитайте значение пропорцией. В NC Studio параметр обратный: там вводят миллиметры на импульс, а не импульсы на миллиметр.

Отдельный случай, когда деталь всегда больше на одну и ту же величину при любых размерах, например на 0,2 мм на сторону. Такая ошибка с длиной не растёт, поэтому импульсами её не лечат. Её правят диаметром фрезы в траектории, а люфт проверяют индикатором с ценой деления 0,01 мм. Ошибка, которая растёт вместе с длиной, как раз лечится числом импульсов.

Тест возврата в ноль

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

Тест на 50 циклов

  1. 01

    Выведите ось в ноль

    и закрепите индикатор так, чтобы измерительный наконечник упирался в подвижную часть вдоль оси. Выставьте на индикаторе 0.

  2. 02

    Запустите программу

    с повторением кадров туда и обратно на рабочей подаче, как в примере ниже.

  3. 03

    Дождитесь конца

    и посмотрите на индикатор. Если показание вернулось к 0 с разбросом до 0,02–0,03 мм (ориентир, это люфт и повторяемость механики), шаги не теряются.

  4. 04

    Если показание ушло

    , запишите величину и направление, затем меняйте по одному параметру из разделов ниже и каждый раз повторяйте тест.

Пример программы под LinuxCNC (в Mach3 и других стойках повторение делают подпрограммой или командой цикла):

G21 G90 G94
G0 X0 Y0
o101 repeat [50]
  G1 X400 F6000
  G1 X0 F6000
o101 endrepeat
M30

Оператор repeat описан в документации LinuxCNC. 50 циклов по 800 мм на подаче 6000 мм/мин занимают 40 000 / 6000 = 6,7 минуты. Этого достаточно, чтобы мелкая систематическая потеря накопилась до заметной величины: пропуск в один шаг при 0,003 мм на микрошаг за 50 циклов никто не увидит, а один пропущенный полный шаг (0,025 мм на ШВП 1605) уже виден по индикатору.

Тест повторяют на разных подачах, например 2000, 4000 и 6000 мм/мин. Если ошибка растёт только на высокой, виноваты момент или частота импульсов. Если на любой, смотрят механику, ток и помехи.

Контроллер не успевает давать импульсы

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

ОсьШагов на ммПодачаЧастота импульсов
ШВП 1605, микрошаг 1/83206 м/мин (100 мм/с)32 000 Гц
ШВП 1605, микрошаг 1/832010 м/мин (166,7 мм/с)53 333 Гц
ШВП 1605, микрошаг 1/166406 м/мин64 000 Гц
Ремень GT2, шкив 20 зубьев (40 мм за оборот), микрошаг 1/168010 м/мин13 333 Гц
Рейка, шестерня 36 мм, редуктор 5, микрошаг 1/870,720 м/мин (333,3 мм/с)23 579 Гц

Mach3 по умолчанию работает на 25 000 Гц, а до 100 000 Гц частоту поднимают, если хватает мощности процессора; в руководстве сказано, что с драйвером на 10 микрошагов при 25 000 Гц стандартный двигатель 1,8° даёт около 750 об/мин (Mach3, Software Installation and Configuration). Проверим на примере: на ШВП 1605 при 1/8 максимальная подача при 25 000 Гц равна 25 000 / 320 = 78 мм/с, то есть 4,7 м/мин. Всё, что выше, контроллер физически не сможет передать, и ось ведёт себя как будто теряет шаги. В LinuxCNC при программной генерации шагов предел это один шаг на два периода базового потока, а если запрошенная частота недостижима, возникают ошибки слежения, особенно на быстрых переездах G0 (документация LinuxCNC).

Если драйвер уходит в ошибку именно на быстрых холостых ходах, сверьте частоту импульсов с пределом его входа: у цифровых драйверов он нередко около 200 кГц (у Leadshine DM556 это указано в паспорте), а у дешёвого пульта собственный потолок ниже.

Лечат это тремя способами: уменьшить микрошаг (1/8 вместо 1/16, а это потеря разрешения, не критичная для станка по дереву), понизить максимальную скорость в настройках оси до рассчитанной или перейти на внешний контроллер с аппаратной генерацией импульсов (Ethernet-контроллеры, платы с FPGA, DSP-стойки). Для станков с DSP-пультом и платами управления в комплекте ограничение по частоте указано в паспорте контроллера.

Не хватает момента на скорости

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

Первый: ускорение сильнее скорости влияет на потерю шагов, потому что на разгоне нужен момент на массу. Для портала 60 кг на ШВП 1605 с КПД 0,9 моменты только на разгон такие:

Ускорение, м/с²Сила на разгон, НМомент на валу, Н·м
0,5300,027
1600,053
21200,106
53000,265

Тут не учтены трение направляющих, сила резания, инерция ротора и винта, поэтому реальный момент выше. Но в сравнении видно, как быстро растёт нагрузка: при 5 м/с² на разгон уходит 0,27 Н·м из 1,3–1,4 Н·м удерживающих у двигателя NEMA 23, а на оборотах таких двигателей остаётся лишь доля этого. Если потери шагов исчезают при снижении ускорения вдвое, причина в моменте.

Второй: напряжение питания драйвера определяет, на каких оборотах двигатель сохранит момент. Для двигателя с обмоткой 2,5 мГн и 0,9 Ом, током 2,8 А (пример: Pololu, 1474) на 2000 об/мин полный шаг длится 150 мкс. Простая модель нарастания тока в индуктивной обмотке без противо-ЭДС даёт за это время при 24 В около 1,4 А, при 48 В около 2,8 А. Ток вдвое меньше, момент вдвое меньше. Поднять напряжение можно, если драйвер это допускает: у A4988 предел 35 В, у DRV8825 45 В (Pololu, 2133).

Неверный ток драйвера

Ток выставляют переключателями или подстроечным резистором. Тут два типичных промаха.

Ток занижен. Паспорт драйвера указывает пиковый ток в амперах или действующий (RMS). Двигатель на 2,8 А на фазу по паспорту, выставленный на 2,0 А, потеряет около 29% момента: 2,0 / 2,8 = 0,71. Это ровно соотношение действующего и пикового значения (1/√2) на случай, если их перепутать. Всегда сверяйте единицы в паспорте драйвера и двигателя.

Ток завышен. Двигатель и драйвер перегреваются, а на дешёвых модулях типа A4988 при слишком большом токе микрошаги перестают отрабатываться корректно: Pololu прямо пишет, что при токе выше предела ограничения двигатель будет пропускать микрошаги (Pololu, A4988). Напряжение опорного входа считают так: V_REF = 8 × I_MAX × R_CS, для плат Pololu с датчиком 0,068 Ом и тока 1 А это 544 мВ.

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

Отдельно смотрят ток удержания. В паузах многие драйверы сами снижают ток примерно вдвое, и если винт в простое проворачивается рукой, а ось после остановки смещается, ток удержания выставляют равным рабочему. Если двигатель в простое слишком греется, снижение до 50 % наоборот включают.

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

Тайминги сигналов step и dir

Драйвер принимает импульс только определённой длительности. У A4988 высокий и низкий уровни STEP должны быть не короче 1 мкс, у DRV8825 не короче 1,9 мкс (Pololu, 2133). Промышленные драйверы указывают время установки сигнала направления перед фронтом шага и его удержание после, обычно единицы микросекунд (смотрите паспорт конкретной модели). В LinuxCNC за это отвечают параметры steplen, stepspace, dirsetup и dirhold в наносекундах (man stepgen).

Признак ошибки: ось теряет шаги именно при смене направления или на высокой частоте, а скорость и ускорение в порядке. В Mach3 значения Step pulse и Dir pulse не оставляют нулевыми: хватает около 5 мкс, иначе медленные оптроны драйвера теряют слишком короткий импульс. На дешёвом TB6600 при смене направления, особенно по Z, ось нередко уходит в одну сторону из-за медленной оптопары на входе Dir. Тогда Dir pulse поднимают до 10–15 мкс и проверяют полярность Step по схеме подключения. Число шагов на единицу считают из шага двигателя, микрошага и шага винта, а чужой профиль не копируют. Лечат увеличением dirsetup и длительности импульса вдвое от паспортного минимума и повторением теста. Если после этого сдвиг исчез, значит, драйвер раньше не успевал прочитать сигнал.

Резонанс

У шагового двигателя есть собственная частота, которую определяет момент инерции ротора с нагрузкой и жёсткость поля в обмотках. Когда частота шагов совпадает с ней, ротор раскачивается, и на полных шагах двигатель может перескочить на четыре положения вперёд и оказаться в неверной точке (Wikipedia, Stepper motor). Микрошаг возбуждает резонанс значительно слабее, и это одна из главных причин, по которым его включают.

Признак: на одной скорости ось сильно вибрирует и гудит, выше и ниже ходит ровно. Что делать: перейти с полного шага на 1/8 или 1/16, сменить скорость так, чтобы она не лежала в зоне резонанса, добавить демпфер на вал двигателя, использовать драйвер с функцией антирезонанса. Менять двигатель из-за резонанса приходится редко.

Механика

Если электрика исключена, остаётся механика. Проверка проста: отключите двигатели и проверьте руками ход каждой оси.

  • Заклинивание. Ось должна идти от руки ровно, без рывков и участков тугого хода. Туго идёт в одну сторону: перекос направляющих, зажатая гайка ШВП, грязь в каретках.
  • Муфта. Муфта между валом двигателя и винтом должна сидеть на обоих валах без проворота: стопорные винты упираются в лыски. Если вал в муфте проворачивается, двигатель вращается, а ось стоит: пропуск шагов без видимых причин. Отметьте маркером положение муфты на винте и на валу и посмотрите, не сдвинулась ли метка после теста.
  • Ремень. Ремень с малым натягом перепрыгивает зубья на разгоне, с большим перегружает подшипник двигателя. Если на двигателе стоит сильно натянутый шкив нагруженной оси, вал рискует сломаться от усталости: такую ось выносят на собственные опоры и соединяют с двигателем муфтой. Шкив на валу фиксируют двумя винтами под 90° на лыски, лучше шпонкой, а на нагруженных осях добавляют анаэробный фиксатор. Профиль ремня и шкива подбирают парой, об этом в статье про шкивы и звёздочки.
  • Винт. Погнутый или плохо выставленный винт даёт тугие участки хода, и нагрузка на двигатель на них резко растёт. Люфт гайки лечат заменой гайки или второй гайкой с преднатягом, осевой люфт винта — парой радиально-упорных подшипников в опоре. Программная компенсация люфта в контроллере годится как временная мера: на шаговом приводе она рискует добавить пропуски.

Если круг превратился в овал или деталь вышла меньше модели, идут по порядку: люфты и ремни, перекос портала (диагонали должны быть одной длины), шаги на миллиметр по линейке и только потом постпроцессор. Диаметр фрезы в базе CAM сверяют с реальным: 3 и 3,175 мм путают, как и диаметр с радиусом.

Помехи и проводка

Самый вредный источник помех на станке это частотный преобразователь шпинделя и его кабель. Он создаёт широкополосные наводки, которые попадают в провода step и dir, и драйвер читает лишний импульс или пропускает настоящий.

Что проверяют:

  • кабель двигателя и сигнальные провода идут отдельно от кабеля шпинделя, минимум в разных гофрах, лучше в разных каналах;
  • сигнальные провода и кабель двигателя экранированные, экран заземлён с одной стороны;
  • у шпинделя на входе частотника стоит сетевой фильтр, на выходе дроссель (подробнее о шпинделе в статье про его выбор);
  • вход драйвера на 5 В не запитан от 24 В без резистора;
  • корпус станка и экраны подключены к защитному заземлению, а сеть не проседает при пуске шпинделя (электричество в цеху).

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

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

Перегрев

Двигатель, который работает на предельном токе, греется, и чем он горячее, тем выше сопротивление обмотки и ниже ток при том же напряжении. Драйверы с защитой по температуре при перегреве отключаются или снижают ток, и ось теряет момент без предупреждения. Корпус шагового двигателя при номинальном токе нередко доходит до 70–80 °C (ориентир, смотрите паспорт; изоляция обмоток класса B допускает до 130 °C), и это не признак поломки. Но если сдвиги появляются через 20–30 минут после начала работы и пропадают после остановки, замерьте температуру корпуса инфракрасным термометром и снижайте ток по паспорту, добавляйте обдув или радиатор.

Двигатели редко виноваты в первую очередь. Чаще пропуск шагов приходит от настройки, которой никто не делал: ток по умолчанию, напряжение от блока, который был под рукой, микрошаг, выбранный для красоты.

Сергей ОрловИнженер по промышленной автоматизации и робототехнике

Порядок поиска причины

Идти надо от дешёвого к редкому. Сначала сверяют число шагов на миллиметр и частоту импульсов, затем повторяют тест с ускорением вдвое меньше: исчезла ошибка, значит, дело в моменте. Дальше проверяют ток и напряжение драйвера, прогоняют тест без шпинделя (исчезла, значит, помехи), отсоединяют двигатель и крутят ось руками (туго, значит, механика), смотрят метки на муфте и в последнюю очередь разбираются с резонансом. Если менять два параметра сразу, причина остаётся скрытой: неясно, какое из изменений помогло. Чтобы отделить электрику от механики, меняйте местами два одинаковых узла: драйверы, двигатели или сигнальные кабели на плате. Если сбой переехал вместе с драйвером, виноват драйвер; если остался на прежней оси, смотрите кабель, двигатель и механику; если перешёл на другую ось вместе с сигналом, виновата плата управления. Как вводить станок в работу после покупки, описано в плане первых трёх месяцев, а как читать и править программу, в статье про G-код.

Если все проверки сделаны, а пропуски остались, меняют схему: переходят на замкнутый шаговый привод или серво. Они не убирают причину, но превращают тихую потерю в аварию.

Частые вопросы

Почему шаговый двигатель пропускает шаги?

Причин восемь: контроллер не успевает давать импульсы, нагрузка выше момента двигателя на этой скорости (при низком напряжении питания момент падает раньше), ток драйвера выставлен неверно, драйвер не успевает распознавать сигналы step и dir, двигатель попал в резонанс, механика заклинивает, в линию попали помехи, двигатель или драйвер перегреваются. Причину ищут тестом возврата в ноль, меняя по одному параметру.

Как понять, что шаговик пропускает шаги?

По накапливающемуся смещению нуля. Выведите ось в ноль, поставьте индикатор, прогоните 50 циклов туда-обратно на рабочей подаче и вернитесь в ноль. Показание индикатора, ушедшее больше, чем на 0,02–0,03 мм, и растущее от цикла к циклу, означает потерю шагов. Постоянная ошибка в процентах это неверное число шагов на миллиметр.

Какой ток ставить на драйвере шагового двигателя?

Номинальный ток фазы из паспорта двигателя. Главное, чтобы совпали единицы: паспорт драйвера указывает либо пиковый, либо действующий ток, и разница составляет 1,41 раза. На платах A4988 от Pololu опорное напряжение считают по формуле V_REF = 8 × I × R_CS.

Влияет ли напряжение питания на пропуск шагов?

Да. Чем выше напряжение, тем быстрее нарастает ток в обмотке, и тем дольше двигатель сохраняет момент на высоких оборотах. Упрощённо для двигателя 2,5 мГн на 2000 об/мин 24 В дают около 1,4 А, 48 В около 2,8 А. Но напряжение не должно превышать предел драйвера: у A4988 это 35 В, у DRV8825 45 В.

Источники

  1. Stepper motor ↗ — Wikipedia, актуальная версия
  2. Stepper Configuration ↗ — документация LinuxCNC, максимальная частота шагов
  3. stepgen ↗ — документация LinuxCNC, параметры steplen, stepspace, dirsetup, dirhold
  4. O-codes ↗ — документация LinuxCNC, оператор repeat
  5. A4988 Stepper Motor Driver Carrier ↗ — Pololu Robotics & Electronics, ограничение тока и пропуск микрошагов
  6. DRV8825 Stepper Motor Driver Carrier ↗ — Pololu Robotics & Electronics, длительность импульса STEP и предел напряжения питания
  7. Mach3 CNC Controller, Software Installation and Configuration ↗ — ArtSoft USA, руководство, версия 3, 2008

Фото: DotEagle / Wikimedia Commons, CC BY-SA 4.0

Автор

Сергей Орлов

Инженер по промышленной автоматизации и робототехнике, 11 лет в отрасли

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

Все материалы автора →

Как мы готовим материалы — в редакционной политике. Нашли ошибку? Напишите нам.

В этом разделе: Приводы, двигатели и электроника

Все →

Комментарии

Пока никто не написал. Задайте вопрос — автор или эксперты редакции ответят.

Написать комментарий