Ultimaker2용 Marlin 1.1.8 펌웨어 교체

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=ktdong61&logNo=221287562621 


marlin 1.1.3버전을 사용하고 있으나 TMC2130을 설치하기 위해서 펌웨어를 교체하기로 했다.  TMC2130 설정은 나중으로 미루고 일단 1.1.8버전 Configuration.h 펌웨어를 업데이트하여 정상 작동되는지 확인하고자 한다.

 
< 3D 프린터 사양 >
 - Ultimaker 2 extended clone
 - 아두이노메가 + Ramps 1.4 + 2004 LCD Smart Adapter Controller Board
 - 베드사이즈 : 240*210*309
 - Drv8825 Stepper Motor Driver 4개
 - 엔드스탑 : 3개 설치

<< Configuration.h 수정>>

1.  LCD창 프린터명칭 교체

// Optional custom name for your RepStrap or other custom machine
// Displayed in the LCD "Ready" message
원본
수정
//#define CUSTOM_MACHINE_NAME "3D Printer"
#define CUSTOM_MACHINE_NAME "Ultimaker2 Clone"

 2.  히팅베드 100K 온도센서 설정 

//======================================================================
//============================= Thermal Settings ============================
//======================================================================
원본
수정
#define TEMP_SENSOR_BED 0
#define TEMP_SENSOR_BED 1

3.  SD카드 사용

/**
 * SD CARD
 *
 * SD Card support is disabled by default. If your controller has an SD slot,
 * you must uncomment the following option or it won't work.
 *
 */         
원본
수정
//#define SDSUPPORT
#define SDSUPPORT          

4. 엔드스탑 설정(얼티메이커 방식) 

 //===========================================================================
//============================== Endstop Settings ===========================
//===========================================================================
// @section homing
// Specify here all the endstop connectors that are connected to any endstop or probe.
// Almost all printers will be using one per axis. Probes will use one or more of the
// extra connectors. Leave undefined any used for non-endstop and non-probe purposes.     
원본
수정
#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
//#define USE_XMAX_PLUG
//#define USE_YMAX_PLUG
//#define USE_ZMAX_PLUG
#define USE_XMIN_PLUG
//#define USE_YMIN_PLUG
//#define USE_ZMIN_PLUG
//#define USE_XMAX_PLUG
#define USE_YMAX_PLUG
#define USE_ZMAX_PLUG             

엔드스탑 결선방식(결선방식에 따라 수정 안 할 수도 있음)

  // 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 X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING true // 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.         

5.  모터 스텝값 설정

 /**
 * Default Axis Steps Per Unit (steps/mm)
 * Override with M92
 *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
 */
원본
수정
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 4000, 500 }  
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80*2, 80*2, 796/2, 230 }           

6. LCD 보드 설정

//
// RepRapDiscount Smart Controller.
// http://reprap.org/wiki/RepRapDiscount_Smart_Controller
//
// Note: Usually sold with a white PCB.
//
원본
수정
//#define REPRAP_DISCOUNT_SMART_CONTROLLER 
#define REPRAP_DISCOUNT_SMART_CONTROLLER          

7. 엔코드 방향 변경(반대방향일 경우)

//
// This option reverses the encoder direction everywhere.
//
//  Set this option if CLOCKWISE causes values to DECREASE
//
원본
수정
//#define REVERSE_ENCODER_DIRECTION
#define REVERSE_ENCODER_DIRECTION          

8.  extruder 설정

// For direct drive extruder v9 set to true, for geared extruder set to false.         
원본
수정
#define INVERT_E0_DIR false
#define INVERT_E0_DIR true


9. 엔드스탑 홈방향

// Direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]          
원본
수정
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1
#define X_HOME_DIR -1
#define Y_HOME_DIR 1
#define Z_HOME_DIR 1

10.  베드 사이즈 설정

// The size of the print bed        
원본
수정
#define X_BED_SIZE 200
#define Y_BED_SIZE 200
#define X_BED_SIZE 240
#define Y_BED_SIZE 210

11. 출력범위 설정

// Travel limits (mm) after homing, corresponding to endstop positions.
원본       
수정       
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 200
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 309

이상과 같이 수정하고 업로드하고 출력 테스트 해보니 기존과 같이 정상 출력됨을 확인했다.

댓글

이 블로그의 인기 게시물

ARIMA or ARMA

WSL2에서 X window를 세팅하는 법

How to Use SpaceDesk : Multi DIsplay