Установка BDsensor-m-m
Подключение кабеля датчика к разъему EXP1 на плате
-
Если кабеля датчика недостаточно, можно использовать удлинитель из комплекта.
-
Провода CLK и SDA датчика BDsensor-m-m можно подключить к любым GPIO-пинам платы. Также можно подключить кабель BDsensor напрямую к порту 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_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 не требуется, мы устанавливаем его значение равным 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, и приращение значений delta >=10, то калибровка успешна. Как на графике выше.
Если первое исходное калибровочное значение, возвращаемое M102 S-5, больше 400, это означает, что датчик установлен слишком высоко, и его нужно переустановить ближе к столу. Также убедитесь, что второе значение данных как минимум на 10 больше первого.
Тестирование и печать
Меню -> Выравнивание стола
Автоматическое выравнивание стола
Существует два способа автоматического выравнивания стола:
1. Использование M102 для выравнивания первых слоев в реальном времени
Мы можем легко включать или отключать это автоматическое выравнивание, отправляя gcode-команду или добавляя gcode в файл gcode.
Чтобы включить выравнивание стола в Cura, добавьте gcode M102 S2 сразу после gcode G28 (парковка всех осей) в разделе "Начальный G-код" настроек принтера. Например, M102 S2 под G28 означает, что выравнивание стола будет выполняться только на высоте оси Z ниже 0.2 мм.
Отправка M102 S0 или G28 отключит выравнивание стола с помощью датчика BD, кстати, по умолчанию оно отключено.
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's Basement
Проверка концевика Z M119
Не паркуйте ось Z, пока не проверите этот шаг, иначе сопло может врезаться в стол принтера.
Это возвращаемое сообщение после отправки команды M119 (отчет о состоянии концевиков).
Отправлено: M119
Получено: x:open y:open z:open
Если z min не "open", проверьте вашу конфигурацию. #define Z_MAX_ENDSTOP_HIT_STATE HIGH
- Убедитесь, что двигатель Z выключен/разблокирован
- Вручную опустите ось Z, пока сопло не коснется стола
- Отправьте
M102 S-2, возвращаемое значение должно быть 0.00 мм, затем снова отправьте M119, и вы увидите, что концевик Z теперь сработал.
Отправлено: M119
Получено: x:open y:open z:TRIGGERED
Проверка подключения
Проверьте подключение с помощью M102 S-1. Вот пример возвращаемого сообщения. Убедитесь, что подключение и порядок проводов верны. Возврат пустой строки или другой строки указывает на проблему.
Отправлено: M102 S-1
Получено: V1.0 pandapi3d.com