Найти в Дзене
Михаил Девятков

Подключение 3D touch (BL touch) к принтеру под управлением klipper

Подопытный образец 3d touch производства triangle lab, плата bigtreetech SKR 1.4 turbo и bigtreetech EBB36. Подключение 3D touch к bigtreetech SKR 1.4 turbo Заходим в printer.cfg и вставляем строки: [bltouch]
sensor_pin: ^P0.10
control_pin: P2.0
x_offset: 0
y_offset: 0
z_offset: 0 Где sensor_pin: и control_pin: - номера пинов микроконтроллера к которым подключен датчик. Если используется другая плата, то смотрим схему. Подключение 3D touch к bigtreetech EBB36 Заходим в bigtreetech-ebb-canbus-v1.1.cfg и вставляем строки: [bltouch]
sensor_pin: ^EBBCan:PB8
control_pin: EBBCan:PB9
x_offset: 0
y_offset: 0
z_offset: 0 Даже не вставляем, а разкомментируем. Если из базового конфига ничего не удалялось, то они там есть. Общие настройки Добавляем строки в printer.cfg или bigtreetech-ebb-canbus-v1.1.cfg: [bed_mesh]
speed: 100
horizontal_move_z: 5
mesh_min: 2, 13
mesh_max: 294, 200
probe_count: 6, 4
fade_start: 1.0
fade_end: 10.0 Где, speed: - скорость передвижения между точками зондирования. h
Оглавление

Подопытный образец 3d touch производства triangle lab, плата bigtreetech SKR 1.4 turbo и bigtreetech EBB36.

3D touch triangle lab
3D touch triangle lab

Подключение 3D touch к bigtreetech SKR 1.4 turbo

3D touch bigtreetech SKR 1.4 turbo
3D touch bigtreetech SKR 1.4 turbo

Заходим в printer.cfg и вставляем строки:

[bltouch]
sensor_pin: ^P0.10
control_pin: P2.0
x_offset: 0
y_offset: 0
z_offset: 0
printer.cfg
printer.cfg

Где sensor_pin: и control_pin: - номера пинов микроконтроллера к которым подключен датчик. Если используется другая плата, то смотрим схему.

Подключение 3D touch к bigtreetech EBB36

3D touch bigtreetech EBB36
3D touch bigtreetech EBB36

Заходим в bigtreetech-ebb-canbus-v1.1.cfg и вставляем строки:

[bltouch]
sensor_pin: ^EBBCan:PB8
control_pin: EBBCan:PB9
x_offset: 0
y_offset: 0
z_offset: 0
printer.cfg
printer.cfg

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

Общие настройки

Добавляем строки в printer.cfg или bigtreetech-ebb-canbus-v1.1.cfg:

[bed_mesh]
speed: 100
horizontal_move_z: 5
mesh_min: 2, 13
mesh_max: 294, 200
probe_count: 6, 4
fade_start: 1.0
fade_end: 10.0
printer.cfg
printer.cfg

Где, speed: - скорость передвижения между точками зондирования. horizontal_move_z: - подъём сопла над столом во время передвижения. mesh_min: - x и y минимальные координаты щупа (именно щупа, а не сопла). mesh_max: - x и y максимальные координаты щупа. probe_count: - количество точек зондирования по x и y (максимальное число 6 при использовании алгоритма интерполяции lagrange, он используется по умолчанию). Можно настроить поэтапное затухание корректировки высоты печати: fade_start - позиция начала поэтапного затухания, fade_end - позиция окончания поэтапного затухания в мм. Координаты щупа ставим приблизительно, после калибровки отредактируем.

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

algorithm: bicubic
mesh_pps: 2, 3

Где, algorithm: - алгоритм интерполяции lagrange (по умолчанию) или bicubic. mesh_pps: - количество точек интерполяции по оси x и y (по умолчанию 2,2), 0 - отключить интерполяцию, можно указать одно число (будет одинаковое количество точек по x и y).

Жмем сохранить и перезагрузить, и перезагружаем хост. После загрузки и соединения klipper с хостом, датчик должен два раза опустить и поднять щуп, это хороший признак.

Теперь можно проверить датчик. Вводим в консоль команду "BLTOUCH_DEBUG COMMAND=pin_down" датчик опускается. Вводим команду "BLTOUCH_DEBUG COMMAND=touch_mode", затем "QUERY_PROBE" и получаем значение "probe: open". Вводим команду "BLTOUCH_DEBUG COMMAND=pin_up" датчик поднимается. Вводим команду "BLTOUCH_DEBUG COMMAND=touch_mode", затем "QUERY_PROBE" и получаем значение "probe: TRIGGERED". Если все так, то датчик подключен правильно.

Теперь паркуем оси, если по Z точка парковки 0, то поднимаем сопло над столом на 10 мм. Вводим в консоль команду "PROBE", результат запоминаем, это будет z_offset.

Теперь нужно получить x_offset и y_offset. Наклеиваем кусок бумажного скотча в центр стола, ставим сопло в центр и делаем отметку на скотче положения сопла. Передвигает кнопками голову так что бы щуп зонда оказался над отметкой. От координаты центра стола отнимаем получившуюся координату, это будут x_offset и y_offset. Например: Y(центра)=100, Y(щупа в центре)=82, y_offset=100-82=18.

Идем править printer.cfg или bigtreetech-ebb-canbus-v1.1.cfg. Исправляем:

x_offset: 0
y_offset: 0
z_offset: 0
printer.cfg
printer.cfg

Теперь проезжаем головой над столом, с целью найти координаты щупа при которых ничего не мешает делать измерения (например зажимы для стекла). К получившимся координатам прибавляем x_offset y_offset и заносим в printer.cfg или bigtreetech-ebb-canbus-v1.1.cfg

Калибровка стола "без бумажки"

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

Паркуем оси. Выставляем положение щупа как можно ближе к регулировочному винту и выполняем команду "probe" из консоли, поднимаем сопло и повторяем. Запоминаем и едем к следующему винту, где выполняем "probe" и подстраиваем как можно ближе к первому значению. Цель - сделать все углы одинаково.

Строим карту высот

Теперь можно приступить к созданию карты высот. Греем стол до рабочей температуры. Переходим на вкладку "Подстройка", паркуем оси и жмем "Калибровка"

Сохраняем карту высот, название можно не менять если карту высот планируем одну. Если несколько придумываем название. Карты можно сохранить для разных температур стола

Вот пример карты высот для холодного стола и прогретого до 100 градусов

Если карт несколько, то перед печатью загружаем нужный профиль

fluidd
fluidd

Все автоматически сохранённые параметры хранятся в файле printer.cfg, в самом низу, в разделе SAVE_CONFIG. Не путать с комментариями, эти настройки считываются и применяются

SAVE_CONFIG
SAVE_CONFIG

Теперь необходимо вставить в стартовый G-код слайсера команду для применения карты высот:

BED_MESH_PROFILE LOAD=default

У меня PrusaSlicer, выглядит вот так:

PrusaSlicer
PrusaSlicer

Точная регулировка

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

После можно еще раз выполнить команду "probe" и скорректировать значение z_offset

fluidd
fluidd

3D touch (BL touch) заменяет концевик

Тут все просто. В [stepper_z] редактируем строчку endstop_pin: probe:z_virtual_endstop. Комментируем строчку #position_endstop. Если она вдруг закомментирована (значит применялось автосохранение настроек), то идем самый низ printer.cfg в раздел SAVE_CONFIG, ищем там position_endstop и удаляем

printer.cfg
printer.cfg

Спасибо, что дочитали до конца. В публикации расмотрены основные настройки 3D touch (BL touch), если требуется более глубокое изучение, нужно обратиться к официальной документации. В моих публикациях можно почитать про установку и первоначальную настройку Klipper, настройку автовыключения принтера, настройку датчика ADXL345 и другое.

Подписывайтесь на этот канал. Также что б ни чего не пропустить подписывайтесь на мое сообщество ВК и канал Telegram
https://vk.com/cncand3d
https://t.me/cncand3d