Проблемы с шаговыми двигателями под Arduino/Marlin
-
- Новичок
- Сообщения: 3
- Зарегистрирован: 22 янв 2016, 08:20
- Репутация: 0
- Настоящее имя: Михаил
- Контактная информация:
Проблемы с шаговыми двигателями под Arduino/Marlin
Доброе время суток !
Я собрал 3d принтер под Arduino Mega 2605, RAMPS 1.4, драйвера ШД TB6560, ШД Nema 23.
Все заработало, калибровка прошла нормально. Но когда дело дошло до реальных задач печати-
начались проблемы. При выводе файла G-code при определенных сочетаниях координат перемещения и скорости подачи идут сбои движения: двигатели останавливаются и начинают дергаться с дребезжащим звуком или движение происходит медленно с очень громким звуком. Экструдер при этом работает нормально. Отслеживание координат на SMART-контроллере происходит четко без сбоев. Пробовал отсоединять двигатели и гонять без нагрузки-то же самое. Подскажите пожалуйста почему это происходит и как устранить.
Я собрал 3d принтер под Arduino Mega 2605, RAMPS 1.4, драйвера ШД TB6560, ШД Nema 23.
Все заработало, калибровка прошла нормально. Но когда дело дошло до реальных задач печати-
начались проблемы. При выводе файла G-code при определенных сочетаниях координат перемещения и скорости подачи идут сбои движения: двигатели останавливаются и начинают дергаться с дребезжащим звуком или движение происходит медленно с очень громким звуком. Экструдер при этом работает нормально. Отслеживание координат на SMART-контроллере происходит четко без сбоев. Пробовал отсоединять двигатели и гонять без нагрузки-то же самое. Подскажите пожалуйста почему это происходит и как устранить.
- Raptirius
- Почётный участник
- Сообщения: 183
- Зарегистрирован: 31 мар 2013, 16:11
- Репутация: 86
- Настоящее имя: Константин
- Откуда: Minsk
- Контактная информация:
Re: Проблемы с шаговыми двигателями под Arduino/Marlin
В первую очередь проверь контакт ШД с рампсом.
Что у тебя в конфиге забито в этих строчках?
#define DEFAULT_MAX_FEEDRATE
#define DEFAULT_MAX_ACCELERATION
#define DEFAULT_ACCELERATION
Что у тебя в конфиге забито в этих строчках?
#define DEFAULT_MAX_FEEDRATE
#define DEFAULT_MAX_ACCELERATION
#define DEFAULT_ACCELERATION
-
- Новичок
- Сообщения: 3
- Зарегистрирован: 22 янв 2016, 08:20
- Репутация: 0
- Настоящее имя: Михаил
- Контактная информация:
Re: Проблемы с шаговыми двигателями под Arduino/Marlin
#define DEFAULT_MAX_FEEDRATE {500, 500, 5, 25}
#define DEFAULT_MAX_ACCELERATION {10000,10000,100,10000}
#define DEFAULT_ACCELERATION 15000
Проблем с контактом нет, я же говорю система работает нормально, проблемы возникают при определенных сочетаниях перемещений по XY и скоростей подачи, выявить какую-либо закономерность невозможно.
#define DEFAULT_MAX_ACCELERATION {10000,10000,100,10000}
#define DEFAULT_ACCELERATION 15000
Проблем с контактом нет, я же говорю система работает нормально, проблемы возникают при определенных сочетаниях перемещений по XY и скоростей подачи, выявить какую-либо закономерность невозможно.
- Raptirius
- Почётный участник
- Сообщения: 183
- Зарегистрирован: 31 мар 2013, 16:11
- Репутация: 86
- Настоящее имя: Константин
- Откуда: Minsk
- Контактная информация:
Re: Проблемы с шаговыми двигателями под Arduino/Marlin
Какие то ускорения большие стоят.
Откуда такие цифры брались, калибровка производилась? Принтер на ремнях?
Попробуй уменьшить скорость перемещений
#define DEFAULT_MAX_FEEDRATE {300, 300, 5, 25}
и ускорения
#define DEFAULT_MAX_ACCELERATION {2000,2000,100,10000}
#define DEFAULT_ACCELERATION 3000
Если проблема уйдет, то опытным путем ищи свои параметры.
Откуда такие цифры брались, калибровка производилась? Принтер на ремнях?
Попробуй уменьшить скорость перемещений
#define DEFAULT_MAX_FEEDRATE {300, 300, 5, 25}
и ускорения
#define DEFAULT_MAX_ACCELERATION {2000,2000,100,10000}
#define DEFAULT_ACCELERATION 3000
Если проблема уйдет, то опытным путем ищи свои параметры.
-
- Новичок
- Сообщения: 3
- Зарегистрирован: 22 янв 2016, 08:20
- Репутация: 0
- Настоящее имя: Михаил
- Контактная информация:
Re: Проблемы с шаговыми двигателями под Arduino/Marlin
Цифры брались с тематических сайтов. Калибровка прошла успешно. Принтер без ремней-все на трапецеидальных ходовых винтах шагом 2 мм.
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Проблемы с шаговыми двигателями под Arduino/Marlin
если стоят винты с шагом 2мм в приводе оси возможно ардуине приходится генерить сильно большую частоту импульсов степ , можно попробовать в настройках драйвера изменить микрошаг ну и соответственно изменить,
#define DEFAULT_AXIS_STEPS_PER_UNIT
в описаниях на марлин обычно дают мах частота степ 20-25 кГц
#define DEFAULT_AXIS_STEPS_PER_UNIT
в описаниях на марлин обычно дают мах частота степ 20-25 кГц
- paladin74
- Кандидат
- Сообщения: 46
- Зарегистрирован: 06 авг 2013, 20:14
- Репутация: 13
- Настоящее имя: Андрей
- Откуда: Магнитогорск
- Контактная информация:
Re: Проблемы с шаговыми двигателями под Arduino/Marlin
Попробуйте добавить напряжение на драйверах. Только потихоньку. Должно помочь.
-
- Новичок
- Сообщения: 6
- Зарегистрирован: 03 мар 2015, 10:35
- Репутация: 1
- Настоящее имя: Данил Тагиров
- Контактная информация:
Re: Проблемы с шаговыми двигателями под Arduino/Marlin
Здравствуйте, форумчане! Искал по форуму эта проблема наиболее близка моей, поэтому задам вопрос здесь чтобы не плодить полупустых тем.
Я модифицировал свой фрезер портальный на ШВП под 3D принтер. Мозги Arduino + Ramps 1.4 + прошивка Merlin RC3. На портале 2 шаговика по X (ну или Y) , соответственно по 1 шаговику на Y и Z и Экструдер E0.
Собственно, сам вопрос. Как правильно модифицировать прошивку? И в каком месте нужно править, чтобы продублировать управление вторым шаговым двигателем оси от отдельного контроллера? (благо их 5 на плате) параллельная работа двух шаговиков не прошла, пропускает шаги. По умолчанию в прошивке удваивают ось Z для классических 3D принтером. Я кое что все таки нашел и раскоментил следующий параметр:
#define Y_DUAL_STEPPER_DRIVERS // Same again but for Y Axis.
И чудо на контроллере второго экструдера E1 шаговик заработал синхронно с осью Y. Вроде все хорошо, но под ШВП мне пришлось править следующие параметры
#define DEFAULT_AXIS_STEPS_PER_UNIT {400,400,4000,500} // default steps per unit for Ultimaker было {80,80,4000,500}
#define DEFAULT_MAX_FEEDRATE {300, 300, 5, 25} // (mm/sec)
#define DEFAULT_MAX_ACCELERATION {3000,3000,100,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for Skeinforge 40+, for older versions raise them a lot.
И тут я думал что для второго двигателя оси Y тоже поменяется скорость, но нет. Подскажите что я сделал не так. Ткните носом или пошлите куда поближе к теме. На англоязычных форумах пытался искать там есть по этой теме вопрос, но решения не нашел. Помогите пожалуйста.
Я модифицировал свой фрезер портальный на ШВП под 3D принтер. Мозги Arduino + Ramps 1.4 + прошивка Merlin RC3. На портале 2 шаговика по X (ну или Y) , соответственно по 1 шаговику на Y и Z и Экструдер E0.
Собственно, сам вопрос. Как правильно модифицировать прошивку? И в каком месте нужно править, чтобы продублировать управление вторым шаговым двигателем оси от отдельного контроллера? (благо их 5 на плате) параллельная работа двух шаговиков не прошла, пропускает шаги. По умолчанию в прошивке удваивают ось Z для классических 3D принтером. Я кое что все таки нашел и раскоментил следующий параметр:
#define Y_DUAL_STEPPER_DRIVERS // Same again but for Y Axis.
И чудо на контроллере второго экструдера E1 шаговик заработал синхронно с осью Y. Вроде все хорошо, но под ШВП мне пришлось править следующие параметры
#define DEFAULT_AXIS_STEPS_PER_UNIT {400,400,4000,500} // default steps per unit for Ultimaker было {80,80,4000,500}
#define DEFAULT_MAX_FEEDRATE {300, 300, 5, 25} // (mm/sec)
#define DEFAULT_MAX_ACCELERATION {3000,3000,100,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for Skeinforge 40+, for older versions raise them a lot.
И тут я думал что для второго двигателя оси Y тоже поменяется скорость, но нет. Подскажите что я сделал не так. Ткните носом или пошлите куда поближе к теме. На англоязычных форумах пытался искать там есть по этой теме вопрос, но решения не нашел. Помогите пожалуйста.
- AndyBig
- Мастер
- Сообщения: 3971
- Зарегистрирован: 07 мар 2014, 04:01
- Репутация: 1121
- Откуда: юг России
- Контактная информация:
Re: Проблемы с шаговыми двигателями под Arduino/Marlin
А почему не запараллелить сигналы, идущие на драйвера ШД?
-
- Новичок
- Сообщения: 6
- Зарегистрирован: 03 мар 2015, 10:35
- Репутация: 1
- Настоящее имя: Данил Тагиров
- Контактная информация:
Re: Проблемы с шаговыми двигателями под Arduino/Marlin
Это последняя инстанция так сказать. Понятно что я брошу три проводка степ дир и инебл. Но все же думаю с помощью прошивки должно быть решение.
-
- Новичок
- Сообщения: 6
- Зарегистрирован: 03 мар 2015, 10:35
- Репутация: 1
- Настоящее имя: Данил Тагиров
- Контактная информация:
Re: Проблемы с шаговыми двигателями под Arduino/Marlin
У меня заработала дублированная ось X2 от драйвера второго экструдера E1.
Кому надо могу отписаться как. Принтер даже что то начал печатать.
https://youtu.be/RWiE5QhXlko
Кому надо могу отписаться как. Принтер даже что то начал печатать.
https://youtu.be/RWiE5QhXlko