Перейти к основному содержимому

Установка 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
  1. Как показано на рисунке, установите датчик BD рядом с горячим соплом. STL of mount, STL_mount_VzBot_Goliath short

Установка патча в прошивку klipper

  • Не делайте ничего, что не упоминается в этом руководстве
  • Откажитесь от предыдущих изменений файлов klipper и обновите klipper
cd
cd ~/klipper
git checkout .
git pull
  • Выполните следующую git-команду в домашнем каталоге, чтобы клонировать последнюю версию кода BD-датчика
cd && git clone https://github.com/markniu/Bed_Distance_sensor.git
  • Затем выполните следующую команду для установки
cd  ~/Bed_Distance_sensor/klipper/
./install_BDsensor.sh

Здесь необходимо перекомпилировать прошивку только если появляется сообщение о несоответствии прошивок верхнего и нижнего уровня и перекомпилировать новую прошивку klipper

  • Скомпилируйте прошивку, следуя инструкциям по компиляции вашей прошивки
  • Компиляция прошивки
cd ~/klipper/  # Перейти в каталог klipper
make menuconfig # Войти в интерфейс компиляции klipper
make clean # Очистить
make # Компилировать
  • Прошейте прошивку в плату, к которой подключен BD-датчик

Если ваш принтер работает на Moonraker, добавьте следующий раздел в moonraker.conf, тогда вы сможете обновлять BDsensor одним щелчком мыши через веб-интерфейс или klipperscreen

[update_manager BDsensor]
type: git_repo
primary_branch: new
channel: dev
path: ~/Bed_Distance_sensor
origin: https://github.com/markniu/Bed_Distance_sensor.git
install_script: ./klipper/install_BDsensor.sh
is_system_service: False
managed_services: klipper
info_tags:
desc=Bed Distance Sensor

Редактирование printer.cfg

  • Скопируйте следующий раздел в ваш printer.cfg и отредактируйте sda_pin и scl_pin в [BDsensor]. Не забудьте отключить другие разделы датчиков, такие как BLtouch. Вы можете подключить BD-датчик к главной плате или к CAN-модулю инструментов
  • В разделе [BDsensor] измените speed на 0.8. Это значение используется только для команд z_tilt и PROBE_ACCURACY. Чем меньше значение, тем выше точность сканирования, так как MCU считывает данные с BD-датчика в основном цикле при возврате по Z не так часто, как обычный концевой датчик. [BDsensor]
  • Чтобы использовать BD-датчик как концевой датчик при возврате по оси Z, измените endstop_pin в разделе [stepper_z] на endstop_pin: probe:z_virtual_endstop
  • Убедитесь, что в файле printer.cfg есть раздел [safe_z_home]
  • Измените значение в разделе [bed_mesh] и [z_tilt] или [quad_gantry_level] на 1 (рекомендуется 0.7-1.0 мм). Значение по умолчанию в klipper равно 5 мм, что может вызвать выход за пределы диапазона датчика
  • Высота сопла регулируется только с помощью параметра z_adjust:. Положительное число означает приближение к столу, отрицательное — удаление. Все другие настройки высоты сопла могут вызвать ошибки
  • Чтобы включить быстрое сканирование стола, удалите символ # перед no_stop_probe:true
  • Ниже приведен пример конфигурации.
[BDsensor] 
scl_pin:PC6 # Контакт сигнала сервопривода
sda_pin:PC3 # Контакт сигнала концевого датчика
delay: 20 # 20 мкс на импульс, это значение должно быть >=20, но не более 50
z_offset:0 # этот параметр `z_offset` должен быть равен 0
z_adjust:0.0 # корректировка оси Z, заменяет функцию z_offset. Рекомендуемый диапазон от -0.3 до 0.3 мм
x_offset: -34
y_offset: 0
#no_stop_probe:true # включите для быстрого сканирования, головка не будет останавливаться в точке сканирования
position_endstop: 0.8 # ось Z остановится на этой позиции (мм) при возврате по Z, рекомендуемое значение 0.4~1.0
#speed:0.8 # эта скорость работает только для команд z_tilt и PROBE_ACCURACY

[stepper_z]
endstop_pin: probe:z_virtual_endstop
#position_endstop: 0.5
homing_speed: 5
second_homing_speed: 0.8

[bed_mesh]
speed: 200
horizontal_move_z:1
algorithm: bicubic

[quad_gantry_level]
horizontal_move_z:1

После установки проверьте с помощью следующих команд GCODE

M102   S-1     # Прочитать информацию с датчика
M102 S-2 # Прочитать одно значение расстояния

Проверка подключения

  • Отправьте через консоль команду M102 S-1, это пример возвращаемого сообщения. Если возвращается пустое значение или другая строка, проверьте подключение и порядок проводов
Send: M102 S-1
Recv: V1.0 pandapi3d.com

Калибровка

  • Очистите сопло, затем вручную переместите ось Z через консоль, пока сопло не коснется стола (BDsensor-m будет использовать это положение как нулевую позицию, поэтому z_offset не требуется, поэтому значение в разделе [BDsensor-m] равно 0)
  • Отправьте через консоль команду M102 S-6, принтер будет медленно поднимать ось Z на 0.1 мм каждый раз до достижения 4 мм. Не запускайте команду M102 S-6 до установки датчика, а также не выключайте принтер во время калибровки, иначе старые калибровочные данные будут удалены. В этом случае просто повторите калибровку
  • После этого вы можете проверить, успешно ли откалиброван BD-датчик с помощью команды M102 S-5, которая вернет сохраненные в датчике калибровочные данные

Важно:

  • Скорость возврата по оси Z должна быть 5

  • Если первое калибровочное значение, возвращаемое командой M102 S-5, больше 400, это означает, что датчик установлен слишком высоко и его нужно переустановить ближе к столу, рекомендуемое значение первого калибровочного значения — 100. Также убедитесь, что второе значение больше первого как минимум на 10

    • ВОПРОС: Если калибровочные данные начинаются с 1, второе значение равно 9, третье равно 24, что это означает?

    • Это означает, что разрешение между 0-0.1 мм равно только 9, а между 0.1-0.2 мм — 15. Поэтому рекомендуется снова выполнить калибровку, чтобы первое значение (0-0.1 мм) было больше 10

  • Не забудьте выполнить корректировку высоты оси Z после запуска G28 или перед выполнением команд Z_tilt и quad_gantry_level

  • Имена разделов должны быть правильно написаны с учетом регистра, иначе klipper сообщит Unknown pin chip name 'probe'

Loading...
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
Loading...