硬汉嵌入式论坛

 找回密码
 立即注册
查看: 679|回复: 16
收起左侧

[技术讨论] 有做过PID温度控制的老哥么?请教下pid运算的周期,和输出的PWM周期如何确定?

  [复制链接]

11

主题

51

回帖

84

积分

初级会员

专业做地暖控制器

积分
84
发表于 2025-6-16 10:28:08 | 显示全部楼层 |阅读模式
本帖最后由 chen84992805 于 2025-6-16 11:35 编辑

1.自己写了个PID控制程序,温度稳定大概正负1度的波动,PID的相关KP,KI,KD,的运算是500ms计算一次,输出out的值也是500ms更新一次,在温度稳定阶段(例如50°),按照我的理解20%的占空比能维持温度稳定,out的值的波动应该也在20%附近波动,我的out值实际一会0%,一会20%多,一会40%的;感觉自己的PID计算周期应该不合适,导致积分累加,或者微分不太对.


2.参数计算按照Ziegler-Nichols :
Ziegler-Nichols 法是一种经验性的调参方法,通过系统的临界增益来设置 PID 参数。步骤如下:

关闭 Ki 和 Kd,仅调节 Kp,直到系统开始震荡(临界震荡)。记录此时的增益值,称为 临界增益(Ku),震荡周期称为 临界周期(Pu)。

根据以下公式设置 PID 参数:

P:Kp = 0.5 * Ku
I:Ki = 1.0 * Ku / Pu
D:Kd = 0.125 * Ku * Pu
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116742
QQ
发表于 2025-6-16 11:49:13 | 显示全部楼层
帮顶。
回复

使用道具 举报

5

主题

53

回帖

68

积分

初级会员

积分
68
发表于 2025-6-16 13:27:04 | 显示全部楼层
对于输出和反馈滞后的系统,要对积分限幅.并且需要做前馈.
回复

使用道具 举报

2

主题

74

回帖

80

积分

初级会员

积分
80
发表于 2025-6-16 14:50:52 | 显示全部楼层
我喜欢使用增量式pid,加以输出限幅;out跳变过猛可能是kp、ki、kd数据过大,可以尝试把三个参数同比例减小,看看会不会跳变
回复

使用道具 举报

11

主题

51

回帖

84

积分

初级会员

专业做地暖控制器

积分
84
 楼主| 发表于 2025-6-16 15:22:43 | 显示全部楼层
dengxiaojundink 发表于 2025-6-16 13:27
对于输出和反馈滞后的系统,要对积分限幅.并且需要做前馈.

积分做了0~80的限幅,(输出是0~80%),你这里的前馈是需要怎么做
回复

使用道具 举报

11

主题

51

回帖

84

积分

初级会员

专业做地暖控制器

积分
84
 楼主| 发表于 2025-6-16 15:24:51 | 显示全部楼层
Penguins 发表于 2025-6-16 14:50
我喜欢使用增量式pid,加以输出限幅;out跳变过猛可能是kp、ki、kd数据过大,可以尝试把三个参数同比例减小 ...

我们手里有个竞品的设备,自整定后控制的效果基本在正负0.5度以内,公司要求我们的产品和竞品靠齐,自整定后的数据要能直接达到这个效果
回复

使用道具 举报

100

主题

562

回帖

877

积分

金牌会员

积分
877
发表于 2025-6-16 17:29:15 | 显示全部楼层
反馈滞后了。你估计一直都是积分饱和的状态。。
前馈就是你设定一个温度之后,直接给一个预估的pwm值,在这个基础上开始调节。。

我个人感觉温度控制的话,I项需要弄小一点。或者你尝试控制周期搞长一点。。
500ms一次改为10秒控制1次?

比如你现在是室温,设定温度50℃,那你肯定没办法立即到达50℃。。所以你的积分误差累积项会一直很大。导致哪怕到达50℃之后,输出依然很大。
回复

使用道具 举报

11

主题

51

回帖

84

积分

初级会员

专业做地暖控制器

积分
84
 楼主| 发表于 2025-6-16 20:28:08 | 显示全部楼层
会飞的猪_2020 发表于 2025-6-16 17:29
反馈滞后了。你估计一直都是积分饱和的状态。。
前馈就是你设定一个温度之后,直接给一个预估的pwm值,在 ...

突然发现了,控制端是可控硅,硬件没给留过零检测IO,直接PWM控制应该不是很准吧,应该捕捉到过零点的时刻再给PWM控制才准确吧
回复

使用道具 举报

100

主题

562

回帖

877

积分

金牌会员

积分
877
发表于 2025-6-17 08:09:09 | 显示全部楼层
chen84992805 发表于 2025-6-16 20:28
突然发现了,控制端是可控硅,硬件没给留过零检测IO,直接PWM控制应该不是很准吧,应该捕捉到过零点的时刻再 ...

应该没影响。。
回复

使用道具 举报

100

主题

562

回帖

877

积分

金牌会员

积分
877
发表于 2025-6-17 09:28:11 | 显示全部楼层
本帖最后由 会飞的猪_2020 于 2025-6-17 09:34 编辑

你把I项调很小试试看。。比如0.01。你这个问题“,我的out值实际一会0%,一会20%多,一会40%的”就是由于I项引入的。。


你要估算一下你的积分项啊。。你仿真看看你的积分项大概是多少。
然后I*积分项,对应的out是多少。。你每次进入pid的函数。都会让out改变I*积分项。

如果这个值明显很大的话,不就会导致你的out值哪怕到稳态附近,也会一直震荡了嘛。

你可以先把I项去了。。这样子的话,理论上你也可以调,不过会有一个稳态误差。。

例如你设置50℃,只能达到48℃。
然后你再加入一个很小的I项去消除这个稳态误差就行了。

回复

使用道具 举报

0

主题

11

回帖

11

积分

新手上路

积分
11
发表于 2025-6-17 16:17:21 | 显示全部楼层
chen84992805 发表于 2025-6-16 20:28
突然发现了,控制端是可控硅,硬件没给留过零检测IO,直接PWM控制应该不是很准吧,应该捕捉到过零点的时刻再 ...

如果PWM周期远大于10ms那么没什么影响,如果接近甚至小于10ms那么就全乱套了。
回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 2025-6-17 21:32:00 | 显示全部楼层
PID首先要确定模型,一般对于密闭性比较好的可以用增量式的PID,不至于过冲严重。对于一般系统来说,可以使用位置式的PID;
其次,我们需要对ADC采集出来的数据进行滤波,这样可以对于一些噪声温度值不做反应,减少系统的震荡。
最后,可以使用仿真或者cubemonitor 等工具,进行参数调整比较方便快速调整。
回复

使用道具 举报

11

主题

51

回帖

84

积分

初级会员

专业做地暖控制器

积分
84
 楼主| 发表于 2025-6-20 11:36:53 | 显示全部楼层
Rundstedt 发表于 2025-6-17 16:17
如果PWM周期远大于10ms那么没什么影响,如果接近甚至小于10ms那么就全乱套了。

是这样的,我后来把PWM的周期改为1s影响就很小了,温度控制的也挺稳定的
回复

使用道具 举报

11

主题

51

回帖

84

积分

初级会员

专业做地暖控制器

积分
84
 楼主| 发表于 2025-6-20 11:40:37 | 显示全部楼层

控制可控硅,这里PWM的周期搞得远大于20ms,影响不大,如果PWM周期接近20MS或者比20ms小,这时就需要获取过零点的时刻了,要不然你PWM的占空比就不是你想输出的功率.我板子上没有过零检测,后来我把PWM的周期改为1s,温度控制的停稳的,大多数时候都是正负0.1度波动
回复

使用道具 举报

5

主题

92

回帖

107

积分

初级会员

积分
107
发表于 2025-6-20 12:05:54 | 显示全部楼层
不懂,以前玩PLC的PID好像是随便搞都可以,不管1ms、10ms还是20ms或者随着扫描周期每周期算一次都行
回复

使用道具 举报

100

主题

562

回帖

877

积分

金牌会员

积分
877
发表于 2025-6-20 13:12:40 | 显示全部楼层
chen84992805 发表于 2025-6-20 11:40
控制可控硅,这里PWM的周期搞得远大于20ms,影响不大,如果PWM周期接近20MS或者比20ms小,这时就需要获取过零 ...

好的谢谢告知原因
回复

使用道具 举报

0

主题

11

回帖

11

积分

新手上路

积分
11
发表于 2025-6-24 15:46:47 | 显示全部楼层
chen84992805 发表于 2025-6-20 11:36
是这样的,我后来把PWM的周期改为1s影响就很小了,温度控制的也挺稳定的

其实能用Ziegler-Nichols method就已经非常不错了,茧中网关于PID调整的方法都是空谈。你用的是Ziegler-Nichols second method略麻烦,first method更简单一些,用阶跃响应来计算三个参数。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-7-4 14:50 , Processed in 0.726036 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表