설치 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에 필터링 캐패시터를 통해 연결됩니다,
-
아래 그림과 같이, BD 센서를 열단자 근처에 설치합니다. mount STL, STL_mount_VzBot_Goliath short
Marlin 펌웨어에 패치 설치
BD센서는 Marlin2.1.x (2022.8.27부터)에 통합되었습니다,
발행 버전을 다운로드할 수 있습니다. 그러나 현재는 최신 오류 수정 버전을 다운로드하는 것이 권장됩니다: https://github.com/MarlinFirmware/Marlin
필요하다면 구성 파일과 핀 파일을 변경해야 합니다.
구성.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)
여기서 우리는 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 등과 같은
캘리브레이션
-
노즐을 청소한 후, 콘솔에서 Z축을 제어하여 노즐이 침대로 약간 접촉하게 만듭니다(BDsensor-m는 이 위치를 0점으로 사용하므로 z_offset을 설정하지 않아도 됩니다. 우리는 값을 0으로 설정합니다).
-
gcode 명령어
M102 S-6
을 보내면, 프린터는 각각 0.1mm씩 Z축을 천천히 위로 이동시켜 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개 점(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을 실행합니다.
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