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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 кабель (включать блок питания не обязательно), жмём зелёный круг со стрелкой и ждём, пока скетч скомпилится и загрузится в принтер. В процессе компиляции могут вылезать ворнинги, ничего страшного.

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

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

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, приходилось потратить немало нервов, я задолбался крутить эти барашки и перезапускать печать - один угол впечатывается в стол, другой висит в воздухе.

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

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

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

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

3
Комментарии к статье

Комментарии

13.03.2020 в 00:34
0

А чего крепление не замоделил нормально или хотя бы ножичком не почикал? Криво же стоит тач

13.03.2020 в 06:55
0

Его перекосило, когда я первый раз после установки запустил печать на ночь, ось Z словила клина (не поверил соосность после манипуляций) и датчик бился об модель, пришлось подклеить крепление. Надо перепечатать, но кстати и так прекрасно работает.

13.03.2020 в 07:22
0

Если не трудно, сделайте тест M48 повторяемости датчика.

13.03.2020 в 07:23
0

Я вот такой юзаю датчик, тож очень хорошо работает - если кто то хочет сэкономить или не лень повозиться.

https://3dtoday.ru/blogs/aanntton/avtomaticheskaya-kalibrovka-stola-bfptouch

13.03.2020 в 08:49
0

неправильно прикручен BLTouch, он не должен быть жестко прикручен, а через пружинки.

13.03.2020 в 09:41
0

Пружинки нужны для регулировки разницы высоты сопло-зонд(~8.3mm). Если правильная модель крепления то и без них всё хорошо.

13.03.2020 в 09:44
0

не только, они еще нужны чтобы если что пойдет не так, датчик не выламывало, чтобы у него была свобода сыграть при сильном ударе

13.03.2020 в 14:38
1

Если выпадет щуп то датчик снесёт не смотря на пружинки, либо щуп погнет. Внутри пружинок идут всё те же винты и их люфт ограничен диаметром отверстий в консоли.

14.03.2020 в 10:56
-1

если датчик имеет свободу, то больше шансов что щуп погнет нефатально, можно выпрямить и дальше использовать.

18.03.2020 в 20:30
0

С чего это?

13.03.2020 в 12:31
0

Странно. Я один раз откалибровал с помощью гарантийного талона в качестве щупа, и больше проблем не знал, в т.ч. с деталями во весь стол.

Но стекло к столу креплю тремя скрепками, а не четырьмя.

16.03.2020 в 19:59
0

Привет а можно готовый файл Configuration.h krot7@list.ru буду очень благодарен

25.05.2020 в 19:05
0

Извиняюсь, совсем не заметил коммент) если еще нужно, выложил ссылку в комментарии ниже

25.05.2020 в 19:04
0

По просьбам.

Файлы конфига:

https://yadi.sk/d/Wbhmxy-2qZ8hEw

Тут я выпилил работу с EEPROM и другие плюшки, чтобы добавить поддержку SD-карт.

Стартовый GCode:

M301 P22 I1 D114 ;параметры PID - эту строку я добавил, когда игрался с параметрами, чтобы каждый раз не заливать прошивку заново

G21 ;metric values

G90 ;absolute positioning

M82 ;set extruder to absolute mode

M107 ;start with the fan off

G28 X0 Y0 ;move X/Y to min endstops

G28 Z0 ;move Z to min endstops

G29 ;auto leveling

M84 ;steppers off

M0 S12 ;wait 12 seconds

M17 ;turn steppers on

G1 Z10.0 F300 ;move the platform down 10mm

G92 E0 ;zero the extruded length

G1 F200 E8 ;extrude 8mm of feed stock

G92 E0 ;zero the extruded length again

M0 S5 ;wait 5 seconds

Финишный GCode:

M104 S0 ;extruder heater off

M140 S0 ;heated bed heater off (if you have it)

G91 ;relative positioning

G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure

G1 Z+4 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more

G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way

G1 Y210 F9000 ;move out to get part off

M84 ;steppers off

G90 ;absolute positioning

G1 F9000

M117 Printing...

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

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

Tarantula Pro, проблемы после сборки.

Обзор стоматологического 3D-сканера Medit Identica T300

Старообрядческая церковь в селе Филлиповское Борского района Нижегородской области.

Пробная печать полиэтиленом ПВД, ПНД на 3D принтере.

Свечной заводик

skr e3 dip, дважды мертвая.