본문으로 건너뛰기

설치 BDsensor-m-m

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

  • 센서의 케이블 길이가 부족하면 패키지에 포함된 딜레이 라인을 사용할 수 있습니다
  • BDsensor-m-m의 CKL과 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

Marlin 펌웨어에 패치 설치

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

발행 버전을 다운로드할 수 있습니다. 그러나 현재는 최신 오류 수정 버전을 다운로드하는 것이 권장됩니다: https://github.com/MarlinFirmware/Marlin

필요하다면 구성 파일과 핀 파일을 변경해야 합니다.

구성.h 편집

  1. BD_SENSOR 활성화

    주석 해제

    #define BD_SENSOR`
    #define Z_SAFE_HOMING
    #define BD_SENSOR_PROBE_NO_STOP //추가 이 줄은 노즐 정지 없이 빠른 침대 레벨링을 위해 추가됨

    단지 BD_SENSOR_PROBE_NO_STOP

    최신 Marlin 오류 수정: 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
    // Z축 원점을 찾기 위해 프로브를 강제로 사용
    #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에 다음 3줄을 추가하여 BDsensor-m의 SDA와 SCL 핀을 구성합니다(예: pins_PANDA_PI_V29.h):

#define  I2C_BD_SDA_PIN    PC6   // 실제 SDA 선이 메인보드에 연결된 번호로 변경해주세요
#define I2C_BD_SCL_PIN PB2 // 실제 SCLK 선이 메인보드에 연결된 번호로 변경해주세요
#define I2C_BD_DELAY 20 // 기본값은 20이며, 범위는 [20,50]입니다.

만약 프린팅 전에 일반 BLtouch처럼 자동 침대 레벨링 프로브(G29)를 수행하려면

#define AUTO_BED_LEVELING_BILINEAR

다음 값을 편집해야 합니다

#define Z_CLEARANCE_DEPLOY_PROBE   0 // 프로브 배치/보관 시 Z 클리어런스
#define Z_CLEARANCE_BETWEEN_PROBES 1 // 프로브 점 사이의 Z 클리어런스
#define Z_CLEARANCE_MULTI_PROBE 1 // 여러 프로브 간의 Z 클리어런스

LCD 화면에 BD 센서 값 표시

  • 프린터에 상태 표시가 있고(gcode M117 지원), LCD12864나 UART 화면 같은 엔더3V2 등과 같은

캘리브레이션

  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개 점(00.5mm) 또는 더 많은 값이 01000 범위 내에 있고 증가한 값 delta가 >=10이면 캘리브레이션이 성공한 것으로 간주됩니다. 위에서 보여진 차트와 같습니다.

만약 M102 S-5가 첫 번째 원시 캘리브레이션 데이터가 400보다 크면 센서가 너무 높게 설치되었음을 의미하며, 침대에 더 가까운 위치로 재설치해야 합니다. 또한 두 번째 데이터가 첫 번째 데이터 값보다 10 이상 큰지 확인해야 합니다

테스트 및 프린트

메뉴 침대

자동 침대 레벨링

침대 자동 레벨링 방법은 두 가지가 있습니다:

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

우리는 이 자동 레벨링을 쉽게 활성화하거나 비활성화할 수 있습니다.

Marlin에서 침대 레벨링을 활성화하려면, "시작 G 코드" 부분의 G102 (모든 축 홈) G 코드 바로 아래에 M28 G 코드를 추가하세요. 예를 들어, G28 아래에 위치하면 Z축 높이 0.2mm 이하에서만 침대 레벨링이 이루어집니다.M102 S2

M102 S0으로 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를 사용하여 자동 침대 레벨링

다른 자동 침대 레벨링 방법은 BLtouch와 같은 G29와 동일합니다. G29 아래에 한 줄을 추가하여 G28을 실행합니다.

설치 영상

Chris Basement의 설치 영상

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축을 홈할 수 있습니다.