본문으로 건너뛰기

BDsensor 설치

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

  • SB2040은 BDsensor를 사용할 수 없습니다.
  • SHT36의 경우, BDsensor의 CLK/SCL (Input)을 고전압 입력 포트에 연결하고 점퍼를 연결해야 합니다.
  • BDsensor의 CLK 및 SDA 라인은 회로 보드의 모든 GPIO 핀에 연결할 수 있습니다. 또한 BD 센서 케이블을 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...

Marlin 펌웨어에 패치 설치

BD 센서는 Marlin 2.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 //빠른 베드 레벨링을 위한 새 줄 추가, 노즐 정지 없음

    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 프로세스에서 읽은 스톱퍼는 일반 스톱퍼처럼 실시간이 아니므로 범프 귀환 속도와 Z 귀환 속도를 늦춰야 합니다.

    Configuration_adv.h 편집

    #define BABYSTEPPING 실시간 레벨링 기능을 활성화하려면 이 기능을 활성화하십시오.

    #define HOMING_BUMP_DIVISOR { 2, 2, 8 } // 재범프 속도 제수 (귀환 이송 속도 나누기)

pins_boardname.h 편집

핀 파일 pins_boardname.h(예: pins_PANDA_PI_V29.h)에 다음 3줄을 추가하여 BDsensor의 SDA 및 SCL 핀을 구성합니다.

#define I2C_BD_SDA_PIN PC6 // SDA 와이어가 메인보드에 연결된 실제 핀 번호로 변경하십시오.
#define I2C_BD_SCL_PIN PB2 // SCL 와이어가 메인보드에 연결된 실제 핀 번호로 변경하십시오.
#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 센서 값 표시

  • LCD12864 또는 ender3V2와 같은 일부 UART 화면과 같이 상태 표시(gcode M117 지원)가 있는 프린터의 경우.

캘리브레이션

  1. 노즐을 청소한 다음 콘솔에서 Z축을 움직여 노즐이 베드에 바로 닿도록 합니다(BDsensor는 이 위치를 0점으로 사용하므로 z_offset이 필요 없으며 값을 0으로 설정합니다).

  2. gcode 명령 M102 S-6를 보내면 프린터가 매번 Z축을 0.1mm씩 천천히 위로 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 사이의 범위에 있고 증가하는 값 델타가 >= 10이면 캘리브레이션이 성공한 것입니다. 위에 표시된 차트와 같습니다.

M102 S-5가 반환하는 첫 번째 원시 캘리브레이션 데이터가 400보다 크면 센서가 너무 높게 설치된 것이므로 베드에 더 가깝게 다시 설치해야 합니다. 또한 두 번째 데이터 값이 첫 번째 데이터 값보다 10 이상 큰지 확인하십시오.

테스트 및 인쇄

메뉴 베드

자동 베드

베드를 자동으로 레벨링하는 두 가지 방법:

1. M102를 사용한 처음 몇 레이어 실시간 레벨링

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

Cura에서 베드 레벨링을 활성화하려면 프린터 머신 설정의 "시작 G 코드" 섹션에서 G102(모든 축 귀환) G 코드 바로 아래에 M28 G 코드를 추가하십시오. 예를 들어 G28 아래에 추가하면 Z축 높이가 0.2mm 미만일 때만 베드 레벨링이 수행됩니다. 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 자동 베드 레벨링

베드를 자동으로 레벨링하는 또 다른 방법은 BLtouch의 G29와 같습니다. G28 아래에 G29 라인을 추가하면 됩니다.

설치 비디오

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

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

Loading...