marlin2.0.5.4配置详解——个⼈记录
marlin2.0.5.4配置详解——个⼈记录
果盘制作新版本不⽀持在配置⽂件⾥修改欢迎界⾯了。
串⼝波特率
BAUDRATE 设置串⼝通信的波特率,⼀般默认是250000,如果使⽤Mac或者Linux系统,需要改成115200,因为系统原因波特率上不到250000。对应的切⽚或联机打印软件也需要给波特率改为设置的值,否则⽆法连接。
秋天的古诗有哪些
// This determines the communication speed of the printer
// :[2400,9600,19200,38400,57600,115200,250000]
#define BAUDRATE 250000
主板类型
现在最新版本的Marlin固件固件已经默认设置为Makeboard主板主板类型,⽆需再更改。根据⾃⼰情况
点宽
修改。
// The following define lects which electronics board you have.
// Plea choo the name from boards.h that matches your tup
#ifndef MOTHERBOARD
#define MOTHERBOARD BOARD_RAMPS_14_EFB
#endif
// Optional custom name for your RepStrap or other custom machine
// Displayed in the LCD “Ready” message
//#define CUSTOM_MACHINE_NAME “3D Printer”
挤出机数量
EXTRUDERS 设置挤出机数量,。
/
/ This defines the number of extruders
// :[1,2,3,4]
#define EXTRUDERS 1
混⾊打印
去掉 SINGLENOZZLE ⾏的注释,可以开启多挤出机混⾊打印,就是有多个挤出机挤出不同的颜⾊,但只有⼀个打印头,可靠切⽚软件安排不同挤出机颜⾊的挤出量达到混⾊的彩⾊效果。
// For Cyclops or any “multi-extruder” that shares a single nozzle.
//#define SINGLENOZZLE
温度传感器
TEMP_SENSOR_0 表⽰⼀号打印头的感温类型,TEMP_SENSOR_1 以此类推,设置为0表⽰不启⽤,其他设置为对应感温类型编号,具体查看下⾯代码的列表。现在的打印机⼀般使⽤的是100k感温电阻测温,所以类型编号选择1。
TEMP_SENSOR_BED 表⽰热床的感温类型,只需要在这⾥把热床的感温类型设置好,就可以开启热床功能,⼀般热床感温类型编号也是1,和打印头⼀样。
#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_3 0
#define TEMP_SENSOR_BED 0//这⾥表⽰不开启热床
最⼤温度
HEATER_0_MAXTEMP 表⽰⼀号打印头的最⼤温度,HEATER_1_MAXTEMP 以此类推。BED_MAXTEMP 表⽰热床的最⼤温度。
温度数值建议根据实际情况保守设置,以免设置过⼤损坏硬件,或造成安全隐患,推荐打印头250,热床100,⾜以使⽤。
/
/ When temperature exceeds max temp, your heater will be switched off.
// This feature exists to protect your hotend from overheating accidentally, but NOT from thermistor short/failure!
// You should u MINTEMP for thermistor short/failure protection.
#define HEATER_0_MAXTEMP 275
#define HEATER_1_MAXTEMP 275
#define HEATER_2_MAXTEMP 275
#define HEATER_3_MAXTEMP 275
#define BED_MAXTEMP 150
挤出机保护
EXTRUDE_MINTEMP 设置挤出机⼯作的最⼩温度,只有达到指定温度,挤出机电机才会转动,以此保护送丝轮挤不动造成磨损。所以如果发现挤出机不⼯作,请先查看打印头是否加热到指定温度。触
摸屏不受此控制。
EXTRUDE_MAXLENGTH 设置挤出机挤出耗材的最⼤长度,防⽌误操作造成损失。
#define EXTRUDE_MINTEMP 170
#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH)//prevent extrusion of very large distances.
双轴联动结构
如使⽤两个电机协同带两个轴的机型,如COREXY,COREXZ,COREYZ,去掉对应机型前⾯的注释即可。
// Uncomment one of the options to enable CoreXY, CoreXZ, or CoreYZ kinematics
//#define COREXY
//#define COREXZ
//#define COREYZ
限位开关上拉
ENDSTOPPULLUPS 去掉注释的话表⽰所有限位开关上拉,上拉表⽰对应引脚悬空的情况下默认是⾼电平,即限位开关开路状态下是H电平状态。Makeboard系列主板必须开启此项。如注释掉此项的话,可在下⾯代码单独配置XYZ轴MAX和MIN限位开关上拉状态。如去掉ENDSTOPPULLUP_XMAX 注释可单独开启X-MAX限位开关上拉。
// coar Endstop Settings
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
#if DISABLED(ENDSTOPPULLUPS)
// fine endstop ttings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined
//#define ENDSTOPPULLUP_XMAX
//#define ENDSTOPPULLUP_YMAX
//#define ENDSTOPPULLUP_ZMAX
//#define ENDSTOPPULLUP_XMIN
//#define ENDSTOPPULLUP_YMIN
//#define ENDSTOPPULLUP_ZMIN
//#define ENDSTOPPULLUP_ZMIN_PROBE
#endif
限位开关信号
X_MIN_ENDSTOP_INVERTING 等系列参数设置为 true 表⽰将限位开关的信号反转,针对限位开关的常开和长闭状态,如触发状态不符合预期,可在此处修正。
Z_MIN_PROBE_ENDSTOP_INVERTING 表⽰⾃动调平使⽤的探针电平状态,如不时触底时才触发,可在此反转。
// Mechanical endstop with COM to ground and NC to Signal us “fal” here (most common tup).
#define X_MIN_ENDSTOP_INVERTING fal// t to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING fal// t to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING fal// t to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING fal// t to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING fal// t to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING fal// t to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING fal// t to true to invert the logic of the endstop.
电机使能信号
X_ENABLE_ON 等系列参数设置为 0 表⽰电机是低电平使能,1 表⽰⾼电平使能。Makeboard配套驱动芯⽚均为低电平使能,默认设置即可。如外接驱动器,如果电机不⼯作,不锁死,可将此参数设为 1 尝试。
// For Inverting Stepper Enable Pins (Active Low) u 0, Non Inverting (Active High) u 1
好听的游戏昵称
// :{0:‘Low’,1:‘High’}
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define E_ENABLE_ON 0// For all extruders
禁⽤电机
如特殊⽤途,如激光切割机⼀类,将指定轴,如 DISABLE_Z 设置为 ture 即可禁⽤Z轴电机。
// Disables axis stepper immediately when it’s not being ud.
// WARNING: When motors turn off there is a chance of losing position accuracy!
#define DISABLE_X fal
#define DISABLE_Y fal
#define DISABLE_Z fal
电机运动⽅向
如果复位时候,打印头不是朝限位开关⽅向移动,可将对应轴,如 INVERT_X_DIR 设置为 true 即可反转X轴电机运动⽅向。
如果挤出机电机挤出和回抽动作是反,将对应挤出机,如 INVERT_E0_DIR 设置为 true 即可反转⼀号挤出机运动⽅向。
#define INVERT_X_DIR fal
#define INVERT_Y_DIR true
#define INVERT_Z_DIR fal
// @ction extruder
// For direct drive extruder v9 t to true, for geared extruder t to fal.
#define INVERT_E0_DIR fal
#define INVERT_E1_DIR fal
#define INVERT_E2_DIR fal
#define INVERT_E3_DIR fal
复位⽅向
设置各轴复位时触发的限位开关,三⾓洲机型设置为 1,复位时最⼤值,三轴限位开关插在MAX接⼝。⾮三⾓洲机型⼀般设置为 -1,复位时为最⼩值,复位后坐标为 0,0,0,三轴限位开关插在MIN接⼝。
// ENDSTOP SETTINGS:
// Sets 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 Y_HOME_DIR 1时你发现编译错误,请修改这⾥
#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
宋王
//#define USE_XMAX_PLUG
#define USE_YMAX_PLUG //去掉前⾯的//即可。
//#define USE_ZMAX_PLUG
min_software_endstops 设置为 true 开启的话会使打印头⽆法移动到负坐标,保护硬件不受损坏。实际三⾓洲机型此值⽆意义,⾮三⾓洲机型因为⼀般MIN⽅向有硬限位开关,也不会有问题,开不开启⽆所谓了。
max_software_endstops 设置为 true 开启的话会使打印头⽆法移动超过 X_MAX_POS,Y_MAX_POS,Z_MAX_POS 设置的坐标,保护硬件不受损坏,⼀般需要开启,防误操作。
#define min_software_endstops true// If true, axis won’t move to coordinates less than HOME_POS.
#define max_software_endstops true// If true, axis won’t move to coordinates greater than the defined lengths below.
复位坐标
设置打印机的打印范围,X_MIN_POS,Y_MIN_POS,Z_MIN_POS,为打印机最⼩值⽅向复位的坐标,⼀般默认设置为 0 即可。
X_MAX_POS,Y_MAX_POS,Z_MAX_POS 为打印机复位时的坐标值,在开启MAX软复位后,为打印机的最⼤打印范围。⼀般打印机在调试完后,通过G1指令移动打印头,M114查看当前坐标测得打印机最⼤打印范围。
三⾓洲机型需特别注意 Z_MAX_POS 参数,为复位后打印头到平台之间的距离,可将此值设置⼤些,G28复位后,通过G1指令,移动Z 轴,使打印头接触平台后,通过M114查看当前坐标,即可知道距离是多少了。
// Travel limits after homing (units are in mm)
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS 200
#define Y_MAX_POS 200
#define Z_MAX_POS 200
缺料检查
如果有触摸屏。⼀般触摸屏带这个功能,⽆需理会
FILAMENT_RUNOUT_SENSOR 去掉注释,即可开启缺料检测功能。⼀般使⽤光电限位开关装在送丝机耗材⼊⼝处,⾼电平表⽰正常送丝,低电平表⽰缺料。
FIL_RUNOUT_INVERTING 设置为 true 可反转限位开关信号。
ENDSTOPPULLUP_FIL_RUNOUT 去掉注释,表⽰缺料检测引脚默认上拉,⼀般默认开启。
FILAMENT_RUNOUT_SCRIPT 设置缺料检测激活时运⾏的脚本,⼀般为 M600,使打印机暂时打印,换好耗材后,可继续打印。
//===========================================================================
//========================= Filament Runout Sensor ==========================
//===========================================================================
//#define FILAMENT_RUNOUT_SENSOR // Uncomment for defining a filament runout nsor such as a mechanical or opto endstop to check the existence of filament
// In RAMPS us rvo pin 2. Can be changed in pins file. For other boards pin definition should be made.
// It is assumed that when logic high = filament available
// when logic low = filament ran out
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
const bool FIL_RUNOUT_INVERTING =fal;// t to true to invert the logic of the nsor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to u internal pullup for filament runout pins if the nsor is defined.
#define FILAMENT_RUNOUT_SCRIPT “M600”
#endif
针对Makeboard主板,可以打开 pins_RAMPS.h ⽂件,搜索 FIL_RUNOUT_PIN,看到如下代码:
// define digital pin 4 for the filament runout nsor. U the RAMPS 1.4 digital input 4 on the rvos connector
#define FIL_RUNOUT_PIN 4
将缺料检测引脚设置为任意空闲的限制开关,如 X_MAX_PIN,设置值为 2,将缺料检测光电限位开关插⼊ X-MAX 插座即可。
⾃动调平
AUTO_BED_LEVELING_FEATURE 去掉注释可开启⾃动调平功能
//#define AUTO_BED_LEVELING_FEATURE // Delete the comment to enable (remove // at the start of the line)
桂花品种复位速度
HOMING_FEEDRATE_XY 设置复位时XY轴的移动速度。
HOMING_FEEDRATE_Z 设置复位时Z轴的移动速度
// Homing speeds (mm/m)
#define HOMING_FEEDRATE_XY (5060)
#define HOMING_FEEDRATE_Z (460)
卜算子咏梅拼音电机步进数
DEFAULT_AXIS_STEPS_PER_UNIT 后⾯的四个数字 {80,80,3200,100} ,分别表⽰XYZ和挤出机电机的步进数。
#define DEFAULT_AXIS_STEPS_PER_UNIT {80,80,4000,500}// default steps per unit for Ultimaker
XYZ电机步进公式为:
(360 / 电机步距⾓ * 细分数 ) / (同步带齿距 * 齿数)
⼀般现在3D打印机使⽤的42步进电机步距⾓为1.8度,细分数根据主板上跳帽的设置,⼀般设置成16,同步带齿距⼀般使⽤的是2mm 的,齿数⼀般为16或者20齿,可以⾃⼰数数。如果Z轴使丝杠的话,直接除以丝杆的导程即可。这样默认情况下可以算得:
(360 / 1.8 * 16) / (2 * 20) = 80
挤出机步进数没有很精确的计算公式,⽬前通常使⽤的近程挤出机设置为100,远程挤出机设置为150,然后根据实际打印的出丝多少微调,要出多点步进数就调⼤,出少点就调⼩。
电机最⼤移动速度
DEFAULT_MAX_FEEDRATE 后⾯的四个数字 {300, 300, 5, 25} ,分别表⽰XYZ和挤出机电机的最⼤移动速度。在实际测试不失步的情况下设置的越⼤越好,此值和电机步进数相关,步进数越⼤,对应的移动速度设置越⼩。所以使⽤⼤细分数或者丝杆需要减⼩此值才能保证电机不失步。
#define DEFAULT_MAX_FEEDRATE {300,300,5,25}// (mm/c)
电机最⼤加速度
DEFAULT_MAX_ACCELERATION 后⾯的四个数字 {3000,3000,100,10000} ,分别表⽰XYZ和挤出机电机的最⼤加速度。三⾓洲机型的加速度可以设置的⼤些,其他机型⼩些,原则也使实际测试,并不是越⼤越好,⼤的话会增加机器的抖动。
#define DEFAULT_MAX_ACCELERATION {3000,3000,100,10000}// X, Y, Z, E maximum start speed for accelerated moves. E default values are good for Skeinforge 40+, for older versions rai them a lot.
电机默认加速度
DEFAULT_ACCELERATION 设置X,Y,Z和E轴电机的默认移动加速度。
DEFAULT_RETRACT_ACCELERATION 设置E轴电机回抽时候的默认加速度。
DEFAULT_TRAVEL_ACCELERATION* 设置E轴电机挤出时候的默认加速度。
#define DEFAULT_ACCELERATION 3000// X, Y, Z and E acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION 3000// E acceleration in mm/s^2 for retracts
#define DEFAULT_TRAVEL_ACCELERATION 3000// X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
⽆需加速距离
DEFAULT_XYJERK,DEFAULT_ZJERK,DEFAULT_EJERK 分别设置X,Y,Z和E轴电机移动时,速度改变时⽆需加速过程的距离。如果使⽤三⾓洲机型,需要将 DEFAULT_ZJERK 值设置的和 DEFAULT_XYJERK ⼀样,要不容易失步。
自评报告怎么写
// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
#define DEFAULT_XYJERK 20.0// (mm/c)
#define DEFAULT_ZJERK 0.4// (mm/c)
#define DEFAULT_EJERK 5.0// (mm/c)
EEPROM
EEPROM_SETTINGS 去掉注释,可开启EEPROM功能,打印机部分配置参数将保存在打印机中,可通过液晶屏实时调节,⽆需重刷固件。配置固件阶段推荐关闭,调试好机器后再开启,要不很可能有参数给代码中调节后不会⽣效,造成误判断。如果清除eeprom,参数默认值是固件中修改的数值。