使用F103系列,PID算法做温控,方案讨论

2019-07-20 22:25发布

有一个方案,我自己觉得有问题,但是因为我是新员工周围人没耐心听我讲,发出来大家讨论下:
1.描述:
我们最近移植了别人的一套温控代码,用到我们自己的设备上,温控用的是PID算法控制。
设备一共有10路加热模块,需求是通过PID控制温度稳定在设定的温度值。
比如设定模块1为50度,模块2为80度、模块3为120度,其他模块类似,那么加热器
使温度稳定在50度、80度、120度,误差为正负0.5度。温度探头为pt1000,ADC芯片型号为AD7793,通过SPI方式做数据通信。
这10路加热模块采用的加热片功率并不是一样的,总共有3种不同功率,分别为16W、60W、100W。
但是控制这10路加热器的PID算法参数都是同一份工程里面的同一套参数值,
控制逻辑也都是一样的,我在看过代码还有了解了一下PID算法控制后,
就觉得这方案不太合适,不能这10路温控模块都用同一套PID参数值,应该是不同的加热器用不同的PID参数,
但是大家也没耐心听我讲,所以分享出大家讨论下。也不知道我的分析是不是对的,希望有经验的前辈分析一下,谢谢!


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
49条回答
美丽的时光机器
1楼-- · 2019-07-24 23:59
jinfeihan57 发表于 2018-7-3 09:27
如果同时工作的话极有可能需要多组不同的PID,因为,每个加热模块的加热速率不同。就是以同一个温度为目 ...

试过了   多个模块用同一个PID参数不行的,举个我观察到的例子,我调试120度的加热模块达到想要的结果时候,发现60度的加热模块不适合这个参数,它根本不稳定,其他模块也类似。
我现在用一种比较笨的办法去解决,不用修改底层的PID接口。因为设置温度高的模块用的加热片功率比较大,设置温度低的加热模块用的加热片功率小。我就按照设置的温度作为界线设置不同的PID值,比如他们的放大比例系数不一样。还有就是按照温度界线设置不用的温度比较阈值,比如加热片功率大的模块,温度比较阈值就放小一点。功率小的模块设置60度时候,温度比较阈值就放大一点。这么一改,效果是比之前的好很多,基本上是可以认为之前的方案不合适了。
jinfeihan57
2楼-- · 2019-07-25 05:19
美丽的时光机器 发表于 2018-7-6 13:28
试过了   多个模块用同一个PID参数不行的,举个我观察到的例子,我调试120度的加热模块达到想要的结果时 ...

多个加热模块分别工作在自己的温度范围下,每个模块再根据自己的PID参数工作。思路是对的。
Dayfly
3楼-- · 2019-07-25 11:10
 精彩回答 2  元偷偷看……
美丽的时光机器
4楼-- · 2019-07-25 15:28
Dayfly 发表于 2018-7-7 11:30
大家讨论的理论方面的东西比较多  我本人目前专门做温控方面的产品  关于PID控温这一块儿  参数设置跟场合 ...

长知识长经验了
美丽的时光机器
5楼-- · 2019-07-25 15:51
 精彩回答 2  元偷偷看……
高山仰止
6楼-- · 2019-07-25 18:55
美丽的时光机器 发表于 2018-7-6 13:28
试过了   多个模块用同一个PID参数不行的,举个我观察到的例子,我调试120度的加热模块达到想要的结果时 ...

你是怎么得到时间温度曲线的?

一周热门 更多>