找回密码
 立即注册

QQ登录

只需一步,快速开始

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

PID控制温控器必须要PWM吗?

  [复制链接]
跳转到指定楼层
楼主
ID:997026 发表于 2022-11-18 14:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,

最近在研究PID温控器,硬件软件都不懂,以前没做过,没经验,原理图都是网上研究很久后自己画出来的,不知道对不对。
板子现在已经做出来了,最近在研究PID算法,研究了几天,发现我的板子是不是做的有问题?

网上非常多的PID代码都是通过PID输出后,来控制PWM然后控制一个开关打开或关闭电热丝,来控制温度。我想问下必须通过PWM控制吗?

我的板子上现在是单片机通过一个普通GPIO口连接到三极管,然后三极管连接到继电器,通过GPIO口高低电平来控制继电器通断来打开或关闭电热丝。

而且电热丝也不在板子上,这个是给锅炉厂用的,板子上只有继电器,锅炉那边电热丝连接到继电器。
感觉这样不关PWM什么事啊,没理解。

我自己理解,控制PWM也就是控制占空比,也就是控制高电平打开的时间,和低电平打开的时间,我这个如果直接用GPIO输出电平来控制继电器,控制满足相应的高低电平时间是不是就可以了?

但是又碰到一个问题是,PID输出如何和控制继电器通断的时间发生关联呢?我用的是增量式PID算法。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:161164 发表于 2022-11-18 15:46 | 只看该作者
PWM的重点是,在被控制件反应过来之前完成一个周期
就是一个字:快!
当你选用继电器来控制输出时
已经失去了PWM的作用了
回复

使用道具 举报

板凳
ID:505848 发表于 2022-11-18 15:59 | 只看该作者
你理解的对,PWM控制的是占空比,其实也就是所谓的周期内高电平开启时间。PID输出如何与继电器通断的时间发生关联,可以这样理解:现在用50%的占空比控制继电器工作,目标温度是50℃,但是目前温度维持在45℃,这时候就要考虑增加占空比,例如增加到60%,但是过了一会,发现温度超出50℃了,那就说明这个占空比并不能让加热与散热维持一个平衡,因此需要下调占空比,可能调节到55%,达到稳定,这个调节的过程可以通过PID算法来实现,通过当前温度与目标温度的差值进行计算。
回复

使用道具 举报

地板
ID:824490 发表于 2022-11-18 16:00 | 只看该作者
PID是调校算法,PWM是控制手段,二者无直接关联,也非硬
回复

使用道具 举报

5#
ID:824490 发表于 2022-11-18 16:05 | 只看该作者
PID是调校算法,PWM是控制手段,2者无直接通关联也非硬性搭配。这个可以度娘一下就明白了。
回复

使用道具 举报

6#
ID:77589 发表于 2022-11-18 16:32 | 只看该作者
只要能改变发热部件的功率就行,不管你用什么方法。PWM只是多种方法中的一种而已!!!
回复

使用道具 举报

7#
ID:883242 发表于 2022-11-18 18:34 | 只看该作者
继电器也就10万次开关寿命,你用继电器做PWM肯定活不过调试周期。
回复

使用道具 举报

8#
ID:997026 发表于 2022-11-18 19:25 | 只看该作者
Hephaestus 发表于 2022-11-18 18:34
继电器也就10万次开关寿命,你用继电器做PWM肯定活不过调试周期。

我这个对精度要求不高,是工业上锅炉用的,我想用PWM也用不了,因为人家锅炉那边加热棒根本没PWM控制,是直接加电断电控制的,简单粗暴。所以只能用继电器了,
回复

使用道具 举报

9#
ID:997026 发表于 2022-11-18 19:30 | 只看该作者
meng312 发表于 2022-11-18 15:59
你理解的对,PWM控制的是占空比,其实也就是所谓的周期内高电平开启时间。PID输出如何与继电器通断的时间发 ...

这种原理我是理解的,关键是PID输出的是温度的偏差量,而控制继电器需要的是打开和关闭的时间,我现在的疑问是,怎么把偏差量和控制时间建立关联?
回复

使用道具 举报

10#
ID:883242 发表于 2022-11-18 19:33 | 只看该作者
hxdby 发表于 2022-11-18 19:25
我这个对精度要求不高,是工业上锅炉用的,我想用PWM也用不了,因为人家锅炉那边加热棒根本没PWM控制,是 ...

用触发变压器+可控硅控制啊,控制半波个数。
回复

使用道具 举报

11#
ID:997026 发表于 2022-11-18 19:53 | 只看该作者
Hephaestus 发表于 2022-11-18 19:33
用触发变压器+可控硅控制啊,控制半波个数。

其实我这板子是抄别人的,我买了一块用量非常大的工业温控器核心板,我看他板子上就是用了一个普通继电器,没什么特别的东西,所以我也跟着用了继电器。
回复

使用道具 举报

12#
ID:230742 发表于 2022-11-20 01:12 | 只看该作者
简单粗暴就用简单粗暴的方法,直接控制继电器的时间。比如开启1分钟,停止1分钟,这样假设就是占空比是50%。然后调节开启的时间和关闭的时间呗。
如果电炉功率很大,可以参考用继电器控制时间的方法。毕竟开启一次怎么的也得几分钟。要不温度肯定到不了啊。如果电炉功率不大,可以用可控硅的方式。控制导通角也是控制时间,控制曲线相对平滑了很多。
回复

使用道具 举报

13#
ID:883242 发表于 2022-11-20 03:06 | 只看该作者
hxdby 发表于 2022-11-18 19:53
其实我这板子是抄别人的,我买了一块用量非常大的工业温控器核心板,我看他板子上就是用了一个普通继电器 ...

你的板子肯定不是PWM,应该是上下限bang-bang控制,超过上限停止,低于下限开始,真要是PWM你的继电器根本活不过三天。
回复

使用道具 举报

14#
ID:213124 发表于 2022-11-20 12:38 | 只看该作者
继电器控制和PWM控制没区别,只是看软件怎么写就好
锅炉,很大,用继电器也可以了,控制加热和断开时间,比如,加热五分钟,关闭五分钟,就是占空比五十了
还有个办法,就是看下锅炉得电加热结构,大型得锅炉,都是几个加热管并联加热得,一个加热管有时都是三个加热管合并组成得
可以考虑给每个加热管单独用继电器控制,这样就不用改造过滤
又能实现PWM得效果,分开控制各个管子得加热时间,就可以实现PWM得效果,
配合PID,计算需要加热得百分比,用时间和加热棒得数量,共同去控制实现
回复

使用道具 举报

15#
ID:401564 发表于 2022-11-21 17:15 | 只看该作者
锅炉控制就是一个上限和一个下限开关控制,没有PWM的,也没有什么PID的
继电器肯定是用不了PID的,小电流继电器10万次左右的开关寿命
大电流就一更少了,用不了几天,你继电器就坏了
回复

使用道具 举报

16#
ID:1053329 发表于 2022-11-22 12:48 | 只看该作者
用继电器还是PWM主要取决于精度要求,再来的是产品功能品质定位
回复

使用道具 举报

17#
ID:997026 发表于 2022-11-23 20:54 | 只看该作者
Y_G_G 发表于 2022-11-21 17:15
锅炉控制就是一个上限和一个下限开关控制,没有PWM的,也没有什么PID的
继电器肯定是用不了PID的,小电流继电 ...

确定吗?我买的板子,人家说明书清楚清楚写的就是PID算法控制,比例,积分,微分时间都可以设定,还有AT自整定功能。板子上就是普通继电器,型号我都查过了。这里的PWM也许不是你理解的那种PWM,可能是一个周期非常长的PWM
回复

使用道具 举报

18#
ID:997026 发表于 2022-11-23 20:57 | 只看该作者
Hephaestus 发表于 2022-11-20 03:06
你的板子肯定不是PWM,应该是上下限bang-bang控制,超过上限停止,低于下限开始,真要是PWM你的继电器根 ...

是不是PWM不知道,但是确实机械式继电器+PID算法控制,如果是上限停止,下限开始,那应该和PID没什么关系,但是看他们的说明书,人家写的就是PID算法,比例,积分,微分时间都可以设定,还带自整定功能。
回复

使用道具 举报

19#
ID:997026 发表于 2022-11-23 21:19 | 只看该作者
Y_G_G 发表于 2022-11-21 17:15
锅炉控制就是一个上限和一个下限开关控制,没有PWM的,也没有什么PID的
继电器肯定是用不了PID的,小电流继电 ...

你是自己做过还是凭自己想象????我是买了别人的板子,就是继电器+PID做的,比例积分微分都可以调节,还有自整定功能。而且买了的板子不是别人DIY产品,是实实在在的量产定制产品,大量工厂在用的,我们的客户也在用这个板子,现在就是帮客户仿制这个板。

我还是需要做过工业温控器的人的建议,而不是一堆靠想象的在那里发言的
回复

使用道具 举报

20#
ID:997026 发表于 2022-11-23 21:19 | 只看该作者
Hephaestus 发表于 2022-11-20 03:06
你的板子肯定不是PWM,应该是上下限bang-bang控制,超过上限停止,低于下限开始,真要是PWM你的继电器根 ...

你是自己做过还是凭自己想象????我是买了别人的板子,就是继电器+PID做的,比例积分微分都可以调节,还有自整定功能。而且买了的板子不是别人DIY产品,是实实在在的量产定制产品,大量工厂在用的,我们的客户也在用这个板子,现在就是帮客户仿制这个板。

我还是需要做过工业温控器的人的建议,而不是一堆靠想象的在那里发言的
回复

使用道具 举报

21#
ID:883242 发表于 2022-11-24 00:10 | 只看该作者
hxdby 发表于 2022-11-23 20:57
是不是PWM不知道,但是确实机械式继电器+PID算法控制,如果是上限停止,下限开始,那应该和PID没什么关系 ...

说明书有没有写这个控制器的寿命是几天?
回复

使用道具 举报

22#
ID:166475 发表于 2022-11-24 10:33 来自手机 | 只看该作者
PID配PWM的好处是可以把控制精度做到精细化,继电器的响应和寿命达不到要求,至于说是否刚需,真不是
回复

使用道具 举报

23#
ID:997026 发表于 2022-11-24 10:47 | 只看该作者
Hephaestus 发表于 2022-11-24 00:10
说明书有没有写这个控制器的寿命是几天?

写过,一天。你没做过凭想象和我在这死磕啥呢???我是买了别人的板子,而且我的客户他们用的也是这个板子,客户也给我寄过板子,我拆开研究过,不需要你在这里凭想象胡说八道。你啥都没做,在这里胡说啥呢?我从其他做过工业温控的大厂那里了解到,继电器+PID是完全可行的,你不需要再回复我了,啥都不懂,在那里死磕,鄙视你
回复

使用道具 举报

24#
ID:420836 发表于 2022-11-25 02:03 | 只看该作者
PID算法是反馈控制的方法,PWM是实现PID结果输出的众多方法之一。
回复

使用道具 举报

25#
ID:401564 发表于 2022-11-25 09:02 | 只看该作者
hxdby 发表于 2022-11-23 21:19
你是自己做过还是凭自己想象????我是买了别人的板子,就是继电器+PID做的,比例积分微分都可以调节, ...

就按0.1HZ来算,一个小时就是360次的开关,一天就是360*24=8640次开关
如果是大电流,5A以上,不到十天,这个继电器就开始接触不良了
当然,你也可以反问我"你怎么知道一个继电器的寿命只有几万次有开关而已,你是自己做过还是凭自己想象?"
那我没话说了
一个PWM的周期10秒,我不认为,这还叫PWM,你非得觉得这是PWM,那就是了,不跟争
回复

使用道具 举报

26#
ID:146782 发表于 2022-11-25 14:36 | 只看该作者
PWM用的人多吧,能得到大家都用的方法就是好方法
回复

使用道具 举报

27#
ID:997026 发表于 2022-11-25 21:45 | 只看该作者
Y_G_G 发表于 2022-11-25 09:02
就按0.1HZ来算,一个小时就是360次的开关,一天就是360*24=8640次开关
如果是大电流,5A以上,不到十天,这个 ...

其实这个问题我也是一直不理解的,我确实拿到的板子就是普通继电器+PID控制的,而且客户用了好几年了,没啥问题,客户还寄了一套板子给我研究,我们是打算仿制他们的板子,全套资料都拿到了。从理论上分析,继电器确实不适合PID,但我真的不理解他们是怎么用PID控制继电器不出问题的。

温控是大惯性滞后系统,按照60s的控制周期来算,一年继电器也要开关接近30万次了。所以为了安全起见,我把方案换成可控硅控制了,我之前用的继电器是4块多一个,发现可控硅更便宜,外加一个光耦也才3快多。

感谢以上回复过的朋友们的帮助,后面就开始研究单片机控制可控硅了。
回复

使用道具 举报

28#
ID:883242 发表于 2022-11-26 01:01 | 只看该作者
曾经有个项目,客户要求26万次全使用周期寿命试验,我自己打了测试台,一共使用了3套继电器,每套用到10万次就完蛋了,簧片酥掉了,明显的金属疲劳问题。

就这这还是小信号,没有大电流,只测试了簧片的寿命,如果大电流,测试的是触点的寿命,很可能远远不到10万次。楼主无知我也就是原谅了,如此大言不惭只能让人笑掉大牙。
回复

使用道具 举报

29#
ID:280298 发表于 2022-11-26 07:31 | 只看该作者
pid 温控加热 一般是以下几种情况:
1. 开关量控制:中间继电器、固态继电器等,这个是靠导通时长 & 断电时长来控制的;
    一般来说,这个情况下温控精度不会太高,因为加热管要么全开,要么全关;
    另外,这个工况下,建议采用无物理触点的固态继电器,其他继电器寿命是个问题;
2. PWM控制:可控硅,这个情况下,通过PWM控制可控硅,从而控制加热管的加热功率大小;
   这个工况下,理论精度比上种高;
回复

使用道具 举报

30#
ID:997026 发表于 2022-11-26 08:45 | 只看该作者
xo37 发表于 2022-11-26 07:31
pid 温控加热 一般是以下几种情况:
1. 开关量控制:中间继电器、固态继电器等,这个是靠导通时长 & 断电 ...

是的,我的比较简单,是属于第一种,全开或全关的,靠定时器模拟一个类似PWM的信号,然后根据PID计算出的占空比来控制继电器开或关,不过计算出的占空比就是时间了,比如我设置的PWM周期是60s,就根据占空比来计算60s的百分比来开多长时间,关多长时间
回复

使用道具 举报

31#
ID:997026 发表于 2022-11-26 08:57 | 只看该作者
Hephaestus 发表于 2022-11-26 01:01
曾经有个项目,客户要求26万次全使用周期寿命试验,我自己打了测试台,一共使用了3套继电器,每套用到10万 ...

确实不太懂,这个是事实,所以需要学习,也就是跟着论坛里的前辈们多学习,感谢你们的帮助和回复!
回复

使用道具 举报

32#
ID:401564 发表于 2022-11-26 12:37 | 只看该作者
hxdby 发表于 2022-11-25 21:45
其实这个问题我也是一直不理解的,我确实拿到的板子就是普通继电器+PID控制的,而且客户用了好几年了,没 ...

如果要精确,你还得加一个过零检测电路
如果要求不高,不用过零也行,但PWM频率就得很低,5HZ控制也差不多,我以前做过一个电烙铁,就是没有过零,PWM就是5HZ,用着感觉也行
回复

使用道具 举报

33#
ID:997026 发表于 2022-11-26 12:53 来自手机 | 只看该作者
Y_G_G 发表于 2022-11-26 12:37
如果要精确,你还得加一个过零检测电路
如果要求不高,不用过零也行,但PWM频率就得很低,5HZ控制也差不多, ...

我现在是用moc3063过零检测光耦,加上BT137可控硅,关断时,如果不在零点,最大有半波周期的延迟,大概也就10ms,我的温控系统PWM控制周期是60s,最小可控硅控制周期是3s,所以10ms的延迟可以忽略了,直接单片机IO控制光耦的高低电平就行了
回复

使用道具 举报

34#
ID:401564 发表于 2022-11-27 12:37 | 只看该作者
hxdby 发表于 2022-11-26 12:53
我现在是用moc3063过零检测光耦,加上BT137可控硅,关断时,如果不在零点,最大有半波周期的延迟,大概也 ...

PWM控制周期是60s
这是什么意思?PWM周期60S吗?
如果是这样,这PID还有用吗?积分项得多久才能发挥主要作用呀?
回复

使用道具 举报

35#
ID:997026 发表于 2022-12-6 11:53 | 只看该作者
Y_G_G 发表于 2022-11-27 12:37
PWM控制周期是60s
这是什么意思?PWM周期60S吗?
如果是这样,这PID还有用吗?积分项得多久才能发挥主要作 ...

是的,初步定为60s,因为那个温度升温很慢,大概1分钟升温1℃,所以初步定60s, 具体还要去现场调试的
回复

使用道具 举报

36#
ID:525244 发表于 2022-12-8 17:17 来自手机 | 只看该作者
hxdby 发表于 2022-11-23 21:19
你是自己做过还是凭自己想象????我是买了别人的板子,就是继电器+PID做的,比例积分微分都可以调节, ...

小的反应快的用PWM控制,大的反应慢的,就用继电器也行,比如每个周期100秒,控制继电器导通时间在0-100秒控制控制就行,按照0-100%来输出!按照时间计算继电器动作次数,大概的使用时间!当然,要加热物体要大,不能一加热就过了!不要听他们说必须干啥干啥!如果工厂间歇使用,没问题,如果是连续使用,要考虑使用时间,或者是维修成本!
回复

使用道具 举报

37#
ID:309610 发表于 2022-12-8 20:20 | 只看该作者
楼主说的情况,我觉得首先成品板继电器动作频率没那么夸张。根本不是常规意义上的固定周期PWM。锅炉温控是一个大惯量系统。也不需要太高精度,就算是使用PID+PWM控制控制曲线也不见得很理想。
  成品板使用的比例,积分,微分参数,我认为可以从这个思路出发,内部定义一个PID输出偏差上下限,温度PID计算后控制值与上下限比较,大就打开继电器。然后控制值换算成继电器接通时间。定期更新清零。小于下限关闭继电器,控制值换算成停止时间。实现继电器接通和关闭时间动态调整。由于锅炉温控是大惯量系统继电器开关周期可以几分钟到几十分钟。继电器寿命完全没问题。
   PID参数方面比例占比大也就温度偏差值启动继电器,比如说比例小温度偏小10度启动,大10度关闭。比例值大偏差2度启停。积分时间会比较长秒-小时。微分也比较长。

评分

参与人数 1黑币 +40 收起 理由
admin + 40 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

38#
ID:1034262 发表于 2022-12-9 16:18 | 只看该作者
继电器输出的温控器就不用常规意义上的PWM,但是其控制原理还是类似的,很慢的PWM而已。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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