开源改变世界

温度曲线补偿 #418

推推 grbl 3年前 (2023-02-05) 271次浏览
关闭
plexuss 打开了这个问题 2013 年 3 月 16 日 · 34条评论
关闭

温度曲线补偿#418

plexuss 打开了这个问题 2013 年 3 月 16 日 · 34条评论

评论

温度曲线补偿 #418

提前为这篇文章道歉,因为我找不到方法来回答我的问题,甚至尝试了 reprap.org 上的固件论坛。我直接用数字热电偶测量了我的热端温度。我在 marlin 中设置的温度和在我的主机应用程序中显示的温度与我实际测量的不同。我绘制了实际与设定的曲线。我还在马林鱼中设置了正确的热敏电阻(基于表中包含的那些)。我想做的是设置温度 = 实际温度。我已经计算出一个简单的线性方程,几乎可以根据设定温度计算实际温度。我知道马林鱼中有整个热敏电阻表,但我不知道如何使用它。我想要做的就是将我的公式放入 marlin 中,以转换通常会输出到主机应用程序的温度,以便它显示接近正确的实际温度。我知道这不是“正确”的方法。但我还没有找到关于创建特定于我的热敏电阻的表格的分步指南。我不是编码员或黑客。我可以在某个地方将我的线性变换变成马林鱼,这样我设置和看到的温度就是实际温度吗?或者有人可以指出我不需要编码经验就可以为我的特定热敏电阻创建表格的分步过程吗?谢谢 我可以在某个地方将我的线性变换变成马林鱼,这样我设置和看到的温度就是实际温度吗?或者有人可以指出我不需要编码经验就可以为我的特定热敏电阻创建表格的分步过程吗?谢谢 我可以在某个地方将我的线性变换变成马林鱼,这样我设置和看到的温度就是实际温度吗?或者有人可以指出我不需要编码经验就可以为我的特定热敏电阻创建表格的分步过程吗?谢谢

温度曲线补偿 #418
贡献者

我们生成热敏电阻表,这样微控制器就不必即时执行。这降低了微控制器的利用率。
创建这些很容易,但在我继续之前让我问你这些:

  1. 您是否在代码中选择了正确的热敏电阻?
  2. 温差是多少?
  3. 你用的是什么热敏电阻,什么热电偶?

请记住,热电偶不是 100% 准确的,如果它是分压器的一部分(就像它在说 sanguinololu 上),如果第二个电阻不准确,不准确度也会增加。还有 ADC(模数转换器)不准确。
所有这些都可能很容易使 5C 有所不同。

马尔钦

温度曲线补偿 #418
作者

你好!并感谢您的答复。我真的很想在我的打印机上获得准确的温度读数,即使这意味着将转换公式破解到我的马林鱼中。但我绝对更愿意按照应该用桌子完成的方式来做。我只是不知道该怎么做。回答你的问题:

  1. 是的,我有。它是一个使用“100k”热敏电阻的 printrbot+。所以我选择了 100k 热敏电阻表(实际上这是从 Printrbot 预先设置的,但我确认它已被选中)。我为挤出机 0 设置了温度传感器 1。
  2. 它各不相同。我有一张图表,显示我测量的内容与设置的内容。当 Tset=180C Tactual=170C delta=20C。Tset=230 Tactual=215 delta=15C, Tset=250 Tactual=233 delta=17C…温度越高差异越大
  3. 我正在使用带 K 型热电偶的 UEI DT302 数字测井温度计。我已经用水银实验室温度计验证了这个仪表是准确的。我将热电偶牢固地机械耦合到热端加热器区域正下方的金属部件上。这就是我用来测量 Tset 值的 Tactual 值(Tset 是通过主机设置到 Printrboard 的值)

我制定了一个线性调整,将 Tset(通过 Printrboard 传回主机的温度)调整到我绘制的 Tactual 温度。公式是:Tcalc = (Tset + 14.94) / 1.14 这将使 Tcalc 在 Tactual 的 +/- 2C 范围内。

温度曲线补偿 #418
贡献者

使用外部的热电偶无法获得准确的读数。它会读得很低。它需要在塑料所在的内部。最好在未使用挤出机时完成。我用的是1%的热敏电阻,不用校准就够准确了,但是也可以是3%、5%、10%等等。

有关如何制作准确表格的信息,请参阅http://hydraraptor.blogspot.co.uk/2012/11/more-accurate-thermistor-tables.html

温度曲线补偿 #418
作者

热电偶牢固地机械耦合,该区域用玻璃纤维绝缘。人们坚信这些测量是准确的。10-20C 的偏差是不可接受的,因此 Marlin 的设定和报告温度不正确。好的不用担心。为了让固件报告准确的温度,我会亲自处理事情。为热敏电阻选择一个表,而不是打印机中使用的确切品牌和型号比我使用精确仪表的实际读数更值得怀疑。请注意 – 您从 Marlin 获得的温度可能不准确。除非您确定它们是,否则最好在您的帖子等“设定温度”中注明。如果您确定它们是准确的(通过使用已知的校准仪表验证它们),您可以说“真实温度”。否则对你来说 230C 对我来说可能不是 230C。这是马林鱼的弱点。

温度曲线补偿 #418
贡献者

这不是马林的弱点。你说你使用 100k 热敏电阻,但它是什么牌子的?什么精度?你的上拉电阻值是多少?这一切都很重要。
我的温度与红外温度计读数相差 +/-2C。
仅仅因为它是 100k,并不意味着您使用的是正确的表。曲线因制造商而异。我建议你使用EPCOS B57560G104F NTC,像大多数人一样。我从中得到了上述精度,它足以熔化塑料。
我同意,17C 的差异是不可接受的,但是您使用的热敏电阻/表有问题,而不是 Marlin。

温度曲线补偿 #418
作者

我完全同意。仅仅说“它使用 100K 热敏电阻,所以我设置了表 1”并期望获得准确性是不够的。但是我认为大多数拥有 3D 打印机的人都会这样做。该热敏电阻表实际上仅对用于创建它的相同零件号有用,即使那样您也会有一定的差距。最好使用打印机中的特定热敏电阻进行校准。还需要注意的是,红外枪非常不准确。可怕的。并且读数之间也不一致。

这是一个令人恼火的问题,我希望 3D 打印机社区在某个时刻醒来并意识到论坛和文章中抛出的所有这些温度几乎毫无意义,除非你接受说 +/- 20C 的差异。

** 校准打印机的温度传感器,或者至少让我们知道您使用的是未校准的传感器,并且您引用的值仅仅是“设置”值 **

温度曲线补偿 #418

@plexuss:我能理解你的沮丧,我有点像黑客,但在 nophead、Erik 等联盟中我非常尊重他们(实际上我会称 nophead 为科学家,而不是黑客),但是我在构建过程中仍然遇到了一些相同的挫折。

我采取的方法是根据实验测量,将报告的温度与测量的温度进行比较(就像我将热电偶插入热端内的 nophead),然后我手动绘制出一个新的热敏电阻表并上传。整个练习记录在我的博客 ( http://blogger.kritzinger.net/2012/04/recalculating-thermistor-tables-more.html ) 中,如您所见,我的方法不是主流,但它确实参考许多其他博客/信息源。

在 Internet 上评论报价温度时,您没有考虑的另一条信息是使用的塑料可能会有所不同。这意味着即使使用相同的打印机和相同的设置,您也可以获得不同的结果,因此其他人报告的温度也应被视为仅指示起点。

祝你的打印机好运。

温度曲线补偿 #418
贡献者

@plexuss我向你保证,大多数人都使用众所周知的热敏电阻。卖套件的人也是如此,而套件是人们买得最多的东西。大多采用爱普科斯热敏电阻。
但是你可以自己生成你真正想要的表格(我个人会在热敏电阻上花费 1 英镑/欧元)。

const short temptable_1[][2] PROGMEM = {
{       23*OVERSAMPLENR ,       300     },
{       25*OVERSAMPLENR ,       295     },

第一位是 ADC 值 * OVERSAMPLENR,第二位是以摄氏度为单位的温度。
ADC 是 10 位的,这意味着它在 Vcc 时的最大值是 1023 (2^10-1)。假设您的 Vcc 为 5.00V,您将在 5V 时获得 1023,在 2.5V 时获得 511。它线性缩放。
您的热敏电阻将成为分压器的一部分(另一个电阻可能是 4K7 或 1K)。
如果你想要准确的测量,不要只使用欧姆定律,而是实际测量分压器上的电压,然后计算 ADC 值。
简单的。
所以你的 ADC 值为 (measured_voltage*1023/5)。
或者使用脚本…祝你好运。

温度曲线补偿 #418
贡献者

如果您将温度设置为具有现有表条目的值,那么您知道 ADC 是稳定后表中的值。您可以使用热电偶测量实际温度。通过三个这样的测量,您可以使用我制作的脚本制作一个在满刻度范围内精确到一两度的表格。无需测量电阻或电压。

根据我的经验,里面比外面热,但你也可以让桌子走上轨道。

温度曲线补偿 #418
贡献者

@nophead没必要做这些,他可以买一个大多数人都用的热敏电阻……:)

温度曲线补偿 #418
贡献者

是的,但我认为它已经过时了,价格开始飙升。

温度曲线补偿 #418
贡献者

从这里得到我的http://www.ebay.co.uk/itm/Reprap-100K-ohm-NTC-Thermistor-lot-of-10-pcs-/150870727431?pt=LH_DefaultDomain_2&hash=item2320989b07

我有很多东西,所以如果有人需要的话可以卖 2 英镑 + 邮票……

温度曲线补偿 #418
作者

感谢大家的评论。我对 Marlin 进行了更深入的研究,认为我找到了问题所在。我想在发布任何内容之前验证这一点,但现在我遇到了这个问题,在我使用 FLIP 3.4.7 将固件上传到我的 PBrd 后,我无法与 PBrd 建立通信并在 Repetier 中获得“5 个命令等待”-主持人。这发生在我身上,在多次闪烁之前和之后,它开始工作了。我现在已经尝试了大约 10 次,但仍然无法摆脱这种模式(任何想法)?然而……我注意到的是,在我被告知的叉子中,PxT 分叉了“官方 Printrbot 叉子”,挤出机热敏电阻设置为表 1。表 1 显示“100k 热敏电阻”,所以乍一看看起来是正确的, 然而表 6 是“Epcos 100k 热敏电阻”

我还有一个备用的 Ubis 热端(用在 PB 上),我把它拆开看看用的是什么热敏电阻——它看起来和你一直指给我看的 Epcos 热敏电阻一模一样。同样在 Printrboard 示意图上,我看到热敏电阻上有一个 4.7k 的上拉电阻。同样,这指向表 6,而不是表 1!

我昨晚编译的固件将其设置为 6,但现在我无法让我的 PBrd 退出这种“消息等待”模式。我已经尝试了所有按下重置按钮的方式,以及所有步骤的变化。问题是我有一个备用的 PBrd,当我使用这个 FW 进行闪存时,它不会进入“命令等待”状态——除了 USB 之外,我没有连接电路板,但我可以控制 FW。我知道我可以将打印机中的电路板更换为看起来可以正常工作的电路板,但如果可以的话,我想用当前安装的电路板解决这个问题。

温度曲线补偿 #418
作者

好的..这里有更多见解…在以前版本的 Marlin 中,configuration.h 中的热敏电阻表评论说:

// 1 是 100k 热敏电阻
// 6 是 EPCOS 100k。

但在当前版本中,这些行已更改为

// 1 是 100k 热敏电阻 – EPCOS 100k(4.7k 上拉)的最佳选择
//​​ 6 是 100k EPCOS – 不如表 1 准确(使用福禄克热电偶创建)(4.7k 上拉)

然而 1 和 6 的注释 int he thermistortables.h 没有改变并说:

表 1://100k 床热敏电阻
表 6:// 100k Epcos 热敏电阻

首先,我发现奇怪的是,当我在我的打印机上进行自己的测量时,在挤出机中使用看起来像 Epcos 100k 热敏电阻但表 1 设置(大概是“100k 床热敏电阻”)并发布了实际与报告的温度差异上面的帖子,现在这些评论似乎已经改变,提供了更多关于表格的信息。

然而,正如我提到的,我发现表 1 非常不准确,因为当设置为表 6 时,挤出机实际温度更接近我设置的温度。

这是怎么回事?在这一点上,我已经失去信心,热敏电阻表至少 1 和 6 是有意义的 – 声称的设备现在不同但表数据相同,表 1 的表注释没有不同(config.h 说它的 Epcos和 t-table.h 说是床热敏电阻,通常是径向引线更便宜的热敏电阻)。

因此,在设置要使用的表时请牢记这一点。在我的热端表 6 中使用明显的 Epcos 热敏电阻比表 1 更准确。授予“实际”温度我使用的是 K 热电偶。因此,我收到了一个昂贵的工业数字温度计和铂 RTD 热敏电阻。这将是事实上的“实际”温度,我们可以查明这一点。似乎有人决定将表 1 的名称从普通的 100k 热敏电阻(在 thermistortables.h 中该表的标签中呼应)更改为表明它现在是 Epcos 热敏电阻,现在表 6 不那么准确。 ..可疑。

温度曲线补偿 #418
贡献者

问题是有多个 EPCOS 热敏电阻具有不同的 Beta,因此
“EPCOS 100K”毫无意义,“100K”更糟。

我最初选择了 6,但发现它非常不准确,所以我从
三个数据点制作了自己的。它看起来与表 1 非常相似。

2013 年 3 月 25 日 16:25,plexuss notifications@github.com写道:

好的..这里有更多见解…在以前版本的 Marlin
中,configuration.h 中的热敏电阻表评论说:

// 1 是 100k 热敏电阻

// 6 是 EPCOS 100k。

喜欢 (0)