Расчёт значения Steps per для Mach3

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
Аватара пользователя
Predator
Мастер
Сообщения: 9583
Зарегистрирован: 18 июл 2013, 18:26
Репутация: 2531
Контактная информация:

Расчёт значения Steps per для Mach3

Сообщение Predator »

Расчёт значения Steps per для Mach3

Некоторые начинающие станкостроители хоббийных станков часто задаются вопросом: как правильно расчитать зачение Steps per для станка с зубчатыми рейками?
В этой статье я постараюсь доступно ответить на этот вопрос.
motor_tuning&setup.jpg (29918 просмотров) <a class='original' href='./download/file.php?id=53611&sid=16497ff9ef780023ecf4c098249c794b&mode=view' target=_blank>Загрузить оригинал (78.74 КБ)</a>
Итак начнём...
Steps per — задаёт количество импульсов STEP, которые необходимо сформировать для перемещения инструмента на 1мм. Этот параметр зависит не только от механики, но и от выставленного на драйвере режима деления шага.
Velocity — задаёт предельно допустимую скорость перемещения по оси, выраженную в мм/мин.
Acceleration — задаёт максимальное ускорение по оси в мм/с2.

Пример расчета:
Допустим у нас на станке установлена ШВП с шагом 5мм/об., шаговый двигатель 200 шагов/об. и драйвер настроен на микрошаг 1/16.
Получается Steps per = (200 * 16) ÷ 5 = 640 шагов/мм.

Таким образом дискретность перемещения на 1 шаг равна 1 ÷ 640 = 0.0015625 мм.
Но в нашем случае на станке установлена не ШВП, а зубчатая рейка, например с модулем М1.5, поэтому расчёты будут немного другими.
Также перед расчётом необходимо посчитать количество зубьев на ведущей шестерне, для примера возьмем количество зубьев равное 30. Если передача идёт через редуктор, тогда необходимо учитывать в расчётах и редукцию, например возьмем редукцию равной 1:5.

Пример:
Во-первых, нам нужно узнать делительную окружность шестерни, шестерня у нас модуль М1,5 и 30 зубов. Получается 1,5 * 30 = 45 мм.
Во-вторых, нам нужно вычислить длину окружности (Пи*диаметр) — 3,1415926535897932384626433832795 * 45 = 141,37166941154069573081895224758. Это значит, что при полном обороте на 360° эта шестерня пройдёт расстояние 141,37166941154069573081895224758 мм, но у нас имеется редукция 1:5, значит делим на 5. Получается 141,37166941154069573081895224758 ÷ 5 = 28,274333882308139146163790449516 мм на один оборот вала двигателя.

Теперь расчет Steps per. Деление шага на драйвере двигателя выставим 1/16, это значит, что для одного оборота вала двигателя будет послано 200 * 16 = 3200 импульсов. При 3200 импульсов ось станка переместится на расстояние равное 28,274333882308139146163790449516 мм. Дальше нам нужно вычислить количество импульсов на 1мм хода. Считается это так 3200 ÷ 28,274333882308139146163790449516 = 113,17684842090334988009512062045 импульсов.

Значение Steps per = 113,17684842090334988009512062045

Примечание: Значения числа Пи и другие величины, лучше указывать полные, тогда расчёты будут точные и ось станка будет проходить нужное расстояние.
Все расчёты производились в инженерном калькуляторе встроенном в ОС Wwindows
Первоисточник статьи: Расчёт значения Steps per для Mach3
Последний раз редактировалось Predator 04 май 2021, 16:08, всего редактировалось 3 раза.
Argentum47
Мастер
Сообщения: 845
Зарегистрирован: 05 июн 2015, 10:00
Репутация: 97
Откуда: Саратов
Контактная информация:

Re: Расчёт значения Steps per для Mach3

Сообщение Argentum47 »

Может подскажите. Проблема такая, есть трёхосевой фрезерный станок, ось Х вдоль стола, У - поперёк, соответственно у Х есть зависимая ось А. Так вот Х и У калибруются на ура, с первого раза, а А проезжает на 1мм больше, причём такое ощущение что ей можно задать любое значение шагов на единицу, она всё равно проезжает проклятый миллиметр за 1.5метра хода, стол трёхметровый и такая ошибка ощутимо корёжит диагональ, все круги при приложении друг к другу и внимательном рассмотрении оказываются овалами, края которых чуть-чуть не совпадают.
Аватара пользователя
Predator
Мастер
Сообщения: 9583
Зарегистрирован: 18 июл 2013, 18:26
Репутация: 2531
Контактная информация:

Re: Расчёт значения Steps per для Mach3

Сообщение Predator »

Argentum47, Т.е. по оси X два мотора, я правильно понимаю? Но непонятен такой момент, почему второй вы выбрали ось A, а не подчинённый (slave) оси X :think:
Meg@VaD
Новичок
Сообщения: 24
Зарегистрирован: 14 июн 2015, 12:03
Репутация: 3
Настоящее имя: Вадик
Откуда: Бор
Контактная информация:

Re: Расчёт значения Steps per для Mach3

Сообщение Meg@VaD »

При микрошаге мы не можем гарантировать постоянную дискретность, по крайней мере - у меня не получалось с a4982, небольшими шаговиками(14) "не помню какой фирмы" и микрометром на 0.01 . Полагаю - для бОльших размеров ШД и более серьёзных драйверов это тоже верно, пусть мою статистику дополнят те, кто работал с другими типами драйверов и ШД. Для точного результата попробую энкодер на 5000имп с шаговиком через этот драйвер (и другие драйвера и шаговики, что валяются пока без дела), но не сегодня (т.к. при текущем разрешении энкодера у моей системы(писал простую программу для arduino uno) не хватило скорости чтобы не пропускать импульсы, надо на fpga пробовать, а я ни бельмеса в них пока ещё).
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

Re: Расчёт значения Steps per для Mach3

Сообщение aftaev »

Predator писал(а):Расчёт значения Steps per для Mach3
есть така фишка в Мач3 "калибровка оси", ее запускаешь, Мач3 проезжает указанное расстояние и сам все рассчитывает Re: Ликбез #25 и не нужен секс с расчетами, даже не нужно знать какой микрошаг, винт и тд.. стоит в станке ;)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Argentum47
Мастер
Сообщения: 845
Зарегистрирован: 05 июн 2015, 10:00
Репутация: 97
Откуда: Саратов
Контактная информация:

Re: Расчёт значения Steps per для Mach3

Сообщение Argentum47 »

Argentum47 писал(а):Может подскажите. Проблема такая, есть трёхосевой фрезерный станок, ось Х вдоль стола, У - поперёк, соответственно у Х есть зависимая ось А. Так вот Х и У калибруются на ура, с первого раза, а А проезжает на 1мм больше, причём такое ощущение что ей можно задать любое значение шагов на единицу, она всё равно проезжает проклятый миллиметр за 1.5метра хода, стол трёхметровый и такая ошибка ощутимо корёжит диагональ, все круги при приложении друг к другу и внимательном рассмотрении оказываются овалами, края которых чуть-чуть не совпадают.
Снова такая же ерунда, все оси кроме зависимой Х (А) калибруются штатно по скрипту, зависимые оси скриптом не калибруются, пересчитываю вручную ((должен/проехал)*текущий шаг/мм) четыре раза, а она столько же проезжает...
Argentum47
Мастер
Сообщения: 845
Зарегистрирован: 05 июн 2015, 10:00
Репутация: 97
Откуда: Саратов
Контактная информация:

Re: Расчёт значения Steps per для Mach3

Сообщение Argentum47 »

Я не понимаю, для зависимой оси значение шаг/мм берётся её собственное или той оси для которой она зависимая, иногда как-то получается, иногда вот вообще ничего не происходит.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11622
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Расчёт значения Steps per для Mach3

Сообщение michael-yurov »

Argentum47 писал(а):Может подскажите. Проблема такая, есть трёхосевой фрезерный станок, ось Х вдоль стола, У - поперёк, соответственно у Х есть зависимая ось А. Так вот Х и У калибруются на ура, с первого раза, а А проезжает на 1мм больше, причём такое ощущение что ей можно задать любое значение шагов на единицу, она всё равно проезжает проклятый миллиметр за 1.5метра хода, стол трёхметровый и такая ошибка ощутимо корёжит диагональ, все круги при приложении друг к другу и внимательном рассмотрении оказываются овалами, края которых чуть-чуть не совпадают.
Случайно не через StepMaster работает?
А то могла попасться плата с дефектными китайскими процессорами.
Argentum47
Мастер
Сообщения: 845
Зарегистрирован: 05 июн 2015, 10:00
Репутация: 97
Откуда: Саратов
Контактная информация:

Re: Расчёт значения Steps per для Mach3

Сообщение Argentum47 »

michael-yurov писал(а): Случайно не через StepMaster работает?
А то могла попасться плата с дефектными китайскими процессорами.
Нет, пока стоит злосчастная PLC6X-G2, но она по сути просто опторазвязка и клеммный терминал с парой нерабочих доп. функций, я думаю что причина в маче, его настройках или логике работы зависимой оси, потому что происходит это только с ней. Параметры обоих сервоусилителей абсолютно идентичны, но из-за механики step per у них немного разный и один двигатель проезжает за 1м на пять десяток меньше. Причём это уже другой станок, но с точно такой же проблемой.
Argentum47
Мастер
Сообщения: 845
Зарегистрирован: 05 июн 2015, 10:00
Репутация: 97
Откуда: Саратов
Контактная информация:

Re: Расчёт значения Steps per для Mach3

Сообщение Argentum47 »

66.* и 80 импульсов на мм - один так же на 0.5 меньше проезжает т.е туда можно что угодно ввести, этот параметр не учитывается...
Аватара пользователя
Caponi
Мастер
Сообщения: 356
Зарегистрирован: 10 июн 2015, 16:30
Репутация: 68
Настоящее имя: Евгений
Откуда: Санкт-Петербург/Новороссийск
Контактная информация:

Re: Расчёт значения Steps per для Mach3

Сообщение Caponi »

Огромная благодарность для инструкцию =)
А как считать для поворотной оси?
например диаметр патрона 250мм

хотя вроде посчитал, подставил вместо шестерни свой патрон
путь в тысячу ли начинается с первого шага
NikolayUa24
Мастер
Сообщения: 1407
Зарегистрирован: 31 июл 2013, 20:05
Репутация: 256
Настоящее имя: Николай
Контактная информация:

Re: Расчёт значения Steps per для Mach3

Сообщение NikolayUa24 »

Caponi писал(а):подставил вместо шестерни свой патрон
И фрезеровать будешь патрон ?
Страдания ведут человека к совершенству.
Аватара пользователя
Caponi
Мастер
Сообщения: 356
Зарегистрирован: 10 июн 2015, 16:30
Репутация: 68
Настоящее имя: Евгений
Откуда: Санкт-Петербург/Новороссийск
Контактная информация:

Re: Расчёт значения Steps per для Mach3

Сообщение Caponi »

Николай подсказал как считать.
путь в тысячу ли начинается с первого шага
Аватара пользователя
Predator
Мастер
Сообщения: 9583
Зарегистрирован: 18 июл 2013, 18:26
Репутация: 2531
Контактная информация:

Re: Расчёт значения Steps per для Mach3

Сообщение Predator »

Caponi писал(а):Николай подсказал как считать.
Расчитал, работает? :)
Аватара пользователя
Caponi
Мастер
Сообщения: 356
Зарегистрирован: 10 июн 2015, 16:30
Репутация: 68
Настоящее имя: Евгений
Откуда: Санкт-Петербург/Новороссийск
Контактная информация:

Re: Расчёт значения Steps per для Mach3

Сообщение Caponi »

Predator писал(а):
Caponi писал(а):Николай подсказал как считать.
Расчитал, работает? :)
Что то как насчитал - не работает.
Наугад поставил в маче 88 step, на драйвере стоит 3200, редуктор 10к1
Снова посчитали =)Теперь должно получится =)
путь в тысячу ли начинается с первого шага
01091989
Новичок
Сообщения: 14
Зарегистрирован: 11 сен 2017, 00:34
Репутация: 0
Настоящее имя: Harut
Контактная информация:

Re: Расчёт значения Steps per для Mach3

Сообщение 01091989 »

ДОБРОГО ВРЕМЕНИ СУТОК А КАК РАССЧИТАТЬ STEP PER ДЛЯ ПОВОРОТНОЙ ОСИ ЕСЛИ ОСЬ ВМЕСТО ОСИ x
sas_75
Мастер
Сообщения: 463
Зарегистрирован: 10 мар 2015, 11:03
Репутация: 114
Настоящее имя: Сергей
Откуда: Владивосток
Контактная информация:

Re: Расчёт значения Steps per для Mach3

Сообщение sas_75 »

Если правильно понимаю, хотите делать из 2D модели?
Для привода с шаговым двигателем (с шагом 1,8 град) и редукцией "M":
step per=200*n*M/L, где n - микрошаг, L - размер модели по Х.
Другими словами, на один оборот патрона поворотки должна приходиться вся длина картинки.
Если размер по Х будет меняться, придется менять и step per каждый раз.
Выход из положения - рассчитать step per под определенную величину, например (360 градусов), а G-код модифицировать посредством скрипта, преобразовав значение координаты Х в значение градусов,
т.е. умножая Х на величину 360/L. Тогда: step per=200*n*M/360 будет величиной постоянной.
Pavel031
Новичок
Сообщения: 1
Зарегистрирован: 01 сен 2018, 14:47
Репутация: -1
Настоящее имя: Pavel
Контактная информация:

Re: Расчёт значения Steps per для Mach3

Сообщение Pavel031 »

У вас 2 глобальные ошибки в расчетах.
Аватара пользователя
Predator
Мастер
Сообщения: 9583
Зарегистрирован: 18 июл 2013, 18:26
Репутация: 2531
Контактная информация:

Re: Расчёт значения Steps per для Mach3

Сообщение Predator »

Pavel031 писал(а):У вас 2 глобальные ошибки в расчетах.
Это утверждение кому предназначалось?
Lightaction
Новичок
Сообщения: 2
Зарегистрирован: 05 окт 2018, 13:03
Репутация: 0
Настоящее имя: Алексей
Контактная информация:

Re: Расчёт значения Steps per для Mach3

Сообщение Lightaction »

Argentum47 писал(а):
Argentum47 писал(а):Может подскажите. Проблема такая, есть трёхосевой фрезерный станок, ось Х вдоль стола, У - поперёк, соответственно у Х есть зависимая ось А. Так вот Х и У калибруются на ура, с первого раза, а А проезжает на 1мм больше, причём такое ощущение что ей можно задать любое значение шагов на единицу, она всё равно проезжает проклятый миллиметр за 1.5метра хода.
Снова такая же ерунда, все оси кроме зависимой Х (А) калибруются штатно по скрипту, зависимые оси скриптом не калибруются, пересчитываю вручную ((должен/проехал)*текущий шаг/мм) четыре раза, а она столько же проезжает...
Здравствуйте! У меня точно такая же проблема, ось sleeve A не калибруется, проезжает на миллиметр дальше, чем Х. Решили ли вы свою проблему, в чём она была, если не секрет, буду рад любой помощи, ткните носом, куда копать?
Ответить

Вернуться в «Windows / Mach»