Перейти к содержанию

Установка BL-touch (3D Touch) на Ender 3

Я установил официальную плату Silent Mainboard с 8-битным Atmega 1284p, в которой используется тот же самый микроконтроллер, но драйверы TMC2208

Ender-совместимая Silent Mainboard

Стоковая площадка для печати имеет определенную кривизну. Причем у меня вогнутая как стакан, а у моего коллеги наоборот – выгнутая. Печатать приходилось всегда с подложкой (Raft). Печать без подложки требовала очень проблематичной, долгой калибровкой с листочком. Когда надоело тратить кучу пластика на подложки и времени на калибровку каждой печати, решил провести небольшой апгрейд. Можно было бы заменить стол на зеркало, но это пока все в процессе и быстрее всего получалось купить BL-touch или 3DTouch

Первым дело я подумал, что раз уж плата от официалов, то и прошивку можно скачать готовую, поэтому начал искать

На сайте с офф. прошивками https://forums.creality3dofficial.com/ender-3/ видно грустную картину – поддержка BL-touch есть только на плату со старыми драйверами или на 32-битный МК с новыми драйверами.

Придется ли перепрошить плату? Да.

Придется ли самому компилировать прошивку? Да.

Прошивка влезет в память 8-битного МК? Да, но с оговорками.

Звучит сложно? Да, но лишь звучит.

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

  • 1. Подготовка. Следуем всем указаниям этого парня, но на 1:50 он говорит о последней версии Marlin, но нам нужна версия 1.1.x “bugfix” snapshot с сайта https://marlinfw.org/meta/download/ (картинка ниже). Компилируем прошивку, но НЕ загружаем
Перепрошивка Marlin под Ender 3
Где качать прошивку
  • 2. Собираем. Следуем всем указаниям этого парня, до момента когда раскомментировали #define BLTOUCH добавили строку #define SERVO0_PIN 27. В этот момент нужно спуститься на несколько строк ниже и раскомментировать #define BLTOUCH_V3. Теперь у нас есть поддержка BL-touch версии 3.
  • 2.0. UPD 2021. На некоторых версиях marlin этой строчки нет. Ничего страшного. Просто пропускаем эту строчку. Подробнее тут:
  • 2.1. Еще один момент. Нужно оставить #define Z_MIN_PROBE_ENDSTOP_INVERTING false и не менять его на true.
Установка BL-touch в деталях

Чтобы BL-touch начал обмерять поверхность печати в слайсере нужно добавить в стартовый g-code после G28 строку с G29. Где именно это делается зависит от производителя – смотрите для своего слайсера

Калибровка Z оси (очень коротко):

  1. Выставить в положение Home (autohome)
  2. Переместить ось Z в ноль и подложить бумагу – как при обычной калибровке. В итоге получатся значения на дисплее (X:0, Y:0, Z:0)
  3. В меню Control изменять Z-offset пока бумага не будет слегка сопротивляться при перемещении – как при обычной калибровке стола
  4. Обязательно выбрать пункт меню Store Settings, иначе настройки собьются

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

Пара держателей для BL-touch

https://www.thingiverse.com/thing:3003725

https://www.thingiverse.com/thing:3584158

BLtouch на моем принтере

Очень интересный, на мой взгляд, кастомный стартовый g-code для слайсера. Включает в себя преднагрев экструдера до 160 град. во время автокалибровки. Можно еще добавить вывод сообщений на LCD с помощью кода M117 сообщение

; Ender 3 Custom Start G-code
M140 S{material_bed_temperature_layer_0} ; Set Heat Bed temperature
M190 S{material_bed_temperature_layer_0} ; Wait for Heat Bed temperature
M104 S160; start warming extruder to 160
G28 ; Home all axes
G29 ; Auto bed-level (BL-Touch)
G92 E0 ; Reset Extruder
M104 S{material_print_temperature_layer_0} ; Set Extruder temperature
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
M109 S{material_print_temperature_layer_0} ; Wait for Extruder temperature
; G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
; End of custom start GCode

Вот и все. Тестируйте, настраивайте

Comment

programel