Настройка MK4duo с картинками

Подписаться на 3Dtoday
Rus5
Идет загрузка
Загрузка
16.02.17
4279
31
печатает на RepRap
Техничка
24
Статья относится к принтерам:
RepRap
PREVIEW
Поделюсь опытом настройки прошивки MK4duo для 8 битной ардуины на примере принтера c кинематикой CoreXY. Пока не забыл, что называется. ;)

Навскидку не скажу, что мне не нравится в текущем релизе Марлина (1.0.2) - разве что скорость обновления прошивки, но решил попробовать что-нибудь отличное от классики. В процессе не совсем удачной настройки RepetierFirmware, посоветовали мне прошивку MK4duo как поддерживающую не только 32 битные платы. В RepetierFirmware только с шагами на экструдере были какие-то заморочки - механика в целом залетала и звук, как и обещали, стал другой. Может позже вернусь и к ней. Но когда я увидел конфигуратор MK4duo такой же как на Repetier - понял, что надо попробовать.
Сайт проекта MarlinKimba - тыц
Сайт в основном на итальянском, но конфигуратор на англ.
Конфигуратор Firmware (V 4.3.1) - тыц.
PREVIEW
Сорс на 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.
e591d41b80cadd75dac965566bb9c941.png
Жмем 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.
9bdc2eb28bd72dfd4a73600d3f3a1b09.png
Список поддерживаемых плат довольно большой.
148be7a1e373bc90e1240269be7803b7.png
Кинематику выбрал первую из списка - CoreXY.
Честно говоря, глубоко не копал в типах, в чем разница не разумею, но заработало сразу, другие варианты не вижу.
33ffe7540e6ad495b54c2d84f1214280.png
Жмем Next Step.

4. Закладка Temperature.
Имеется нагрев стола - отмечаем Have Hot Bed.
Так как я печатаю в основном PLA - минимальную температуру экструдирования поставил 190 градусов.
7b59431c6f8ff67bf974cd628a050b5a.png
Выбираем из списка тип термистра экструдера. Не то что бы я его точно знаю (хот покупал в сборе на Али), но такой я ставил на Marlin и все работало.
Параметры Kp, Ki, Kd взяты с прошлой прошивки по результатам калибровка PID экструдера. Если не колибровали - оставьте как есть и измените позже в EEPROM.
764baf58db0d59beacc334f742828ffc.png
Выбираем из списка тип термистра стола. Та же история что и с термистром экструдера.
b87b7c9b560531f109fb2cd9ffe77eaf.png
Жмем Next Step.

5. Закладка Mechanics
Вводим физические размеры области печати, исходя из конструкции вашего принера (X min - X max).
Минимальное положене печатающей головки у меня за областью печати на -5 и -30 мм. Для того чтобы в слайсере не делать корректировок относительно центра стола я делаю их в прошивке (-5 и -30 мм). В слайсере стол задается как 200х200 и тогда деталь, установленная по центру стола, будет напечатана именно в центре, а не со сдвигом (-5 и -30 мм).
Jerk слегка увеличил для выравнивания прямых углов.
4beaf7da1a2e1a3f4bdea9dea2c8f9d2.png
Step for unit - задаем количество шагов на 1 мм перемещения для осей X и Y (одновременно). Расчет конечно такой же, как и для Marlin. Калькулятор думаю все знают где.
На XY у меня стоят драйвера DRV8825 на 1/32 микрошага, поэтому шагов в 2 раза больше по сравнению с А4988. Соответственно драйверы для XY или настройка микрошага должна быть одинаковой.
Заоблачные ускорения пока у меня не идут, поэтому опытным путем подобрано 500 для Max Acceleration.
Homing speed - скорость перемещения в позицию Home также выбирайте аккуратно, иначе получите удар по концевику. Manual speed из той же серии.
Концевики у меня нормально разомкнутые, поэтому выбираю Normally Open.
Направление движения по X пришлось инвертировать (Invert direction) - обнаружилось после первого включения. Можно было бы конечно просто перевернуть штекер движка.
Set direction of endstops when homing - можно задать какие концевики стоят в положении Home. У меня все концевики в минимальном положении 0.
047f0c5cd5fc5ea37c96bb6c0608b30d.png
Отдельно для Y идут настройки концевика.
Направление движения по X пришлось инвертировать (Invert direction). Можно было бы конечно просто перевернуть штекер движка.
5c7e6c5cadbbf257c17efbc1ee027159.png
Для оси Z настройка более подробна.
С данной прошивкой решил реализовать схему с подключением двух движков Z на два разных драйвера, благо в прошивке это сделать просто, а место на шилде осталось (второй экструдер). Теоретически это улучшит синхронизацию работы движков и уменьшит перекос стола по сравнению с параллельным включением на один драйвер. Будем поглядеть....
Сначало жмем галку Z two stepper и указываем, что второй движок подключен к драйверу Extruder 1.
Драйвера на Z у меня стоят А4988 поэтому параметр Microstep задаем как 16 Microstep.
Step for unit - задаем количество шагов на 1 мм перемещения для оси Z. У меня стоит винт трапезоид с шагом 2 мм. Расчетный параметр для моего движка - 400 микрошагов.
Больших ускорений по Z не нужно поэтому 200 для Max Acceleration.
Homing speed - скорость перемещения в позицию Home выбирайте аккуратно, иначе получите удар по концевику. Manual speed из той же серии.
Disable when unused - параметр отключает движок, когда нет перемещений по Z. Если не поставить параметр, то движок будет держать все время пока идет печать. У меня это приводит к перегреву драйвера. При моей конструкции стол упасть не может - поэтому параметр включаю.
cb5c4cd46508847b454a3635691d1083.png
Жмем Next Step.

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

21a08383f29ed4a2dae8f97e3846219d.png
7. Закладка Features.
Включил поддержку SD карты и EEPROM.
ad32adbaf4c49f0053323b3357aad893.png
Жмем Next Step.

8. Закладка LCD.
У меня подключен RepRapDiscount Smart Controller на 128 x 64 пикселей. Выбираю его из большого списка Display Controller.
Не знаю по какой логике выбор пунктов меню работает против часовой стрелки по дефолту. Может где-то так принято? Чтобы отучить крутилку выбираем Reverses the encoder direction for navigating LCD menus.
Активировал пункт/фичу в меню Filament Change Feature, но пока не тестировал. Насколько я понял это некоторая последовательность действий с заданными ниже параметрами позволяющаю быстро/удобно/правильно сменить пруток. Во время печати нужно делать или когда захочется? Не знаю. Может фича к боудену больше относиться? Подскажите.
9ed5fee5b4cbab1a0daab507fe9b9e6d.png
Далее выбираем локализацию меню из списка доступных. Ну очень много языков, включая Украинский. Мне привычнее/понятнее Английский.
Имя принтера можно задать в поле Printer Name. Название будет гордо светиться на главном экране.
В разделах PLA/ABS задаем параметры для предварительного прогрева хотэнда и стола. Аналогично с Marlin прогрев будет доступен из меню. Что за материл GUM не знаю. Печатаем жвачкой?

Этож BubbleGUM (с)? :D
c1beead5e3907b3f3c84a147fa3f01ec.jpg
Судя по настройкам что-то PLAшное.
62f4fd1589294d227b2c8966d75a04a8.png
Жмем Next Step.

9. Закладка Download
Приехали! Можно скачать прошивку.
Броузер должен разрешать открывать всплывающие окна! Иначе все может сброситься!
Жмем Download Firmware, ждем, когда все необходимые файлы сгенеряться и соберутся в архив.
Скачиваем из стандартного диалога или по ссылке.
49b6fe2a84dd16f10ce60a6592d5f1e5.png
Скачанный архив раскатываем в папку и получаем набор файлов очень похожий на прошивку Marlin.
Ставим свежую версию среду Arduino IDE. У меня без ошибок прошивка собралась на версии - 1.8.1.
Не забываем в Arduino IDE правильно выставить тип платы и номер COM порта, если будете шить по USB. Я шил удаленно через RepetierServer.
Открывает файл MK4duo.ino
29b88a2a3eabddec0a101f15a0a22982.png
Думаю, не лишним будет включить защиту от возгорания - Thermal runaway protection. Почему-то эта фича недоступна через конфигуратор и по умолчанию отключена.
В среде Arduino IDE открываем файл Configuration_Temperature.h
3b6a3fac0e09829ebb8473b247e63af8.png
Ищем и раскоменчиваем строки:

#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 - подключаем плату, проверяем прошу галкой и заливаем стрелочкой.
2f890cdbfee45cab1da97873198abb5e.png
Я прошивал через RepetierServer поднятый на Orange PI Zero чтобы не бегать с ноутом к принтеру.
Предварительно генерим бинарный файл прошивки из среды Arduino IDE.
0ff6bc200c85ee3867ab9b211472fbce.png
После чего в папке с прошивкой появятся два файла.
00c04f471d5ae5ff90924787f732646c.png
На страничке RepetierServer открываем ранее подключенный принтер и из меню выбираем Firmware Upload.
f240ed3881e5980cacb952ddff7c8d41.png
Далее выбираем тип платы.
Жмем Upload Firmware Image.
Выбираем сгенеренный файл MK4duo.ino.mega.hex и в окошке Output наблюдаем результаты перепрошивки платы. Ардуинка автоматически перезагрузится.
4b4963d6b2791b840ae8a8fa410c141e.png
После перепрошивки обычно я сбрасываю настройки в 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, калибруем экструдер, печатаем кубики, кораблики и тд ;)

Профит!

Правки/предложения/советы плз в комменты. Может упустил чего или не так понял.

Если обзор понравился - не забываем жать лайк! 8) Удачных прошивок и отличной печати!
Подписаться на 3Dtoday
24
Комментарии к статье

Комментарии

16 Фев 20:06
0
А чем от последнего Марлина отличается? Только поддержкой 32 бита и конфигурирования через Web?
16 Фев 22:29
0
Навскидку сложно сказать - я детального сравнения не проводил
Для принтера "простой" конструкции наверное разница не так очевидна. Для "сложных" принтеров там куча фич и возможностей настройки. При том что если еще в файлы полезть и настраивать вручную то там....
ну а в целом хочется верить что: баги пофиксены, код оптимизирован и работает лучше. по сравнению с "классическим" релизным марлином 2015 года выпуска
16 Фев 22:42
1
Отличается стабильностью! Более понятна при конфигурации! Отличный от чистого Марлина алгоритм работы моторов.
16 Фев 20:31
1
Спасибо за простую и понятную статью. Тоже планирую своего медведя модернизировать - жду химеру с али
16 Фев 22:53
0
одно другому не мешает имхо :) начните с того что есть :)
16 Фев 21:24
0
А я уже на кимбру начал забивать - не получалось скачанный скетч скомпилировать и залить.
16 Фев 21:44
0
не знаю что было до этого - сравнивать не с чем
но тут - с полпинка....ну пару тройку итераций с тюнингом настроек было конечно.....как без этого
16 Фев 21:48
0
Постоянно какие-то ошибки компиляции были. Плюнул.
16 Фев 22:45
0
если плата экзотическая, вполне возможно... у меня на RAMPS4DUE по началу адд был ))) сейчас нормально
16 Фев 23:03
0
Абсолютно никакой экзотики. Все просто до банальности MKS GEN v. 1.2.
17 Фев 11:18
0
у мены скорее на классической марлин были танцы с бубном - особенно с каждым выходом новой IDE
то библиотека не та, то варнинги, то где то запятую надо исправить чтобы компильнулось
весело в общем
17 Фев 12:25
0
Во-во! Оно самое.
16 Фев 23:10
0
Прошивка поддерживает русский язык. Русский находится в: MK4duo/src/language\language_ru.h! Для установки русского, нужно в файле Configuration_Overall.h (в нем записаны значения, которые заданны при конфигурации в онлайн конфигураторе) в разделе "Configuration_Feature", в строке "#define LCD_LANGUAGE " поставить значение "ru" вместо "en" ! :) И, всё!!! Меню руссифицировано!!!
17 Фев 03:13
0
Это если экран не 2004 текстовый. Ибо там знакогенератор и китайцем кирилицу не завезли )
17 Фев 13:24
0
перепрошивают вроде как то? не?
17 Фев 13:27
0
Кого? Знакогенератор? Там мк типа клякса и все это дело (знакогенератор) втуливается в процессе изготовления экрана.
17 Фев 13:56
1
Там есть дичайший костыль, можно примерно тут ознакомиться. Не знаю, пилили ли это к марлину.
17 Фев 03:30
0
А чо, такие еще ставят? ;) Кстати шаговики тише работают, дает о себе знать алгоритм с установкой в прошивке делителя драйвера. Да и по стабильней прошивка будет. Я все свои перепрошил на неё, и свою старую Прюшку, и Летучего Ведьмедика, ну и заканчиваю, как говорил свой H-BOT на рельсах с 300-м столом. Да, а если скоммуниздить языковой файл с чистого марлина и подсунуть Кимбра, интересно - схавает? Может так можно лечить 2004.
17 Фев 09:49
0
Спасибо Руслан, однозначно полезно. Кинул в закладки.

А компенсация боудена в прошивке есть? (Advance K2 что то там.)
17 Фев 11:24
0
спасибо!
насчет компенсации в вебке ничего не увидел. полагаю надо лезть в конф файлы. файлы конфигурации там кстати более структурированы
Configuration_Overall.h - настройки отсюда перезатирают все оставльные из других файлов.
у меня директ - поэтому с темой боудена не знаком пока
17 Фев 11:01
0
Настроил вручную марлин кимбру 4.3.10, потом 4.3.11, теперь уже 4.3.12 под prusa i3 flsun.
Работает...
Среда ардуино - последняя официальная.
Из замеченных глюков в 10, 11 и 12 версии - хреново конфигурят пид стола. Только с бубном...
И еще, при использовании фан экстендера, при раскомментировании фичи автоматизации обдува электроники после старта шаговых двигателе, прошивка ругается на какие-то ошибки и не компилируется. А вот обдув термобарьера по температуре хотэнда выше заданной, отлично работает.
Из плюсов - отлично структурированная система настроечных файлов.
Плюс прошивка постоянно обновляется и улучшается.
17 Фев 13:22
0
запускал на 4.3.1 регулировку - один раз прошла но с какой то странной ошибкой
второй раз не прошла
надо попробовать еще разок через хост
17 Фев 13:01
0
Какая версия репетиера-хост или купили его?
17 Фев 13:18
0
репетирсервер крайний с сайта. Правда в триал моде
похоже он скоро в тыкву превратиться :))) и апгрейдить прошивку не получится
https://www.repetier-server.com/version-comparison/
17 Фев 14:33
0
Вот я и удивился, что вы смогли прошивку залить. Раньше это было в бесплатной версии. Я на прошлой неделе триал свой исчерпал.
17 Фев 14:35
0
Кстати, 3750р лицензия стоит. Прям как малинка с камерой.
18 Фев 22:43
0
ну на это я пока пойтить не могу :)
вообще прошивать ардуину так можно и из командной строки
https://3deshnik.ru/blogs/eta4ever/apelsinovyj-osminog-mladshij-i-pingvini-shtuchki в конце статьи комрад eta4ever показал как это сделать
надо бы попробовать
19 Фев 01:27
1
Было дело. Avrdude - вообще "наше все". Можно, кстати, компилить на большом компе (просто кнопкой Verify в Arduino IDE), брать hex, закидывать на малину-апельсину и оттуда зашивать дудкой. Это чтобы не морочиться с тулчейном и сборкой на малине-апельсине.

Ну и, да, этот материал на тудее есть, с полезными комментами. Я его отсюдова тута репостил.
19 Фев 11:43
0
Ну так репетиер тоже так может. Но с версией 0.80 стал за деньги это делать.
19 Фев 11:59
0
В курсе. Репетир вообще приятно сделан.
22 Фев 13:00
0
файловый менеджер только никакой

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Примус починяем.

Дом Мельникова

3Dtoday за 60 секунд от 20 июля

3D-сканеры SMARTTECH помогли в создании первого польского суперкара

Сказка про паровозик - интермеццо

Компания Wave3D предлагает крупноформатный стереолитографический 3D-принтер