Contact me: hankecnc@gmail.com

FIX:无法为加热器设置 0°C / LCD 在启动后显示目标温度值 !=0 #307

推推 grbl 3年前 (2023-02-05) 304次浏览
关闭
MaikStohn 打开了这个问题 2012 年 11 月 13 日 · 2 条评论
关闭

FIX:无法为加热器设置 0°C / LCD 在启动后显示目标温度值 !=0#307

MaikStohn 打开了这个问题 2012 年 11 月 13 日 · 2 条评论

评论

FIX:无法为加热器设置 0°C / LCD 在启动后显示目标温度值 !=0 #307
贡献者

所选温度的 Marlin 内部表示基于热敏电阻查找表中的值。

由于有些热敏电阻表(例如 EPCOS 100K = 6)没有 0°C 值,因此最低目标温度只是该表中的最低值:(对于 EPCOS 100K,它是 3°C)。这也在启动后显示。

(这可能是上一篇文章中提到的“启动后的 LCD artifcats”的原因:Issue #278

由于很难理解目标 BED 温度的 3°C 意味着“无温度”设置,因此显示“000°C”会更清楚。(不知何故 000°C 将被接受为与没有温度相同或用户认为“—”)。

为此,每个热敏电阻查找表都应包含 0°C 值。

例如,对于 EPCOS 100K =6,只需在热敏电阻表的末尾添加一行:

#if (THERMISTORHEATER_0 == 6) || (THERMISTORHEATER_1 == 6) || (THERMISTORHEATER_2 == 6) || (THERMISTORBED == 6) // 100k Epcos thermistor
const short temptable_6[][2] PROGMEM = {
   {1*OVERSAMPLENR, 350},
...
   {970*OVERSAMPLENR, 25},
   {978*OVERSAMPLENR, 22},
   {1008*OVERSAMPLENR, 3},
   {1023*OVERSAMPLENR, 0}   //<== ADD this line to allow to set 0°C as target temp 
};
#endif
FIX:无法为加热器设置 0°C / LCD 在启动后显示目标温度值 !=0 #307
贡献者

请注意,问题出在温度模块的核心,它在很多地方使用原始样本而不是实际温度值。(因此在临时值和原始值之间有很多计算)添加“零”作为最后一个值只是真正核心问题的解决方法。

(但是,如果您提供固定这些表的拉取请求,我不介意合并它)