마를린 펌웨어 설치


마를린 펌웨어

Ender5에 기본 장착된 보드의 경우 모터 드라이브가 좋은 제품이 아니기 때문에 모터 소음이 꽤 큽니다.
이 때문에 BIGTREETECH SKR mini E3 V2.0 보드를 구매하였고, 터치를 지원하는 TFT35 E3 V3.0를 같이 구매하여 사용중입니다.

제조사를 통해 미리 컴파일된 펌웨어가 배포되기는 하지만, 제가 사용하는 환경에 맞춰 수정하기 위해 직접 컴파일을 하였습니다.

마를린 펌웨어를 만들기 위해 북리지님의 강좌를 참고하였습니다.

마를린 펌웨어에서 각 기기별 설정파일들을 다운로드하여 빠르게 설정할 수 있습니다.

제가 사용중인 프린터는 Ender5 여서 다운로드한 Configurations-release-2.0.7.2 파일에서 아래의 설정들을 사용하였습니다.

\Configurations-release-2.0.7.2\config\examples\Creality\Ender-5\BigTreeTech SKR Mini E3 2.0

Configuration.h

Ender5에 장착된 Stock Hotend의 경우 온도센서 값은 1입니다.
E3d V6를 사용할 경우 값은 장착된 온도센서는 5로 설정하였으나, 현재 다시 Stock Hotend를 사용중입니다.

#define TEMP_SENSOR_0 1

Dual Gear Extruder를 사용할 경우 손으로 필라멘트를 제거할 수 없기 때문에 LCD 조작으로 필라멘트 Unload하여 제거해야 합니다.
제가 사용하고 있는 환경에서는 Unload시 조금 모자라서 Unload길이를 650mm로 조정하였고, 이 상태에서는 컴파일시 오류가 발생하므로, 익스트루더 최대길이를 600mm에서 650mm로 조정하였습니다.

#define EXTRUDE_MAXLENGTH 650

Dual Gear Extruder를 사용시 기어비가 다르기 때문에 Step값을 변경해 주어야 합니다.
원래 415를 사용하라고 권장하지만, 제가 측정한 값은 489.85 였습니다.
현재는 원래 사용하던 익스트루더를 사용중이라서 다시 93으로 원복하였습니다.

#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 800, 93 }

BLTouch를 보드의 Z축 endstop 스위치에 연결하여, BLTouch를 endstop으로 사용시 주석을 해제합니다.
저는 Z-PROBE에 연결하였기 때문에 주석으로 막아두었습니다.

// #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

BLTouch를 사용하기 위해 주석을 해제하였습니다.

#define BLTOUCH

BLTouch 설정 후 노즐과의 상대거리를 입력해주어야 정확한 측정이 가능합니다.

#define NOZZLE_TO_PROBE_OFFSET { -53.1, -18.4, 0 }

BLTouch를 사용한 배드 레빌링 설정을 변경하였습니다.

#define AUTO_BED_LEVELING_BILINEAR
// #define MESH_BED_LEVELING

필라멘트 감지센서를 설치 후 관련 설정의 주석을 해제하였습니다.

#define FILAMENT_RUNOUT_SENSOR

개별적인 X/Y/Z 호밍(Homing)메뉴를 LCD에 표시하기 위해 주석을 해제하였습니다.

#define INDIVIDUAL_AXIS_HOMING_MENU

Configuration_adv.h

LCD에 BLTouch를 사용한 Wizard를 표시하기 위해 주석을 해제하였습니다.

#define PROBE_OFFSET_WIZARD

필라멘트 교환을 위해 멈춤시 Park하고, 필라멘트를 Load/Unload 하기 위한 설정을 변경하였습니다.

#define PAUSE_PARK_RETRACT_FEEDRATE         100  // (mm/s) Initial retract feedrate.
#define PAUSE_PARK_RETRACT_LENGTH            5  // (mm) Initial retract.
#define FILAMENT_CHANGE_UNLOAD_LENGTH      650  // (mm) The length of filament for a complete unload.
#define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE  15  // (mm/s) Load filament feedrate. This can be pretty fast.
#define FILAMENT_CHANGE_FAST_LOAD_LENGTH   610  // (mm) Load length of filament, from extruder gear to nozzle.
#define ADVANCED_PAUSE_PURGE_LENGTH         30  // (mm) Length to extrude after loading.

드라이버 상태를 모니터링하여 LCD에 표시하기 위해 주석을 해제하였습니다.

#define MONITOR_DRIVER_STATUS

팬 속도를 모니터링하여 LCD에 표시하기 위해 주석을 해제하였습니다.

#define REPORT_FAN_CHANGE   // Report the new fan speed when changed by M106 (and others)

platformio.ini

SKR mini E3 V2.0 보드에 맞는 플랫폼을 선택하였습니다.

default_envs = STM32F103RC_btt_512K

참고사항

광고

댓글 남기기