Правильная настройка тока для шаговых двигателей

Добавлено в закладки: 32

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

 

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

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

 

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

17HS4401

 

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

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

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

 

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

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

A4988_2

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

DRV8825_2

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

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

TMC2100

 

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

2016-01-11_220519

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

 

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

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

 

A4988

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

Vref = Current Limit * 8 * (RS)

RS = 0,100
Vref = Current Limit * 8 * 0,100 = Current Limit / 1,25

RS = 0,050
Vref = Current Limit * 8 * 0,050 = Current Limit / 2,5

Например для 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

 

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

 

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

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

 

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

G21
G90
M107
G28 X0
M117 Run Test…
G1 F12000 X100
G1 F6000 X5
G1 F12000 X100
G1 F6000 X200
G1 F3000 X100
G1 F1500 X5
G1 F3000 X100
G1 F1500 X200
M117 Test Done!
G91
G28 X0
M84
G90

 

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

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

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

Синим Vref = 0,78В

A4988_0,58+0,78

 

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

 

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

 

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

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

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

 

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

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

25

Метки: , , ,    2016-01-12      Раздел: Настройка, Электроника  
Автор: Просмотров: 308 323   47 комментариев



47 комментариев на «Правильная настройка тока для шаговых двигателей»

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

    0
    1. По всей видимости дело в механике. И скорее всего в линейных подшипниках.

      0
  2. Мои моторы: 42BYGHW609, ток – 1.7A
    Драйвера: DRV8825, шаг – 1/32
    Мануал драйвера https://www.pololu.com/product/2133
    Расчеты:
    Формула: Current Limit = VREF ? 2 => 1,7 = VREF x 2
    VREF = 1.7 / 2 = 0,85 V
    На всех моторах выставил 0,6V
    Вроде крутит хорошо, не шумно, пропусков нет.

    Правильно ли я понимаю, что 0,85V как бы стандартный режим работы?
    Если ставлю значение меньше, моторы работают в легком режиме?

    0
  3. Отмечу, что китайцы (Makerbase) для своих TMC2100 указывают I = Vref*1.9/2.5.
    Конкретный расчет зависит от величины токоизмерительного резистора (sense resistor).

    2
  4. Также я везде, где могу, радостно сообщаю о своем косяке.
    https://3deshnik.ru/forum/viewtopic.php?p=896#p896

    0
  5. шаговый 17HS8401
    Если верить китайцам распайка такая.
    Красный: A1 +
    Зеленый: A2 —
    Желтый: B1 +
    Синий: b2-
    Драйвер DRV8825 перемычки все установлены Vref поставил 2
    Плата рампс 1.4
    если подключить кра ный, зеленый, желтый, синий, начиная со стороны силовых проводов
    То двиг шумит пищит и даже иногда двигается.но не стабильно.
    Усилил ток на максимум..шумит греется не крутится.
    Драйвер менять пробовал.не помогло
    Подключая по буквам на рампсе должно быть так (синий зелёный красный жёлтый) на картинке схеме тут
    https://3deshnik.ru/blogs/akdzg/nastrojka-proshivki-marlin-dlya-3d-printera
    красный и зелёный поменяли местами.Я пробовал и так и по другому.в этих варианте мотор просто молчит.как отключенный
    Кручу из программы pronterface
    Фото одного из вариантов подключения мотора http://savepic.ru/9100385.jpg
    Где я ошибаюсь?

    0
    1. Ошибаетесь в расчётах Vref. Ток вашего двигателя = 1,8А, значит Vref=1,8/2=0,9В

      1
  6. Спасибо за быстрый ответ.Выставил 0.9в Двигатель стал жужжать тише но не крутится.Просто жужжит.Драйвер так же стал меньше греется.
    Сейчас распайка выглядит так . (A1 A2 B1 B2)
    согласно распайке
    Красный: A1 +
    Зеленый: A2 —
    Желтый: B1 +
    Синий: b2-
    http://savepic.ru/9056133.jpg

    0
    1. Я вот так подключал двигатели. Теперь нужно настраивать концевики. Предлагаю перейти в эту тему форума. Возможно там уже есть ответы на ваши вопросы.

      1
  7. Вопрос перенести туда?
    Сделал как у вас.Всё равно не работает

    0
  8. Спасибо за ответы.Разобрался(не без помощи)
    Оказалось концевики в прошивке прошиты как нормально замкнутые.У меня же подключены нормально разомкнутые
    Естественно при попытке крутить..Принтер получал сигнал что упёрся в концевик.И выключался.блокировал мотор
    Жужжал из за превышения тока.Грелся по той же причине.
    0.6 вольт маловато выставил на резисторе 0.7 Всё заработало.

    Удивляет что на плате маркировка не верная (2В 2А 1А 2В) а подключаем (1А 2А 1В 2В) это меня и сбивало с толку.

    0
    1. Сдается мне, что маркировка верная. Просто на плате цифра означает номер обмотки, а буквами обозначены ее концы. А альтернативный вариант — буквами обозначены обмотки, а цифрами их концы. По крайней мере я для себя так объяснил, когда пытался расшифровать эту загадку.

      0
  9. Вопрос возник… решил поставить 8825, судя по таблице, шаг 1/32 в трёх вариантах положения перемычек… а какой нужен? Я оставил все три (как было при 4488), увеличил шаги в прошивке вдвое (было 140) однако реально экструдер стал «недодавливать» чуть ли не половину. Опытным путём снова вычислил, что теперь надо 301.9 шагов. Что я делаю не так? И вообще, экструдер, если щупать пальцем вал, крутит с какими-то щелчками/шагами, т.е. я чувствую помимо «мелких» еще и какие то «крупные» шаги

    0
    1. Чем мельче микрошаг, тем больше шансов пропустить шаг. Вот двигатель похоже и пропускает шаги. Двигатель греется? Если нет, добавьте ещё Vref.

      0
      1. Но перемычки верно, все три должны быть? Напряжение поставил 0,85 (было по умолчанию 1,2), сам радиатор чипа не греется, мотор… мотор х.з., т.к. закрыл уже. Но думаю он за время теста и не успел бы нагреться. Да и ощущаю я не пропуски (скорее всего) а именно шаги, стабильно, чётко. Всего минут 5 поработал. Попробую долезть и замерить темп. Может термопарой.

        0
        1. С перемычками норм, если китайцы в разводке не начудили.

          1
          1. Интересно почему я ощущаю “тык, тык, тык” как секундная стрелка в часах с равным промежутком (и только на мееедленных оборотах во время печати. Думал должно быть незаметны шаги на таком драйвере. *SCRATCH*

            0
  10. Попробовал настроить по статье, двигатели и драйверы как в примере:A4988
    для 17HS4401: Vref = 1,7 / 2,5 = 0,68В
    но двигатели начали работать при напряжении 0,85В

    0
  11. но тут свою роль могла сыграть инструментальная погрешность китайского тэстера, всё относительно в китайской технике.

    0
  12. Вопрос. Драйвера А4988. Моторы 17HS4401. Токочувтвительные резисторы впаяны 100 Ом. По формуле получается 1.7х8х0.100=1.36. По умолчанию драйвера были настроены на Vref=0.68-0.70. Максимально, что я смог сделать это 1.210. Что я делаю не так??? При максимуме не гонял, При 0.68 вроде нормально бегает.

    1
    1. Оставьте Vref = 0,7В. При максимальном токе двигатели будут сильно нагреваться.

      0
      1. Скажем так, чуйка подсказывает тоже самое (оставить 0.68 как у всех и не париться :)), но мозг требует разобраться. Ведь эта формула взята из даташита. Откуда несоответствие?

        0
        1. Во первых не известно какого номинала подсторечный резистор (на китайском драйвере). Во вторых двигатели 17HS4401 имеют запас по мощности на 3D принтерах. При установке полного тока на драйвере, двигатель будет сильно нагреваться, что не желательно для несущих пластиковых деталей применяемых на RepRap принтерах. Всё было продумано до нас :)

          0
  13. Цвета проводов шаговика соответствует контактам 1A1B и 2A2B на рамс?

    0
    1. Найдите пары с помощью замыканий проводов двигателя. При замыкании пары вал труднее крутится. Цвета могут быть различными.

      0
      1. Пары на шаговике прозвонены.
        Я имею ввиду:
        пара красный+синий – подключаем к 1А1В
        пара зеленый+черный – подключаем к 2А2В ???

        0
        1. Это не важно и влияет только на направление вращения, которое можно изменить в прошивке.

          0
          1. Получается, что, например, пару красный+синий можно подключить и к 1А1В и к 1А2А ?

            0
    1. По этой ссылке как раз произвожу первое подключение. Благодарю!
      Т.к. первое подключение и неохота ждать 2 месяца новых плат, переспрашиваю.
      Вот еще, нагреватель хотенда – это резистор и полярность по барабану?
      А у нагревателя стола полярность соблюдать?

      0
      1. У стола полярность соблюдается только ради светодиода индикации.

        0
  14. Ребят объясните кто нибудь, драйвера у меня A4988. А шаговики на 2.8 ампера. Получается драйвера не подходят, но с этой точки зрения там не один драйвер не подходит. На драйверах выкрутил все на максимум по 1.22 V. В итоге два шаговика работают идеально, третий по оси Y смещает слои. Как накрутить больше чем 1.22? Движки не греются… Возможно ли что пропуски из за того, что двигатели соединены на скрутке, а не пайке, и где то порой не проходит контакт?

    0
      1. Это внешний драйвер получается уже? Через снс шилд v.3 в раздел step подключаются?

        0
        1. Да внешний. По CNC Shield подсказать не могу.

          0
  15. Приветствую, друзья!)
    После долгого перерыва всё-таки начал собирать свою прюшу) Вроде всё пучком, вчера шевелил осями и движки по оси Z естественно начало заедать :D
    Пока что они в параллели, потом распаяю последовательно.
    Более чем вероятно, что мощи не хватает, а отсюда и вопрос – может накрутить больше Vref на драйвере “Z”? Стоят 4988, резисторы оба 0,100; пока что на всех Vref стоит 0,7 В.
    Или вопрос другого рода – может просто прописать драйвер второго экструдера и пусть движки оси Z трудятся отдельно? Будет ли это более правильным вариантом?
    Заранее благодарю за ответ)

    0
    1. Ось Z на Прюше заедает из-за больших ускорений и скоростей. Снижайте максимальные значения в прошивке. Vref тут не причём.

      1
      1. Понял, Спасибо!) Я вроде ставил меньше изначально, но все равно надо поиграться)
        Просто я почему подумал о токе – когда движки Z на удержании, то их можно прокрутить рукой с небольшим усилием, в то время когда Х и У стоят мертво. Ну по сути так и есть – ток драйвера два движка просто половинят.
        И Z заедает не сразу, сначала крутится сантиметра 3~5 а лишь потом заедает, думал витки шпилек косяковые попадаются, но место заеданий хаотичное, вертятся легко.

        А как насчет двух драйверов? Или нет смысла заморачиваться?)

        0
      2. Еще раз благодарю, снизил скорость и заодно раскинул движки на два драйвера – всё стало на свои места)

        0
  16. Добрый день. Подскажите, пожалуйста.
    К меня почему то на A4988 резисторы стоят R200. Двигатели 17HS4401.
    Что получается 17HS4401: Vref = 1,7 / 0,625 = 2,72В., правильно?
    И при этом на подстроечнике не получается выставить напряжение больше 2 Вольт.
    Что делать, менять А4988?

    0
    1. Обычно хватает меньшего тока. Так что нужно пробовать.

      0
  17. Всех приветствую! Друзья, прошу помощи. Получил вот эту платку (на фото), у нее стоят драйвера А4988, купил к этому контроллеру моторы nemo 17HS4401. В чем собственно проблема, подключал питание от компьютерного БП 12в, есть еще БП на 12в 2.5А, не могу добиться мощности мотора, иногда вращается, иногда пищит и не вращается, пробовал питать разными БП. Настраивал на драйвере ток резистором, по инструкции. Ставил и 0.68, выкручивал на полную резистор (при максимальном положении резистора, максимум это 0,89) токоограничивающие резисторы стоят R100, моторы не греются, драйвера еле теплые (драйвера без радиаторов). И что интересно, при работе, можно спокойно остановить пальцами мотор и вращать его, такое впечатление, что удержания совсем нет. В чем проблема, как добиться стабильной работы? Подскажите, пожалуйста, где может быть ошибка. Заранее благодарю за ответ.

    0
  18. А может ли уважаемый автор пояснить откуда для ТМЦ2100 взялась формула Vref = (Current Limit * 0,707 * 2,5В) / 1,77А ?
    если выше в статье несколько иные циферки

    0

Добавить комментарий




     
Авторизация
*
*
Генерация пароля
Яндекс.Метрика