#define CONFIGURATION_H_VERSION 020005
Marlin 现在检查配置版本,如果没有此设置,则无法编译。
#define STRING_CONFIG_H_AUTHOR "(none, default config)"
#define SHOW_BOOTSCREEN
#define SHOW_CUSTOM_BOOTSCREEN
#define CUSTOM_STATUS_SCREEN_IMAGE
STRING_CONFIG_H_AUTHOR显示在 Marlin 启动消息中,用于标识固件的作者。使用此设置作为唯一标识所有自定义配置的方法。每当主板重新启动时,都会显示此消息。
SHOW_BOOTSCREEN启用 LCD 控制器的引导屏幕。
SHOW_CUSTOM_BOOTSCREEN显示启动时marlin/_Bootscreen.h 中的位图。
CUSTOM_STATUS_SCREEN_IMAGE在状态屏幕上显示marlin/_Statusscreen.h 中的位图。
#ifndef MOTHERBOARD
#define MOTHERBOARD BOARD_MKS_GEN_L_V2
#endif
最重要的设置是主板。固件需要知道它将在什么板上运行,以便它可以分配正确的功能到所有引脚,并利用主板的全部功能。设置不正确将导致不可预知的结果。
使用board.h作为参考,替换为主板的 ID。文件路径\Marlin\src\core\board.h
#define CUSTOM_MACHINE_NAME "UM2打印机"
这是液晶上显示的打印机名称。例如,如果将此设置为"UM2打印机",则当打印机启动时,LCD 将显示"UM2打印机就绪"。
#define EXTRUDERS 1
此值从 0 到 6,定义打印机具有多少挤出机(或 E 步进器)。默认情况下,Marlin 将设置为1。如果您有单个喷嘴、开关挤出机、混合挤出机或双 X 滑车,请在下面指定。
此值应设置为机器上 E 步进电机的总数,即使只有单个喷嘴。
#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75
材料直径(1.75、2.85、3.0)。如果通常使用 1.75mm材料,但测量直径为 1.70mm,这里仍应使用 1.75。
//#define PSU_CONTROL
//#define PSU_NAME "Power Supply"
#if ENABLED(PSU_CONTROL)
#define PSU_ACTIVE_HIGH false // Set 'false' for ATX (1), 'true' for X-Box (2)
//#define PS_DEFAULT_OFF // Keep power off until enabled directly with M80
//#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin
#if ENABLED(AUTO_POWER_CONTROL)
#define AUTO_POWER_FANS // Turn on PSU if fans need power
#define AUTO_POWER_E_FANS
#define AUTO_POWER_CONTROLLERFAN
#define AUTO_POWER_CHAMBER_FAN
//#define AUTO_POWER_E_TEMP 50 // (°C) Turn on PSU over this temperature
//#define AUTO_POWER_CHAMBER_TEMP 30 // (°C) Turn on PSU over this temperature
#define POWER_TIMEOUT 30
#endif
#endif
此选项允许控制器板使用M80和 M81打开和关闭电源 12V。需要PS_ON_PIN
//#define PS_DEFAULT_OFF
如果不希望打开打印机时电源打开,请启用此选项。这是为具有双电源的打印机。例如,某些设置为加热器提供单独的电源。在这种情况下,您可以通过关闭电源直到需要之前节省电源。
#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_3 0
#define TEMP_SENSOR_4 0
#define TEMP_SENSOR_5 0
#define TEMP_SENSOR_BED 0
#define TEMP_SENSOR_CHAMBER 0
温度传感器是 3D 打印机中的重要组件。快速准确的传感器可确保温度得到良好控制,保持塑料的平稳流动,并防止发生事故。使用这些设置指定热度和床温传感器。每台 3D 打印机都有热敏电阻,大多数打印机都会有床热敏电阻。
以上这些选项中列出了马林知道和支持的所有热敏电阻和热电偶。尝试将您的品牌和型号与列表中的传感器之一相匹配。如果未找到匹配项,请使用同一品牌的类似传感器的配置文件,或尝试"1" - 通用配置文件。每个轮廓都针对特定温度传感器进行校准,因此尽可能精确非常重要
#define TEMP_SENSOR_BED 0
此选项为热床的温度传感器,如果没有热床,此项设置为0就可以在功能屏蔽热床了。
防止冷挤出
#define PREVENT_COLD_EXTRUSION
#define EXTRUDE_MINTEMP 170
所谓的"冷挤出"可以在很多方面损坏机器,但它通常只是导致材料卡住的挤出机。使用此选项,如果热带低于指定温度,挤出机电机将不移动。如果需要,使用M302 覆盖此设置。
防止长时间拉伸
#define PREVENT_LENGTHY_EXTRUDE
#define EXTRUDE_MAXLENGTH 200
长时间的挤出可能不会损坏您的机器,但它可能是对材料的浪费。此功能旨在防止G代码错误或故障挤出大量材料。
如果复位时候,打印头不是朝限位开关方向移动,可将对应轴,如 INVERT_X_DIR 设置为 true 即可反转X轴电机运动方向。
如果挤出机电机挤出和回抽动作是反,将对应挤出机,如 INVERT_E0_DIR 设置为 true 即可反转一号挤出机运动方向。
#define INVERT_X_DIR false
#define INVERT_Y_DIR true
#define INVERT_Z_DIR false
// @section extruder
// For direct drive extruder v9 set to true, for geared extruder set to false.
#define INVERT_E0_DIR false
#define INVERT_E1_DIR false
#define INVERT_E2_DIR false
#define INVERT_E3_DIR false
#define X_BED_SIZE 200
#define Y_BED_SIZE 200
可以直接指定床的大小。如果 XY 滑车能够移到床外,您可以在下面指定更宽的范围。
#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 170 //Z轴尺寸
如果有触摸屏。一般触摸屏带这个功能,无需理会
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 sensor such as a mechanical or opto endstop to check the existence of filament
// In RAMPS uses servo 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 = false; // set to true to invert the logic of the sensor.
#define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
#define FILAMENT_RUNOUT_SCRIPT “M600”
#endif
针对Makeboard主板,可以打开 pins_RAMPS.h 文件,搜索 FIL_RUNOUT_PIN,看到如下代码:
// define digital pin 4 for the filament runout sensor. Use the RAMPS 1.4 digital input 4 on the servos connector
#define FIL_RUNOUT_PIN 4
将缺料检测引脚设置为任意空闲的限制开关,如 X_MAX_PIN,设置值为 2,将缺料检测光电限位开关插入 X-MAX 插座即可。
默认屏蔽选项后使用A4988
* Stepper Drivers
*
* These settings allow Marlin to tune stepper driver timing and enable advanced options for
* stepper drivers that support them. You may also override timing options in Configuration_adv.h.
*
* A4988 is assumed for unspecified drivers.
*
* Options: A4988, A5984, DRV8825, LV8729, L6470, L6474, POWERSTEP01,
* TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'L6474', 'POWERSTEP01', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
*/
#define X_DRIVER_TYPE TMC2208
#define Y_DRIVER_TYPE TMC2208
//#define Z_DRIVER_TYPE A4988
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
//#define Z2_DRIVER_TYPE A4988
//#define Z3_DRIVER_TYPE A4988
//#define Z4_DRIVER_TYPE A4988
//#define E0_DRIVER_TYPE A4988
//#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
REVERSE_ENCODER_DIRECTION 去掉注释,反转液晶屏上调节数值旋转编码器方向。
REVERSE_MENU_DIRECTION 去掉注释,反转液晶屏上选择菜单时旋转编码器方向。
有些液晶屏旋转编码器方向做反了,需要软件修正,
Encoder Direction Options
Test your encoder’s behavior first with both options disabled.
Reversed Value Edit and Menu Nav? Enable REVERSE_ENCODER_DIRECTION.
Reversed Menu Navigation only? Enable REVERSE_MENU_DIRECTION.
Reversed Value Editing only? Enable BOTH options.
//
// This option reverses the encoder direction everywhere
//
// Set this option if CLOCKWISE causes values to DECREASE
//
//#define REVERSE_ENCODER_DIRECTION
//
// This option reverses the encoder direction for navigating LCD menus.
//
// If CLOCKWISE normally moves DOWN this makes it go UP.
// If CLOCKWISE normally moves UP this makes it go DOWN.
//
//#define REVERSE_MENU_DIRECTION
SPEAKER 去掉注释,可开始液晶屏上的蜂鸣器,旋转编码旋转或者按下时蜂鸣器会发声。
//
// SPEAKER/BUZZER
//
// If you have a speaker that can produce tones, enable it here.
// By default Marlin assumes you have a buzzer with a fixed frequency.
//
//#define SPEAKER