打印

用普通继电器控制烤箱温度

[复制链接]
1845|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
现在在整一个用普通继电器控制烤箱温度的产品,要求温度值是正负5度的馒头波。
采用增量式PID算法:⊿U(n)=Kp[e(n)-e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)]
采用周期约2S:即AD 2S读一次。
现在继电器的工作周期已确定,用PID来改占空比。
实际上,馒头波不理想,有时会往上跑或往下跑,不平整。
请问各位大佬有没好方法,详细说说,谢谢

使用特权

评论回复
沙发
LcwSwust| | 2022-2-18 10:53 | 只看该作者
有曲线图吗?
把设定温度、实测温度、PID输出量绘制成曲线。

使用特权

评论回复
板凳
xch| | 2022-2-18 23:16 | 只看该作者
本帖最后由 xch 于 2022-2-18 23:21 编辑

⊿U(n) 是什么东西? U(n-1)+⊿U(n) 是继电器吸合/释放时长?

使用特权

评论回复
地板
从心开始|  楼主 | 2022-2-19 08:07 | 只看该作者
LcwSwust 发表于 2022-2-18 10:53
有曲线图吗?
把设定温度、实测温度、PID输出量绘制成曲线。

设定温度就一直线;实测温度就是一镘头波,中心值理论上是设定温度,但有时会偏离;
曲线汇出后,有什么用吗? 能否细说一下呢。

使用特权

评论回复
5
从心开始|  楼主 | 2022-2-19 08:08 | 只看该作者
xch 发表于 2022-2-18 23:16
⊿U(n) 是什么东西? U(n-1)+⊿U(n) 是继电器吸合/释放时长?

⊿U(n) 是个补偿值,与上次的继电器升温时间相加,改变下次的升温时间

使用特权

评论回复
评论
xch 2022-2-19 11:52 回复TA
补充一点,输出有没有饱和处理? 
xch 2022-2-19 11:44 回复TA
顶楼说“用PID来改占空比”,这里说“改变下次的升温时间”,是一个意思? 
xch 2022-2-19 11:32 回复TA
也就是环路之中还串联了一个积分器。得注意控制输出的量化误差处理。不能直接丢弃残余量 
6
cjseng| | 2022-2-19 10:19 | 只看该作者
什么是馒头波?一开始温度上升,中间一段基本不变,时间长了,温度一直向下吗?像个带通滤波?

使用特权

评论回复
7
xch| | 2022-2-19 11:22 | 只看该作者
从心开始 发表于 2022-2-19 08:08
⊿U(n) 是个补偿值,与上次的继电器升温时间相加,改变下次的升温时间

应该是PID中各系数值太大。 你的计算公式缺了回收残余控制量,控制就太粗糙了。比如输出控制量被量化四舍五入取整后,不足整数部分误差需要回收,累计到后续控制中。

使用特权

评论回复
8
昨天| | 2022-2-19 11:46 | 只看该作者
  表示,不懂,继电器开停的周期有要求,不知道PID要怎么搞。

使用特权

评论回复
9
wanwenhao1| | 2022-2-20 10:41 | 只看该作者
本帖最后由 wanwenhao1 于 2022-2-20 11:01 编辑

电烤箱使用的加热器热惯性太大,使用继电器(它不允许频繁开关)控制温度一般很难精确。楼主不如使用过零触发的可控硅(过零触发能防止对电力系统干扰)电路,直接设定控制的温度。当上电初期温度稳定后,箱内感温探头处温度的上下波动范围达到正负5℃以内应该不难。

这里有一个小技巧,上世纪80年代,做过孵化鹌鹑的保温箱控制器,用灯泡作为发热器,控制器使用稳压电源控制的继电器,感温用的双金属片控制稳压器的电压调整信号,要求控制精度±0.5℃,用水银温度计监测实际温度。发现如果直接控制灯泡,其热惯性比较大,很容易超过±0.5℃的要求,于是改用两个灯泡,一只常亮作为基本加热单元,保证常亮时温度比要求的温度略低。继电器控制另一只灯泡调整温度,这样的热惯性就小很多。楼主也可以借鉴这个方法,减小加热器的热惯性,减小因热惯性引起的温度波动范围。


使用特权

评论回复
10
xch| | 2022-2-22 10:33 | 只看该作者
PID 用作加热控制本身不好。
加热系统不是线性的,最好简单建模, 用预测和修正参数方法来控制。

使用特权

评论回复
11
从心开始|  楼主 | 2022-2-23 08:25 | 只看该作者
wanwenhao1 发表于 2022-2-20 10:41
电烤箱使用的加热器热惯性太大,使用继电器(它不允许频繁开关)控制温度一般很难精确。楼主不如使用过零触 ...

好的,谢谢

使用特权

评论回复
12
从心开始|  楼主 | 2022-2-23 08:29 | 只看该作者
xch 发表于 2022-2-22 10:33
PID 用作加热控制本身不好。
加热系统不是线性的,最好简单建模, 用预测和修正参数方法来控制。 ...

⊿U(n) 是个补偿值,与上次的继电器升温时间相加,改变下次的升温时间。
我目前就是用PID换算出⊿U(n) ,然后把这个值加到上次的升温时间。
升温时间变了,那占空比也就变了。
我看很多烤箱也是用继电器的,镘头波形不错。
我这个镘头波初始还好,但时间长了会往上或往下走,不平稳。
建模如何理解?

使用特权

评论回复
13
从心开始|  楼主 | 2022-2-23 08:36 | 只看该作者
镘头波底部不稳,就是这样,想调成底部稳一点

镘头波.jpg (523.62 KB )

镘头波底部不稳

镘头波底部不稳

使用特权

评论回复
14
从心开始|  楼主 | 2022-2-23 08:37 | 只看该作者

只能用继电器的

使用特权

评论回复
15
xch| | 2022-2-23 10:08 | 只看该作者
从心开始 发表于 2022-2-23 08:29
⊿U(n) 是个补偿值,与上次的继电器升温时间相加,改变下次的升温时间。
我目前就是用PID换算出⊿U(n) , ...

比如 这张图是一个最简单的加热系统模型。
IG1 表示加热功率,C1 表示热容量,R1 标识散热热阻,VG1 表示环境温度,VF1 是内部温度。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

68

主题

199

帖子

0

粉丝