Установка BDsensor
Подключите кабель датчика к материнской плате или плате инструментальной головки CAN-шины.
- Обратите внимание, что SB2040 не может использовать BDsensor.
- Обратите внимание, что для SHT36 необходимо подключить CLK/SCL (Input) BDsensor к высоковольтному входному разъему и установить перемычку.
- Провода CKL и SDA BDsensor могут быть подключены к любым выводам GPIO на плате. Вы также можете подключить кабель BD-датчика напрямую к порту Bltouch, например:
BLtouch | BDsensor
5V --> 5V
GND --> GND
S --> CLK/SCL (Input)
GND --> GND
Zmin --> SDA (Input/Output)
-
Поскольку некоторые выводы в разъеме материнской платы могут быть не подключены напрямую к GPIO МК (например, на них могут быть фильтрующие конденсаторы, или они могут быть изолированы через MOSFET, диод или оптопару, но если они изолированы через резистор или резистивную подтяжку/стяжку, это также допустимо), их нельзя использовать с BDsensor. И прошивка сообщит об ошибке соединения. Например:
-
Разъемы вентиляторов и нагревателей изолированы через MOSFET.
-
Разъемы для термисторов и концевых выключателей/щупов в некоторых платах обычно подключены к GND через фильтрующие конденсаторы.
-
Установите BD-датчик рядом с хот-эндов, как показано на рисунке ниже. STL крепления, STL_mount_VzBot_Goliath short
Loading...
Установка патча в прошивку Marlin
BD-датчик интегрирован в Marlin 2.1.x (начиная с 2022.08.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 не является таким мгновенным, как у обычного концевого выключателя.
Редактирование Configuration_adv.h
Раскомментируйте
#define BABYSTEPPING, чтобы включить функцию выравнивания в реальном времени.#define HOMING_BUMP_DIVISOR { 2, 2, 8 } // Делитель скорости повторного касания (делит скорость парковки)
Редактирование pins_boardname.h
Добавьте следующие 3 строки в файл выводов pins_boardname.h (например, pins_PANDA_PI_V29.h), чтобы настроить выводы SDA и SCL для BDsensor:
#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 до тех пор, пока сопло не коснется стола (BD-датчик будет использовать это положение как нулевую точку, поэтому 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-файл.
Чтобы включить выравнивание стола в Cura, добавьте gcode-команду M102 S2 сразу под gcode G28 (парковка всех осей) в разделе «Стартовый G-код» в настройках машин принтера. Например, под 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 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