4.1 Настройка прошивки MK4Duo

Замечание. Изначально статья была опубликована на портале 3DToday, здесь опубликована обновленная информация.

Ниже приведено описание настройки прошивки для Vulcanus — кинематика CoreXY.
Начинал с классики — релизный Марлин, но решил попробовать MK4Duo.

Навскидку не скажу, что мне не нравится в текущем релизе Марлина (1.0.2) — разве что скорость обновления прошивки. В процессе не совсем удачной настройки RepetierFirmware, посоветовали мне прошивку MK4duo как поддерживающую не только 32 битные платы. В RepetierFirmware только с шагами на экструдере были какие-то заморочки — механика в целом залетала и звук, как и обещали, стал другой. Может позже вернусь и к ней. Но когда я увидел конфигуратор MK4duo такой же как на Repetier — понял, что надо попробовать.
Сайт проекта MarlinKimbaтыц
000
Сайт в основном на итальянском, но конфигуратор на англ.
Конфигуратор Firmware (V 4.3.1) — тыц.
Возможно со сменой версии измениться адрес конфигуратора, поэтому лучше заходить с основного сайта проекта.

0aa2485cb473cf38af4847f722418ef8
Сорс на Githubтыц.
Если на прошивку документаци существует, то она здесь в Wiki. Далее не искал.Из фич обещают:

  • Compensation for Bed Position
  • Deployment of sensors for bed probing
  • Manually, or by Servo, or other programmable mechanisms
  • Bed Auto Leveling — Compensation for Un-level Beds
  • Manual Bed Leveling
  • Firmware Retraction
  • Thermal Runaway Protection
  • EEPROM save and restore
  • Thermistors and thermocouples
  • LCD Controllers and SD cards
  • Delta_Kinematics, SCARA_Kinematics, CoreXY, CoreXZ and Cartesian_Kinematics kinematics
  • USB communication
  • A rich dialect of G-Code in Marlin
  • Up to 4 extruders
  • Multiextruder system MKR4, NPr2, DONDOLO.
  • Single nozzle for Flux capacitor or Diamond Hotend.
  • Several Supported Hardware

Похоже на RC Marlin, но более оперативно реализованного. Поддержа Русского языка присутствует.

Отмазка: Все параметры даны и протестированы мною лично на принтере Vulcanus c кинематикой CoreXY. Все что вы делаете со своим железом/софтом, вы делаете на свой страх и риск. Настройки вашего принтера могут/должны различаться от приведенных ниже.
Акцент в тексте сделан в основном на минимально необходимом количестве настроек. Все настройки я не изучал и не тестировал. То, что выделено, изменено, остальное присутствовало по дефолту.
1. Первая закладка конфигуратора — Start.
Здесь можно выбрать преконфигурированные настройки для некоторых распространённых принтеров. Если вашего принтера в списке — выбираем Custom.
Если есть ранее сконфигуренная прошивка и не хочется снова забивать все параметры с нуля — жмем кнопку Browse и скармливаем файл Configuration_Overall.h
Жмем Next.
1
Жмем Next Step.
2. Закладка General
Выбираем процессор — 8 или 32 бита.
Выбираем плату из списка и скорость обмена по USB.
Что такое UUID4 не знаю, полагаю некий уникальный номер принтера, но на всякий случай сгенерил.
Marlin говорит, что это некий уникальный номер как MAC адрес для сетевой карты.
A unique ID for your 3D printer, it is almost like a MAC Address and can be generated from here http://www.uuidgenerator.net/version4
У кого настроено управление блока питания думаю следует обратить внимание на раздел Power supply.

2.1

Список поддерживаемых плат довольно большой.

2.2

Кинематику выбрал первую из списка — CoreXY.
Честно говоря, глубоко не копал в типах, в чем разница не разумею, но заработало сразу, другие варианты не вижу.

2.3

Жмем Next Step.

4. Закладка Temperature.
Имеется нагрев стола — отмечаем Have Hot Bed.
Так как я печатаю в основном PLA — минимальную температуру экструдирования поставил 190 градусов.

3.1

Выбираем из списка тип термистра экструдера. Не то что бы я его точно знаю (хот покупал в сборе на Али), но такой я ставил на Marlin и все работало достаточно корректно.
Параметры Kp, Ki, Kd взяты с прошлой прошивки по результатам калибровка PID экструдера.
Для калибровки можно использовать Repetier Host или Pronterface, как впрочем любую программу через которую можно отправлять команды напрфмую в принтер и видеть результат. Команда калибровки хотэнда «M303 E0 C8 S260«. Где M303 — сама команда калибровки, E0 — хотэнд, C8 — количество циклов нагрева-охлаждения, S260 — типичная температура работы хотэнда.
По результатам калибровки вы получите примерно следующие параметры.
3.4
Если у вас стол подключен не через реле как у меня, то по такой же схеме нужно откалибровать PID стола. Команда «M303 E-1 C8 S110«. Где E-1 — стол, S110 — типичная температура нагрева стола.
Если ранее не колибровали — оставьте как есть и измените позже в EEPROM.
3.2

Выбираем из списка тип термистра стола. Та же история что и с термистром экструдера.
3.3

Жмем Next Step.

5. Закладка Mechanics.
Вводим физические размеры области печати, исходя из конструкции вашего принера (X min — X max).
Минимальное положене печатающей головки у меня за областью печати на -5 и -30 мм. Для того чтобы в слайсере не делать корректировок относительно центра стола я делаю их в прошивке (-5 и -30 мм). В слайсере стол задается как 200х200 и тогда деталь, установленная по центру стола, будет напечатана именно в центре, а не со сдвигом (-5 и -30 мм).
Jerk слегка увеличил для выравнивания прямых углов.

4.1

Step for unit — задаем количество шагов на 1 мм перемещения для осей X и Y (одновременно). Расчет конечно такой же, как и для Marlin. Калькулятор думаю все знают где.
На XY у меня стоят драйвера DRV8825 на 1/32 микрошага на шаг, поэтому шагов в 2 раза больше по сравнению с А4988. Двигатели стандартные на X и Y — 200 шагов на оборот. На обоих осях X и Y стоит ремень GT2 с шагом 2 мм и 20-ти зубые шкивы. Соответственно драйверы для XY или настройка микрошага должна быть одинаковой.
Заоблачные ускорения пока у меня не идут, поэтому опытным путем подобрано 500 для Max Acceleration.
Homing speed — скорость перемещения в позицию Home также выбирайте аккуратно, иначе получите удар по концевику. Manual speed из той же серии.
Концевики у меня нормально разомкнутые, поэтому выбираю Normally Open.
Направление движения по X пришлось инвертировать (Invert direction) — обнаружилось после первого включения. Можно было бы конечно просто перевернуть штекер движка.
Set direction of endstops when homing — можно задать какие концевики стоят в положении Home. Начало координат находится в ближнем левом углу на поверхности стола, если сопло вывести в эту точку, то сработали бы концевики MIN, если в правую дальнюю верхнюю — сработают MAX. У меня все концевики установлены в минимальном положении 0.

4.2

Отдельно для Y идут настройки концевика.
Направление движения по X пришлось инвертировать (Invert direction). Можно было бы конечно просто перевернуть штекер движка.

4.3

Для оси Z настройка более подробна.
С данной прошивкой решил реализовать схему с подключением двух движков Z на два разных драйвера, благо в прошивке это сделать просто, а место на шилде осталось (второй экструдер). Теоретически это улучшит синхронизацию работы движков и уменьшит перекос стола по сравнению с параллельным включением на один драйвер.
Сначало жмем галку Z two stepper и указываем, что второй движок подключен к драйверу Extruder 1.
Драйвера на Z у меня стоят А4988 поэтому параметр Microstep задаем как 16 Microstep.
Step for unit — задаем количество шагов на 1 мм перемещения для оси Z. У меня стоит винт трапезоид с шагом 2 мм (для строительной шпильки 8мм шаг равен 1.25 мм). Расчетный параметр для моего движка(наиболее распространенный — 200 шагов на оборот) — 400 микрошагов.
Калькулятор думаю все знают где.
Больших ускорений по Z не нужно поэтому 200 для Max Acceleration.
Homing speed — скорость перемещения в позицию Home выбирайте аккуратно, иначе получите удар по концевику. Manual speed из той же серии.
Disable when unused — параметр отключает движок, когда нет перемещений по Z. Если не поставить параметр, то движок будет держать все время пока идет печать. У меня это приводит к перегреву драйвера. При моей конструкции стол упасть не может — поэтому параметр включаю.

4.4

Жмем Next Step.

6. Закладка Extruders.
Step for unit — задаем количество шагов на 1 мм перемещения для осей экструдер. Расчет достаточно индивидуален(зависит от коэффициента редукции и диаметра подающей шестерни) для каждого экструдера и в дальнейшем тюнится на месте после заливки прошивки. Я взял ранее использованный параметр из Marlin. На экструдер я переставил с оси Z драйвер DRV8825 на 1/32 микрошага, поэтому шагов в 2 раза больше по сравнению с А4988.
Ускорения штатные.
На всякий случай поставил Disable when unused.

5

Жмем Next Step.

7. Закладка Features.
Включил поддержку SD карты и EEPROM(чтобы потом можно было изменять параметры прошивки на лету, без компиляции новой прошивки).

6

Жмем Next Step.

8. Закладка LCD.
У меня подключен RepRapDiscount Smart Controller на 128 x 64 пикселей. Выбираю его из большого списка Display Controller.
Не знаю по какой логике выбор пунктов меню работает против часовой стрелки по дефолту. Может где-то так принято? Чтобы отучить крутилку выбираем Reverses the encoder direction for navigating LCD menus.
Активировал пункт/фичу в меню Filament Change Feature, но пока не тестировал. Насколько я понял это некоторая последовательность действий с заданными ниже параметрами позволяющаю быстро/удобно/правильно сменить пруток. Срабатывает также по одному и G кодов.

7.1
Далее выбираем локализацию меню из списка доступных. Ну очень много языков, включая Украинский. Мне привычнее/понятнее Английский.
Имя принтера можно задать в поле Printer Name. Название будет гордо светиться на главном экране.
В разделах PLA/ABS задаем параметры для предварительного прогрева хотэнда и стола. Аналогично с Marlin прогрев будет доступен из меню. Что за материл GUM не знаю. Судя по настройкам что-то PLAшное.
7.2

Жмем Next Step.

9. Закладка Download
Приехали! Можно скачать прошивку.
Броузер должен разрешать открывать всплывающие окна! Иначе все может сброситься!
Жмем Download Firmware, ждем, когда все необходимые файлы сгенеряться и соберутся в архив.
Скачиваем из стандартного диалога или по ссылке.

8
Скачанный архив раскатываем в папку и получаем набор файлов очень похожий на прошивку Marlin.
Ставим свежую версию среду Arduino IDE. У меня без ошибок прошивка собралась на версии — 1.8.1.
Не забываем в Arduino IDE правильно выставить тип платы и номер COM порта, если будете шить по USB. Я шил удаленно через RepetierServer.
Открывает файл MK4duo.ino
8.2
Думаю, не лишним будет включить защиту от возгорания — Thermal runaway protection. Почему-то эта фича недоступна через конфигуратор и по умолчанию отключена.
В среде Arduino IDE открываем файл Configuration_Temperature.h
9

Ищем и раскоменчиваем строки:

#define THERMAL_PROTECTION_HOTENDS
#define THERMAL_PROTECTION_BED

Чтобы уменьшить число быстрых/ложных срабатываний я слегка изменил параметры

#define THERMAL_PROTECTION_PERIOD 40 // Seconds
#define THERMAL_PROTECTION_HYSTERESIS 5 // Degrees Celsius

#define WATCH_TEMP_PERIOD 40 // Seconds
#define WATCH_TEMP_INCREASE 5 // Degrees Celsius

Далее все стандартно. Если вы прошиваете по USB — подключаем плату, проверяем прошу галкой и заливаем стрелочкой.
10
Я прошивал через RepetierServer поднятый на Orange PI Zero чтобы не бегать с ноутом к принтеру. В режиме trial данная функция работает 2 недели (или больше, если не перезапускать сервис).
Предварительно генерим бинарный файл прошивки из среды Arduino IDE.
0ff6bc200c85ee3867ab9b211472fbce
После чего в папке с прошивкой появятся два файла.
00c04f471d5ae5ff90924787f732646c
На страничке RepetierServer открываем ранее подключенный принтер и из меню выбираем Firmware Upload.
11
Далее выбираем тип платы.
Жмем Upload Firmware Image.
Выбираем сгенеренный файл MK4duo.ino.mega.hex и в окошке Output наблюдаем результаты перепрошивки платы. Ардуинка автоматически перезагрузится.
12
После перепрошивки обычно я сбрасываю настройки в EEPROM на дефолтные.
Это можно сделать через меню принтера или G код.Сначало сбросим (Reset current settings to defaults, as set in Configurations.h. (Follow with M500 to reset the EEPROM too).
M502Потом сохраняем (Store current settings in EEPROM for the next startup or M501).
M500

Проверяем. (Print the current settings – »Not the settings stored in EEPROM.»)
M503

После прошивки платы проверям настройки — гоняем по осям XYZ, калибруем PID, калибруем экструдер, печатаем кубики, кораблики и тд ;)

Профит!

Реклама

4.1 Настройка прошивки MK4Duo: Один комментарий

  1. Уведомление: Настройка MK4duo с картинками | DIY3Dprint

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s