Как посчитать шаги шагового двигателя

Arduino.ru

Шаговый двигатель: как посчитать сделанные шаги?

Есть исполнительный механизм, который управляется шаговым двигателем. (допустим, это манипулятор робота)

Когда подается питание на всю конструкцию (и на управляющую Ардуину в том числе) то неизвестно, в каком положении находится этот манипулятор. Для того, чтобы узнать это в самом начале выполнения программы необходимо повернуть манипулятор в левое крайнее положение (до концевой кнопки), там произвести сброс некой переменной, а потом произвести поворот вправо (до другой концевой кнопки) и там записать новое значение переменной. Значением этой переменной должно быть количество шагов, которое сделал шаговик, проходя путь от левой кнопки до правой. В дальнейшем за позиционирование манипулятора будет отвечать число, которое находится в этом диапазоне. Но как можно посчитать количество сделанных шагов от одного события (сигнал от кнопки) до другого (сигнал от другой кнопки)? Смотрел стандартную библиотеку. Не нашел даже намека на подобную возможность.

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

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

Источник

CNC-DESIGN

Шаговые двигатели выбор и расчет основных параметров

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

Недостатки:
— может возникнуть явление резонанса, при некорректном расчете узла или системы управления;
— двигатель непрост вэксплуатации наочень высоких скоростях, 3000+ об/мин;
— сложность системы управления;
— падение мощности с ростом скорости вращения;
— отсутствие обратной связи;
— невысокая удельная мощность;
— низкая скорость вращения;
— шум.

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

Количество полюсов (однополюсный/биполярный)
Обычно шаговые двигатели имеют две фазы, но также существуют трех- и пятифазные двигатели. Биполярный двигатель с двумя фазами имеет одну обмотку/фазу, а однополярный двигатель имеет одну обмотку с центральным отводом на фазу. Иногда шаговый двигатель называют четырехфазным двигателем, хотя он имеет только две фазы. Двигатели с двумя отдельными обмотками на фазу могут приводиться в двухполярный или однополярный режим. Желательно, чтобы количество проводов на двигателе соответствовало количеству контактов на драйвере, чтобы не заниматься различными ухищрениями при подключения.

Номинальный ток
Обычно указывается максимальный ток, который подается одновременно на обе обмотки. Максимальный ток через одну обмотку (который действительно имеет значение при использовании микрошагов) указывается достаточно редко. При подаче номинального тока на одну обмотку происходит нагрев двигателя, из-за этого обычно ограничивают ток двигателя не более 85% от номинального тока. Для достижения максимального крутящего момента двигателя без перегрева, необходимо выбрать двигатель с номинальным током не более чем на 25% выше, чем рекомендуемый максимальный ток привода шагового двигателя.

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

Удерживающий момент
Это максимальный крутящий момент, который может обеспечить двигатель, когда обе обмотки находятся под напряжением при полном токе. Крутящий момент пропорционален току (за исключением очень малых токов), поэтому, например, если вы установите драйверы на 85% от номинального тока двигателя, то максимальный крутящий момент будет 85% * 0,707 = 60% от указанного удерживающего момента.
Крутящий момент возникает, когда угол ротора отличается от идеального угла, который соответствует току в его обмотках. Когда шаговый двигатель ускоряется, возникает крутящий момент для преодоления собственной инерции ротора и массы нагрузки, приводимой в движении. Чтобы создать этот крутящий момент, угол ротора должен отставать от идеального угла.
Известно, что использование микрошага снижает крутящий момент. На самом деле это означает, что угол запаздывания равен углу, соответствующему одному микрошагу (поскольку вы хотите, чтобы положение было с точностью до одного микрошага), более высокое значение микрошага предполагает уменьшение угла, а значит и уменьшение крутящего момента. Крутящий момент на единицу угла (что действительно имеет значение) не уменьшается при увеличении микрошага. Иными словами, отправка импульса на двигатель на один микрошаг 1/16 приводит к точно таким же фазовым токам (и, следовательно, к тем же силам), что и к отправке двух 1/32 микрошагов или четырех 1/64 микрошагов и так далее.

Читайте также:  вспольинское поле прокат инструмента

Размер
Шаговые двигатели также классифицируются в соответствии с размерами корпуса, которые соответствуют размеру рамы двигателя. Например, шаговый двигатель NEMA11 имеет размер рамы приблизительно 1,1 дюйма (28 мм). Аналогично, шаговый двигатель NEMA23 имеет размер корпуса 2,3 дюйма (57 мм) и т. д. Однако длина корпуса может изменяться от двигателя к двигателю в рамках одной и той же классификации размеров, при этом крутящий момент двигателя с определенным размером рамы будет увеличиваться с увеличением длины корпуса.

— габарит рамы 20х20 мм;
— диапазон длин: 30-42 мм;
— крутящий момент: 0,18-0,3 кг*см.

— габарит рамы 28х28 мм;
— диапазон длин: 32-51 мм;
— крутящий момент: 0,43-0,9 кг*см.

— габарит рамы 35х35 мм;
— диапазон длин: 28 мм;
— крутящий момент: 1,0 кг*см.

— габарит рамы 39х39 мм;
— диапазон длин: 20-38 мм;
— крутящий момент: 0,65-2,0 кг*см.

— габарит рамы 42х42 мм;
— диапазон длин: 25-60 мм;
— крутящий момент: 1,7-6,5 кг*см.

— габарит рамы 56х56 мм;
— диапазон длин: 41-76 мм;
— крутящий момент: 2,88-18,9 кг*см.

— габарит рамы 86х86 мм;
— диапазон длин: 65-156мм;
— крутящий момент: 34-122 кг*см.

— габарит рамы 110х110 мм;
— диапазон длин: 99-201 мм;
— крутящий момент: 112-280 кг*см.

— габарит рамы 130х130 мм;
— диапазон длин: 165-270 мм;
— крутящий момент: 270-500 кг*см.

Угол шага.
Существует два распространенных угла шага: 0,9 и 1,8 градуса на полный шаг, что соответствует 400 и 200 шагам/оборот. Большинство устройств используют двигатели с шагом 1,8 град/шаг.
При заданной скорости вращения 0,9-градусный двигатель производит вдвое больше индуктивной обратной эдс, чем 1,8-градусный двигатель, из-за этого возможно будет необходимо использовать питание 24 В для достижения высоких скоростей с двигателями 0,9 градуса.
Для двигателей 0,9 градуса необходимо подавать шаговые импульсы драйвера с удвоенной скоростью по сравнению с двигателями 1,8 градуса. Если вы используете высокий микрошаг, тогда скорость может быть ограничена скоростью, с которой электроника может генерировать шаговые импульсы.

Разрешение и точность позиционирования.
На разрешение и точность позиционирования системы шагового двигателя влияют несколько факторов: угол шага (длина полного шага шагового двигателя), выбранный режим движения (полный шаг, полшага или микрошаг) и скорость передачи. Это означает, что есть несколько различных комбинаций, которые можно использовать для получения желаемого разрешения, из-за этого проблема разрешения обычно может быть решена после того, как были определены размер двигателя и тип привода.

оборотов_в_секунду=(2*напржение_БП)/(шагов_на оборот*3,14* индуктивность* ток)

Если двигатель приводит ремень GT2 через шкив, это дает максимальную скорость в мм/с как:

Например:
двигатель 1,8 град/шаг ( т. е. 200 шагов/об) с индуктивностью 4 мГн работает при 1,5, А при напряжении питания 12 В, и привод ремня GT2 с 20-зубчатым шкивом начинает терять крутящий момент со скоростью около 250 мм/с.
На практике крутящий момент начинает падать раньше, чем это из-за обратной эдс, вызванной движением, потому что не учитывается сопротивление обмоток. Моторы с низкой индуктивностью также имеют низкую ЭДС из-за вращения. Для достижения высоких скоростей, необходимо выбирать двигатели с низкой индуктивностью и высоким напряжением питания.

Сопротивление и номинальное напряжение
Это сопротивление на фазу и падение напряжения на каждой фазе, когда двигатель неподвижен, и фаза передает свой номинальный ток (который является результатом сопротивления и номинального тока). Это важно когда номинальное напряжение значительно ниже напряжения питания для шаговых драйверов.

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

Формула предполагает, что удерживающий момент указан для обеих фаз, находящихся под напряжением при номинальном токе. Если это указано только с одной фазой под напряжением, замените 1,414 на 2.
Пример: рассмотрим 200-шаговый двигатель, приводящий каретку через шкив с 20 зубцами и ремень GT2. Это 40-миллиметровое движение за оборот. Для достижения скорости 200 мм/сек нам нужно 5 об/сек. Если мы используем двигатель с удерживающим моментом 0,55 Нм, когда обе фазы работают при 1,68, А, пиковая обратная эдс из-за вращения составляет

Читайте также:  dead island de dead island definitive collection читы

1,414 * 3,142 * 0,55 * 5 / 1,68 = 7,3 В.

Как вбрать необходимое напряжение питания
Если заранее известна необходимая скорость движения для вашего устройства, можно предварительно определить, какое напряжение питания вам потребуется для драйверов двигателя.
Пример: определим необходимую скорость движения. Для этого примера будем использовать 200 мм/сек, передача шкив 20 зубьев GT2.
Исходя из необходимой скорости движения, определим максимальную скорость ремня.
Прикинем обратную ЭДС от индуктивности:

Вычислим обратную ЭДС из-за вращения по приведенной ранее формуле.
Двигатели для примера имеют номинальный ток 1,68А и момент удержания 0,44 Нм, поэтому результат равен:

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

Общие рекомендации:
— если не планируется использовать внешние драйверы шаговых двигателей, выбирайте двигатели с номинальным током не менее 1,2, А и не более 2,0 А.
— рассчитывайте на рабочий ток шагового двигателя 50-85% от номинального.
— размер:
Nema 17- самый популярный размер, используемый в домашних проектах.
Nema 23 необходимо использовать если не хватает крутящего момента от длинных двигателей Nema 17.
— старайтесь не использовать двигатели с номинальным напряжением (или произведением номинального тока и фазового сопротивления)> 4 В или индуктивности> 4 мГн.
— выборйте двигатель с 0,9 град/шаг, если необходима дополнительная точность позиционирования, для стандартных решений используйте двигатели 1,8 град/шаг.
— при использовании 0,9 градусных шаговых двигателей или двигателей с высоким крутящим моментом, необходимо применение блоков питания с напряжением 24 В, чтобы поддерживать крутящий момент на более высоких скоростях.

Источник

UNI Форум

Расчет количества шагов (STEP VALUE)

Расчет количества шагов (STEP VALUE)

Сообщение demonlibra » 26 окт 2020, 14:56

STEP VALUE = (360 / Угол шага двигателя) х Деление драйвера / Длина окружности шкива
Длина окружности шкива = шаг (мм) х количество зубов шкива

Для двигателя с шагом 1.8, микрошагом драйвера 1/16 и шкива 20-GT2: STEP VALUE = 80
STEP VALUE = (360 / 1.8) х 16 / (20 х 2) = 80

Для двигателя с шагом 0.9, микрошагом драйвера 1/16 и шкива 20-GT2: STEP VALUE = 160
STEP VALUE = (360 / 0.9) х 16 / (20 х 2) = 160

STEP VALUE = (360 / угол шага двигателя) х Деление драйвера / Ход гайки за один оборот винта
Ход гайки за один оборот винта = Шаг винта х Количество заходов винта
Виды трапецеидальных винтов

Для двигателя с шагом 1.8, микрошагом драйвера 1/16 и 4-х заходного винта (ход гайки 8 мм за один оборот): STEP VALUE = 400
STEP VALUE = (360 / 1.8) х 16 / 8 = 400

Для двигателя с шагом 1.8, микрошагом драйвера 1/16 и 2-х заходного винта (ход гайки 4 мм за один оборот): STEP VALUE = 800

Для двигателя с шагом 1.8, микрошагом драйвера 1/16 и 1-о заходного винта (ход гайки 2 мм за один оборот): STEP VALUE = 1600

STEP VALUE = (360 / угол шага двигателя) х Деление драйвера / (Длина окружности шестерни х Коэффициент передачи)

Коэффициент передачи определяется шестернями редуктора.
Для экструдеров BMG и TITAN коэффициент передачи 1/3 и STEP VALUE примерно равен 400.
STEP VALUE = (360 / 1.8) х 16 / (7.5 х 0.33) ≈ 400
Точное значение определяется экспериментально.

Микрошаг драйвера (MicroStep) = 1/16 можно считать оптимальным значением.
Значение меньше 1/8 негативно повлияет на плавность хода и качество печати, больше 1/16 только увеличит нагрузку на микроконтроллер, но ничего не даст взамен.

Источник

cnc-club.ru

Статьи, обзоры, цены на станки и комплектующие.

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

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

Сообщение Predator » 14 май 2015, 21:36

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

Пример расчета:
Допустим у нас на станке установлена ШВП с шагом 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

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

Источник

Расчет и настройка ремённой и винтовой придачи ЧПУ станка. Калибровка.

При расчете нужно учитывать один немало важный параметр, который мы еще не рассматривали подробно – это Микрошаг.

Что такое микрошаг и как настраивать микрошаг шагового двигателя.

Основной параметр шаговых двигателей (ШД) это количество шагов на 1 оборот. Самое распространённое значение для ШД – 200 шагов на оборот (или 1,8 градуса на шаг). Мы будем использовать это разрешение во всех сегодняшних примерах. Более точную информацию можно узнать в описании к вашему шаговому двигателю. Зачастую 200 шагов на оборот, могут быть недостаточными для достижения необходимой точности. С целью повышения точности можно изменить передаточное число механически (использовать редуктор), а можно включить микрошаг – режим деления шага шагового двигателя, это увеличит число шагов на оборот, с коэффициентом 2n (n — целое число). Драйвер A4988 поддерживает деление шага: 1, 1/2, 1/4, 1/8, 1/16. Подробнее о драйвере A4988 читайте тут: Драйвер шагового двигателя A4988. Драйвер DRV8825 поддерживает деление шага: 1; 1/2; 1/4; 1/8; 1/16; 1/32. Подробнее о драйвере DRV8825 читайте тут: Драйвер шагового двигателя DRV8825.

Давайте рассмотрим пример. Если мы выставим микрошаг 16, что является в 16 раз больше полного шага и в нашем примере даст 3200 (200х16) шагов на оборот. На первый взгляд это отличный результат и почему бы не использовать максимальное деление шага во всех станках. Но тут есть и минус – это падение крутящего момента при увеличении деления шага. Подробнее Микрошаг рассмотрим в следующей статье.

Расчёт винтовой передачи ЧПУ станка.

Винтовая передача ЧПУ, либо ее более продвинутый вариант шарико-винтовая передача (ШВП), являются наиболее часто используемым вариантом перевода вращательного движения вала шагового двигателя в линейное перемещение исполнительного механизма.

Для расчёта разрешения нам необходимо знать ШАГ винта, либо шаг винта ШВП. В описании трапецеидальных винтов обычно пишут Tr8x8,Tr10x2, первая цифра говорит нам о диаметре винта, вторая как раз о его шаге в мм. Винты ШВП обычно обозначаются 1204, 1605 и т.п. Первые 2 цифры – это диаметр винта, вторые две – это шаг в мм. В 3d-принтерах обычно используют винт Tr8x8, диаметром 8 мм и с шагом 8 мм. Обзор моего 3d-принтера можно посмотреть тут:Обзор 3D принтера Anet A8. Сборка. Наладка.

Формула расчета винтовой передачи ЧПУ получается следующей, в числителе – количество шагов на оборот, в знаменателе – перемещение за оборот.

Тп = Sшд*Fшд/Pр

Рассчитаем пример со следующими параметрами, двигатель 200 шагов на оборот, с 4-кратным микрошагом, с трапецеидальным винтом Tr8x8 даст нам 100 шагов на мм.

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

Расчетные значения нужно указать в прошивке GRBL:

Расчет ременной передачи ЧПУ станка.

Во многих ЧПУ станках используются ремни и шкивы. Ремни и шкивы бывают разных форм и размеров, но одним из распространённых стандартов является GT2.

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

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

Тлп = Sшд*Fшд/Pр*Nшк

Попробуем посчитать для примера с такими параметрами, двигатель 200 шагов на оборот, с 2-кратным микрошагом, 2-миллиметровыми ремнями GT2 и шкивом с 20 зубцами даст нам 10 шагов на мм.

200*2/2*20=10 шагов/мм.

Данный пример подойдет для расчета перемещения 3d-принтера. ЧПУ станков на ремнях: лазерный гравировальный, плоттер и пр.

Расчетные значения нужно указать в прошивке GRBL:

Калибровка ЧПУ станка.

После настройки станка необходимо проверить точность перемещения станка по осям. Для этого нужно отправить команду на перемещение по оси, на относительно большое расстояние. Я чаще всего использую 100 мм. После чего произвести замер перемещения. Если значения не отличаются – это означает, что все работает верно. Но если расстояние перемещения больше или меньше, то нужно внести корректировку – провести калибровку ЧПУ станка. Для этого будем использовать формулу:

Тк = Тп * Kп / Kф

Для примера проведем расчёт винтовой придачи, которую рассчитывали выше и выяснили, что нужно совершить 100 шагов для перемещения на 1 мм. Также допустим, что мы отправили команду на перемещение станка на 100 мм, а по факту он переместился на 99 мм. Произведём расчет:

100*100/99=101,01 шагов/мм.

Указываем данное значение в прошивке GRBL и проводим калибровку еще раз. Если ЧПУ станок перемещается на заданное значение, можно пользоваться станком. Иначе проводим повторную калибровку.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

Спасибо за внимание!

Технологии начинаются с простого!

Источник

Обучающий онлайн портал