BDsensor 설치
센서 케이블을 메인보드 또는 CAN 버스 툴헤드 보드에 연결합니다.
- SB2040는 BDsensor를 사용할 수 없습니다.
- SHT36의 경우 BDsensor의 CLK/SCL (Input)을 고전압 입력 포트에 연결하고 점퍼를 연결해야 합니다.
- BDsensor의 CKL 및 SDA 선은 보드의 모든 GPIO 핀에 연결할 수 있습니다. Bltouch 포트에 BDsensor 케이블을 직접 연결할 수도 있습니다. 예:
BLtouch | BDsensor
5V --> 5V
GND --> GND
S --> CLK/SCL (Input)
GND --> GND
Zmin --> SDA (Input/Output)
-
메인보드 커넥터의 일부 핀은 MCU의 GPIO에 직접 연결되지 않을 수 있습니다(예: 필터 커패시터가 있거나 MOSFET, 다이오드 또는 광커플러를 통해 격리되어 있을 수 있지만, 저항 또는 풀업/풀다운 저항을 통해 격리된 경우는 가능). 따라서 이러한 핀은 BDsensor와 함께 사용할 수 없으며, 펌웨어에서 연결 오류를 보고합니다. 예:
-
팬 및 히터 커넥터는 MOSFET을 통해 격리됩니다.
-
일부 보드의 온도 서미스터 및 엔드스톱/프로브용 커넥터는 일반적으로 필터 커패시터를 통해 GND에 연결됩니다.
-
아래 그림과 같이 BDsensor를 히트엔드 근처에 장착합니다. 마운트 STL, STL_mount_VzBot_Goliath short
Loading...
Marlin 펌웨어에 패치 설치
BDsensor는 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
-
프로브로 홈 설정
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)여기서는 범프 홈 설정 속도와 Z 홈 설정 속도를 늦춰야 합니다. BDsensor 프로세스에서 읽은 스톱 신호는 일반 스톱 신호처럼 실시간이 아니기 때문입니다.
Configuration_adv.h 편집
#define BABYSTEPPING 실시간 레벨링 기능을 위해 활성화
#define HOMING_BUMP_DIVISOR { 2, 2, 8 } // 재범프 속도 제수 (홈 설정 이송 속도를 나눔)
pins_boardname.h 편집
BDsensor의 SDA 및 SCL 핀을 구성하려면(예: pins_PANDA_PI_V29.h) 핀 파일 pins_boardname.h에 다음 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에 BDsensor 값 표시
- LCD12864나 ender3V2와 같은 일부 UART 스크린과 같이 상태 표시를 지원하는 프린터(gcode M117 지원)의 경우...
보정
-
노즐을 청소한 후 콘솔에서 노즐이 베드 판에 살짝 닿을 때까지 Z축을 이동합니다(BDsensor는 이 위치를 0점으로 사용하므로 z_offset이 필요하지 않으며, 값을 0으로 설정합니다).
-
gcode 명령
M102 S-6을 보내면 프린터가 Z축을 0.1mm씩 천천히 올려 최대 4mm까지 이동합니다. 센서를 설치하기 전에 M102 S-6을 실행하지 마세요. 보정 중에 프린터 전원을 끄지 마세요. 그렇지 않으면 이전 보정 데이터가 삭제됩니다. 이 경우 다시 보정하세요. -
M102 S-5를 보내 BDsensor가 성공적으로 보정되었는지 확인할 수 있습니다. 이 명령은 BDsensor에 저장된 원시 보정 데이터를 반환합니다.
이를 수행할 수 있는 보정 도구도 있습니다: 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를 추가하여 쉽게 활성화 또는 비활성화할 수 있습니다.
Klipper에서 베드 레벨링을 활성화하려면 프린터 기계 설정의 "시작 G 코드" 섹션에서 G28(모든 축 홈) G 코드 바로 아래에 M102 G 코드를 추가하세요. 예를 들어, M102 S2를 G28 아래에 추가하면 Z축 높이가 0.2mm 이하일 때만 베드 레벨링을 수행합니다.
M102 S0를 보내거나 G28 다음에 M18을 추가하면 BDsensor를 사용한 베드 레벨링이 비활성화됩니다. 기본적으로는 비활성화되어 있습니다.
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