본문으로 건너뛰기

BDsensor 설치

센서 케이블을 메인보드 또는 CAN 버스 툴헤드 보드에 연결합니다.

  • SB2040은 BDsensor를 사용할 수 없습니다.
  • SHT36은 BDsensor의 CLK/SCL(Input)을 고전압 입력 포트에 연결하고 점퍼를 연결해야 합니다.
  • BDsensor의 CLK 및 SDA 선은 보드의 모든 GPIO 핀에 연결할 수 있습니다. BDsensor 케이블을 Bltouch 포트에 직접 연결할 수도 있습니다. 예:
BLtouch | BDsensor
5V --> 5V
GND --> GND
S --> CLK/SCL (Input)
GND --> GND
Zmin --> SDA (Input/Output)
  • 메인보드 커넥터의 일부 핀은 MCU의 GPIO에 직접 연결되지 않을 수 있습니다(예: 필터 커패시터가 있거나 MOSFET, 다이오드 또는 포토커플러로 분리되어 있지만 저항 또는 저항 풀업/풀다운으로 분리된 경우는 가능), 따라서 BDsensor와 함께 사용할 수 없습니다. 그러면 펌웨어에서 연결 오류를 보고합니다. 예:

  • 팬 및 히터 커넥터는 MOSFET을 통해 분리됩니다.

  • 일부 보드에서 온도 서미스터 및 엔드스톱/프로브용 커넥터는 일반적으로 필터 커패시터를 통해 GND에 연결됩니다.

  1. 아래 그림과 같이 BD 센서를 핫엔드 가까이에 설치합니다. 마운트 STL, STL_mount_VzBot_Goliath short

    Loading...

Klipper 펌웨어에 패치 설치

  • 이전에 수정한 Klipper 파일을 버리고 Klipper 업데이트

    cd
    cd ~/klipper
    git checkout .
    git pull
  • BD 센서 최신 코드 클론

    cd && git clone https://github.com/markniu/Bed_Distance_sensor.git
  • 설치

    cd ~/Bed_Distance_sensor/klipper/
    ./install_BDsensor.sh
  • 펌웨어 컴파일

    cd ~/klipper/
    make menuconfig
    make clean
    make
  • 펌웨어를 BDsensor가 연결된 MCU 또는 CANbus 툴헤드 보드에 플래시

프린터가 Moonraker를 실행 중인 경우 다음 부분을 moonraker.conf에 추가하면 웹 페이지 또는 KlipperScreen을 통해 한 번의 클릭으로 BDsensor를 업데이트할 수 있습니다.

[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에 복사하고 [BDsensor] sda_pin scl_pin을 편집합니다. BLtouch와 같은 다른 프로브 부분도 비활성화하는 것을 잊지 마십시오. 메인보드 또는 툴헤드 CAN 모듈에 BD 센서를 연결할 수 있습니다.

  • [BDsensor]에서 speed를 0.8로 수정합니다. 이는 z 틸트 및 PROBE_ACCURACY 명령에만 적용됩니다. 값이 작을수록 프로빙 정확도가 높아집니다. MCU가 귀환 시 메인 루프에서 BD 센서를 읽기 때문에 일반 스토퍼처럼 실시간이 아닙니다.

  • BD 센서를 Z축 귀환 시 리미트 스위치로 사용하려면 [stepper_z]endstop_pinendstop_pin: probe:z_virtual_endstop으로 변경합니다.

  • printer.cfg[safe_z_home]이 있는지 확인하십시오.

  • [bed_mesh][z_tilt] 또는 [quad_gantry_level][quad_gantry_level] 값을 1로 변경합니다(권장 0.7-1.0mm). Klipper 기본값은 5mm로 센서 범위를 쉽게 초과할 수 있습니다.

  • 노즐 높이는 z_adjust:에서만 설정하십시오. 양수는 핫베드에 가까워지고 음수는 핫베드에서 멀어집니다. 다른 노즐 높이 조정 설정은 버그가 있습니다.

  • 빠른 스캔 베드를 활성화하려면 no_stop_probe:true 앞의 #을 삭제하십시오.

  • 다음은 구성 예시입니다.

    [BDsensor]
    scl_pin:PC6 # 서보 신호 핀
    sda_pin:PC3 # 리미트 신호 핀
    delay: 20 # 20us per pulse, this value should be >=20 but must be below 50
    z_offset:0 # this `z_offset` must be set to 0.
    z_adjust:0.0 # z axis adjustment, replace the z_offset function. within -0.3 to 0.3mm
    x_offset: -34
    y_offset: 0
    #no_stop_probe:true # enable this for fast probe, the toolhead will not stop at the probe point.
    position_endstop: 0.8 # the Z axis will stop at this position (mm) while homing z, recommend value is 0.4~1.0
    #speed:0.8 # this speed only works for the z tilt and PROBE_ACCURACY command.

    [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는 이 위치를 0 위치로 사용하므로 z_offset이 필요하지 않으며, 이것이 [BDsensor] 섹션에서 값이 0인 이유입니다).
  • 콘솔에서 gcode 명령 M102 S-6을 보내면 프린터가 Z축을 4mm에 도달할 때까지 매번 0.1mm씩 천천히 위로 이동합니다. 센서를 설치하기 전에 M102 S-6을 실행하지 마십시오. 또한 보정 중에는 프린터 전원을 끄지 마십시오. 그렇지 않으면 이전 보정 데이터가 삭제됩니다. 이런 경우 다시 보정하면 됩니다.
  • 그런 다음 M102 S-5를 통해 BD 센서가 성공적으로 보정되었는지 확인할 수 있습니다. 그러면 BD 센서에 저장된 원시 보정 데이터가 반환됩니다.

참고 사항:

  • Z축 귀환 속도는 5가 좋습니다.

  • M102 S-5가 반환한 첫 번째 원시 보정 데이터가 400보다 크면 센서가 너무 높게 설치된 것이므로 베드에 더 가깝게 다시 설치해야 합니다. 첫 번째 데이터의 권장 값은 100입니다. 또한 두 번째 데이터의 값이 첫 번째 데이터보다 10 이상 큰지 확인하십시오.

    • FAQ: 보정 데이터가 1로 시작하고 두 번째 값이 9, 세 번째 값이 24이면 무엇을 의미합니까?

    • 이는 0-0.1mm 사이의 분해능이 9에 불과하고 0.1-0.2mm의 분해능이 15임을 의미합니다. 따라서 첫 번째 분해능 0-0.1mm가 10보다 크도록 다시 보정하는 것이 좋습니다.

  • G28 실행 후 또는 Z_tiltquad_gantry_level 명령을 위해 Z축 높이를 조정하는 것을 잊지 마십시오.

  • 섹션 이름의 대소문자를 정확하게 입력해야 합니다. 그렇지 않으면 Klipper에서 Unknown pin chip name 'probe' 오류를 보고합니다.

Loading...