我需要将温度设置在20°C至300°C之间。我正在使用具有1%占空比分辨率的PWM输出。整个PWM周期和PID回路时序能否比负载温度跨度的精度高1%?
我需要将温度设置在20°C至300°C之间。我正在使用具有1%占空比分辨率的PWM输出。整个PWM周期和PID回路时序能否比负载温度跨度的精度高1%?
Answers:
它取决于负载的时间常数。加热的负载通常会在10秒内做出响应。
如果一秒钟生成30%的PWM,然后下一秒钟生成31%的PWM,则在几秒钟内平均达到30.5%。
烤箱恒温器往往会在一分钟,一分钟关闭的情况下运行,并且仍能使烤箱温度稳定在个位数C的水平。每秒调整一次1%的PWM可能会比这好几个数量级。
措辞古怪的问题,但我想您要问的是,负载温度将以1%步进分辨率的PWM以1%步进递增。即每步2.828C。
尽管听起来应该如此,但答案可能是否定的。
原因是,要使这种情况发生,功率输入和负载中的温度升高之间必须存在1对1的关系。但是,根据负载的几何形状和环境,这不太可能是正确的。
为了将某物加热到特定温度,您需要添加足够的功率以平衡在该温度下对象损失到周围环境的功率。问题是,随着温度的升高,被加热物体表面的传热效率通常也会发生变化。
对于较小的温度范围,功率与温度的关系几乎可以认为是线性的,但300C并非一个很小的温度范围。
当然,您计划加热的线性程度如何,以及1%的准确度(即1%的正负值是多少?),当然超出了此问题和答案的范围。但是我怀疑您将需要更多的增量功率才能将其升至最近的50C,而不是将其升高至70C。
加成
从您的问题还不清楚,您是否在控制回路中包括了温度感应功能。我怀疑,由于您提出了问题,因此答案是否定的,因此,我们将重点放在此答案上。
如果需要在所有条件下准确设置温度,则确实需要将该测量值重新绑定到系统控制环路中。在那一点上,您可以随时间改变PWM调制方式,以尽可能精确地保持温度,因为温度会有一定的热滞后和迟滞。
但是,当然,准确测量大型物体上的温度本身就是一个挑战。
如果您的控制器或控制算法代码可以测量负载温度并以高于“ 1%的分辨率”(请注意输出与温度的关系不是线性的)来跟踪所需的输出,则可以实现比正如Neil_UK的答案所暗示的,通过抖动实现1%的有效输出分辨率。您可以管理的实际改进将取决于负载的时间常数相对于输出循环时间的持续时间。
如果您的控制器或代码无法执行此操作,则负载温度会有所波动。例如,如果设定点和环境条件使得所需负载温度的“正确”输出为30.5%,则输出可获得的最接近值是30%,在这种情况下,负载将冷却至略低于设定点,或31%,在这种情况下,它将加热到略高于设定点的温度,只有通过“注意到”实际负载温度的偏差,控制器才能更改其输出以校正偏差。
我猜想在后一种情况下,波动的大小将取决于控制算法中的比例系数和微分系数,并且您的任务将(一如既往)调整控制器以实现最佳精度,而又不会带来不稳定或过大的风险。
另外,请考虑一下您所说的准确性到底是什么意思。您需要绝对精度(设定值100°C给出的控制值确实是100±0.1°C)还是仅仅是稳定(控制值可以在98至102°C的范围内稳定,然后保持稳定在±0.1°C之内) C)?温度测量的绝对精度比人们想象的要难实现,但是在许多应用中,只要稳定性好,绝对精度就不那么重要。
很有可能。我已经完全完成了您在商业产品中提出的要求。
我说“最有可能”而不是“是”的原因是,获得比PWM分辨率更高的温度分辨率要求PWM周期显着小于主导的热时间常数。除非您有一个非常不寻常的加热器(白炽灯丝可能是一个例子),否则将满足此要求。
我正在编写通过X射线管控制电流和电压的固件。更高级别的逻辑将指定电压和电流为多少,而固件的工作就是做到这一点。
在这种情况下,该管仅是阴极和阳极,没有栅格。通过改变阴极加热器的驱动水平来控制束电流。这大约和加热器一样小巧,但是它的时间常数仍然是几毫秒。
加热器的PWM运行在多个kHz,比任何有意义的加热器响应频率快许多倍。不幸的是,PWM分辨率太低,无法在所需的误差容限内实现某些所需电流。阴极温度对电子束电流高度非线性的作用没有帮助。
如果这是对PWM的唯一限制,那么我可以增加PWM周期以获得更高的分辨率。但是,此处理器做了很多事情,并且由于硬件限制,同一时钟用于其他事情,无法更改。
解决方案是实现PWM占空比的抖动。如果我没记错的话,我使用了8个不同的占空比值。在这种情况下,我可以在微控制器中使用DMA引擎自动对8个值进行排序。占空比设置例程进行了数学运算,并将0到7的值调整为比第一个高一个数。
有效地提供了8倍更高的PWM分辨率。PWM周期x8相对于加热器时间常数仍然很短,因此加热器仍然很容易平均多个占空比值。
我看到Trevor已经涉及到这一点。加热器的温度通常与输入功率呈非线性关系。这通常是由于对流不随温度线性变化,因此,较冷的物体对热物体的冷却不成比例。在更高的温度下,黑体辐射变得很明显。辐射功率也与温度呈非线性关系。
在我的情况下,不仅阴极主要被黑体辐射冷却(处于真空状态),而且温度对电子束电流的函数也高度非线性。
非线性系统难以控制。PID之类的简单方法或任何从S域分析中得出的东西都不适用于非线性系统。如果尝试这样做,最终将使该范围的某些部分过度阻尼,只是为了保持该范围其他部分的稳定性。在过阻尼的范围内,这可能导致建立时间过长,令人无法接受。
我在这种情况下使用的解决方案(我也已在其他一些项目中使用过)是从控制回路的角度线性化系统。
为此,我在控制器输出和系统输入之间插入了分段线性查找。在制造过程中,系统在多个设定点开环运行。结果被用来填充存储在每个单元唯一的非易失性存储器中的查找表。
在查找表的任何部分内,系统仍然是非线性的。但是,这些段仅占系统范围的一小部分,因此系统特性在一个段上变化不大。如果他们这样做,则使用更多的细分。
结果效果很好。是的,所有这些都在商业产品中运行,您可以立即购买。
已经有几个人提到了这一点,但我想澄清一下。
注意:如果您的加热器具有内置的电子温度控制,请跳至我的答案的最后一部分。
相反,它控制加热器排出多少能量。如果空间加热器处于理想绝缘状态,则恒定的PWM信号将控制温度升高的速度-直到加热器自身或其外壳熔化。
实际上,对流,辐射或其他过程不可避免地会损失热量,因此可以形成稳定的平衡:如果将加热器加热到100%循环,则可以在某些预定义的情况下将其加热到300°C。
但是,这些情况永远都不可靠:风,气压,湿度和环境温度可能会使加热器的占空比对温度的额定值产生偏差。
如果您的温度很高(高于约200°C),由于外界因素可以忽略不计,您也许可以避免变化,但是在那种情况下,确切的温度仍然不是很精确,因此调整低于1%没有任何意义。
一种可靠的控制温度的方法是使用温度传感器:如果所需温度高于然后检测到的温度,则以100%的功率为加热器供电;如果较低,则完全切断电源。
使用100%或不使用电源的原因是加热器始终是无功的,您很可能希望温度尽快达到所需水平。
假设您有一个加热器,通常可以在20°至300°C的温度下工作,并且需要将其从室温加热到100°C。
如果以30%PWM占空比为其供电,它将开始快速升高温度,但随后逐渐降低。根据加热器的类型,可能要花几个小时才能真正达到所需的温度。那是因为热量损失随着热量的差异而增加,所以最后几度花费的时间最长。
相反,您应该使用100%的可用功率为加热器供电,以使其更快地达到所需温度。
当温度达到所需值时,您仍然需要对加热器上突然吹来的狂风或类似后果迅速做出反应。
在某些情况下,加热器,其负载以及传感器可能都具有很强的反应性,因此电路可能需要在某种程度上预测由加热器引起的温度变化。
如果这不可行,则向加热器馈入分数功率实际上可能对使温度保持在所需水平有用。
在那种情况下,确切的细节(包括问题的答案)可能取决于加热器的物理参数,其负载和环境。否则温度必须确实非常稳定。
在那些情况下,PWM信号不需要精确,相反,它仍应根据探头读数上下自行调整。
电加热器可能无法设计成使用PWM电源工作。根据构建的精确程度,它可能会开始振动并最终破坏自身或引起其他无法预料的问题。
几乎所有加热器都消耗大量功率。用于此类应用的PWM控制晶闸管或晶体管可能效率很低,并且不仅价格昂贵,而且需要大量冷却。
在相位校正晶闸管(用于交流)方面,由于交流电源可能不是理想的正弦,因此使用它们可能无法可靠地实现低于1%的精度。
一些“加热器”实际上可能是自己感应温度并控制功率的电子设备。可以通过PWM信号设置所需温度。这些很少见,但这是唯一可以解释占空比与温度之间直接关系的理论。
在这种情况下,对问题的答案取决于加热器的内置控制电子设备。假设电子设备本身足够精确,则问题中描述的精确调整可能会起作用-该事实应在其文档中说明。
因为几乎所有此类加热器在内部都如我之前所述工作,所以它们通常执行相当长的开关周期,因此无论PWM信号的精度如何,实际温度都可能随时间上下波动。