打印
[控制方法]

PID算法的问题

[复制链接]
1013|29
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
LcwSwust| | 2024-11-5 19:21 | 只看该作者
代码你写的?

使用特权

评论回复
板凳
qinlu123| | 2024-11-6 07:59 | 只看该作者
TEC是啥

使用特权

评论回复
地板
铁头娃666|  楼主 | 2024-11-6 08:40 | 只看该作者

网上找的增量式PID算法

使用特权

评论回复
5
铁头娃666|  楼主 | 2024-11-6 08:41 | 只看该作者

半导体制冷片

使用特权

评论回复
6
LcwSwust| | 2024-11-6 08:52 | 只看该作者
铁头娃666 发表于 2024-11-6 08:40
网上找的增量式PID算法

上代码,以及设置温度、检测温度、输出量三条曲线

使用特权

评论回复
7
xionghaoyun| | 2024-11-6 08:53 | 只看该作者
很像I问题

使用特权

评论回复
8
铁头娃666|  楼主 | 2024-11-6 09:49 | 只看该作者
代码,温度,PID输出三个图

PID代码.png (21.26 KB )

网上抄的增量式PID代码

网上抄的增量式PID代码

温度曲线.png (236.9 KB )

设定25℃,激光器温度曲线

设定25℃,激光器温度曲线

PID输出曲线.png (188.75 KB )

PID算法输出曲线

PID算法输出曲线

使用特权

评论回复
评论
铁头娃666 2024-11-6 09:50 回复TA
PID三个参数分别为5,0.1,0.1 
9
qinlu123| | 2024-11-6 10:03 | 只看该作者
你是不是开启反向电流了,也就是帕尔贴的由H桥驱动可以制冷可以加热

使用特权

评论回复
10
LcwSwust| | 2024-11-6 10:07 | 只看该作者
铁头娃666 发表于 2024-11-6 09:49
代码,温度,PID输出三个图

你这一开始就不对啊,输出一直下降,温度怎么一会降一会升的,检查一下传感器是否贴好、热端是否发烫、散热是否充足。

使用特权

评论回复
11
铁头娃666|  楼主 | 2024-11-6 10:08 | 只看该作者
qinlu123 发表于 2024-11-6 10:03
你是不是开启反向电流了,也就是帕尔贴的由H桥驱动可以制冷可以加热

控制电路就是设计的可以正反控制,但是激光器发射激光会加热,目前都是在制冷

使用特权

评论回复
12
铁头娃666|  楼主 | 2024-11-6 10:11 | 只看该作者
LcwSwust 发表于 2024-11-6 10:07
你这一开始就不对啊,输出一直下降,温度怎么一会降一会升的,检查一下传感器是否贴好、热端是否发烫、散 ...

右边是开始,用的EXCEL的Data Streamer工具把串口数据导入的

使用特权

评论回复
13
qinlu123| | 2024-11-6 10:13 | 只看该作者
就是这个原因了,你制冷到目标值的时候当略微超出一点你就开启加热了原本很稳定的温度曲线反而在目标值处开始振荡。

使用特权

评论回复
14
qinlu123| | 2024-11-6 10:14 | 只看该作者
当你制冷的时候只制冷,温度超了就关闭不要开启反向电流来加热它。制热同理。

使用特权

评论回复
15
qinlu123| | 2024-11-6 10:16 | 只看该作者
看你的温度曲线应该能和目标值重合得很好的,不会有锯齿。

使用特权

评论回复
16
铁头娃666|  楼主 | 2024-11-6 10:22 | 只看该作者
qinlu123 发表于 2024-11-6 10:13
就是这个原因了,你制冷到目标值的时候当略微超出一点你就开启加热了原本很稳定的温度曲线反而在目标值处开 ...

室温附近会出现制冷和加热反复跳,程序控制的高低温情况下不会出现加热和制冷切换,低温和高温的时候也会出现这种拉直线,领导要求±5mk,太难了

使用特权

评论回复
评论
qinlu123 2024-11-6 14:46 回复TA
@qinlu123 :我看了一下之前的测试数据长时间只能做到±0.05℃ 
qinlu123 2024-11-6 14:20 回复TA
±5mK不是扯淡吗,我用串级PID+裸芯PT100顶多能做到±0.01℃的波动 
17
qinlu123| | 2024-11-6 10:33 | 只看该作者
铁头娃666 发表于 2024-11-6 10:22
室温附近会出现制冷和加热反复跳,程序控制的高低温情况下不会出现加热和制冷切换,低温和高温的时候也会 ...

拉直线没问题,后边的锯齿才不正常啊

使用特权

评论回复
18
LcwSwust| | 2024-11-6 10:46 | 只看该作者
铁头娃666 发表于 2024-11-6 10:11
右边是开始,用的EXCEL的Data Streamer工具把串口数据导入的

即便右边是开始,这里也一样不对啊,同样的道理。
建议做个测试:让输出量从负最大逐渐加到正最大,看看输出电压(TEC两端电压之差)是否线性。
确保输出是线性的,再来调试PID。

使用特权

评论回复
评论
铁头娃666 2024-11-6 11:36 回复TA
好的,谢谢大佬 
19
qinlu123| | 2024-11-6 11:01 | 只看该作者
铁头娃666 发表于 2024-11-6 10:22
室温附近会出现制冷和加热反复跳,程序控制的高低温情况下不会出现加热和制冷切换,低温和高温的时候也会 ...

我看错了没有加热制冷交替开启,后边振荡就是积分项大了点,温度控制的滞后性很大在达到目标值的时候容易振荡,你可以在达到目标值附近后把积分参数改得很小。微分参数没啥用直接0就行。硬件上注意加热棒和均热体之间,温度传感器和均热体之间涂好导热硅脂尽量减小滞后性。

使用特权

评论回复
评论
铁头娃666 2024-11-6 11:35 回复TA
好的,谢谢大佬 
20
xch| | 2024-11-6 12:49 | 只看该作者
铁头娃666 发表于 2024-11-6 10:22
室温附近会出现制冷和加热反复跳,程序控制的高低温情况下不会出现加热和制冷切换,低温和高温的时候也会 ...

妄想 PID 能实现 。别折腾了

使用特权

评论回复
评论
xch 2024-11-7 11:29 回复TA
@LcwSwust :你可以找新闻联播组,它说实现 ±5mk 就算实现。 
LcwSwust 2024-11-7 10:33 回复TA
@xch :±5mk,也就是±0.005℃,不奇怪啊,PID是无辜的,它只是个控制算法。 
xch 2024-11-7 09:30 回复TA
@LcwSwust :±5mk 
LcwSwust 2024-11-6 17:26 回复TA
帮楼主说一句,PID控制TEC恒温,很常用、很正常啊,有啥更好的方法你倒是说说看 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

21

帖子

2

粉丝