[技术讨论] 关于PID控制温度的应用疑惑

[复制链接]
2719|28
手机看帖
扫描二维码
随时随地手机跟帖
dereck1314|  楼主 | 2021-10-19 14:42 | 显示全部楼层 |阅读模式
本帖最后由 dereck1314 于 2021-10-19 14:48 编辑

小弟一直使用,不完全微分PID进行温度的控制,控制载体为培养箱,要求不高的情况下可以控的马马虎虎,箱子要求一高,保温性能一好很多要求难以达到,比如不允许冲温,开门再关门后不允许温度超高0.4℃,等等,就算某个时间参数调好了,能达到了,但是环境温度不一样,起始温度点不一样也会造成冲温的情况。让我怀疑本身传统PID无法胜任此类控制,

于是看了PID资料,发现有好多PID类型,模糊PID,非线性跟随微分器PID,串级PID等等,不知道设计工业应用有哪些,而且看的时候一堆公式,matlab计算,看不太懂,大伙能不能支支招,或者提点下方向

使用特权

评论回复

相关帖子

ColeYao| | 2021-10-19 16:41 | 显示全部楼层
不是PID控制不适合,是你的培养箱隔热太好,假设开门后温度掉了2度,温控会加大加热功率,但是培养箱外面热了,温度传到培养箱里面要很久,那么要么就用小功率加热慢慢把那2度升上来,要么就过冲,大多数人是不会有耐心等温度慢慢升的,所以基本上都是过冲,要想受控部分温度波动小,热传导设计是前提条件,热传导部分随便搞搞的话,啥PID都搞不定的!

使用特权

评论回复

评论

tyw 2021-10-20 17:24 回复TA
@逍遥李 :·那只有用2位3通电磁阀来切换冷暖风道了,不过没听说有人这么做的.软件倒可以改善一下,当接近控制点时降低加温功率,以求超调量小些.这要按实际热惯量多次调整修改才能取得经验数据. 
逍遥李 2021-10-20 16:13 回复TA
@tyw :精彩啊!确实空气要流动。 还有这类保温箱一旦超调有对应的快速降温措施吗?还是全靠物理散热降温? 
YDCMAN 2021-10-20 12:58 回复TA
@tyw :赞,厉害! 
dereck1314 2021-10-20 08:30 回复TA
@tyw :前辈啊 
ColeYao 2021-10-20 08:20 回复TA
@tyw :69年我还没出生呢,你都已经开始工作了,不过那时候搞控制很难啊,资料很少,基本上只能靠几本教材,剩下的就要靠自己悟了! 
tyw 2021-10-19 16:55 回复TA
69年在农场搞920农药培养,做了一个恒温箱,用了一只小电炉,一只小风扇,搞热风循环,可快速保持热平衡,控制器仅用了一只热带魚缸用的双金属温度调节器.关键在于快速热风循环.哈哈 
R2D2| | 2021-10-19 17:51 | 显示全部楼层
先别管什么类型,你先说说P、I、D三个参数是怎么瞎编出来的吧。

使用特权

评论回复
dereck1314|  楼主 | 2021-10-20 08:30 | 显示全部楼层
ColeYao 发表于 2021-10-19 16:41
不是PID控制不适合,是你的培养箱隔热太好,假设开门后温度掉了2度,温控会加大加热功率,但是培养箱外面热 ...

也对啊,保温太好和滞后控制起来的确困难

使用特权

评论回复
sjnh| | 2021-10-20 08:43 | 显示全部楼层
控制速度 与 过冲是矛盾的,根据你的要求调节参数

使用特权

评论回复
shipeng1989| | 2021-10-20 08:58 | 显示全部楼层
可以考虑内部加装一个风扇,加速里面的温度均衡从而减弱滞后性

使用特权

评论回复
dereck1314|  楼主 | 2021-10-20 09:09 | 显示全部楼层
shipeng1989 发表于 2021-10-20 08:58
可以考虑内部加装一个风扇,加速里面的温度均衡从而减弱滞后性

有风扇哦

使用特权

评论回复
elife| | 2021-10-20 10:42 | 显示全部楼层
制热和制冷都用吧。有条件可以多级恒温,先恒外部温度,再恒内部温度。

使用特权

评论回复
cjseng| | 2021-10-20 12:02 | 显示全部楼层
将P和I都调小些,调节速度变慢一些,应该能减小过冲,甚至消除过冲。

使用特权

评论回复
dereck1314|  楼主 | 2021-10-20 15:44 | 显示全部楼层
elife 发表于 2021-10-20 10:42
制热和制冷都用吧。有条件可以多级恒温,先恒外部温度,再恒内部温度。

有制冷的话就不怕冲温了

使用特权

评论回复
资深技术| | 2021-10-20 19:52 | 显示全部楼层
PID控制没问题,关键是参数的调整

使用特权

评论回复
shipeng1989| | 2021-10-21 08:40 | 显示全部楼层

我还有个建议就是在现有PID基础上试着加大微分时间,注意不是加大微分系数而是微分时间dt。话说我曾经也遇到过控温时实际温在目标温附近小范围震荡的问题。震荡的特点是振幅小周期长:振幅只有±2度周期长达10秒以上!这种问题只出现在初始的实际温与目标温相差较大时出现,震荡几个周期后也能稳定下来。所以要求不高时一般都放任不管了。直到强迫症发作誓要解决这个小bug以提升自己的PID技能时,才发现这个问题比想象中的要难。试过很多办法效果都差强人意,最后才想到我的微分时间不够导致遇到这种极低速率的温度变化时微分根本形同虚设,所以加大10倍的微分时间问题解决。

使用特权

评论回复
dereck1314|  楼主 | 2021-10-21 13:31 | 显示全部楼层
资深技术 发表于 2021-10-20 19:52
PID控制没问题,关键是参数的调整

试试看

使用特权

评论回复
dereck1314|  楼主 | 2021-10-21 13:52 | 显示全部楼层
本帖最后由 dereck1314 于 2021-10-21 14:48 编辑
shipeng1989 发表于 2021-10-21 08:40
我还有个建议就是在现有PID基础上试着加大微分时间,注意不是加大微分系数而是微分时间dt。话说我曾经也 ...

目前采用离散PID为:u(k) = Kp*e(k) + Ki*∑ e(k) * T + Kd*( e(k) - e(k-1) ) / T , 您说的是加大微分系数是加大哪个哦?Kd是系数,T采样周期也固定了

使用特权

评论回复
shipeng1989| | 2021-10-22 08:39 | 显示全部楼层
dereck1314 发表于 2021-10-21 13:52
目前采用离散PID为:u(k) = Kp*e(k) + Ki*∑ e(k) * T + Kd*( e(k) - e(k-1) ) / T , 您说的是加大微分系 ...

试试将“Kd*( e(k) - e(k-1) ) ”改为“Kd*( e(k) - e(k-2) ) ”

使用特权

评论回复
dereck1314|  楼主 | 2021-10-22 13:51 | 显示全部楼层
shipeng1989 发表于 2021-10-22 08:39
试试将“Kd*( e(k) - e(k-1) ) ”改为“Kd*( e(k) - e(k-2) ) ”

好的

使用特权

评论回复
地瓜patch| | 2021-10-24 12:33 | 显示全部楼层
分段控制

使用特权

评论回复
dereck1314|  楼主 | 2021-10-25 10:49 | 显示全部楼层

请问下,是将设定温度分段吗?,大致意思是,设定50摄氏度,先控制到45摄氏度,然后再控制到48摄氏度,一点点逼近吗?

使用特权

评论回复
地瓜patch| | 2021-10-25 16:37 | 显示全部楼层
不同分段的温度区间,用不同的参数

使用特权

评论回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则