使用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条回答
美丽的时光机器
2019-07-21 21:25
szczyb1314 发表于 2018-6-25 11:36
你的队友是对的,一套参数足够了,不同的目标温度,假设用同一个加热器,只是相当于你设置的目标值不同罢了 ...

并不好。。。现在他们让我去修复这个BUG,因为现在的方案控制的温度都是在设置的目标温度附近跳动1到2度,根本稳定不在0.5度范围,所以我现在才觉得用一块板子去控制这方案有问题,觉得应该是分开,因为不同加热片功率不一样,单位时间内温度变动值不一样。同一个参数几乎很难调试使得所有模块都适用这个参数。另外我已经排除是PT1000和AD芯片读取的问题了,因为我试过常温下读取温度是正常的,之前硬件小哥一直让我更新pt1000查询表,跟这个一点关系也没有哇。

一周热门 更多>