找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1479|回复: 25
打印 上一主题 下一主题
收起左侧

我在做基于增量式PID控制算法的恒温控制系统,请问PID算法的输出值怎么用?

[复制链接]
跳转到指定楼层
楼主
我在做基于增量式PID控制算法的恒温控制系统,请问PID算法的输出值怎么用?用在什么地方?维持温度恒定的相关代码怎么编写?

YNYR6J5[0@`7MY@~[YQAIKL.png (87.83 KB, 下载次数: 26)

YNYR6J5[0@`7MY@~[YQAIKL.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:688211 发表于 2022-5-15 20:31 | 只看该作者
希望提供参考代码
回复

使用道具 举报

板凳
ID:123289 发表于 2022-5-16 11:17 | 只看该作者
开关量控制的加热器,用PID控制不是太好的,建议改成可控硅之类的连续量控制电路。

你先不要考滤PID,就设计的这个加热模式,如何给出控制信号。
0加热,1 停止。
加多久?停止多久?就是你要得到的达案。
分得细,继电器不停也开、关,时间不长,触点就完完了。
分得粗,控制精度就差。
人所不及,写个程序,美其名曰【PID】,又能何如。
回复

使用道具 举报

地板
ID:879348 发表于 2022-5-16 11:41 | 只看该作者
继电器没必要PID,相反要设置一个区间,防止频繁动作
回复

使用道具 举报

5#
ID:688211 发表于 2022-5-16 15:03 | 只看该作者
yzwzfyz 发表于 2022-5-16 11:17
开关量控制的加热器,用PID控制不是太好的,建议改成可控硅之类的连续量控制电路。

你先不要考滤PID,就 ...

多谢前辈指点。
我明明是电子信息工程专业的,不学电力电子技术、继电器等强电和自动控制原理,那位指导非要定这个设计高低温测试箱的课题,前几天给他看了我写的文档他居然没给我指出来,这学期一句指导都不给,问他也是回答的含含糊糊。
我在网上看到继电器和可控硅两种驱动电路,觉得继电器更好理解,就直接拿来用了,没想到......。
我现在该怎么办?
回复

使用道具 举报

6#
ID:688211 发表于 2022-5-16 17:13 来自手机 | 只看该作者
yzwzfyz 发表于 2022-5-16 11:17
开关量控制的加热器,用PID控制不是太好的,建议改成可控硅之类的连续量控制电路。

你先不要考滤PID,就 ...

任务书上说要设计温度控制算法,所以我必须得用到控制算法。我是参考人家的文档(基于PID的恒温控制系统)做的,他是用的可控硅驱动加热器和制冷器的电路。我现在一定要改成他那样的可控硅电路吗?
回复

使用道具 举报

7#
ID:123289 发表于 2022-5-17 09:57 | 只看该作者
可控硅电路有个好处就是导通角决定电压,也即决定加热的能量大小。
所以,控制导通角(时间)就控制了温度。
控制思想:
给出一个控制角TR,采回温度值,与目标值进行比较得到差值DT:
相同:保持TR。
小了:减小触发角,即增大电压。
大了:增小触发角,即增大电压。
你可以用PID,完成这个控制思想。
回复

使用道具 举报

8#
ID:161164 发表于 2022-5-17 10:39 来自手机 | 只看该作者
吴钩霜雪 发表于 2022-5-16 17:13
任务书上说要设计温度控制算法,所以我必须得用到控制算法。我是参考人家的文档(基于PID的恒温控制系统) ...

可以改用固态继电器(帶过零),使用方法差不多,但可以高速通断
PID的输出可以当作是一个通断时间百分比,如在10ms的周期内通电多久
回复

使用道具 举报

9#
ID:688211 发表于 2022-5-17 14:15 来自手机 | 只看该作者
lkc8210 发表于 2022-5-17 10:39
可以改用固态继电器(帶过零),使用方法差不多,但可以高速通断
PID的输出可以当作是一个通断时间百分比 ...

我那个图上是普通继电器吗?
回复

使用道具 举报

10#
ID:883242 发表于 2022-5-17 15:00 | 只看该作者
Microcontroller Based Temperature Monitoring & Control, Elsevier (2002).pdf (7.42 MB, 下载次数: 54)
看此书9.3~9.7章,9.6可以跳过不看。如果还有什么问题,到论坛上问我。

另外,鄙视下某些只会可控硅调角的小白,这种方式干扰很强,能不用就要尽量避免使用。加热系统热惯性很大,如果要用可控硅,可以过零调功,避免电流突变产生的电磁干扰。
回复

使用道具 举报

11#
ID:688211 发表于 2022-5-17 15:07 来自手机 | 只看该作者
Hephaestus 发表于 2022-5-17 15:00
看此书9.3~9.7章,9.6可以跳过不看。如果还有什么问题,到论坛上问我。

另外,鄙视下某些只会可控硅调 ...

对于我这次设计,选继电器好还是可控硅好?
回复

使用道具 举报

12#
ID:161164 发表于 2022-5-17 15:23 来自手机 | 只看该作者
吴钩霜雪 发表于 2022-5-17 14:15
我那个图上是普通继电器吗?

对~
普通继电器有线圈
固态继电器是内部集成了可控硅
回复

使用道具 举报

13#
ID:883242 发表于 2022-5-17 15:34 | 只看该作者

你又不是做产品,意思一下就行了,什么都好。
回复

使用道具 举报

14#
ID:688211 发表于 2022-5-17 16:00 | 只看该作者
Hephaestus 发表于 2022-5-17 15:34
你又不是做产品,意思一下就行了,什么都好。

照您的意思是说,我就不选用可控硅电路了?
我现在还是用那个普通继电器好,还是用固态继电器好?如果用固态继电器,在Proteus里如何找到它呢?
回复

使用道具 举报

15#
ID:883242 发表于 2022-5-17 16:22 | 只看该作者
吴钩霜雪 发表于 2022-5-17 16:00
照您的意思是说,我就不选用可控硅电路了?
我现在还是用那个普通继电器好,还是用固态继电器好?如果用 ...

你要做成实物,固态继电器寿命长的优点才有意义。如果只是仿真,就用普通继电器好了,跟固态的一模一样完全没有任何区别。
回复

使用道具 举报

16#
ID:688211 发表于 2022-5-17 18:42 | 只看该作者
Hephaestus 发表于 2022-5-17 15:00
看此书9.3~9.7章,9.6可以跳过不看。如果还有什么问题,到论坛上问我。

另外,鄙视下某些只会可控硅调 ...

我用增量式PID控制算法实现温度控制,大概怎么编写程序?算法的输出值又该怎么用?它是一个时间值吗?为什么?
回复

使用道具 举报

17#
ID:883242 发表于 2022-5-17 19:03 | 只看该作者
吴钩霜雪 发表于 2022-5-17 18:42
我用增量式PID控制算法实现温度控制,大概怎么编写程序?算法的输出值又该怎么用?它是一个时间值吗?为 ...

§9.7就是怎么编写程序,你连书看都不看?
回复

使用道具 举报

18#
ID:94031 发表于 2022-5-17 19:40 | 只看该作者
根据你画的图,用18b20测温,温度低于给定温度用加热器加热,高于给定温度用制冷片降温,这个系统用脉宽调制(PWM)执行比较好,增量式PID控制算法的输出值应该是在一个周期(比如1秒)中打开加热器或制冷器时间的增量。
回复

使用道具 举报

19#
ID:688211 发表于 2022-5-17 21:09 | 只看该作者
xuyaqi 发表于 2022-5-17 19:40
根据你画的图,用18b20测温,温度低于给定温度用加热器加热,高于给定温度用制冷片降温,这个系统用脉宽调 ...

增量式PID控制算公式里的偏差单位是摄氏度,各系数中包含时间单位,为什么算法公式最终计算出的值是跟时间或者周期有关?

51hei图片20220517210434.png (3.26 KB, 下载次数: 27)

增量式PID控制算法

增量式PID控制算法
回复

使用道具 举报

20#
ID:1026496 发表于 2022-5-17 21:40 | 只看该作者
可以参考 论坛的 开源焊台代码
回复

使用道具 举报

21#
ID:883242 发表于 2022-5-17 22:48 | 只看该作者
吴钩霜雪 发表于 2022-5-17 21:09
增量式PID控制算公式里的偏差单位是摄氏度,各系数中包含时间单位,为什么算法公式最终计算出的值是跟时 ...

既然你已经知道Ki、Kd这两个参数里面包含时间单位,那么为什么要问“为什么算法公式最终计算出的值是跟时间或者周期有关?”这个问题???
回复

使用道具 举报

22#
ID:161164 发表于 2022-5-18 10:14 | 只看该作者
吴钩霜雪 发表于 2022-5-17 21:09
增量式PID控制算公式里的偏差单位是摄氏度,各系数中包含时间单位,为什么算法公式最终计算出的值是跟时 ...

因为计算出来的值是与控制方式相关的
如果你控制的是电压型器件,计算出来的值就是电压(如0~10V)
如果你控制的是电流型器件,计算出来的值就是电流(如4~20mA)
如果你控制的是功率型器件,计算出来的值就是功率
你现在要控制的是继电器,只有开和关
但PID输出的是模拟量
想要把模拟量转为开关量的简单方法就是PWM
所以你算出来的就是时间相关的
回复

使用道具 举报

23#
ID:161164 发表于 2022-5-18 10:26 | 只看该作者
而且想要系统稳定,这开关时间一定要短
所以在实操中会选固态继电器(普通继电器在高频开关时触点会很快损坏)
但你现在是仿真,继电器不存在损耗,而且proteus也没有固态继电器模型
如果你是交仿真作业的话,建议在继电器上示意这是固态继电器
如果你是交实物作业的话,一定要固态继电器,否则很大机会不及格
回复

使用道具 举报

24#
ID:688211 发表于 2022-5-18 18:56 来自手机 | 只看该作者
lkc8210 发表于 2022-5-18 10:26
而且想要系统稳定,这开关时间一定要短
所以在实操中会选固态继电器(普通继电器在高频开关时触点会很快损 ...

多谢前辈指点。我只做仿真。
回复

使用道具 举报

25#
ID:883242 发表于 2022-5-18 21:07 | 只看该作者
lkc8210 发表于 2022-5-17 10:39
可以改用固态继电器(帶过零),使用方法差不多,但可以高速通断
PID的输出可以当作是一个通断时间百分比 ...

你的回答都自相矛盾,带过零的固态继电器根本控制不了10ms的周期内通电多久,只能控制有多少个10ms导通,有多少个10ms关断。
回复

使用道具 举报

26#
ID:161164 发表于 2022-5-19 00:07 | 只看该作者
Hephaestus 发表于 2022-5-18 21:07
你的回答都自相矛盾,带过零的固态继电器根本控制不了10ms的周期内通电多久,只能控制有多少个10ms导通, ...

你说的得对,大意了,上班摸没想清楚就回了
因为是加热冷却系统,惯性很大
带过零的固态继电器可以控制1秒内通过多少个半波(0~100)来达到PID控制
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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