关闭 Blinky0815 开启了这个问题 2013 年 9 月 18 日 · 8条评论 关闭 在 Configuration.h 中关闭所有挤出机和传感器时编译失败#604 Blinky0815 开启了这个问题 2013 年 9 月 18 日 · 8条评论 评论 眨眼0815 评论了 2013 年 9 月 18 日 /* 要复制问题,请使用此 Configuration.h //错误描述: 我想使用 marlin 固件来控制三个没有温度传感器的步进器和我的项目的挤出机,这根本不是 RepRap,但 Marlin 似乎仍然是完美的选择,主要是因为规划器和 gcode 解释器。 禁用后出现编译错误:-( 是的,我知道这是一种罕见的情况,但它应该有效。 //编译错误: temperature.cpp:40:41: error: too many initializers for ‘int [0]’ temperature.cpp:42:46: error: too many initializers for ‘int [0]’ temperature.cpp:43 :46:错误:’float [0]’ temperature.cpp的初始值设定项太多:76:45:错误:’float [0]’ temperature.cpp的初始值设定项太多:77:45:错误:’的初始值设定项太多float [0]’ temperature.cpp:125:38: 错误:’int [0]’ temperature.cpp:126:38 的初始值设定项太多:错误:’int [0]’ temperature.cpp:127的初始值设定项太多:34:错误:’int [0]’ temperature.cpp的初始化程序太多:128:34:错误:’int [0]’ temperature.cpp的初始化程序太多:138:45:错误:’的初始化程序太多无效* [0]’ temperature.cpp:139:50: 错误:’uint8_t [0] {aka unsigned char [0]}’ MEvent 的初始值设定项太多。案件! */ ifndef CONFIGURATION_H 定义 CONFIGURATION_H // 此配置文件包含基本设置。 // 高级设置可以在 Configuration_adv.h 中找到 // 基本设置:选择您的板类型、温度传感器类型、轴缩放和停止配置 // 此构建的用户指定版本信息在启动期间显示在 [Pronterface 等] 终端窗口中 。实现 Braino 教授的一个想法,通知用户用户对此 构建所做的任何更改 // 已成功上传到固件中。 define STRING_VERSION_CONFIG_H DATE ” ” TIME // 构建日期和时间 define STRING_CONFIG_H_AUTHOR “(none, default config)” // 谁做了更改。 // SERIAL_PORT 选择应该使用哪个串行端口与主机通信。 // 这允许无线适配器(例如)连接到非默认端口引脚。 // 无论此设置如何,Arduino 引导加载程序仍使用串行端口 0。 定义 SERIAL_PORT 0 // 这决定了打印机的通信速度 //#define BAUDRATE 250000 定义波特率 115200 //// 以下定义选择您拥有的电子板。请选择与您的设置匹配的那个 // 10 = Gen7 custom (Alfons3 Version) ” https://github.com/Alfons3/Generation_7_Electronics “ // 11 = Gen7 v1.1, v1.2 = 11 // 12 = Gen7 v1.3 // 13 = Gen7 v1.4 // 3 = MEGA/RAMPS 高达 1.2 = 3 // 33 = RAMPS 1.3 / 1.4(功率输出:挤出机、风扇、床) // 34 = RAMPS 1.3 / 1.4 (功率输出:Extruder0、Extruder1、Bed) // 35 = RAMPS 1.3 / 1.4(功率输出:挤出机、风扇、风扇) // 4 = Duemilanove w/ ATMega328P 引脚分配 // 5 = Gen6 // 51 = Gen6 deluxe // 6 = Sanguinololu < 1.2 // 62 = Sanguinololu 1.2 及以上 // 63 = Melzi // 64 = STB V1.1 // 65 = Azteeg X1 // 66 = Melzi with ATmega1284 (MaKr3d version) // 7 = Ultimaker // 71 = Ultimaker (Older electronics. Pre 1.5.4. This很少见) // 77 = 3Drag Controller // 8 = Teensylu // 80 = Rumba // 81 = Printrboard (AT90USB1286) // 82 = Brainwave (AT90USB646) // 9 = Gen3+ // 70 = Megatronics // 701= Megatronics v2.0 // 702= Minitronics v1.0 // 90 = Alpha OMCA board // 91 = Final OMCA board // 301 = Rambo // 21 = Elefu Ra Board (v3) ifndef 主板 定义主板 33 万一 // 定义它来为你的通用 Mendel 设置自定义名称, // #define CUSTOM_MENDEL_NAME “This Mendel” // 这定义了挤出机的数量 定义挤出机 0 //// 以下定义选择您拥有的电源。请选择与您的设置匹配的那个 // 1 = ATX // 2 = X-Box 360 203Watts(蓝线连接到 PS_ON,红线连接到 VCC) 定义 POWER_SUPPLY 1 //================================================ =========================== //===================== ========散热设置============================ //========== ================================================ =============== // //–NORMAL IS 4.7kohm PULLUP!– 1kohm 上拉可用于热端传感器,使用正确的电阻器和表格 // //// 温度传感器设置: // -2 是带 MAX6675 的热电偶(仅适用于传感器 0) // -1 是带 AD595 的热电偶 // 0 未使用 // 1 是 100k 热敏电阻 – EPCOS 100k(4.7k 上拉)的最佳选择 // 2 是 200k 热敏电阻 – ATC Semitec 204GT-2(4.7k 上拉) // 3 是 mendel-parts 热敏电阻(4.7k 上拉) // 4 是 10k 热敏电阻!不要将它用于热端。它在高温下的分辨率很差。!! // 5 是 100K 热敏电阻 – ATC Semitec 104GT-2(用于 ParCan)(4.7k 上拉) // 6 是 100k EPCOS – 不如表 1 准确(使用福禄克热电偶创建)(4.7k 上拉) // 7是 100k 霍尼韦尔热敏电阻 135-104LAG-J01(4.7k 上拉) //71 是 100k 霍尼韦尔热敏电阻 135-104LAF-J01(4.7k 上拉) //8 是 100k 0603 SMD Vishay NTCS0603E3104FXT(4.7k 上拉) //9 是 100k GE Sensing AL03006-58.2K-97-G1(4.7k 上拉) // 10 是 100k RS 热敏电阻 198-961(4.7k 上拉) // 60 是 100k Maker’s Tool Works Kapton Bed 热敏电阻 // // 1k 欧姆上拉表 – 这不正常,你必须将 4.7k 换成 1k //(但提供更高的精度和更稳定的 PID) // 51 是 100k 热敏电阻 – EPCOS(1k 上拉) // 52 是 200k 热敏电阻 – ATC Semitec 204GT-2(1k 上拉) // 55 是 100k 热敏电阻 – ATC Semitec 104GT-2(用于 ParCan)(1k 上拉) 定义 TEMP_SENSOR_0 0 定义 TEMP_SENSOR_1 0 定义 TEMP_SENSOR_2 0 定义 TEMP_SENSOR_BED 0 // 这使得温度传感器 1 成为传感器 0 的冗余传感器。如果这些传感器之间的温差过高,打印将中止。 //#define TEMP_SENSOR_1_AS_REDUNDANT 定义 MAX_REDUNDANT_TEMP_SENSOR_DIFF 0 // 在 M109 返回成功之前,实际温度必须接近目标值这么长时间 定义 TEMP_RESIDENCY_TIME 10 //(秒) 定义 TEMP_HYSTERESIS 3 // (degC) +/- 温度范围被认为“接近”目标温度 定义 TEMP_WINDOW 1 // (degC) 围绕目标的窗口,以尽早启动驻留计时器 x degC。 // 最低温度定义低于该温度时加热器将无法启用它用于 // 检查热敏电阻的接线是否断开。 // 否则会导致加热器一直通电。 定义 HEATER_0_MINTEMP 0 定义 HEATER_1_MINTEMP 0 定义 HEATER_2_MINTEMP 0 定义 BED_MINTEMP 0 // 当温度超过最高温度时,您的加热器将被关闭。 // 此功能的存在是为了防止您的热端意外过热,但不会防止热敏电阻短路/故障! // 您应该使用 MINTEMP 进行热敏电阻短路/故障保护。 定义 HEATER_0_MAXTEMP 275 定义 HEATER_1_MAXTEMP 275 定义 HEATER_2_MAXTEMP 275 定义 BED_MAXTEMP 150 // 如果您的床具有低电阻(例如 0.6 欧姆)并熔断保险丝,您可以对其进行占空比以降低 // 平均电流。该值应该是一个整数,热床将打开 1 个间隔 // HEATER_BED_DUTY_CYCLE_DIVIDER 间隔。 //#define HEATER_BED_DUTY_CYCLE_DIVIDER 4 // PID 设置: // 注释以下行以禁用 PID 并启用 bang-bang。 定义 PIDTEMP 定义 BANG_MAX 255 // 在 bang-bang 模式下限制喷嘴的电流;255=全电流 定义 PID_MAX 255 // 在 PID 激活时限制喷嘴的电流(参见下面的 PID_FUNCTIONAL_RANGE);255=全电流 ifdef PIDTEMP //#define PID_DEBUG // 将调试数据发送到串行端口。 //#define PID_OPENLOOP 1 // 将 PID 置于开环状态。M104/M140 将输出功率从 0 设置为 PID_MAX #define PID_FUNCTIONAL_RANGE 10 // 如果目标温度与实际温度之间的温差 // 大于 PID_FUNCTIONAL_RANGE,则 PID 将被关闭,加热器将被设置为最小值/最大限度。 #define PID_INTEGRAL_DRIVE_MAX 255 //积分项的限制 #define K1 0.95 //PID内的平滑因子 #define PID_dT ((16.0 * 8.0)/(F_CPU / 64.0 / 256.0)) //温度例程的采样周期 // 如果您使用的是预配置热端,则可以通过取消注释来使用其中一个值集 // Ultimaker #define DEFAULT_Kp 22.2 #define DEFAULT_Ki 1.08 #define DEFAULT_Kd 114 // Makergear // #define DEFAULT_Kp 7.0 // #define DEFAULT_Ki 0.1 // #define DEFAULT_Kd 12 // Mendel Parts V9 on 12V // #define DEFAULT_Kp 63.0 // #define DEFAULT_Ki 2.25 // #define DEFAULT_Kd 440 endif // PIDTEMP // 床温控制 // 使用 PIDTEMPBED 选择 PID 或 bang-bang。如果 bang-bang,BED_LIMIT_SWITCHING 将启用滞后 // // 取消注释以在床上启用 PID。它使用与挤出机相同的频率 PWM。 // 如果您上面的 PID_dT 是默认值,并且适合您的硬件/配置,这意味着 7.689Hz, // 这对于将方波驱动到电阻负载中是很好的,并且不会显着影响 FET 加热。 // 这在 Fotek SSR-10DA 固态继电器上也适用于 250W 加热器。 // 如果您的配置与此明显不同并且您不了解所涉及的问题,您可能 // 不应该使用床 PID,直到其他人验证您的硬件工作正常。 // 如果启用,请在下面找到您自己的 PID 常量。 //#define PIDTEMPBED // //#define BED_LIMIT_SWITCHING // 这设置输送到床的最大功率,并替换 HEATER_BED_DUTY_CYCLE_DIVIDER 选项。 // 所有形式的床控制都服从这个(PID,bang-bang,bang-bang with hysteresis) // 将它设置为 255 以外的任何值都会启用一种形式的 PWM 到床,就像 HEATER_BED_DUTY_CYCLE_DIVIDER 所做的那样, // 所以你应该’除非您同意在床上使用 PWM,否则不要使用它。(参见关于启用 PIDTEMPBED 的评论) 定义 MAX_BED_POWER 255 // 将占空比限制在床上;255=全电流 ifdef PIDTEMPBED //120v 250W 硅胶加热器到 4mm 硼硅酸盐 (MendelMax 1.5+) //来自 FOPDT 模型 – kp=.39 Tp=405 Tdead=66,Tc 设置为 79.2,激进因子 0.15(对比 0.1、1、10) #define DEFAULT_bedKp 10.00 #define DEFAULT_bedKi .023 #define DEFAULT_bedKd 305.4 //120v 250W 硅胶加热器到 4mm 硼硅酸盐(MendelMax 1.5+) //来自 pidautotune // #define DEFAULT_bedKp 97.1 // #define DEFAULT_bedKi 1.41 // #define DEFAULT_bedKd 1675.16 // 找到你自己的:“M303 E-1 C8 S90”,在 90 摄氏度的床上运行自动调谐 8 个周期。 endif // PIDTEMPBED //这可以防止危险的挤出机移动,即如果温度低于限制 //可以出于任何目的通过软件禁用 定义 PREVENT_DANGEROUS_EXTRUDE //如果 PREVENT_DANGEROUS_EXTRUDE 打开,您仍然可以单独禁用(取消注释)非常长的挤出位。 定义 PREVENT_LENGTHY_EXTRUDE 定义 EXTRUDE_MINTEMP 170 define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //防止挤压非常大的距离。 //================================================ =========================== //===================== ========机械设置=========================== //=========== ================================================ ============== // 取消注释以下行以启用 CoreXY 运动学 // #define COREXY // 粗限位设置 定义 ENDSTOPPULLUPS // 将其注释掉(在行首使用 //)以禁用 endstop 上拉电阻 ifndef 停止上拉 // 精细的 Enstop 设置:Individual Pullups。如果定义 了 ENDSTOPPULLUPS , 将 被 忽略 万一 ifdef ENDSTOPPULLUPS #define ENDSTOPPULLUP_XMAX #define ENDSTOPPULLUP_YMAX #define ENDSTOPPULLUP_ZMAX #define ENDSTOPPULLUP_XMIN #define ENDSTOPPULLUP_YMIN #define ENDSTOPPULLUP_ZMIN 万一 // 如果直接在信号和接地引脚之间连接机械端开关,则需要上拉。 const bool X_MIN_ENDSTOP_INVERTING = true; // 设置为 true 以反转 endstop 的逻辑。 const bool Y_MIN_ENDSTOP_INVERTING = true; // 设置为 true 以反转 endstop 的逻辑。 const bool Z_MIN_ENDSTOP_INVERTING = true; // 设置为 true 以反转 endstop 的逻辑。 const bool X_MAX_ENDSTOP_INVERTING = true; // 设置为 true 以反转 endstop 的逻辑。 const bool Y_MAX_ENDSTOP_INVERTING = true; // 设置为 true 以反转 endstop 的逻辑。 const bool Z_MAX_ENDSTOP_INVERTING = true; // 设置为 true 以反转 endstop 的逻辑。 //#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS // 禁用 max endstops 以与 endstop 检查例程兼容 如果已定义(COREXY) && !defined(DISABLE_MAX_ENDSTOPS) #define DISABLE_MAX_ENDSTOPS 万一 // 对于反相步进使能引脚(低电平有效)使用 0,非反相(高电平有效)使用 1 定义 X_ENABLE_ON 0 定义 Y_ENABLE_ON 0 定义 Z_ENABLE_ON 0 定义 E_ENABLE_ON 0 // 对于所有挤出机 // 不使用时禁用轴。 定义 DISABLE_X 假 定义 DISABLE_Y 为假 定义 DISABLE_Z 为假 define DISABLE_E false // 对于所有挤出机 define INVERT_X_DIR false // Mendel 设置为 false,Orca 设置为 喜欢 (0)
/*
要复制问题,请使用此 Configuration.h
//错误描述:
我想使用 marlin 固件来控制三个没有温度传感器的步进器和我的项目的挤出机,这根本不是 RepRap,但 Marlin 似乎仍然是完美的选择,主要是因为规划器和 gcode 解释器。
禁用后出现编译错误:-(
是的,我知道这是一种罕见的情况,但它应该有效。
//编译错误:
temperature.cpp:40:41: error: too many initializers for ‘int [0]’
temperature.cpp:42:46: error: too many initializers for ‘int [0]’
temperature.cpp:43 :46:错误:’float [0]’
temperature.cpp的初始值设定项太多:76:45:错误:’float [0]’
temperature.cpp的初始值设定项太多:77:45:错误:’的初始值设定项太多float [0]’
temperature.cpp:125:38: 错误:’int [0]’
temperature.cpp:126:38 的初始值设定项太多:错误:’int [0]’
temperature.cpp:127的初始值设定项太多:34:错误:’int [0]’
temperature.cpp的初始化程序太多:128:34:错误:’int [0]’
temperature.cpp的初始化程序太多:138:45:错误:’的初始化程序太多无效* [0]’
temperature.cpp:139:50: 错误:’uint8_t [0] {aka unsigned char [0]}’
MEvent 的初始值设定项太多。案件!
*/
ifndef CONFIGURATION_H
定义 CONFIGURATION_H
// 此配置文件包含基本设置。
// 高级设置可以在 Configuration_adv.h 中找到
// 基本设置:选择您的板类型、温度传感器类型、轴缩放和停止配置
// 此构建的用户指定版本信息在启动期间显示在 [Pronterface 等] 终端窗口中
。实现 Braino 教授的一个想法,通知用户用户对此
构建所做的任何更改 // 已成功上传到固件中。
define STRING_VERSION_CONFIG_H DATE ” ” TIME // 构建日期和时间
define STRING_CONFIG_H_AUTHOR “(none, default config)” // 谁做了更改。
// SERIAL_PORT 选择应该使用哪个串行端口与主机通信。
// 这允许无线适配器(例如)连接到非默认端口引脚。
// 无论此设置如何,Arduino 引导加载程序仍使用串行端口 0。
定义 SERIAL_PORT 0
// 这决定了打印机的通信速度
//#define BAUDRATE 250000
定义波特率 115200
//// 以下定义选择您拥有的电子板。请选择与您的设置匹配的那个
// 10 = Gen7 custom (Alfons3 Version) ” https://github.com/Alfons3/Generation_7_Electronics “
// 11 = Gen7 v1.1, v1.2 = 11
// 12 = Gen7 v1.3
// 13 = Gen7 v1.4
// 3 = MEGA/RAMPS 高达 1.2 = 3
// 33 = RAMPS 1.3 / 1.4(功率输出:挤出机、风扇、床)
// 34 = RAMPS 1.3 / 1.4 (功率输出:Extruder0、Extruder1、Bed)
// 35 = RAMPS 1.3 / 1.4(功率输出:挤出机、风扇、风扇)
// 4 = Duemilanove w/ ATMega328P 引脚分配
// 5 = Gen6
// 51 = Gen6 deluxe
// 6 = Sanguinololu < 1.2
// 62 = Sanguinololu 1.2 及以上
// 63 = Melzi
// 64 = STB V1.1
// 65 = Azteeg X1
// 66 = Melzi with ATmega1284 (MaKr3d version)
// 7 = Ultimaker
// 71 = Ultimaker (Older electronics. Pre 1.5.4. This很少见)
// 77 = 3Drag Controller
// 8 = Teensylu
// 80 = Rumba
// 81 = Printrboard (AT90USB1286)
// 82 = Brainwave (AT90USB646)
// 9 = Gen3+
// 70 = Megatronics
// 701= Megatronics v2.0
// 702= Minitronics v1.0
// 90 = Alpha OMCA board
// 91 = Final OMCA board
// 301 = Rambo
// 21 = Elefu Ra Board (v3)
ifndef 主板
定义主板 33
万一
// 定义它来为你的通用 Mendel 设置自定义名称,
// #define CUSTOM_MENDEL_NAME “This Mendel”
// 这定义了挤出机的数量
定义挤出机 0
//// 以下定义选择您拥有的电源。请选择与您的设置匹配的那个
// 1 = ATX
// 2 = X-Box 360 203Watts(蓝线连接到 PS_ON,红线连接到 VCC)
定义 POWER_SUPPLY 1
//================================================ ===========================
//===================== ========散热设置============================
//========== ================================================ ===============
//
//–NORMAL IS 4.7kohm PULLUP!– 1kohm 上拉可用于热端传感器,使用正确的电阻器和表格
//
//// 温度传感器设置:
// -2 是带 MAX6675 的热电偶(仅适用于传感器 0)
// -1 是带 AD595 的热电偶
// 0 未使用
// 1 是 100k 热敏电阻 – EPCOS 100k(4.7k 上拉)的最佳选择
// 2 是 200k 热敏电阻 – ATC Semitec 204GT-2(4.7k 上拉)
// 3 是 mendel-parts 热敏电阻(4.7k 上拉)
// 4 是 10k 热敏电阻!不要将它用于热端。它在高温下的分辨率很差。!!
// 5 是 100K 热敏电阻 – ATC Semitec 104GT-2(用于 ParCan)(4.7k 上拉)
// 6 是 100k EPCOS – 不如表 1 准确(使用福禄克热电偶创建)(4.7k 上拉)
// 7是 100k 霍尼韦尔热敏电阻 135-104LAG-J01(4.7k 上拉)
//71 是 100k 霍尼韦尔热敏电阻 135-104LAF-J01(4.7k 上拉)
//8 是 100k 0603 SMD Vishay NTCS0603E3104FXT(4.7k 上拉)
//9 是 100k GE Sensing AL03006-58.2K-97-G1(4.7k 上拉)
// 10 是 100k RS 热敏电阻 198-961(4.7k 上拉)
// 60 是 100k Maker’s Tool Works Kapton Bed 热敏电阻
//
// 1k 欧姆上拉表 – 这不正常,你必须将 4.7k 换成 1k
//(但提供更高的精度和更稳定的 PID)
// 51 是 100k 热敏电阻 – EPCOS(1k 上拉)
// 52 是 200k 热敏电阻 – ATC Semitec 204GT-2(1k 上拉)
// 55 是 100k 热敏电阻 – ATC Semitec 104GT-2(用于 ParCan)(1k 上拉)
定义 TEMP_SENSOR_0 0
定义 TEMP_SENSOR_1 0
定义 TEMP_SENSOR_2 0
定义 TEMP_SENSOR_BED 0
// 这使得温度传感器 1 成为传感器 0 的冗余传感器。如果这些传感器之间的温差过高,打印将中止。
//#define TEMP_SENSOR_1_AS_REDUNDANT
定义 MAX_REDUNDANT_TEMP_SENSOR_DIFF 0
// 在 M109 返回成功之前,实际温度必须接近目标值这么长时间
定义 TEMP_RESIDENCY_TIME 10 //(秒)
定义 TEMP_HYSTERESIS 3 // (degC) +/- 温度范围被认为“接近”目标温度
定义 TEMP_WINDOW 1 // (degC) 围绕目标的窗口,以尽早启动驻留计时器 x degC。
// 最低温度定义低于该温度时加热器将无法启用它用于
// 检查热敏电阻的接线是否断开。
// 否则会导致加热器一直通电。
定义 HEATER_0_MINTEMP 0
定义 HEATER_1_MINTEMP 0
定义 HEATER_2_MINTEMP 0
定义 BED_MINTEMP 0
// 当温度超过最高温度时,您的加热器将被关闭。
// 此功能的存在是为了防止您的热端意外过热,但不会防止热敏电阻短路/故障!
// 您应该使用 MINTEMP 进行热敏电阻短路/故障保护。
定义 HEATER_0_MAXTEMP 275
定义 HEATER_1_MAXTEMP 275
定义 HEATER_2_MAXTEMP 275
定义 BED_MAXTEMP 150
// 如果您的床具有低电阻(例如 0.6 欧姆)并熔断保险丝,您可以对其进行占空比以降低
// 平均电流。该值应该是一个整数,热床将打开 1 个间隔
// HEATER_BED_DUTY_CYCLE_DIVIDER 间隔。
//#define HEATER_BED_DUTY_CYCLE_DIVIDER 4
// PID 设置:
// 注释以下行以禁用 PID 并启用 bang-bang。
定义 PIDTEMP
定义 BANG_MAX 255 // 在 bang-bang 模式下限制喷嘴的电流;255=全电流
定义 PID_MAX 255 // 在 PID 激活时限制喷嘴的电流(参见下面的 PID_FUNCTIONAL_RANGE);255=全电流
ifdef PIDTEMP
//#define PID_DEBUG // 将调试数据发送到串行端口。
//#define PID_OPENLOOP 1 // 将 PID 置于开环状态。M104/M140 将输出功率从 0 设置为 PID_MAX
#define PID_FUNCTIONAL_RANGE 10 // 如果目标温度与实际温度之间的温差
// 大于 PID_FUNCTIONAL_RANGE,则 PID 将被关闭,加热器将被设置为最小值/最大限度。
#define PID_INTEGRAL_DRIVE_MAX 255 //积分项的限制
#define K1 0.95 //PID内的平滑因子
#define PID_dT ((16.0 * 8.0)/(F_CPU / 64.0 / 256.0)) //温度例程的采样周期
// 如果您使用的是预配置热端,则可以通过取消注释来使用其中一个值集
// Ultimaker
#define DEFAULT_Kp 22.2
#define DEFAULT_Ki 1.08
#define DEFAULT_Kd 114
// Makergear
// #define DEFAULT_Kp 7.0
// #define DEFAULT_Ki 0.1
// #define DEFAULT_Kd 12
// Mendel Parts V9 on 12V
// #define DEFAULT_Kp 63.0
// #define DEFAULT_Ki 2.25
// #define DEFAULT_Kd 440
endif // PIDTEMP
// 床温控制
// 使用 PIDTEMPBED 选择 PID 或 bang-bang。如果 bang-bang,BED_LIMIT_SWITCHING 将启用滞后
//
// 取消注释以在床上启用 PID。它使用与挤出机相同的频率 PWM。
// 如果您上面的 PID_dT 是默认值,并且适合您的硬件/配置,这意味着 7.689Hz,
// 这对于将方波驱动到电阻负载中是很好的,并且不会显着影响 FET 加热。
// 这在 Fotek SSR-10DA 固态继电器上也适用于 250W 加热器。
// 如果您的配置与此明显不同并且您不了解所涉及的问题,您可能
// 不应该使用床 PID,直到其他人验证您的硬件工作正常。
// 如果启用,请在下面找到您自己的 PID 常量。
//#define PIDTEMPBED
//
//#define BED_LIMIT_SWITCHING
// 这设置输送到床的最大功率,并替换 HEATER_BED_DUTY_CYCLE_DIVIDER 选项。
// 所有形式的床控制都服从这个(PID,bang-bang,bang-bang with hysteresis)
// 将它设置为 255 以外的任何值都会启用一种形式的 PWM 到床,就像 HEATER_BED_DUTY_CYCLE_DIVIDER 所做的那样,
// 所以你应该’除非您同意在床上使用 PWM,否则不要使用它。(参见关于启用 PIDTEMPBED 的评论)
定义 MAX_BED_POWER 255 // 将占空比限制在床上;255=全电流
ifdef PIDTEMPBED
//120v 250W 硅胶加热器到 4mm 硼硅酸盐 (MendelMax 1.5+)
//来自 FOPDT 模型 – kp=.39 Tp=405 Tdead=66,Tc 设置为 79.2,激进因子 0.15(对比 0.1、1、10)
#define DEFAULT_bedKp 10.00
#define DEFAULT_bedKi .023
#define DEFAULT_bedKd 305.4
//120v 250W 硅胶加热器到 4mm 硼硅酸盐(MendelMax 1.5+)
//来自 pidautotune
// #define DEFAULT_bedKp 97.1
// #define DEFAULT_bedKi 1.41
// #define DEFAULT_bedKd 1675.16
// 找到你自己的:“M303 E-1 C8 S90”,在 90 摄氏度的床上运行自动调谐 8 个周期。
endif // PIDTEMPBED
//这可以防止危险的挤出机移动,即如果温度低于限制
//可以出于任何目的通过软件禁用
定义 PREVENT_DANGEROUS_EXTRUDE
//如果 PREVENT_DANGEROUS_EXTRUDE 打开,您仍然可以单独禁用(取消注释)非常长的挤出位。
定义 PREVENT_LENGTHY_EXTRUDE
定义 EXTRUDE_MINTEMP 170
define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //防止挤压非常大的距离。
//================================================ ===========================
//===================== ========机械设置===========================
//=========== ================================================ ==============
// 取消注释以下行以启用 CoreXY 运动学
// #define COREXY
// 粗限位设置
定义 ENDSTOPPULLUPS // 将其注释掉(在行首使用 //)以禁用 endstop 上拉电阻
ifndef 停止上拉
// 精细的 Enstop 设置:Individual Pullups。如果定义 了
ENDSTOPPULLUPS , 将 被 忽略
万一
ifdef ENDSTOPPULLUPS
#define ENDSTOPPULLUP_XMAX
#define ENDSTOPPULLUP_YMAX
#define ENDSTOPPULLUP_ZMAX
#define ENDSTOPPULLUP_XMIN
#define ENDSTOPPULLUP_YMIN
#define ENDSTOPPULLUP_ZMIN
万一
// 如果直接在信号和接地引脚之间连接机械端开关,则需要上拉。
const bool X_MIN_ENDSTOP_INVERTING = true; // 设置为 true 以反转 endstop 的逻辑。
const bool Y_MIN_ENDSTOP_INVERTING = true; // 设置为 true 以反转 endstop 的逻辑。
const bool Z_MIN_ENDSTOP_INVERTING = true; // 设置为 true 以反转 endstop 的逻辑。
const bool X_MAX_ENDSTOP_INVERTING = true; // 设置为 true 以反转 endstop 的逻辑。
const bool Y_MAX_ENDSTOP_INVERTING = true; // 设置为 true 以反转 endstop 的逻辑。
const bool Z_MAX_ENDSTOP_INVERTING = true; // 设置为 true 以反转 endstop 的逻辑。
//#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS
// 禁用 max endstops 以与 endstop 检查例程兼容
如果已定义(COREXY) && !defined(DISABLE_MAX_ENDSTOPS)
#define DISABLE_MAX_ENDSTOPS
万一
// 对于反相步进使能引脚(低电平有效)使用 0,非反相(高电平有效)使用 1
定义 X_ENABLE_ON 0
定义 Y_ENABLE_ON 0
定义 Z_ENABLE_ON 0
定义 E_ENABLE_ON 0 // 对于所有挤出机
// 不使用时禁用轴。
定义 DISABLE_X 假
定义 DISABLE_Y 为假
定义 DISABLE_Z 为假
define DISABLE_E false // 对于所有挤出机
define INVERT_X_DIR false // Mendel 设置为 false,Orca 设置为