Андрей Смирнов
Время чтения: ~8 мин.
Просмотров: 26

Домашний CNC. Часть 1. Драйвер шагового двигателя для мини-станка с ЧПУ

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

     Для настройки тока нам понадобится: — контроллеры с установленными драйверами; — драйвера А4988 или DRV8825; — мультиметр; — отвертка.

     Для начала необходимо собрать и подключить всю систему в полношаговом режиме. После сборки «бутерброда» из контроллера Ардуино, ЧПУ шилда и драйверов шаговых двигателей необходимо подключить шаговые двигатели. В описании к выбранным моторам надо узнать значение максимального тока Imax (для примера у шагового двигателя 17HS8401 это значение 1,8А)      Затем надо рассчитать значение опорного напряжения Vref на переменном резисторе для каждого типа драйверов, у нас их два: А4988 или DRV8825.     Формула опорного напряжения Vref для драйверов отличается.

     Расчет для драйвера типа А4988. Для A4988 формула расчета зависит от номинала резисторов, которые распаяны на плате драйвера. Если присмотреться, то можно увидеть надписи R050 или R100.Driver-A4988.jpg

Vref = Imax * 8 * (RS)

Для двигателя из нашего примера 17HS8401

Vref = 1,8 * 8 * 0,100 = 1,44 В.

Из-за того, что рабочий ток двигателя обычно рекомендуется ограничивать в 70% от максимального тока, для уменьшения перегрева двигателя, полученное значение необходимо умножить на 0,7.

Vref= 1,44*0,7 = 1,01 В.

     Расчет для драйвера типа DRV8825.

Формула опорного напряжение для данного типа драйвера:

Vref = Imax/2

При рекомендованной работе на 70% от максимального тока двигателя, подставив значения для нашего примера, получим следующие значения:

Vref = 0.7*1,8 / 2 = 0.63V

     Настройка тока драйвера на контроллере.

Для настройки необходимо подключить сборку плат к компьютеру, 

Driver-A4988-current-assy.jpg

Включить на мультиметре измерение постоянного напряжения напротив положения «20».

 Multimetr-current.jpg

Для измерения напряжения необходимо минусовой щуп приложить к минусу на CNC Sheild, а положительный щуп замкнуть с подстроечным резистором, который по совместительству является «+» в данной схеме.

CNC-sheild-current-tuning.jpg

Необходимо вращать подстроечный резитор, пока мультиметр не покажет требуемое значение напряжения, при вращении по часовой стрелке, значения растут, против часовой стрелки  — напряжение падает.

Настройку расчетных значений необходимо повторить это для всех активных драйверов в сборке. 

Определение и изменение значения микрошага на который настроен драйвер. Определние на какой микрошаг настроен драйвер шагового мотора для чайников. Откройте блок блок управления и найдите место, где в нём установлены коробочки примерно такого вида:post-5569-0-42833100-1390959830.jpg Число коробочек и число осей станка должно совпадать. если есть поворотная ось,то для неё как может быть отдельная коробочка,как и нет. В этом случае вам при продаже станка должны были сказать, что поворотная ось подключается вместо одной из линейных осей. Также на станках улучшенной конструкции на некоторые оси может быть установлен не один мотор, а два в крайнем положении оси каждый. Такая конструкция делается для того,чтобы более точно позиционировать инструмент по краям рабочего поля. При правильном подключении такие моторы подключаются к ЧПУ не зависимо друг от друга и то, что они управляют одной осью задаётся соответсвующими настройками внутри ЧПУ собственно. На одной из коробочек найдите таблицу соответствия числа шагов и положения переключателей для настройки микрошага. Выглядит обычно эта таблица так:post-5569-0-28683800-1390960316.jpg Первый столбец этой таблицы назван Pulse/Rev,то есть число шагов на один оборот двигателя. Вообще говоря,хотя угол,на который поворачивается двигатель при одном полном шаге и стандартен, но в стандарте есть и другие значения угла поворота двигателя при полном шаге. Например LeadShine производит двухфазные двигатели с углами поворота в 0,9 и 1,8 градуса. Соответственно на один оборот будет приходиться в первом случае 360/0,9=400 шагов. Во втором случае только 200. Но тем не менее в таблице указан не микрошаг,а число шагов на оборот для конкретного двигателя. Чтобы получить от туда микрошаг разделим число шагов на оборот в каждой строке на число шагов двигателя для которого сделана таблица. Для какого двигателя делалась таблица на каробке драйвера не объясняется,поэтому будем его угадывать. Наиболее распространённый вариант двигателя имеет 200 шагов на оборот. Делим на него числа из таблицы и получаем последовательность 200:200=2^0=1 (Целый,не дроблёный шаг,в таблице вместо 200 стоит слово default ) 400:200=2^1=2 800:200=2^2=4 1600:200=2^3=8 3200:200=2^4=16 6400:200=2^5=32 12800:200=2^6=64 25600:200=2^7=128 Отношения совпадают со степенями двойки,так что похоже,что предположение о том, что таблица составлена для двигателя с 200 шагами на оборот правильное. То что указано справа и есть микрошаг — отношение числа микрошагов к одному полному шагу двигателя. Чтобы определить на какой микрошаг настроен драйвер,посмотрим на названия других столбцов таблицы. Они называются SW5,SW6 и SW7. Так обычно называют всякие переключатели и выключатели. Теперь поищем их,обычно они находятся на верху между двумя группами клем, но могут быть выведены и в другом месте. Осматриваем драйвер и находим вот это:post-5569-0-39472400-1390959167.jpg Переключатель справа круговой,а значит принимать сразу значения из всех трех столбцов не может. А вот слева есть набор из 8 тумблеров и так как никаких других переключателей у драивера нет, предпологаем.чтоименно их и имеют ввиду в этой таблице и смотрим на положение 5,6 и 7 тумблера соответственно. Видим что все они в верхнем положении,но что это значит,ON или OFF? Слева внизу на тумблере есть надпись ON и указывающая на него стрелка. Значит положение переключателя внизу означает что он включен (ON). А все три переключателя в верхнем положении,значит они в состоянии OFF. Ищем соответствующею строку в таблице и видим,что ей соответствует микрошаг 128. При таком микрошаге драйвер может работать не стабильно,поэтому уменьшим его 8. Смотрим в таблице положение выключателей для такого микрошага и видим, что для перенастройки драйвера на него надо переключатели SW5,SW6 надо оставить в положении OFF, а переклячатель SW7 опустить в низ в состояние ON. Выключам станок,коли он у вас был включен и переключаем тумблеры. Готово,теперь у нас микрошаг 8 и теперь остаётся только соответственно перенастроить ЧПУ, а то будет изменение маштаба в 128:8 раз.

Я сам очень долго не уделял этому вопросу должного внимания. Во первых не хотел разбираться. Во вторых считал, что настройка в рабочих условиях (во время тестовой печати на завышенных режимах) самая правильная. Это конечно верно, но настал момент, когда в моей коллекции появился третий вид драйверов TMC2100 и чтобы их адекватно сравнить с драйверами A4988 нужно их одинаково и правильно настроить по току используемого шагового двигателя.

Что нам даёт правильная настройка тока для шаговых двигателей?

  1. Снижение шума от работы принтера при завышенном токе
  2. Избавление от сдвига слоёв (пропуска шагов) при низком токе
  3. Снижение нагрева шагового двигателя или его драйвера

Какие обычно используют шаговые двигатели?

17HS4401.jpg

17HS4401 ток 1,7A – обычные

17HS8401 ток 1,8А – более мощные

17HS4402 ток 1,3A – по некоторым сведениям менее шумные, чем 17HS4401

Драйверы шаговых двигателей

A4988 на ток до 2А – очень широко распространён и недорогой

A4988_2.jpg

DRV8825 на ток до 2,2А – интересен большей мощностью и микрошагом 1/32

DRV8825_2.jpg

TMC2100 на ток RMS 1,2А  (с пиками до 2,5А) – интересен самостоятельным дроблением микрошага 1/16 до 1/255, что в итоге снижает шум работы шагового двигателя не загружая при этом дополнительными расчётами Ардуину.

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

TMC2100.jpg

Настройка тока на драйверах ШД

2016-01-11_220519.jpg

Минусовой щуп мультиметра подсоединяем к контакту GND (минус, он общий), плюсовым прикасаемся к корпусу подстроечного резистора на драйвере. Крутим подстроечный резистор отвёрткой и замеряем расчётное напряжение Vref. Таким образом мы выставляем правильный ток для драйвера шагового двигателя. Для каждого вида драйвера своя формула расчета Vref.

Vref – пин замера напряжения для установки тока по формуле.

Current Limit – ток шагового двигателя.

A4988

Формула Vref для A4988 изменяется от номинала токочувствительных резисторов. Это два чёрных прямоугольника на плате драйвера. Обычно подписаны R050 или R100.

Vref = Current Limit * 8 * (RS)

Например для 17HS4401: Vref = 1,7 / 2,5 = 0,68В

DRV8825

Current Limit = Vref * 2

Vref = Current Limit / 2

Например для 17HS4401: Vref = 1,7 / 2 = 0,85В

TMC2100

Irms = (Vref * 1,77A) / 2,5V

Vref = (Irms * 2,5V) / 1,77A

Current Limit = 1.41 * Irms

Например для 17HS4401: Vref = (Current Limit * 0,707 * 2,5В) / 1,77А = (1,7 * 0,707 * 2,5) / 1,77 = 1,697В

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

2016-01-11_211849.jpg

В некоторых случаях для снижения нагрева драйвера приходится снижать Vref, а значит для защиты от пропуска шагов нужно уменьшать ускорения в прошивке. Соответственно при снижении ускорений общая скорость печать 3D принтера снижается. Разумный минимум для ускорений 500 мм/с^2. Отсюда вывод: уровень шума можно снизить почти на любом 3D принтере, снижая ускорения и Vref, но при этом Vref придётся подбирать опытным путём.

Сравнение громкости работы двигателя на разных Vref

  • Шаговый двигатель Wantai 42BYGHW609 ток 1,7А
  • Драйвер A4988
  • 3D принтер Mendel90

Тестовый G-код примерно такой (правил в процессе и после)

Используем аудиоредактор Audacity. Примитивный микрофон подключен к встроенной аудиокарте ПК. Микрофон прижат к корпусу ШД и сверху обмотан поролоном. Надеюсь этого хватит для регистрации уровня шума.

Vref устанавливаю на 0,58В, запускаю программу из Pronterfaceи записываю звук с микрофона. Затем повторяю запись на Vref  = 0,78В. Картинки уровней громкости складываю в Фотошопе для наглядности сравнения. Вот что получилось:

Красным Vref = 0,58В

Синим Vref = 0,78В

A4988_058078.png

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

Пожалуйста не путайте ток с напряжением Vref, когда пишете об этом

Подробнее про эти драйверы можно почитать на сайтах производителей:

https://www.pololu.com/category/120/stepper-motor-drivers

https://github.com/watterott/SilentStepStick/blob/master/docu/FAQ.md

Для более глубокого понимания формул смотрите отдельную тему на форуме по этому вопросу.

Ссылка на обсуждение на форуме методов борьбы с шумом 3D принтера.

Метки: A4988, DRV8825, TMC2100, драйверы&nbsp&nbsp 2016-01-12&nbsp&nbsp &nbsp&nbsp Раздел: Настройка, Электроника&nbsp&nbsp Автор: AKDZG Просмотров: 237 999&nbsp&nbsp 45 комментариев

Kubocore. BOM и калькуляция &nbsp&nbsp&nbsp&nbsp&nbspТест на шумность шаговых двигателей и драйверов для 3D принтераИспользуемые источники:

  • http://cnc-design.ru/nastroika-toka-draiver-shagovogo-dvigatelya.html
  • http://mir-cnc.ru/topic/8593-подключение-и-настройка-драйвера-шагового-дви/
  • https://3deshnik.ru/blogs/akdzg/pravilnaya-nastrojka-toka-dlya-shagovyx-dvigatelej

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации