BDsensor-m 설치
센서 케이블을 메인보드의 EXP1 커넥터에 연결
- 센서 케이블의 길이가 충분하지 않은 경우 패키지에 포함된 연장 케이블을 사용할 수 있습니다.
- BDsensor-m의 CLK 및 SDA 라인은 보드의 GPIO 핀에 연결할 수 있습니다. BD 센서 케이블을 BLtouch 포트에 직접 연결할 수도 있습니다. 예:
BLtouch | BDsensor-m
5V --> 5V
GND --> GND
S --> CLK/SCL (입력)
GND --> GND
Zmin --> SDA (입력/출력)
- 메인보드 커넥터의 일부 핀이 MCU의 GPIO에 직접 연결되지 않을 수 있으므로(예: 필터 커패시터가 있거나 MOSFET, 다이오드 또는 포토커플러를 통해 절연되어 있지만 저항 또는 저항 풀업/풀다운을 통해 절연된 경우는 가능)
BDsensor-m과 함께 사용할 수 없습니다. 펌웨어에서 연결 오류를 보고합니다. 예: - 팬 및 히터 커넥터는 MOSFET을 통해 절연되어 있습니다.
- 일부 보드에서 서미스터 및 엔드스톱/프로브용 커넥터는 일반적으로 필터 커패시터를 통해 GND에 연결됩니다.
-
아래 그림과 같이 BD 센서를 핫엔드 근처에 설치합니다. 마운트 STL, STL_mount_VzBot_Goliath short
Loading...
Klipper 펌웨어에 패치 설치
-
튜토리얼에 언급되지 않은 작업은 하지 마십시오.
-
이전에 수정한 klipper 파일을 포기하고 Klipper를 업데이트합니다.
cdcd ~/klippergit 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_pin및scl_pin을 편집합니다. BLtouch와 같은 다른 프로브 섹션을 비활성화하는 것도 잊지 마십시오. 메인보드 또는 툴헤드 CAN 모듈에 있는 BD 센서를 연결할 수 있습니다. -
[BDsensor]에서speed를 0.8로 수정합니다. 이는 z 틸트 및 PROBE_ACCURACY 명령에만 적용됩니다. 값이 작을수록 프로빙 정밀도가 높아집니다. MCU가 귀환 시 메인 루프에서 BD 센서를 읽는 것이 일반 스톱퍼처럼 실시간이 아니기 때문입니다.[BDsensor] -
BD 센서를 Z축 귀환 시 리미트 스위치로 사용하려면
[stepper_z]의endstop_pin을endstop_pin: probe:z_virtual_endstop으로 변경해야 합니다. -
printer.cfg에
[safe_z_home]이 있는지 확인하십시오. -
[bed_mesh]및[z_tilt]또는[quad_gantry_level]의horizontal_move_z값을 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.3 ~ 0.3mm 범위 내x_offset: -34y_offset: 0#no_stop_probe:true # 빠른 프로브를 위해 활성화하면 툴헤드가 프로브 지점에서 정지하지 않습니다.position_endstop: 0.8 # Z축은 Z 귀환 시 이 위치(mm)에서 정지합니다. 권장값은 0.4~1.0입니다.#speed:0.8 # 이 속도는 z 틸트 및 PROBE_ACCURACY 명령에만 적용됩니다.[stepper_z]endstop_pin: probe:z_virtual_endstop#position_endstop: 0.5homing_speed: 5second_homing_speed: 0.8[bed_mesh]speed: 200horizontal_move_z:1algorithm: bicubic[quad_gantry_level]horizontal_move_z:1
설치 후 다음 gcode 명령을 보내 확인합니다.
M102 S-1 # 센서 정보 읽기
M102 S-2 # 거리 값 읽기
연결 확인
-
콘솔을 통해
M102 S-1을 보냅니다. 다음은 반환 메시지의 예입니다. 빈 값이나 다른 문자열이 반환되면 연결 및 전선 순서를 확인하십시오.Send: M102 S-1Recv: V1.0 pandapi3d.com
캘리브레이션
- 노즐을 청소한 다음 콘솔을 통해 Z축을 이동하여 노즐이 베드에 살짝 닿을 때까지 내립니다(BDsensor-m은 이 위치를 0 위치로 사용하므로
z_offset이 필요 없습니다. 이것이 [BDsensor-m] 섹션의 값이 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_tilt및quad_gantry_level명령을 위해 Z축 높이를 조정하는 것을 잊지 마십시오. -
섹션 이름은 대소문자를 올바르게 입력해야 합니다. 그렇지 않으면 Klipper가
Unknown pin chip name 'probe'오류를 보고합니다.