Инструкция по обновлению прошивки 3d принтера

Часть 1. Электроника

Первым делом решил начать с электроники. Для себя решил, если все заработает, прошивка зальется, буду собирать механику. Долго выбирал на каком микроконтроллере собирать “мозги”. Остановился на плате MKS Gen V1.4. Эта плата “заточена” сразу под 3D принтер. Спасибо нашим китайским товарищам. Теперь не нужно городить плату ардуино+ куча шилдов. Был куплен сразу комплект плата + графический индикатор. Если найду список-смету, всех купленных деталей, то обязательно внесу поправку в статью. Плата выглядит так:

дисплей вот такой.

В комплекте так же были USB кабель для подключения к компьютеру и два шлейфа для подключения индикатора к плате. Без китайских “косяков” не обошлось. Шлейфы к индикатору были обжаты неправильно. Пришлось перевернуть разъемы на шлейфах. Не знаю нужно ли более подробно описывать что куда подключалось к плате. Если нужно пускай модератор подскажет. Сделаю более подробное описание. Программу для управления принтером выбрал Marlin – 1.1.1, что бы залить ее в микроконтроллер нужно программа Arduino. У меня версия Arduino 1.6.8. Проблем с подключением не возникло. Попробовал залить скетч, все прошло отлично. Единственный нюанс – это под мой индикатор пришлось установить дополнительную библиотеку U8qlib. Попробовал подвигать моторами (заказал в Китае сразу комплект из 5 шт., но для двух экструдеров нужно 6 моторов, поэтому заказал еще один). Марка моторов 17HS4401 (ток 1.7 ампера). Драйвера для моторов DRV8825. Такие драйвера я применил в своем лазерном гравере. Проблем с драйверами не было вообще. Главное выставить правильные токи для моторов. Как это сделать полно статей в интернете. И так попробовал двигать моторами. Они начали вращаться. Поскольку я не новичок в электронике, то я избежал ошибки, которую совершаю многие. Нужно обязательно подключить концевые выключатели, иначе у вас не будут вращаться моторы. В программе Марлин стоит условие, что концевики подключены с нормально замкнуты состоянием и их отсутствие понимается программой как срабатывание. Можно и без концевых выключателей. Тогда нужно изменить исходный код в скетче. Попробовал сконфигурировать программу под кинематику COREXY. Теперь при движении по одной оси вращается сразу два мотора, что и характерно для этой кинематики. Так как ось Z будут двигаться по двум винтовым парам, значит на оси Z будут стоять два мотора. Эти моторы должны вращаться синхронно. Получить синхронность можно если подключить моторы последовательно. Что я и сделал. Вот схема подключения.

Проверил работоспособность портов для управления вентиляторами и нагревательными элементами. Все работало. Хорошо что на плате есть установленные светодиоды, которые сигнализируют о включении нужного порта. Таким образом все самые необходимое функции для работы 3D принтера были проверены. Более детальная настройка моторов,(направление, количество шагов) будет произведена когда будет собрана механика. Окрыленный тем, что электроника работает и без проблем можно менять скетч, и на лету заливать в микроконтроллер решил заняться проектированием механики.

Схема подключения периферии к плате.

Плата MKS Gen имеет на своем борту свободные порты (D4, D11). Вот через них решил подключить вентиляторы для обдува самой платы MKS и печатающей детали. Поскольку выходы этих портов слаботочные, и на прямую нельзя к ним подключать вентиляторы, то была спаяна плата на которой находятся два силовых ключа и преобразователь напряжения с 12 в на 5 вольт для датчика AUTOLevel. Получилась такая плата как на фото, Ну и коробочка под нее (как же теперь без них, если есть 3D принтер).

Шаг первый — калибровка delta 3D принтера

Дельта оборудование, благодаря используемым в нём комплектующим, отличается особой надёжностью. Но преимущества и недостатки дельта 3D-принтеров мы ранее уже рассматривали, сейчас лишь отметим, что в них используются рельсовые направляющие. Именно эти комплектующие обеспечивают высокую точность печати изделий принтером. Чтобы убедиться в этом, достаточно правильно произвести настройку оборудования. Сделать это можно несколькими способами.

Калибровка с помощью онлайн-калькулятора. Аnycubic — одни из самых популярных принтеров. Для начала работы с таким оборудованием нужно внести минимальное количество дополнительных настроек. Вся калибровка дельта 3D принтера Anycubic выполняется за несколько этапов:

  • открываем онлайн-калькулятор для дельта принтеров;
  • в таблице указываем прошивку и вводим максимальную высоту по оси Z (полученное значение увеличиваем на несколько мм);
  • в двух последних пунктах («Number of probe points» и «Number of factors to calibrate») устанавливаем число «7», это позволит точно откалибровать поверхность.

Теперь переходим к следующему этапу калибровки. Для этого нужно включить принтер и дать ему нагреться до рабочей температуры. Затем хоумим принтер и переходим к вводу координат, в онлайн-калькуляторе таких значений шесть и обозначаются они как «Point 0-6».

Сначала перемещаем хотенд в координаты, указанные на картинке в пункте «Point 1» (X: 0,0; Y: 150,0). Затем нужно опустить сопло до соприкосновения с листом бумаги

Важно помнить, что бумага должна полностью прилегать к поверхности, но при этом свободно по ней перемещаться

Экран покажет значение, которое необходимо внести в таблицу в пункте «Nozzle helght error». Например, если при соприкосновении хотенда с бумажкой на экране отображается, что он находится на высоте 0.6 мм, в колонку записываем результат «-0,6».

Затем проделываем то же проделываем для всех остальных координат, приведённых на картинке выше в белых полях «X» и «Y» и соответственно вводим получившиеся значения «Nozzle helght error». Когда вся информация будет внесена, нажимаем «Calculate» и вносим откорректированные значения в Eeprom и прошивку (калькулятор, кстати, подходит не только для калибровки дельта принтера Repetier, но и для оборудования с прошивками Smoothieware, RepRapFirmware и Marlin).

После завершения настройки устройство будет учитывать корректную высоту и точно выполнять печать.

Автокалибровка с помощью утилит. Другой вариант — покупка утилит, установка которых позволит легко подготовить оборудование к работе. Отличным решением станет программа OpenDACT, также настройку можно выполнить с помощью программы Pronterface. Единственной сложностью первой утилиты является то, что она не совместима с Repetier, поэтому для её корректной работы 3D-принтер, возможно, придётся перепрошить.

Помимо ручного режима калибровки, в программе присутствует возможность выставления автоматических настроек. Автокалибровка дельта 3D принтера может быть выполнена несколькими способами. Самым простым считается создание электрического контакта между металлическим соплом и столом. Делается это следующим образом:

  • ровно наклеиваем алюминиевый скотч на рабочую поверхность;
  • далее берём провод, один конец которого обжат в колодку, а два других закрепляются на радиаторе и на подготовленной поверхности;
  • после этого концы провода подключаем к плате и 3D-принтеру к Z-max;
  • после присоединения проводов и настройки прошивки можно запускать автокалибровку. Более корректные и точные значения получатся, если выполнять настройку с компьютера.

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

Часть 3. Настройка прошивки Marlin 1.1.1

Я не буду полностью описывать конфигурацию программы Marlin под плату MKS Gen V1.4 в интернете много статей на эту тему. Опишу только те проблемы, которые возникли у меня.

  1. Не знаю с чем это связано, но наши китайские друзья, по не известной мне причине на плате MKS Gen перепутали надписи на портах E1 (в программировании отчет идет от нуля, по этому E1 – это второй экструдер) и FAN. То есть при включение в меню принтера нагрева второго экструдера, начинал вращаться вентилятор. А при включение вентилятора нагревался второй экструдер. Можно было оставить и так, но я привык, что все должно быть на своем месте. Если разъем подписан FAN, значит и подключаться к нему должен вентилятор. Для этого нужно зайти в программу Марлин найти вкладку pins_RAMPS.h и сделать следующие изменения (выделены красным и зеленым цветом).
  2. Второе с чем я столкнулся это, то что стол по оси Z перемещался в 4 раза дальше, чем координата на дисплее. Для вычисления количество шагов на мм, нужны следующие данные: минимальный угол мотора -1,8 градуса, микрошаг на драйвере – 1/16, винт TR8x2.0 Подставив все это в онлайн калькулятор, получил число 1600. Но с этим числом, Z ось упорно двигалась в 4 раза длиннее. Не найдя причины почему так происходит. Я (1600/4) получил 400. Вот это значение и внес в прошивку, файл configuration.h Где нужно сделать изменения выделено красным.

Что дальше?

Что же (а главное — как) мы можем настроить благодаря подключению по UART?

Меню TMC drivers

В меню Configuration -> Advanced configuration появилось новое подменю — TMC drivers, содержащее 3 пункта:

  1. Driver current — настройка тока Irms для каждого драйвера
  2. Hybrid threshold — настройка порога гибридного режима, то есть скорости движения оси, после которой драйвер будет переключаться из режима StealthChop в SpreadCycle. Если хотите выключить гибридный режим для какой-то из осей и использовать только StealthChop, поставьте здесь очень большое значение (на 22 мая 2019 существует баг — при загрузке настроек из EEPROM все значения отображаются равными 0. При этом на самом деле загружаются правильные значения, их даже можно поменять в этом меню и сохранить в EEPROM, и все работает, но в самом меню отображается 0)
  3. Microstepping mode — ручное переключение между StealthChop и SpreadCycle для каждой оси. Если стоит «on», то используется StealthChop и гибридный режим, если «off» — то всегда включен только SpreadCycle

Давайте приступим к настройке 3dTouch или BlTouch.

Порядок настройки 3dTouch или BlTouch в Marlin:

  • Поднимаем сопло выше уровня стола на 10-20мм.
  • Если зонд мигает (в аварийном состоянии), через слайсер вводим команду M280 P0 S160, или через меню принтера выбираем Control/BLTouch/ Reset BlTouch. Зонд успокоится и светодиод погаснет.
  • Берем шестигранник, вставляем в регулировочный винт зонда и плавно крутим против часовой стрелки до момента включения светодиодной индикации. Ловим именно тот момент, когда загорится светодиод и на 1мм или 1градус, кому как удобнее, доворачиваем против часовой стрелки. Также делаем, если у зонда после сброса горит светодиод, только крутим по часовой стрелке до момента его выключения и возвращаем его обратно как писал выше.
  • Тестируем командой M280 P0 S10 — щуп опускается и светодиод тухнет;
  • Команда M280 P0 S90 — втягивает щуп и светодиод загорается;
  • Автоматический тест M280 P0 S120 — будет опускать и поднимать щуп пока не сделаете сброс командой M280 P0 S160 или через меню принтера Control/BLTouch/ Reset BlTouch

Но нам еще нужно выставить Z OFFSET в Marlin:

  1. Запускаем принтер и через меню настроек производим инициализацию EEPROM;
  2. Подключаем слайсер и отправляем команду M851 Z0;
  3. Вводим G28;
  4. Вводим команду G1 X110 Y110 — сопло переместится в центр стола;
  5. G1 Z0 F500 -Опускаем сопло до нужной высоты, проверяя расстояние листом бумаги А4 между столом и соплом;
  6. G91 — Относительные координаты
  7. G1 Z-0.1 – движение по оси Z.
  8. M114 – Вывести текущие координаты.
  9. После выставления нужной высоты, смотрим на дисплей принтера и записываем получившуюся отрицательную высоту по оси Z, к примеру, у меня Z-1,29.
  10. Вписываем значение в команду M851 Z-1,29.
  11. Проверяем правильность установки офсета. Отправляем команду G28, после возвращения в позицию «Дом», кладём листок на центр стола, отправляем команду G1 Z0 и проверяем листочком высоту сопла.
  12. G29 – Проверка карты стола.
  13. Сохраняем вписанные значения в EEPROM командой М500;

Вот и все, теперь можно пользоваться принтером. Многие делают составление карты высот в стартовом коде, что приводит к составлению карты высот перед каждой печатью. Я же считаю, что карту высот можно составлять 1 раз в неделю. А как будете пользоваться вы, — это уже вам решать.

Понравился статья Настройка 3dTouch или BlTouch в Marlin? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу , в группу на .

Спасибо за внимание!

Технологии начинаются с простого!

Файлы для скачивания

Скачивая материал, я соглашаюсь с
Правилами скачивания и использования материалов.

3Dtouch Datasheet.pdf 540 Kb 671 Скачать
BLTouch Datasheet.pdf 626 Kb 484 Скачать

Для чего это нужно?

Плата BIG TREE TECH (BIQU) SKR v1.3 оснащена 32-битным микропроцессором LPC1768 на ядре ARM Cortex-M3. Данный микропроцессор обладает на порядок более внушительными вычислительными возможностями, чем ATmega1284P, установленный на штатной плате Creality 1.1.x, которой оснащаются принтеры серии Ender.
Это дает возможность одновременно задействовать нагружающие микропроцессор и занимающие много памяти функции, такие как использование Linear Advance, автоуровня типа BLTouch/3DTouch, плавных ускорений S Curve Acceleration и др. Кроме того, в целом повышается быстродействие системы и максимально достижимая скорость печати.

Помимо этого, плата BIG TREE TECH (BIQU) SKR v1.3 имеет еще несколько важных преимуществ:

  1. Колодки для драйверов в форм-факторе Polulu (SilentStepStick) — возможность установить любые поддерживаемые прошивкой драйвера без необходимости перепайки и колхозинка штатной платы
  2. Возможность установки до 5 драйверов и 2 нагревателей хотенда — можно установить дополнительный экструдер, toolchange-систему, MMU-ситему, использовать выход на второй нагреватель как дополнительный управляемый PWM-выход (подсветка/охлаждение)
  3. Наличие предохранителей на плате — меньше вероятность спалить мосфет стола или хотенда при случайном замыкании
  4. Возможность подключить цветной (сенсорный) дисплей, наличие дополнительных AUX портов

Для управления шаговыми двигателями (ШД) было решено использовать драйвера Trinamic TMC2208. Это относительно новые драйвера, пришедшие на смену хорошо зарекомендовавшему себя поколению TMC21XX. К их преимуществам можно отнести:

  1. Технология StealthChop2 – тишина работы моторов
  2. Технология SpreadCycle – оригинальный алгоритм direct current управления от Trinamic, позволяет точно управлять током в обмотках ШД для увеличения точности позиционирования и момента на высоких скоростях
  3. Возможность работы в режиме нативного дробления до 1/256 шага или с меньшим дроблением, но с интерполяцией до 1/256.
  4. Возможность управления по UART

На последнем пункте остановимся подробнее. В данной статье рассматривается именно способ установки драйверов c управлением по UART. Это позволяет из прошивки конфигурировать ток, дробление шага, интерполяцию, режим чоппера и другие параметры работы драйвера. Кроме того, в прошивке Marlin (и, возможно, в других) реализован так называемый гибридный режим, суть которого в автоматическом переключении драйвера из тихого режима StealthChop2 в более «мощный» SpreadCycle при достижении определенной скорости (hybrid mode threshold). Это позволяет «поддать жару», когда это нужно, наслаждаясь тишиной в остальное время. Помимо этого, используя управление по UART, можно настроить фазы чоппера SpeadCycle для достижения меньшего уровня шума в этом режиме (я пока этого не делал и это тема для отдельной статьи).

¶ Экструдер

Переместите хотэнд к центру стола, подведите стол как можно ближе к соплу и включите обдув хотенда. Калибровка проводится для конкретной температуры; это не значит, что если вы провели ее на температуре 230°, то на 250°\210° работать она не будет, это лишь значит, что чем больше разница рабочей температуры от заданной при калибровке — тем больше будет погрешность, поэтому необходимо устанавливать ту величину, что чаще всего используется.

Полученные значения можно внести в прошивку или сохранить в EEPROM, данная процедура описана в разделе «Прошивка». Также для калибровки хотенда можно воспользоваться готовым GCod’ом который проведет калибровку за вас и сохранит значения в EEPROM. Для этого необходимо скопировать код, описанный ниже (установив в нем свои значения номера экструдера, температуры, а также количество повторений) в текстовый файл, сохранить его с расширением «.gcode» и запустить на исполнение на вашем принтере; результаты тестирования будут автоматически сохранены. После завершения в терминал будут выведены текущие значения EEPROM для проверки, значения PID для экструдера находятся в строке с командой «M301».

¶ EEPROM

Не стоит забывать, что значения PID хранятся в энергонезависимой памяти контроллера и после перепрошивки вам необходимо либо восстановить в EEPROM значения, указанные нами в прошивке, либо, если вы не хотите перепрошивать свой принтер, вы можете сохранить значения напрямую в EEPROM, но не забывайте, что при использовании команды «M502» (записать значения из прошивки в EEPROM) придется повторно записать PID значения в EEPROM, так как они будут заменены теми, что указаны в прошивке. Для хранения данных значений предпочтительнее указывать их в прошивке — это убережет вас от множества проблем.


*Результаты удержания температуры после правильной калибровки

@LiS92
Спасибо всем, надеюсь данный гайд оказался для вас полезным. Правки и пожелания направлять в telegramна одноименный аккаунт.
Так же хотел бы сказать что завел канал в telegram где данный гайд есть в формате PDF документа с более удобным форматированием текста: @LiS92Live

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
3D-тест
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: