Установка 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 рядом с хот-эндом, как показано на рисунке ниже. STL крепления, STL_крепление_VzBot_Goliath short
Loading...
Установка патча в прошивку 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 } // Делитель скорости повторного касания (делит скорость подачи при парковке)
Редактирование pins_boardname.h
Настройте выводы SDA и SCL для BDsensor-m в файле выводов pins_boardname.h (например, pins_PANDA_PI_V29.h), добавив следующие 3 строки:
#define I2C_BD_SDA_PIN PC6 // Пожалуйста, измените на фактический номер, к которому подключен провод SDA на вашей материнской плате
#define I2C_BD_SCL_PIN PB2 // Пожалуйста, измените на фактический номер, к которому подключен провод SLK на вашей материнской плате
#define I2C_BD_DELAY 20 // значение по умолчанию 20, должно быть в диапазоне [20,50].
Если вы хотите выполнять автоматическое выравнивание кровати (G29) перед печатью, как с обычным BLtouch, раскомментируйте
#define AUTO_BED_LEVELING_BILINEAR
И отредактируйте значения, как показано ниже
#define Z_CLEARANCE_DEPLOY_PROBE 0 // Z Кларенс для развертывания/уборки
#define Z_CLEARANCE_BETWEEN_PROBES 1 // Z Кларенс между точками зондирования
#define Z_CLEARANCE_MULTI_PROBE 1 // Z Кларенс между несколькими зондированиями
Отображение значения датчика BD на ЖК-экране
- Для принтеров с отображением состояния (поддерживающих gcode M117), таких как LCD12864 или некоторые uart-экраны, например, ender3V2 ...
Калибровка
-
Очистите сопло, затем переместите ось Z через консоль, пока сопло не коснется кровати (BDsensor-m будет использовать эту позицию как нулевую точку, поэтому z_offset не нужен; устанавливаем значение 0).
-
Отправьте gcode команду
M102 S-6. Принтер будет медленно перемещать ось Z вверх на 0,1 мм за раз, пока не достигнет 4 мм. Не запускайте M102 S-6 перед установкой датчика и не выключайте питание принтера во время калибровки, иначе старые калибровочные данные будут удалены. Если это произошло, просто откалибруйте заново. -
Вы можете отправить
M102 S-5, чтобы проверить, успешно ли откалиброван датчик BD. Это вернет необработанные калибровочные данные, хранящиеся в датчике BD.
Существует также инструмент калибровки, который может это сделать: https://github.com/markniu/Bed_Distance_sensor/raw/new/marlin/BD_Config_Tool_Marlin.zip 
Примечание: Значение 1015 или > 1010 указывает на то, что датчик находится вне диапазона. Если первые 5 точек (0~0.5 мм) или более находятся в диапазоне от 0 до 1000, а приращение значения >= 10, это означает, что калибровка прошла успешно. Как показано на диаграмме выше.
Если первый необработанный калибровочный данные, возвращенные M102 S-5, больше 400, это означает, что датчик установлен слишком высоко; его необходимо переустановить ближе к кровати. Также убедитесь, что второе значение данных более чем на 10 больше первого.
Тестирование и печать
Меню "Bed Leveling"
Auto Bed Leveling
Есть два способа автоматического выравнивания кровати:
1. Использование M102 для выравнивания в реальном времени в течение первых нескольких слоев
Мы можем легко включить или отключить этот автоматический уровень, отправив команду gcode или добавив gcode в gcode-файл.
Чтобы включить выравнивание кровати в Cura, добавьте команду G102 сразу после команды G102 (Парковка всех осей) в разделе "Стартовый G-код" в настройках принтера. Например, под G28, это означает, что выравнивание кровати будет выполняться только на высоте Z 0.2 мм или ниже.M102 S2
Отправка или использование датчика 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, просто добавьте строку G29 под G28.
Видео установки от Chris Basement
Проверка Z-концевого выключателя M119
Перед проверкой этого шага не выполняйте парковку по оси 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