热率控制算法

时间:2013-12-27 18:12:25

标签: algorithm

我参与制作温度控制器的项目。它应该能够将温度保持在预定点。这可以通过开/关方法或比例方法或使用PID来完成。但我的问题是如何控制加热速度。这意味着当用户输入费率时,温度应该根据该值上升。我使用PIC微控制器和SSR。主要问题是烤箱的内容在任何时候都不一样。所以任何人都可以帮我解决这个问题。谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用PID控制回路为加热元件的电源设置PWM(脉冲宽度调制)电平。

PID控制回路本身由“错误”信号驱动,该信号是目标温度和当前温度之间的差值。

控制回路的输出设置PWM电平,因此当误差很大时它很大而当它“差不多”时它很小。

我最后一次处理其中一个时,我们有一个状态,系统“完全”为PWM加热冷却系统,直到它进入范围,然后使用PID回路控制加热器一旦它在血液测试仪的范围内(+/- 1度)。也就是说,在PID控制回路之外,我们有一个控制系统的状态机(OFF,WARMING,IN_RANGE,OVER_RANGE)。最后一个状态OVER_RANGE用于处理不受控制的加热器故障(故障/风险缓解的一部分)。如果系统停留的时间太长,它会完全关闭(其他子系统中也有其他机制)。

我有PID控制的一般实现loops discussed here。在网上还有其他基于加热器的PID控制系统的参考文献。

如果你想控制温度上升的速度,我认为最简单的方法,无需估计dT / dt(可能有噪音),就是要确定你想要的速率并在您希望它升至该水平的时间内将目标温度设置为等间距值。例如,如果您希望它以10C /小时的速率上升,则将其设置为每6分钟增加1,每12分钟增加0.5C等。小心......您可能会遇到整数数学中的小值问题(即,当您尝试通过除法确定最小增量时,它会小于1,因此它为0且您永远不会增加)。

您需要调查的事项:

  1. 系统上升时间有哪些要求。
  2. 您在响应时间内允许多少超调。
  3. 您必须准确控制温度(公差)。
  4. 您将使用什么传感技术(热敏电阻,定制电子设备等)来测量温度。
  5. 您使用的是定点数还是浮点数。
  6. 你需要处理什么样的安全/风险问题...毕竟你正在加热......

答案 1 :(得分:0)

所以你不仅要获得给定的最终T,还要控制dT / dt?如果控制器没有内置控制器,但是具有正常的维护设定点控制,那么您是否可以对其进行编程以便经常提升设定点,并让它完成剩下的工作(通过PID或比例控制器)来保持瞬时设定值?自从我愚弄控制器以来已经过了30年,但是凭借真正的可编程性(C)我认为你可以考虑起始T和期望的最终T并随着时间的推移提高设定点。您是否希望在此过程中不超过某个dT / dt?您是否可以接受加热时间(加速时间)可能会根据起始T和内容的性质而有所不同,或者您是否必须在一定时间内达到最终T?