Ender 5 : SKR mini e3 v2.0 bltouch

3D 프린터 2021. 5. 3. 22:54 Posted by 파란크리스마스

출처

 

SKR mini E3 v2.0에 권장되는 BLTouch 배선

BLTouch 설치

Configuration.h

BLTouch 활성화

/**
 * The BLTouch probe uses a Hall effect sensor and emulates a servo.
 */
#define BLTOUCH

노즐과 BLTouch 사이 간격 설정

/**
 * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 *
 * In the following example the X and Y offsets are both positive:
 *
 *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
 *
 *     +-- BACK ---+
 *     |           |
 *   L |    (+) P  | R <-- probe (20,20)
 *   E |           | I
 *   F | (-) N (+) | G <-- nozzle (10,10)
 *   T |           | H
 *     |    (-)    | T
 *     |           |
 *     O-- FRONT --+
 *   (0,0)
 *
 * Specify a Probe position as { X, Y, Z }
 */
#define NOZZLE_TO_PROBE_OFFSET { 0, -38, 0 }

Z_SAFE_HOMING 활성화

Home 이동시 베드 외부로 이동 하는 것을 방지하기 위해서 Z_SAFE_HOMING을 활성화 시켜 주므로 베드의 가운데로 이동하도록 하기 위함(NOZZLE_TO_PROBE_OFFSET 값이 올바르지 않는 경우 베드의 외부로 이동 할수 있음)

// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
//
// With this feature enabled:
//
// - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
// - If stepper drivers time out, it will need X and Y homing again before Z homing.
// - Move the Z probe (or nozzle) to a defined XY point before Z Homing.
// - Prevent Z homing when the Z probe is outside bed area.
//
#define Z_SAFE_HOMING

#if ENABLED(Z_SAFE_HOMING)
  #define Z_SAFE_HOMING_X_POINT X_CENTER  // X point for Z homing
  #define Z_SAFE_HOMING_Y_POINT Y_CENTER  // Y point for Z homing
#endif

AUTO_BED_LEVELING_BILINEAR 활성화

Z축 엔드스탑 스위치에 의해서 멈추던 것을 BLTouch의 신호에 의해서 멈추도록 설정

// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
//#define Z_MIN_PROBE_ENDSTOP_INVERTING false // Set to true to invert the logic of the probe.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // Set to true to invert the logic of the probe.

Z_MIN_PROBE_ENDSTOP_INVERTING 활성화, MESH_BED_LEVELING 비활성화

MESH_BED_LEVELING : 수동으로 레벨링 측정하는 옵션은 비활성화 시키고,
AUTO_BED_LEVELING_BILINEAR : 그리드 형태로 여러지점을 샘플지점으로 베드 레벨링을 측정하도록 설정 (높이가 고르지 않은 배드에 가장 적합)

/**
 * Choose one of the options below to enable G29 Bed Leveling. The parameters
 * and behavior of G29 will change depending on your selection.
 *
 *  If using a Probe for Z Homing, enable Z_SAFE_HOMING also!
 *
 * - AUTO_BED_LEVELING_BILINEAR
 *   Probe several points in a grid.
 *   You specify the rectangle and the density of sample points.
 *   The result is a mesh, best for large or uneven beds.
 *
 * - MESH_BED_LEVELING
 *   Probe a grid manually
 *   The result is a mesh, suitable for large or uneven beds. (See BILINEAR.)
 *   For machines without a probe, Mesh Bed Leveling provides a method to perform
 *   leveling in steps so you can manually adjust the Z height at each grid-point.
 *   With an LCD controller the process is guided step-by-step.
 */
//#define AUTO_BED_LEVELING_LINEAR
#define AUTO_BED_LEVELING_BILINEAR // <-- 주석 제거
//#define AUTO_BED_LEVELING_UBL
//#define MESH_BED_LEVELING // <- 주석 추가

GRID_MAX_POINTS_X 값 변경

그리드 형태로 샘플지점을 5x5에서 3x3으로 변경 (너무 촘촘하게 측정은 불필요 하다고 판단)

  // Set the number of grid points per dimension.
  #define GRID_MAX_POINTS_X 3 // 5 -> 3
  #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

MIN_SOFTWARE_ENDSTOP_Z 주석 추가

Z move 마이너스값 허용

// Min software endstops constrain movement within minimum coordinate bounds
#define MIN_SOFTWARE_ENDSTOPS
#if ENABLED(MIN_SOFTWARE_ENDSTOPS)
  #define MIN_SOFTWARE_ENDSTOP_X
  #define MIN_SOFTWARE_ENDSTOP_Y
  // #define MIN_SOFTWARE_ENDSTOP_Z  // 주석시 - Z move 마이너스값 허용
#endif

Configuration_adv.h

BLTOUCH_DELAY 주석 제거

BLTouch가 측정한 값을 인식하는 데 필요한 지연 시간 설정(시간 단위(ms). 필요한 경우 활성화하고 지연 시간을 늘려서 설정도 가능)

  // Safety: The probe needs time to recognize the command.
  //         Minimum command delay (ms). Enable and increase if needed.
  #define BLTOUCH_DELAY 500  // <- 주석제거

BLTOUCH_FORCE_SW_MODE 주석 제거

  // Feature: Switch into SW mode after a deploy. It makes the output pulse longer. Can be useful
  //          in special cases, like noisy or filtered input configurations.
  #define BLTOUCH_FORCE_SW_MODE  // <- 주석제거

컴파일

CURA GCode 추가

;When using Default mode, you do not need to declare logic mode. 
M280 P0 S160 ; BLTouch alarm release 
G4 P100 ; delay for BLTouch 
G28 ; home 
G29 ; auto bed leveling

 

댓글을 달아 주세요