如何用三菱PLC实现PID温度控制

1.前言

大家好,今天我要用三菱PLC和温控器来完成烧水壶的PID温度控制。

很多人只是刚了解PID,一听到微积分就开始害怕了。我其实也一样,在刚接触PID的时候也抱怨

过,微积分这种高数知识怎么想都很难嘛,难道一定要学会微积分才能实现PID的温度控制吗?不

用担心,其实不是这样的, 就算你是第一次听说微积分这个词也不会影响到你的学习,只要跟着

我的步骤来,你的疑惑一定会迎刃而解。下面就然我们开始吧。

2.何为PID

想要学会PID的温度控制,首先要明白什么是PID控制。

PID控制(比例-积分-微分控制)是一种广泛应用于工业控制系统中的反馈回路机制。它根据

系统的误差(即设定值与实际值之间的差)来调整控制输入,目的是减少误差并使系统输出稳

定在设定值上。PID控制器由三个基本控制动作组成,分别是比例(P),积分(I)和微分(D)

1.   比例(P):

比例控制的作用是根据当前误差的大小来调整控制输入。误差越大,控制作用越强。

比例增益 Kp 决定了比例作用的强度。比例控制可以快速减少误差,但通常不能完全消除稳态误差

(即系统稳定后仍然存在的误差)。

(以下表格     横坐标均为时间    纵坐标均为温度   蓝线表示当前温度   灰线表示设定温度)

如图所示,将比例增益设成5时,设定值与当前值之间始终存在稳态误差。可能有人会问为什么不

 把比例增益 Kp 再调大一点?

可以看到,将比例增益设成10时,设定值与当前值之间始终存在稳态误差虽然变小了,但温度在稳

定之前产生了一个大约4度的超调。可以预见,如是继续将比例增益 Kp调大,超调会更为明显,甚

会直接产生震荡。


 实时也趋确实如此,将比例增益设成20时,曲线产生较为严重的震荡。所以想只通过调整比例 

 增益来达到温控效果是很难的。

2:积分(I)

积分控制的作用是将过去的误差累积起来,用来调整控制输入。积分作用对于消除稳态误差非常有

效,因为它会随着时间的推移不断积累误差并产生控制作用,直到误差为零。积分时间 Ti 越短,

积分作用越强。

 如图所示,将积分时间设成700时,虽然还是存在一定量的超调,但稳态误差已经为0了。

3:微分(D)

微分控制的作用是根据误差的变化率来调整控制输入。微分作用可以预测误差的未来趋势,并在误

差变大之前减小控制输入,从而减少或防止过冲和振荡。微分时间 Td 越长,微分作用越强。

如图所示,将积分时间设成27时,基本已经将温度曲线稳定了,没有出现稳态误差也没有超调。 

*当然这只是用excel表格来进行PID测算仿真,实际调试时并不一定是三个数值都要进行调整,也

可能只设置比例增益与积分时间就能够达到想要的效果,还是要根据实际情况来看。

3.控制器输出U(t) 的计算以及输出整形

PID控制实际上就是通过调节PID值后实时调整输出占空比来改变控制器输出,从而达到温度控制

的效果。

而上图就是控制器输出U(t)的计算公式,下面我会引用PLC内的PID程序来解释一下这个公式的具体含义。

U(t):    控制器输出 

e(t):       当前误差

:  累计误差

de(t):  这一时刻误差(当前误差)

dt:      上一时刻误差

Kp:    比例增益

Ti:      积分时间       Td:微分时间

Ki:      积分系数       Kd:微分系数

Ti=1/Ki                Td=1/Kd

1.比例运算结果:

小提示:在三菱PLC中  DESUB为浮点数减法运算指令;DEADD为浮点数加减法运算指令;

                                      DEMUL为浮点数乘法运算指令;DEDIV为浮点数除法运算指令;

                                      INT用于将其他数据类型(如浮点数)转换为整数类型;                   

第一行:设定值SV - 当前采样值PV=当前误差e(t)        

 第二行:比例增益Kp × 当前误差e(t)=比例运算结果U(p)

2.积分运算结果: 

 第一行:当前误差e(t) + 累计误差= 新的累计误差 

 第二行:E1 ÷ 积分时间Ti=积分系数Ki

 第三行: 累计误差  × 积分系数Ki=积分运算中间量

 第四行:积分运算中间量 × 比例增益Kp=积分运算结果U(i)

 3.微分运算结果:

第一行: 将当前误差e(t))   给到  上一时刻误差dt

第二行: 当前误差e(t) ÷ 上一时刻误差dt=误差变化率

第三行: 误差变化率 × 微分时间Td=微分运算中间量

第四行: 微分运算中间量 × 比例增益Kp=微分运算结果U(d)

4.输出运算结果:U(t)=U(p)+U(i)+U(d)

 第一行:   比例运算结果U(p)+积分运算结果U(i)=输出值中间量

 第二行:输出值中间量+微分运算结果U(d)= 输出值U(t)

 第三行:将浮点数的输出值转变为整数的输出值

5.输出结果整形:

本条指令中“K1000”代表输出上限整形       “K0”代表输出下限整形

6.PWM输出:

 PWM指令通常代表“脉宽调制”,通过调节脉冲信号的宽度(即高电平和低电平的时间比例)来控制电力电子器件(如电机、加热器、LED等)的功率输出

 本条指令中“K1000”代表一整个周期的长度  “Y0”代表输出线圈。

*以上我大致讲解了一下PID的相关知识和输出值的计算公式,如果还有不理解的可以前往此处

 PID到底是什么?【目前最简单最实用的PID教程】前言_哔哩哔哩_bilibili  学习,up主叫“等角螺

 线”,个人认为他讲的已经是细致入微的了。感兴趣的可以去看一下。

 4.温控电路连接

直通过理论来学习的理解程度肯定时有限的,只能算是纸上谈兵,以下是我为了实际操作而搭建的

由PIC控制的温控电路的实物图和电气接线图。

我所用到的电子及机械元器件见下表:

元件名称数量型号
空气开关1NXBLE-32  2P  63A
开关电源1

MDR-60-24A

PLC1艾莫讯EX3U-26MT(仿三菱)
温控器1XMTA-9
固态继电器1SSR-15A
触摸屏1SUP043-A  工控串口屏
电热水壶11400W    4L
温度传感器1Pt100
PLC与触摸屏通讯线1

红,蓝,黑,绿导线若干0.5平方毫米

元件型号并非要与我完全一致,只要适合即可。

5. 实操视频

温控系统实操视频

6.结束语

本文章为个人学习心得,如有不足,请指出,一定及时纠正,还望海涵。

  • 29
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值