본문으로 건너뛰기

BDsensor-m-m 설치

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

  • 센서 케이블의 길이가 충분하지 않으면 패키지에 포함된 연장 케이블을 사용하십시오.
  • BDsensor-m-m의 CKL과 SDA 선은 회로판의 어떤 GPIO 핀에도 연결할 수 있습니다. 또한 BDsensor 케이블을 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 센서를 히트엔드 근처에 설치하십시오. STL of mount, STL_mount_VzBot_Goliath short

Marlin 펌웨어에 패치 설치

BD 센서는 Marlin2.1.x에 통합되었습니다(2022.8.27부터),

릴리스 버전을 다운로드할 수 있지만, 현재 최신 버그 수정 버전을 다운로드하는 것이 좋습니다: https://github.com/MarlinFirmware/Marlin

설정 파일과 핀 파일을 변경해야 합니다.

Configuration.h 편집

  1. 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

    최신 마린피쉬 버그 수정: https://github.com/MarlinFirmware/Marlin

    설명: https://github.com/MarlinFirmware/Marlin/pull/25847

  2. 프로브로 홈

    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
  3. 두 번째 홈 Z 속도 느리게

    #define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 16)

    여기서 우리는 BDsensor-m 프로세스에서 읽은 스톱퍼가 일반 스톱퍼처럼 실시간이 아니기 때문에 홈 속도와 Z 홈 속도를 늦춰야 합니다.

    Configuration_adv.h 편집

    #define BABYSTEPPING을 활성화하여 실시간 레벨링 기능을 구현합니다.

    #define HOMING_BUMP_DIVISOR { 2, 2, 8 }       // Re-Bump Speed Divisor (Divides the Homing Feedrate)

pins_boardname.h 편집

BDsensor-m의 SDA 및 SCL 핀을 pins_boardname.h 파일에 다음과 같이 3줄을 추가하여 설정합니다(예: pins_PANDA_PI_V29.h):

#define  I2C_BD_SDA_PIN    PC6   // 실제로 SDA 와이어가 메인보드에 연결된 번호로 변경하십시오.
#define I2C_BD_SCL_PIN PB2 // 실제로 SLK 와이어가 메인보드에 연결된 번호로 변경하십시오.
#define I2C_BD_DELAY 20 // 기본값은 20, 범위는 [20,50]입니다.

일반 BLtouch처럼 G29로 인쇄 전에 자동 베드 레벨링 프로브를 하고 싶다면, 주석을 해제합니다.

#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

LCD 화면에 BD 센서 값 표시

  • 프린터가 상태 표시를 지원하는 경우(gcode M117 지원), 예를 들어 LCD12864 또는 일부 uart 스크린, 예: ender3V2 ...

보정

  1. 노즐을 청소한 후 콘솔에서 Z축을 이동하여 노즐이 베드에 닿을 때까지 조정합니다(BDsensor-m은 이 위치를 0점으로 사용하므로 z_offset이 필요하지 않으며, 값을 0으로 설정합니다).

  2. gcode 명령 M102 S-6을 보냅니다. 프린터는 0.1mm씩 Z축을 천천히 위로 이동하여 4mm에 도달할 때까지 합니다. 센서 설치 전에 M102 S-6을 실행하지 말고, 보정 중에 프린터 전원을 끄지 마십시오. 그렇지 않으면 이전 보정 데이터가 삭제됩니다. 이런 경우에 다시 보정만 하면 됩니다.

  3. M102 S-5를 보내 BD 센서가 성공적으로 보정되었는지 확인할 수 있습니다. 이는 BD 센서에 저장된 원시 보정 데이터를 반환합니다.

이 작업을 수행할 수 있는 보정 도구도 있습니다: https://github.com/markniu/Bed_Distance_sensor/raw/new/marlin/BD_Config_Tool_Marlin.zip img

참고: 데이터 값 1015 또는 > 1010은 센서 범위를 벗어났음을 나타냅니다. 첫 5점(0~0.5mm) 또는 더 많은 값이 0에서 1000 사이의 범위에 있으며, 증가된 값의 delta가 >=10이면 보정이 성공한 것입니다. 위의 차트와 같이 표시됩니다.

M102 S-5가 반환한 첫 번째 원시 보정 데이터가 400보다 크면 센서가 너무 높게 설치된 것을 의미하며, 베드에 더 가까운 위치로 재설치해야 합니다. 두 번째 데이터가 첫 번째 데이터 값보다 10 이상 커야 합니다.

테스트 및 인쇄

메뉴 베드 레벨링

자동 베드 레벨링

베드 자동 레벨링에는 두 가지 방법이 있습니다:

1. M102를 사용하여 처음 몇 층을 실시간으로 레벨링

gcode 명령을 보내거나 gcode 파일에 gcode를 추가하여 이 자동 레벨링을 쉽게 활성화 또는 비활성화할 수 있습니다.

Kura에서 베드 레벨링을 활성화하려면, 프린터 머신 설정의 "시작 G 코드" 섹션에서 G102(모든 축 홈) G 코드 바로 아래에 M28 G 코드를 추가합니다. 예를 들어, G28 아래에 다음과 같이 추가합니다. M102 S2

BD 센서를 사용하여 베드 레벨링을 비활성화하려면, 다음 명령을 보내거나 추가합니다. M102 S0``G28``M18

M102   S-1     //센서 정보 읽기, 이를 연결 확인에 사용할 수 있습니다.
M102 S-2 //현재 거리 값 읽기
M102 S-5 //원시 보정 데이터 읽기
M102 S-6 //보정 시작, 이전에 노즐이 베드에 닿도록 한 후 프린터를 재시작합니다. Z 축을 홈하기 전에 이 작업을 수행하지 마십시오.
M102 S4 //조정 가능한 Z 높이 값 설정, 예: M102 S4는 Z 높이 <=0.4mm일 때 조정합니다. M102 S0으로 비활성화.

2. G29 자동 베드 레벨링

G29의 BLtouch처럼 베드를 자동 레벨링하는 또 다른 방법은 G29 아래에 G28을 추가하는 것입니다.

설치 비디오

크리스 지하실의 설치 비디오

Z 엔드스탑 확인 M119

이 단계를 확인하기 전에 Z를 홈하지 마십시오. 그렇지 않으면 노즐이 프린터 베드에 닿을 수 있습니다.

M119 명령(엔드스탑 상태 보고)을 보낸 후의 반환 메시지는 다음과 같습니다.

Send: M119
Recv: x:open y:open z:open

z min이 열리지 않으면 설정을 확인하십시오. #define Z_MAX_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

위의 모든 단계가 올바르다면, 이제 Z 축을 홈할 수 있습니다.