在3D打印机Marlin固件的最新版本2.1.1中,设置双Z轴和老版本有一些改动。记录一下如何在最新版本的Marlin固件中设置双Z轴。
以MKS GEN_L V2.1的主板为例,硬件连接还是和原来一样,第二个Z轴的电动机连接到空闲的第二个挤出机电机接口上。
打开Marlin固件的配置文件configuration.h, 查找Z2_DRIVER_TYPE,将前面的注释拿掉,改为TMC2209.
#define X_DRIVER_TYPE TMC2209
#define Y_DRIVER_TYPE TMC2209
#define Z_DRIVER_TYPE TMC2209
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE TMC2209
//#define Z3_DRIVER_TYPE A4988
//#define Z4_DRIVER_TYPE A4988
//#define I_DRIVER_TYPE A4988
//#define J_DRIVER_TYPE A4988
//#define K_DRIVER_TYPE A4988
//#define U_DRIVER_TYPE A4988
//#define V_DRIVER_TYPE A4988
//#define W_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE TMC2209
//#define E1_DRIVER_TYPE A4988
//#define E2_DRIVER_TYPE A4988
//#define E3_DRIVER_TYPE A4988
//#define E4_DRIVER_TYPE A4988
//#define E5_DRIVER_TYPE A4988
//#define E6_DRIVER_TYPE A4988
//#define E7_DRIVER_TYPE A4988
打开Marlin/src/pins/ramps 目录下的pins_RAMPS.h
拷贝下面这段代码:
#ifndef E1_STEP_PIN
#define E1_STEP_PIN 36
#endif
#ifndef E1_DIR_PIN
#define E1_DIR_PIN 34
#endif
#ifndef E1_ENABLE_PIN
#define E1_ENABLE_PIN 30
#endif
#ifndef E1_CS_PIN
#define E1_CS_PIN 44
#endif
然后将E1改为Z2, 如下面代码所示:
#ifndef Z2_STEP_PIN
#define Z2_STEP_PIN 36
#endif
#ifndef Z2_DIR_PIN
#define Z2_DIR_PIN 34
#endif
#ifndef Z2_ENABLE_PIN
#define Z2_ENABLE_PIN 30
#endif
#ifndef Z2_CS_PIN
#define Z2_CS_PIN 44
#endif
再打开pins_MKS_GEN_L_V21.h文件,同样拷贝一份E1的管脚代码:
#ifndef E1_SERIAL_TX_PIN
#define E1_SERIAL_TX_PIN 20
#endif
#ifndef E1_SERIAL_RX_PIN
#define E1_SERIAL_RX_PIN 12
#endif
并将E1改为Z2:
#ifndef Z2_SERIAL_TX_PIN
#define Z2_SERIAL_TX_PIN 20
#endif
#ifndef Z2_SERIAL_RX_PIN
#define Z2_SERIAL_RX_PIN 12
#endif
存盘,编译上传应该就可以设置成双Z轴了。