Установка BDsensor-m-m
Подключение кабеля датчика к разъему EXP1 материнской платы
- Если длина кабеля датчика недостаточна, используйте удлинительный кабель из комплекта
- Линии CKL и SDA датчика BDsensor-m-m могут подключаться к любым GPIO контакты на плате. Вы также можете подключить кабель датчика BD непосредственно к порту Bltouch, например:
BLtouch | BDsensor-m
5V --> 5V
GND --> GND
S --> CLK/SCL (Вход)
GND --> GND
Zmin --> SDA (Вход/Выход)
-
Так как некоторые контакты на разъеме материнской платы могут не быть напрямую подключены к gpio микроконтроллера (например, они могут иметь фильтрующие конденсаторы или быть изолированы через MOSFET, диод или оптоизолятор, но если они изолированы через резистор или резистор с подтягивающим/опускающим резистором, то тоже можно использовать), они не могут использоваться совместно с BDsensor-m. Фиктивная прошивка сообщит об ошибке подключения. Например,
-
Разъемы для вентиляторов и нагревателей через MOSFET изолируются,
-
На некоторых платах разъемы для термочувствительных элементов и концевых выключателей/датчиков обычно соединяются с GND через фильтрующие конденсаторы,
-
Как показано на рисунке ниже, установите датчик BD рядом с горячим ends. STL держателя, STL_mount_VzBot_Goliath short
Установка патча в Marlin прошивку
Датчик BD уже интегрирован в Marlin 2.1.x (с 27.08.2022).
Вы можете скачать релизную версию. Однако сейчас рекомендуется загрузить последнюю версию с исправлениями ошибок: https://github.com/MarlinFirmware/Marlin
Вам потребуется изменить файлы конфигурации и файлы пинов.
Редактирование файла configuration.h
-
Включение BD_SENSOR
Отмените комментирование
#define BD_SENSOR`
#define Z_SAFE_HOMING
#define BD_SENSOR_PROBE_NO_STOP //добавление этой новой строки для быстрой настройки постели без остановки наконечника,Только
BD_SENSOR_PROBE_NO_STOP
Последняя версия Marlin с исправлениями ошибок: https://github.com/MarlinFirmware/Marlin
Описание: https://github.com/MarlinFirmware/Marlin/pull/25847
-
Использование датчика для возврата Z
Убедитесь, что
Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
отключено, и включитеUSE_PROBE_FOR_Z_HOMING
, как показано ниже://#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// Принудительное использование датчика для возврата Z-оси
#define USE_PROBE_FOR_Z_HOMING -
Замедление второго возврата Z
#define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 16)
Здесь мы должны замедлить скорость возврата зонда и Z-оси, потому что тормозные устройства, прочитанные из BDsensor-m, не реагируют мгновенно, как обычные тормозные устройства.
Редактирование файла configuration_adv.h
#define BABYSTEPPING
включите эту функцию для реализации функции живой настройки#define HOMING_BUMP_DIVISOR { 2, 2, 8 } // Re-Bump Speed Divisor (Делитель скорости повторного толчка)
Редактирование файла pins_boardname.h
Через добавление следующих 3 строк в файл пинов pins_boardname.h настроьте пины SDA и SCL для BDsensor-m (например, pins_PANDA_PI_V29.h):
#define I2C_BD_SDA_PIN PC6 // Пожалуйста, измените на фактический номер, к которому подключен провод SDA к вашей основной плате
#define I2C_BD_SCL_PIN PB2 // Пожалуйста, измените на фактический номер, к которому подключен провод SCLK к вашей основной плате
#define I2C_BD_DELAY 20 // значение по умолчанию 20, должно быть в диапазоне [20,50].
Если вы хотите сделать автоматическую настройку постели перед печатью, как у обычного BLtouch, отмените комментарий
#define AUTO_BED_LEVELING_BILINEAR
и отредактируйте значения, как показано ниже
#define Z_CLEARANCE_DEPLOY_PROBE 0 // Z Clearance для развертывания/складывания
#define Z_CLEARANCE_BETWEEN_PROBES 1 // Z Clearance между точками проверки
#define Z_CLEARANCE_MULTI_PROBE 1 // Z Clearance между несколькими проверками
Отображение значений датчика BD на экране LCD
- Для принтеров с состоянием отображения (поддерживает gcode M117), таких как LCD12864 или некоторые_uart_экраны, такие как ender3V2 ...
Калибровка
-
Очистите сопло, затем переместите Z-ось вручную, пока сопло будет только касаться поверхности стола (BDsensor-m использует это положение как 0 точку, поэтому вам не нужно z_offset, мы установим значение в 0).
-
Отправьте команду gcode
M102 S-6
, принтер будет медленно поднимать Z-ось на 0.1 мм каждый раз, пока не достигнет высоты 4 мм. Не запускайте команду M102 S-6 до установки датчика или выключении питания во время калибровки, иначе старые данные калибровки будут удалены. Если это произойдет, просто выполните калибровку снова. -
Вы можете отправить команду
M102 S-5
, чтобы проверить успешность калибровки BDsensor. Это вернет исходные калибровочные данные, сохраненные в BDsensor.
Также есть инструмент калибровки, который может это сделать: https://github.com/markniu/Bed_Distance_sensor/raw/new/marlin/BD_Config_Tool_Marlin.zip
Примечание: значения данных 1015 или > 1010 указывают на выход за пределы диапазона датчика. Если первые 5 точек (00.5 мм) или более значений находятся в диапазоне 01000, а увеличение значений delta >=10, это указывает на успешную калибровку. Как показано на приведенном выше графике.
Если первый исходный калибровочный результат, возвращенный командой M102 S-5, больше 400, это означает, что датчик установлен слишком высоко, и его необходимо перезагрузить ближе к поверхности стола. Также убедитесь, что второй результат больше первого значения на 10 и выше.
Тестирование и печать
Меню постели
Автоматическая настройка постели
Существует два способа автоматической настройки постели:
1. Использование M102 для реальной настройки перед печатью нескольких слоев
Мы можем легко включить или отключить эту автоматическую настройку, отправляя команду gcode или добавляя команду gcode в файл gcode.
Чтобы включить настройку постели в Klipper, добавьте команду M28 G после команды G102 (домашние все оси) в разделе "Стартовые G-команды" настройки принтера. Например, ниже команды G28, это означает, что настройка будет выполняться только при высоте Z до 0.2 мм. M102 S2
Отправка или использование команды M102 S0 отключит настройку постели с использованием датчика BD, кстати, по умолчанию она отключена. M102 S0``G28``M18
M102 S-1 //Чтение информации датчика, и мы можем использовать это для проверки соединения.
M102 S-2 //Чтение текущего расстояния
M102 S-5 //Чтение сырой калибровочной информации
M102 S-6 //Начало калибровки, прежде чем это сделать, убедитесь, что сопло только что коснулось поверхности стола, а затем перезагрузите принтер. Не домой по Z оси перед этим.
M102 S4 //Установка регулируемой высоты Z, например, M102 S4 означает, что будет выполняться корректировка при высоте Z <=0.4 мм, отключение ее M102 S0.
2. Автоматическая настройка постели с помощью G29
Другой способ автоматической настройки постели аналогичен BLtouch G29. Добавьте строку G28 под G29.
Видео установки от Kris Basement
Проверка концевика Z M119
Перед тем как вернуться Z, убедитесь, что не сделали домой Z, иначе сопло может удариться о поверхность стола.
Вот сообщение, которое возвращается после отправки команды M119 (отчет о состоянии концевых выключателей):
Send: M119
Recv: x:open y:open z:open
Если z min не открыт, проверьте вашу конфигурацию. #define Z_MAX_ENDSTOP_HIT_STATE HIGH
- Убедитесь, что двигатель Z выключен/разблокирован
- Механически опустите Z-ось, пока сопло закроет стол
- Отправьте
M102 S-2
, возвращаемое значение должно быть 0.00 мм, затем снова отправьте M119, и вы увидите, что концевик Z теперь активирован.
Send: M119
Recv: x:open y:open z:TRIGGERED
Проверка соединения
Через M102 S-1
проверьте соединение. Вот пример возвращаемого сообщения, проверьте соединение и порядок проводов, если возвращается пустая строка или другая строка.
Send: M102 S-1
Recv: V1.0 pandapi3d.com