BLTouch
Установка, настройка, калибровка
Подключение к плате MKS Gen L
Настройка и установка BLTouch
Подключение BLTouch к плате.
Перед установкой Bltouch необходимо позаботиться о некоторых моментах:
- Распечатать крепление под него. Модели крепления есть как на штатную систему охлаждения, так и на модификации. Так же подготовить крепежные элементы: винты, шайбы, гайки. Идут в комплекте с BLTouch.
- Скорее всего штатной длинны проводов не хватит, так что подумайте о наращивании проводов или замене проводов на более длинные, если у вас имеется штекер такого плана:
- Для подключения к плате используются коннекторы типа Dupont.
Место подключения к плате:
Установка BLTouch на экструдер.
Устанавливаем Bltouch отталкиваясь от вашего крепления.
Для удобства лучше поднять на 20-30 см сам хотэнд по оси Z.
Необходимо отрегулировать Bltouch таким образом, чтобы щуп в выдвинутом состоянии был ниже сопла, а в убранном, соответственно выше сопла.
Настройка в прошивке
Порядок настройки зонда:
Для этого понадобится слайсер, который умеет отправлять gcode, либо pronterface.
- Поднимаем сопло выше уровня стола.;
- Если зонд моргает(в аварийном состоянии), через слайсер вводим команду 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:
1 Способ
- Выставляем экструдер в домашнюю точку(Auto Home) командой G28;
- Проверяем, что в меню принтера Bed Leveling Zoffset установлен в 0;
- Через меню принтера, уводим в координаты X150 Y150 Z0;
- В меню принтера Bed leveling выбираем Zoffset и опускаем сопло, пока оно не коснется стола. Совсем чуть-чуть. Можно на глаз смотреть на просвет.
- Как только сопло коснулось стола, жмем кнопку энкодера и далее выбираем пункт Store settings;
- Для подстраховки сохраняем все настройки принтера;
- Готово
Способ 2. Более долгий
- Операции проводим либо на горячий стол, когда работаем с пластиками при температуре рабочего стола, как ПЛА, так и других. Если в основном с ПЛА на холодном столе, то на холодном, опять же смотря на текущий вид печатей в дальнейшем.
- Поднимаем голову на 20-30 мм. и вводим команду G28. На этом этапе можно еще раз проверить работу датчика. Как только ось Z станет опускаться то щуп датчика должен вылезти. Подставьте палец под щуп датчика. Ось должна остановится, затем подняться.;
- Команда M851 Z0 - Сброс Z офсета;
- Вводим команду G28 - автопарковка в домашние точки (По умолчанию в нули по осям);
- Далее вводим команду G1 Z0 - опускаем ось Z в нулевую точку;
- Подкладываем листик бумаги под сопло и командой G1 Z -X опускаем сопло, где Х - величина, на которую необходимо опустить сопло, до того момента, пока лист бумаги не начнет двигаться под соплом с небольшим сопротивлением;
- Далее посылаем команду M114, в ответ получаем текущие координаты. Нас интересует Z. Далее из текущих координат Z вычитаем толщину листа (она примерно равна 0.1, т.е., если у вас координаты по Z к примеру -0.45 и толщина листа 0.1, то получаем -0.45 - 0.1 = -0.55;
- Вписываем значение в команду M851 Z-0.55;
- Проверяем вписанное значение Zoffset, командой M851;
- Далее сохраняем вписанные значения в EEPROM командой М500;
- Проверяем правильность установки оффсета. Отправляем команду G28, после хоуминга кладем листок на центр стола, отправляем команду G0 Z0 и проверяем листочком высоту сопла.
Настройки в слайсере:
В слайсере, заходим в настройки принтера и в стартовом gcode необходимо прописать следующие команды:
.... стоят определенные команды до
G28
G29 (G29 - вставляется после G28)
... далее вновь прописаны доп. команды
Полезные ссылки:
https://3dua.info/topic/10-nastroyka-3dtouch-ili-bltouch-v-marlin-11x-obnovlyaemaya
Видео по настройке - https://www.youtube.com/watch?v=VlIFgICFWbM
От DjinN - https://telegra.ph/Ustanovka-bltouch-11-19
Настройка прошивки Marlin
Настройка BLTouch в прошивке Marlin
Настройка прошивки Marlin (наш канал https://t.me/tevotornadosettings)
После установки и подключения Bltouch, необходимо внести изменения в прошивку. Для этого качаем прошивку и программное обеспечение Arduino IDE. С помощью Arduino IDE открываем файл прошивки и идем на вкладку Configuration.h. Далее ищем следующие строки, и правим их так, как написано здесь:
#define BLTOUCH - включаем Bltouch в прошивке
#define X_PROBE_OFFSET_FROM_EXTRUDER 65 // X offset: -left +right [of the nozzle] - измеряем расстояние от сопла до щупа Bltouch по оси Х и вносим его. Если датчик стоит слева от сопла, то значение вносим со знаком "-"
#define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] - измеряем расстояние от сопла до щупа Bltouch по оси Y и вносим его. Если датчик стоит слева от сопла, то значение вносим со знаком "-"
#define MULTIPLE_PROBING 2 - количество замеров в одной точке (в данном случае 2. Если сделать 3 и более, то по идее будет браться среднее арифметическое всех замеров в конкретной точке)
#define Z_MIN_PROBE_REPEATABILITY_TEST - проверка точности зонда
Есть команда M48
параметры x, y, p, s, v:
X - положение пробы по Х
Y - положение пробы по У
P - количество повторов измерений 4-15 кажись
S - если указано то при тестах мотает по полю перед измерением и возвращается в ту-же точку
V - если интересно то при значениях 3 или 4 будет по ходу теста давать подробную информацию (0-минимум инфы при тесте 4 максимум)
(Пример команды по тестированию на повторяемость показаний:
M48 P30 X150 Y150 V2 E L5 - тест датчика, гоняет 30 раз рандомно и замеряет P - колл-во раз, L - разброс рандома, чем больше число тем сильнее рандомит)
//#define MIN_SOFTWARE_ENDSTOP_Z - дает возможность выставлять отрицательный Z-offset
#define AUTO_BED_LEVELING_BILINEAR - включаем автоуровень стола с помощью билинейного метода (другие методы должны быть закомментированы)
В условии #if ENABLED(AUTO_BED_LEVELING_LINEAR) в строке:
#define GRID_MAX_POINTS_X 5 - задаем количество точек измерений от 3 до 5 (должна строиться сетка). К примеру, если стоит 3, то строится сетка 3х3 и измерение проходит по 9 точкам.
В новых версиях Marlin необходимо еще определить область замера.
// Set the boundaries for probing (where the probe can reach).
#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))
Если этого не сделать, то при отправки команды G29 в принтер, он отхоумится(перейдет в домашнюю точку) и остановится, а в терминальном окне будет видно, что он не знает границ замера и просит их указать. Если просто раскомментировать указанный фрагмент настроек, то при компиляции получим ошибки, как на пример:
FRONT_PROBE_BED_POSITION is outside the probe region.
Получается, что с нашим Offset_Y52 (исходя из моего примера смещение по Y52 и габаритам стола 220х220), принтер не может передвинуть каретку по Y так, что бы зонд попал в позицию Y10 потому, что при этом значении и offset Y52 каретка принтера должна отъехать по Y в -48. Считаем - "10 - 52 = -48" от этого значения можно еще отнять 10мм - это отрицательное смещение концевика Y в нашем принтере. (#define Y_MIN_POS -10) и на выходе получаем -38мм
По этому корректируем FRONT_PROBE_BED_POSITION вот таким выражением
#define FRONT_PROBE_BED_POSITION (MIN_PROBE_EDGE +38) С таким значением каретка по Y будет находится на -10мм от края стола, а зонд на 48мм к центру от края стола. Можно просто это выражение записать как прямое указание координаты предела #define FRONT_PROBE_BED_POSITION 48
Теперь попробуем взять пример, если зонд находится не сзади сопла, а спереди на 20мм, соответственно в конфигурации Offset Y-20. С таким значением офсета(Offset) фронтальная позиция зонда будет попадать в указанный предел FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE, а вот #define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE)) выходит за границы принтера, т.к. 220 - 10 = 210мм, добавляем наш Offset Y-20, 210 + 20 = 230мм. Получается сопло должно находится на 10мм за пределами границы принтера по оси Y и при компиляции мы получим ошибку.
BACK_PROBE_BED_POSITION is outside the probe region.
По этому считаем допустимое значение исходя из выше написанного #define BACK_PROBE_BED_POSITION(Y_BED_SIZE - 20) или просто указываем числовой предел #define BACK_PROBE_BED_POSITION 200
Компилируем прошивку и проверяем на отсутствие ошибок. Если есть - проверяем по указанной методе значение ошибочной позиции.
Z_SAFE_HOMING enable – парковка в центре стола чтобы не повредить bltouch
На вкладке Configuration_adv.h включаем babystep:
#define BABYSTEP_ZPROBE_OFFSET
#define BABYSTEP_MULTIPLICATOR 1 - позволяет задать шаг babystep. Чем больше число, тем больше шаг
На этом с прошивкой все, можно компилировать и загружать прошивку в принтер.
Подключение к плате, настройка зонда, регулирование Zoffset
Полезные ссылки:
https://3dua.info/topic/10-nastroyka-3dtouch-ili-bltouch-v-marlin-11x-obnovlyaemaya
Видео по настройке - https://www.youtube.com/watch?v=VlIFgICFWbM
От DJIN - https://telegra.ph/Ustanovka-bltouch-11-19