BDsensor-m-m 설치
센서 케이블을 메인보드의 EXP1 인터페이스에 연결
- 센서 케이블 길이가 부족할 경우 포장에 포함된 연장선을 사용할 수 있습니다.
- BDsensor-m-m의 CLK 및 SDA 선은 보드의 어떤 GPIO 핀에든 연결할 수 있습니다. 예를 들어, BD 센서 케이블을 BLtouch 포트에 직접 연결할 수도 있습니다:
BLtouch | BDsensor-m
5V --> 5V
GND --> GND
S --> CLK/SCL (Input)
GND --> GND
Zmin --> SDA (Input/Output)
-
메인보드 커넥터의 일부 핀은 MCU의 GPIO에 직접 연결되지 않을 수 있습니다(예: 필터 커패시터가 있을 수 있거나 MOSFET, 다이오드 또는 광커플러를 통해 절연되어 있을 수 있습니다. 저항 또는 저항 풀업/풀다운을 통해 절연된 경우에도), 따라서 BDsensor-m과 함께 사용할 수 없습니다. 그리고 펌웨어는 연결 오류를 보고할 것입니다. 예를 들어:
-
팬 및 히터 커넥터는 MOSFET을 통해 절연되어 있습니다.
-
일부 보드에서 온도 서미스터 및 엔드스탑/프로브에 사용되는 커넥터는 일반적으로 GND에 필터 커패시터를 통해 연결됩니다.
- 아래 그림과 같이 BD 센서를 노즐 근처에 설치하십시오. STL of mount, STL_mount_VzBot_Goliath short

Marlin 펌웨어에 패치 설치
BD 센서는 Marlin2.1.x 버전(2022.8.27 이후)에 통합되어 있습니다.
릴리스 버전을 다운로드할 수 있습니다. 그러나 지금은 최신 버그 수정 버전을 다운로드하는 것이 좋습니다: https://github.com/MarlinFirmware/Marlin
여러분은 설정 파일과 핀 파일을 수정해야 합니다.
Configuration.h 편집
- 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
- 프로브를 사용하여 홈 위치 지정
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
- 두 번째 홈 지정 시 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 } // 홈 속도 감속기(홈 피드레이트를 나누는 값)
pins_boardname.h 편집
예를 들어 pins_PANDA_PI_V29.h
와 같은 핀 파일에 BDsensor-m의 SDA 및 SCL 핀을 구성하기 위해 다음 3줄을 추가하십시오:
#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 여유
#define Z_CLEARANCE_BETWEEN_PROBES 1 // 프로브 지점 간의 Z 여유
#define Z_CLEARANCE_MULTI_PROBE 1 // 여러 프로브 간의 Z 여유
LCD 화면에 BD 센서 값 표시
- 상태 표시가 가능한 프린터(LCD12864 또는 Ender3V2와 같은 UART 화면 등)는 Gcode M117을 지원합니다.
보정
-
노즐을 청소한 후 콘솔에서 Z축을 움직여 노즐이 베드에 겨우 닿는 위치까지 이동하십시오(BDsensor-m은 이 위치를 0으로 사용하므로 Z_offset은 0으로 설정합니다).
-
Gcode 명령
M102 S-6
을 전송하십시오. 프린터는 Z축을 천천히 0.1mm씩 상승시켜 4mm까지 도달할 것입니다. 센서 설치 전에 M102 S-6을 실행하지 마시고 보정 중에 전원을 끄지 마십시오. 그렇지 않으면 이전 보정 데이터가 삭제됩니다. 이런 경우 다시 보정하시면 됩니다. -
M102 S-5
를 전송하여 BD 센서가 보정에 성공했는지 확인할 수 있습니다. 그러면 BD 센서에 저장된 원시 보정 데이터가 반환됩니다.
이 작업을 수행할 수 있는 보정 도구도 있습니다: https://github.com/markniu/Bed_Distance_sensor/raw/new/marlin/BD_Config_Tool_Marlin.zip
참고: 데이터 값이 1015 또는 > 1010이면 센서 범위를 벗어납니다. 처음 5개 지점(0~0.5mm) 또는 그 이상의 값이 0에서 1000 사이이고 증가하는 값의 델타가 >=10이면 보정이 성공한 것입니다. 위의 그래프와 같이 보일 것입니다.
M102 S-5가 반환하는 첫 번째 원시 보정 데이터가 400보다 크면 센서가 너무 높게 설치되었다는 의미이며 베드에 더 가까이 재설치해야 합니다. 또한 두 번째 데이터가 첫 번째 데이터 값보다 10 이상 커야 합니다.
테스트 및 인쇄
메뉴 베드
자동 베드 레벨링
베드 자동 레벨링에는 두 가지 방법이 있습니다:
1. M102를 사용하여 초기 몇 층을 실시간 레벨링
Gcode 명령을 전송하거나 Gcode 파일에 Gcode를 추가하여 이 자동 레벨링을 쉽게 활성화하거나 비활성화할 수 있습니다.
Kura에서 베드 레벨링을 활성화하려면 프린터 기계 설정의 "시작 G 코드" 섹션에서 G102(G28로 모든 축 홈 지정) 아래에 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를 사용한 베드 자동 레벨링 방법도 있습니다. 단순히 G29 아래에 G28을 추가하면 됩니다.
Z 엔드스탑 확인 M119
이 단계를 확인하기 전에는 Z 홈 지정을 하지 마십시오. 그렇지 않으면 노즐이 프린터 베드와 충돌할 수 있습니다.
M119 명령(엔드스탑 상태 보고)을 전송한 후 반환 메시지입니다.
보냄: M119
받음: x:open y:open z:open
z min이 열려 있지 않으면 설정을 확인하십시오. #define Z_MAX_ENDSTOP_HIT_STATE HIGH
- Z 모터가 꺼져 있거나 언락되어 있는지 확인
- 손으로 Z축을 아래로 움직여 노즐이 베드에 거의 닿는 위치까지 내립니다.
M102 S-2
를 전송하십시오. 반환 값은 0.00mm가 되어야 합니다. 다시M119
를 전송하면 z 엔드스탑이 트리거된 것을 확인할 수 있습니다.
보냄: M119
받음: x:open y:open z:TRIGGERED
연결 확인
M102 S-1
을 사용하여 연결을 확인할 수 있습니다. 다음은 반환 메시지 예시입니다. 연결 및 선 순서가 공백 또는 다른 문자열을 반환하는지 확인하십시오.
보냄: M102 S-1
받음: V1.0 pandapi3d.com