Установка BDsensor-m-m
Подключение кабеля датчика к разъему EXP1 на основной плате
*Если кабель датчика недостаточно длинный, можно использовать удлинитель из комплекта поставки
- Линии CLK и SDA датчика BDsensor-m-m можно подключить к любому GPIO-выводу на плате. Вы также можете подключить кабель датчика BD напрямую к порту BLtouch, например:
BLtouch | BDsensor-m
5V --> 5V
GND --> GND
S --> CLK/SCL (Input)
GND --> GND
Zmin --> SDA (Input/Output)
-
Некоторые выводы в разъеме основной платы могут быть не напрямую подключены к GPIO-выводам МК (например, на них могут быть установлены фильтрующие конденсаторы или они могут быть изолированы через MOSFET, диод или оптопару, но если они изолированы через резисторы или подтягивающие/стягивающие резисторы, то тоже не подходят), поэтому их нельзя использовать с BDsensor-m. А прошивка будет сообщать об ошибке подключения. Например:
-
Разъемы вентиляторов и нагревателей изолированы через MOSFET,
-
В некоторых платах разъемы для термисторов температуры и концевых выключателей/датчиков обычно подключены к GND через фильтрующие конденсаторы,
-
Как показано на рисунке ниже, установите датчик BD вблизи горячего конца. STL of mount, STL_mount_VzBot_Goliath short
Установка патча в прошивку Marlin
Датчик BD уже интегрирован в Marlin2.1.x (начиная с 2022.8.27),
Вы можете скачать релизную версию. Но сейчас рекомендуется скачать последнюю версию с исправлениями ошибок: 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_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
В файле выводов pins_boardname.h настройте выводы SDA и SCL датчика BDsensor-m, добавив следующие 3 строки (например, для pins_PANDA_PI_V29.h
):
#define I2C_BD_SDA_PIN PC6 // Пожалуйста, измените на реальный номер вывода, к которому подключен провод SDA на вашей основной плате
#define I2C_BD_SCL_PIN PB2 // Пожалуйста, измените на реальный номер вывода, к которому подключен провод SLK на вашей основной плате
#define I2C_BD_DELAY 20 // значение по умолчанию 20, должно быть в диапазоне [20,50].
Если вы хотите использовать автоматическое выравнивание стола перед печатью как обычный BLtouch (G29), раскомментируйте:
#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 будет использовать это положение как точку 0, поэтому 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 единиц.
Тестирование и печать
Меню стола
Автоматическое выравнивание стола
Существует два способа автоматического выравнивания стола:
1. Использование M102 для динамического выравнивания первых слоев
Мы можем легко включить или отключить это автоматическое выравнивание, отправив gcode-команду или добавив gcode в файл gcode.
Чтобы включить выравнивание стола в Kura, добавьте команду M28 G под командой G102 (возврат домой всех осей) в разделе "Стартовый G-код" настроек принтера. Например, под G28, это означает, что оно будет выполнять выравнивание стола только если высота Z меньше 0,2 мм. M102 S2
Отправка или добавление команды отключит выравнивание стола, кстати, по умолчанию выравнивание отключено. 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.
Видео по установке от канала Криса Питера
Проверка концевого выключателя оси 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