BDsensor 설치
센서 케이블을 메인보드 또는 CAN 버스 툴머드 보드에 연결합니다.
- SB2040는 BDsensor를 사용할 수 없습니다.
- SHT36는 BDsensor의 CLK/SCL (입력)을 고압 입력 포트에 연결하고 점퍼를 연결해야 합니다.
- BDsensor의 CKL과 SDA 선은 보드의 어떤 GPIO 핀에도 연결할 수 있습니다. 또한 BDsensor 케이블을 Bltouch 포트에 직접 연결할 수도 있습니다. 예를 들어:
BLtouch | BDsensor
5V --> 5V
GND --> GND
S --> CLK/SCL (입력)
GND --> GND
Zmin --> SDA (입력/출력)
-
일부 핀은 MCU의 gpios에 직접 연결되지 않을 수 있으므로 BDsensor와 함께 사용할 수 없습니다. 예를 들어, 필터 콘덴서가 있거나 MOSFET, 다이오드 또는 옵토커플러를 통해 격리되어 있을 수 있습니다. 그러나 저항 또는 저항 풀업/풀다운으로 격리된 경우에는 가능합니다. 펌웨어가 연결 오류를 보고할 수 있습니다. 예를 들어:
-
팬과 히터의 커넥터는 MOSFET으로 격리됩니다.
-
일부 보드에서 온도 서미스터와 엔드스톱/프로브의 커넥터는 GND에 필터 콘덴서로 연결됩니다.
-
아래 그림과 같이 BDsensor를 히트엔드 근처에 설치합니다. STL of mount, STL_mount_VzBot_Goliath short
Marlin 펌웨어에 패치 설치
BDsensor는 Marlin2.1.x에 통합되었습니다 (2022.8.27부터).
릴리스 버전을 다운로드할 수 있지만, 최신 버그 수정 버전을 다운로드하는 것이 좋습니다: https://github.com/MarlinFirmware/Marlin
설정 파일과 핀 파일을 변경해야 합니다.
configuration.h 편집
-
BDsensor 활성화
주석 해제
#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
// Force the use of the probe for Z-axis homing
#define USE_PROBE_FOR_Z_HOMING -
두 번째 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 } // Re-Bump Speed Divisor (Divides the Homing Feedrate)
pins_boardname.h 편집
pins_boardname.h
파일에서 BDsensor의 SDA와 SCL 핀을 설정합니다 (예: 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]이어야 합니다.
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 화면에 BDsensor 값 표시
- 프린터가 상태 표시를 지원하는 경우 (M117 지원), 예를 들어 LCD12864 또는 일부 UART 스크린, 예를 들어 ender3V2 ...
보정
-
노즐을 청소한 후, 콘솔에서 Z축을 이동하여 노즐이 베드에 닿을 때까지 조정합니다 (BDsensor는 이 위치를 0점으로 사용하므로 z_offset이 필요하지 않습니다, 값을 0으로 설정).
-
M102 S-6
gcode 명령을 보냅니다. 프린터는 Z축을 0.1mm씩 천천히 올립니다. BDsensor를 설치하기 전에 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 코드" 부분에 G102 (모든 축 홈) gcode 바로 아래에 M28 G 코드를 추가하세요. 예를 들어, G28 아래에 이는 Z축 높이가 0.2mm 이하일 때만 베드 레벨링을 수행함을 의미합니다. M102 S2
BDsensor를 사용하여 베드 레벨링을 비활성화하려면 다음과 같이 보내거나 사용하세요, 참고로 기본적으로 비활성화됩니다. 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와 같은 다른 자동 베드 레벨링 방법은 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