Металл2024 Реклама
Метобр2024 Реклама

Anet A8 Plus: как прикрутить автоуровень BLTouch (и прошить принтер на Marlin 2.0)

irdissimix20
Идет загрузка
Загрузка
12.03.2020
15497
29
Техничка

Подпишитесь на автора

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

Отписаться от уведомлений вы всегда сможете в профиле автора.

8
Статья относится к принтерам:
Anet A8 Plus

Решил поставить китайский BLTouch (он же 3D Touch) на свой принтер, но конкретно для Anet A8 Plus мануалов не нашёл. Мне, как новичку, было непросто разобраться, поэтому собрал всё в кучу.

Чтобы заставить работать датчик автоуровня, нужно сделать несколько вещей:

1. Повесить датчик и подключить электрику.

2. Прошить принтер на Marlin, предварительно поправив файлы конфига.

3. Настроить всё это добро.

1. Физическая часть

Перед всеми манипуляциями крайне желательно выставить стол вручную.

Я распечатал вот это крепление с Thingiverse из ABS, датчик крепится слева от экструдера под вентилятор охлаждения. В сложенном состоянии концевик оказался ниже сопла, пришлось подложить гайки под крепление.

Anet A8 Plus: как прикрутить автоуровень BLTouch (и прошить принтер на Marlin 2.0)

Сам датчик я купил на Али вот здесь с доставкой из России, кстати привезли очень быстро. В описании указана распиновка:

  • Чёрный - земля
  • Белый - Z min
  • Коричневый - земля
  • Красный - +5 Вольт
  • Оранжевый - сигнал

На деле провода оказались другого цвета:

  • Чёрный - земля
  • Белый - Z min
  • Зелёный - земля
  • Красный - +5 Вольт
  • Жёлтый - сигнал

Электрику я подключал, посмотрев вот это видео:

Только на видео простой A8, не Plus. У нас сигнальный провод подключается к седьмому пину дисплея, а не к шестому (в прошивке это будет пин 29). Сделать это можно разными способами, я скрутил конец провода в петлю, залудил и просто накинул на пин, поверх воткнув разъём дисплея. Остальные провода я подключил вместо концевика оси Z по схеме:

Anet A8 Plus: как прикрутить автоуровень BLTouch (и прошить принтер на Marlin 2.0)

2. Прошивка и конфиг

Прошивал вот по этому мануалу. Не знаю, как у других, в моей плате уже есть бутлоадер и прошиваться можно просто через USB кабель. Если загрузчика нет, то его можно залить с помощью ардуинки, вот хороший мануал. Короче:

Теперь надо сразу отредактировать конфиг. Некоторые параметры подбираются опытным путём, мне пришлось заливать прошивку в плату не один десяток раз. На сайте марлина есть подробное описание всех параметров. Старые мануалы не актуальны для второй версии марлина, теперь некоторые параметры называются по-другому. Я читал инструкцию на странице товара на Али, вот этот и этот мануалы, приходилось гуглить и исправлять, вот что у меня получилось. Файл Configuration.h:

  • #define Z_MIN_PROBE_ENDSTOP_INVERTING false
  • #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
  • #define BLTOUCH
  • #define SERVO0_PIN 29 
  • #define AUTO_BED_LEVELING_BILINEAR
  • #define GRID_MAX_POINTS_X 4 // количество точек, по которым происходит калибровка. Я поставил 4, то есть калибровка будет по 16 точкам, всё-таки стол немаленький. Можно выставить разные значения для X и Y.
  • #define Z_SAFE_HOMING
  • #define REVERSE_ENCODER_DIRECTION // У меня почему-то оказалось инвертированным направление энкодера. Чтобы пофиксить, пришлось раскомментировать эту строчку.
  • #define NOZZLE_TO_PROBE_OFFSET { -50, -25, 0 } // расстояние по осям X и Y от концевика до сопла
  • #define EEPROM_SETTINGS
  • #define MIN_PROBE_EDGE 15 // отступы от краёв стола до точек, по которым будет проводиться калибровка. Я поставил 15 мм, чтобы сопло не задевало скрепки на стекле, а вот справа нужно оставить 75 мм, иначе каретка упрётся в раму - для этого в файле Configuration_adv.h укажем #define MIN_PROBE_EDGE_RIGHT 75

В таком виде прошивка не лезет в память принтера, я для экономии места выпилил возможность работы с SD-картой и PID-регулятор стола:

  • //#define SDSUPPORT
  • //#define PIDTEMPBED

Сразу скажу, что у меня после перепрошивки начала плавать температура сопла на 10 градусов вверх и вниз, калибровка PID не дала результатов, в итоге я подсмотрел значения коэффициентов у такого же принтера:

Kp = 22.2; Ki = 1.08; Kd = 114.0

и записал их в прошивку:

  •   #define DEFAULT_Kp 22.2
  •   #define DEFAULT_Ki 1.08
  •   #define DEFAULT_Kd 114.0

Температура держится более-менее стабильно. Также эти коэффициенты можно записать в EEPROM.

Продолжаем процесс перепрошивки:

  • Выбираем "Инструменты -> Плата -> Anet V 1.0 (Optiboot)
  • Устанавливаем библиотеку u8glib: жмём "Скетч -> Подключить библиотеку -> Управлять библиотеками", ищем в поиске "u8glib", ставим
  • Подключаем наш принтер через USB кабель (включать блок питания не обязательно), жмём зелёный круг со стрелкой и ждём, пока скетч скомпилится и загрузится в принтер. В процессе компиляции могут вылезать ворнинги, ничего страшного.

Anet A8 Plus: как прикрутить автоуровень BLTouch (и прошить принтер на Marlin 2.0)

После запуска принтер может ругаться разными ошибками на EEPROM:

Anet A8 Plus: как прикрутить автоуровень BLTouch (и прошить принтер на Marlin 2.0)

После каждой перепрошивки нужно сбрасывать EEPROM, я прямо через меню жму Configure -> Restore Settings, затем Store Settings и перезагружаю принтер. Если всё получилось, главный экран выглядит вот так:

Anet A8 Plus: как прикрутить автоуровень BLTouch (и прошить принтер на Marlin 2.0)

3. Настройка

Нужно настроить Z Offset, то есть расстояние от края сопла до края концевика по оси Z. Делать это нужно на заранее выровненном столе. Я сделал просто: поставил через меню Configuration -> Probe Z Offset значение смещения -1.00 мм, чтобы принтер разрешил нам опускать сопло ниже концевика. Сделал Auto Home, потом в меню Motion -> Move Axis - Move Z и начал опускать экстудер по 0.1 мм, просовывая лист бумаги между соплом и столом. Получившееся значение (например, -0.27) вычел из Probe Z Offset, полученный результат (например, 0.73) выставил в Configuration -> Probe Z Offset. Потом повторил процедуру. Короче, наша цель такая: после Auto Home и опускания экстудера до Z=0 между соплом и столом должна пролезать бумажка, как при ручной настройке - это и будет высота первого слоя. Не забываем сохранить настройки в EEPROM: Configuration -> Store Settings. Вот тут чувак показывает с 5:52:

Настраиваем все остальные параметры (ускорения, джерки и т.д.) и можно печатать. Осталось добавить в стартовый G-code команду G29 (автокалибровка стола) после G28 (автохоум), если хотим, чтобы калибровка происходила перед каждой печатью.

Могу сказать, что мне повезло и китайский датчик работает прекрасно, никаких багов не замечено. Вот тут видно, как при печати крутится ось Z, компенсируя кривизну стола:

Раньше, чтобы напечатать вот такую деталь для металлоискателя во всю область печати 300х300, приходилось потратить немало нервов, я задолбался крутить эти барашки и перезапускать печать - один угол впечатывается в стол, другой висит в воздухе.

Anet A8 Plus: как прикрутить автоуровень BLTouch (и прошить принтер на Marlin 2.0)

Теперь об этой проблеме можно не думать, первый слой ложится ровно даже на больших деталях:

Anet A8 Plus: как прикрутить автоуровень BLTouch (и прошить принтер на Marlin 2.0)

Подпишитесь на автора

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

Отписаться от уведомлений вы всегда сможете в профиле автора.

8
Комментарии к статье
Кремень КБ Реклама
Кремень КМ Реклама