본문으로 건너뛰기

설치 BDsensor-m

센서 케이블을 보드의 EXP1 인터페이스에 연결

  • 센서의 케이블 길이가 부족하다면 패키지에 포함된 딜레이 라인을 사용하세요.

  • BDsensor-m의 CLK와 SDA 선은 회로판의 어떤 GPIO 핀에도 연결할 수 있습니다. 또한 BD 센서 케이블을 Bltouch 포트에 직접 연결할 수도 있습니다. 예를 들어:

    BLtouch    |    BDsensor-m
    5V --> 5V
    GND --> GND
    S --> CLK/SCL (Input)
    GND --> GND
    Zmin --> SDA (Input/Output)
  • 보드 커넥터의 일부 핀이 MCU의 gpios에 직접 연결되지 않을 수 있습니다(예를 들어, 필터 캐패시터나 MOSFET, 다이오드 또는 광커플러를 통해 격리될 수 있음). 그러나 저항을 통해 격리되는 경우에도 BDsensor-m과 함께 사용할 수 없습니다. 그리고 펌웨어는 연결 오류를 보고할 것입니다. 예를 들어

  • 팬과 히터의 커넥터는 MOSFET을 통해 격리됩니다.

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

  1. 아래 그림과 같이 BD 센서를 열단자 근처에 설치합니다. mount STL, 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에 아래 부분을 추가하세요. 그러면 웹 페이지 또는 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_pinscl_pin을 편집하세요. 또한 BLtouch과 같은 다른 프로브 부분을 비활성화하지도 않아야 합니다. 보드 또는 도구헤드 CAN 모듈에 BD 센서를 연결할 수 있습니다,

  • [BDsensor]에서 speed를 0.8로 수정하세요. 이 값은 z 기울기와 PROBE_ACCURACY 명령에만 적용됩니다. 값이 작을수록 MC가 BD 센서를 정상적인 제동장치처럼 실시간으로 읽을 때 정밀도가 더 높습니다.

  • Z축 원점으로 되돌릴 때 BD 센서를 리미트 스위치로 사용하려면 [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 펄스당, 이 값은 20 이상이어야 하지만 50 미만이어야 합니다.
    z_offset:0 # 이 `z_offset`은 0으로 설정해야 합니다.
    z_adjust:0.0 # z 축 조정, z_offset 기능을 대체합니다. -0.3mm에서 0.3mm 사이
    x_offset: -34
    y_offset: 0
    #no_stop_probe:true # 빠른 프로브를 위해 활성화, 도구헤드가 프로브 지점에서 멈추지 않습니다.
    position_endstop: 0.8 # Z축이 홈 중에 이 위치(mm)에서 멈춥니다. 추천값은 0.4~1.0
    #speed:0.8 # 이 속도는 z 기울기와 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는 이 위치를 0 위치로 사용하기 때문에 z_offset이 필요하지 않습니다. 이것이 [BDsensor-m] 섹션의 값이 0인 이유입니다).
  • 콘솔에서 GCODE 명령 M102 S-6을 보내세요. 프린터가 Z축을 매번 0.1mm씩 천천히 위로 이동시키면서 4mm까지 도달할 때까지 반복합니다. 센서를 설치하기 전에 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'를 보고합니다.