Установка BDsensor-m
Подключение кабеля датчика к интерфейсу EXP1 материнской платы
- Если длины кабеля датчика недостаточно, можно использовать удлинительный кабель из комплекта поставки.
- Линии CLK и SDA BDsensor-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
Loading...
Установка патча в прошивку 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 //adding this new line for fast bed leveling without nozzle 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// Force the use of the probe for Z-axis homing#define USE_PROBE_FOR_Z_HOMING -
Замедлите скорость второй парковки по Z
#define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 16)Здесь мы должны замедлить скорость удара (bump) при парковке и скорость парковки по оси Z, потому что сигнал концевика, считываемый с BDsensor-m, не является таким же实时, как у обычного концевого выключателя.
Редактирование Configuration_adv.h
#define BABYSTEPPINGвключите эту функцию для реализации функции выравнивания в реальном времени#define HOMING_BUMP_DIVISOR { 2, 2, 8 } // Re-Bump Speed Divisor (Divides the Homing Feedrate)
Редактирование pins_boardname.h
Настройте выводы SDA и SCL для BDsensor-m в файле выводов pins_boardname.h, добавив следующие 3 строки (например, pins_PANDA_PI_V29.h):
#define I2C_BD_SDA_PIN PC6 // Please change to the actual number which the SDA wire is connected to your mainboard
#define I2C_BD_SCL_PIN PB2 // Please change to the actual number which the SLK wire is connected to your mainboard
#define I2C_BD_DELAY 20 // default value is 20, should be in the range [20,50].
Если вы хотите выполнять автоматическое выравнивание стола датчиком (G29) перед печатью, как с обычным BLtouch, раскомментируйте
#define AUTO_BED_LEVELING_BILINEAR
и отредактируйте значения, как показано ниже
#define Z_CLEARANCE_DEPLOY_PROBE 0 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 1 // Z Clearance between probe points
#define Z_CLEARANCE_MULTI_PROBE 1 // Z Clearance between multiple probes
Отображение значений датчика 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, и приращение delta составляет >=10, это означает, что калибровка прошла успешно. Как на графике, показанном выше.
Если первое исходное значение калибровки, возвращаемое M102 S-5, больше 400, это означает, что датчик установлен слишком высоко и его необходимо переустановить ближе к столу. Также убедитесь, что второе значение больше первого на 10 или более.
Тестирование и печать
Меню: Выравнивание стола
Автоматическое выравнивание стола
Есть два способа автоматической выравнивания стола:
1. Использование M102 для выравнивания в реальном времени первых нескольких слоёв
Мы можем легко включить или отключить эту функцию автоматического выравнивания, отправив gcode-команду или добавив gcode в файл gcode.
Чтобы включить выравнивание стола в Cura, добавьте код M102 в разделе «Начальный G-код» настроек принтера сразу под кодом G28 (возврат всех осей в исходное положение). Например, под G28 это означает, что выравнивание стола будет выполняться только при высоте по оси Z не более 0,2 мм.M102 S2
Отправьте M102 S0, чтобы отключить выравнивание в реальном времени датчика BD (G28, M18 также отключают его). Кстати, по умолчанию эта функция отключена.
M102 S-1 //Read sensor information, and we can use this for connection checking.
M102 S-2 //Read current distance value
M102 S-5 //Read raw Calibrate data
M102 S-6 //Start Calibrate,before that make sure the nozzle is just touched the bed,and then the printer restarted. don't home z axis before this.
M102 S4 //Set the adjustable Z height value,e.g. M102 S4 means it will do adjusting while the Z height <=0.4mm , disable it by M102 S0.
2. G29 автоматическое выравнивание стола
Другой метод автоматического выравнивания стола аналогичен G29 для BLtouch — просто добавьте строку G29 под G28.
Видео по установке от Chris's Basement
Проверка Z-концевика M119
Перед проверкой этого шага не выполняйте возврат по оси Z, иначе сопло может удариться о стол принтера.
Это ответное сообщение после отправки команды M119 (отчёт о состоянии концевых выключателей).
Send: M119
Recv: x:open y:open z:open
Если z min не сработал, проверьте вашу конфигурацию.#define Z_MIN_ENDSTOP_HIT_STATE HIGH
- Убедитесь, что двигатель Z выключен/разблокирован
- Вручную переместите ось Z вниз, пока сопло не коснётся поверхности стола
- Отправьте
M102 S-2, возвращаемое значение должно быть 0.00mm, затем снова отправьте M119, и вы увидите, что z-концевик теперь сработал.
Send: M119
Recv: x:open y:open z:TRIGGERED
Проверка подключения
Проверьте подключение через M102 S-1. Это пример ответного сообщения; если возвращается пустая строка или другая строка, проверьте подключение и порядок проводов.
Send: M102 S-1
Recv: V1.0 pandapi3d.com