PID控制算法优化:实时调整参数实现更优控制效果
创作时间:
作者:
@小白创作中心
PID控制算法优化:实时调整参数实现更优控制效果
引用
CSDN
1.
https://blog.csdn.net/qq_16038625/article/details/113915879
PID控制算法是工业自动化领域中应用最为广泛的控制算法之一。本文将介绍一种对传统PID控制算法的优化方法,通过实时调整PID参数,可以显著提高控制系统的响应速度和稳定性。
一、系统原理
如上图所示,系统通过MCU输出0~100%占空比的PWM信号来控制温度,并通过ADC0808采集温度数据。
二、PID控制代码
void PIDCalu(PID_para *pid )
{
pid->Yn = 0.3906*GetADC();
pid->En = pid->Rn - pid->Yn;
pid->SumOfEn += Pid.En;
pid->Un = pid->Kp*pid->En +
pid->Ki*Pid.SumOfEn +
pid->Kd*(pid->En - pid->En_1);
pid->En_1 = pid->En;
}
三、分析
PID控制代码的实现并不复杂,但参数Kp、Ki、Kd的配置却直接影响控制效果。当Kp、Ki、Kd分别为5、0.005、20时,系统在期望温度为50℃时的控制效果如下:
从图中可以看出:
- 系统的输出控制前期主要由比例项决定,后期则主要由积分项和微分项决定。
- 比例项的大小决定了前期升温的速度,而积分项和微分项决定了后期稳定的精度。
为了优化控制效果,我们设计了一个公式,让Kp、Ki、Kd参数在控制过程中实时改变。具体来说:
- 当距离期望温度很大时,采用较大的Kp和较小的积分项与Kd;
- 当距离期望温度较小时,采用较小的Kp和较大的积分项与Kd。
需要注意的是,积分项的调整不仅仅是改变Ki,还需要调整不同阶段的积分权值k(t)。
四、实验验证
我们采用单一变量法进行实验验证:
- 验证变参数Kp的效果:
- A组:Ki、Kd、Kp为5、0.005、20不变
- B组:Ki、Kd不变;Kp = En/5 + 5(当En从50到0时,Kp从15变化到5)
实验结果表明,在其他性能相似的情况下,B组达到稳定状态的速度比A组更快。
- 验证变参数Kd的效果:
- A组:Kp、Ki、Kd为5、0.003、50,期望温度为50度
- B组:Kp、Ki不变;Kd = 10/En(当En从10到0.2时,Kd从1变化到50)
实验结果表明,B组的控制效果优于A组。
- 验证变参数Ki的效果:
- A组:Kp、Ki、Kd为5、0.05、50,期望温度为50度
- B组:在Kp、Ki、Kd不变的情况下,引入积分强弱控制因子Kit = 1 - En/Rn
实验结果表明,即便在系统肯定会产生超调的情况下,B组的超调量也比A组小。
五、改进后的PID控制代码
改进后的PID控制代码增加了一个KpKiKdCalu函数,用于实时调整Kp、Ki、Kd参数:
void KpKiKdCalu(PID_para *pid)
{
//变参数Kp
pid->Kp = Abs(pid->En)/5 + 5;
//变参数Kd
if(Abs(pid->En) < 0.2)
{
pid->Kd = 50;
}
else
{
pid->Kd = 10/ Abs(pid->En) ;
}
//变参数Kit
if(pid->Rn!=0)
{
pid->Kit = 1 - Abs(pid->En / pid->Rn) ;
}
}
void PIDCalu(PID_para *pid )
{
pid->Yn = 0.3906*GetADC();
pid->En = pid->Rn - pid->Yn;
pid->SumOfEn += pid->Kit*pid->En;
pid->Un = pid->Kp*pid->En +
pid->Ki*Pid.SumOfEn +
pid->Kd*(pid->En - pid->En_1);
pid->En_1 = pid->En;
}
初始参数设置为:Kp、Ki、Kd分别为5、0.01、50,期望温度为50℃时的控制效果如下:
通过上述优化,系统在响应速度和稳定性方面都有了显著提升。
热门推荐
啤酒一般多少度?你知道最高度多少吗?
路由器的三种模式的区别
“让职校生也有满满获得感”!
驾驶无证件车辆、无牌照摩托车及脱审车辆的处罚规定
荣格分析心理学:精神与心灵的交汇
大掺量粉煤灰混凝土早期抗压强度及凝结时间的影响因素研究
什么处理器型号支持Windows 11?如何确认兼容性?
设备预防性维修管理:从理论到实践的全面指南
怀孕能吃生蚝吗?营养与风险全解析
优化不良资产管理系统解决方案:智能处置与风险预警双升级
揭秘NBA历史上代表三支不同球队夺冠的四位传奇球员
NBA历史仅五队实现三连冠,詹姆斯、库里、杜兰特未能创造传奇
肠胃不添堵,春节更幸福!“保胃护肠”妙招请收下
原神V5.2那维莱特角色培养攻略
心理学上的“五分钟法则”:彻底战胜拖延的“无敌法则”
行车记录仪支持的最大内存卡容量是多少?
手腕关节痛什么原因
农夫山泉钟睒睒宣布捐赠400亿创办大学,三大办学目标引关注
工业插座标准:确保安全与高效的基础
Win11兼容骑砍吗?骑砍在Win11上能玩吗?
网购安全攻略:账号安全到支付保障全解析
如何理解宏观经济的总体状况?这些总体状况的衡量指标有哪些?
如何正确存储锂电池:应该充满电、空电还是部分充电?
电池存放有哪些最佳实践?存放环境对电池寿命有何影响?
诺奖风向标之拉斯克奖公布:“减肥神药”GLP-1的发现者获奖
VLAN隔离原理与实现:如何在网络中解决跨VLAN通信?
养猫一年,你和普通人就不一样了!
探讨服务器硬件故障的常见原因、预防措施及有效的应急响应流程
四大主流芯片架构及其主要优势
事关车辆年检!车主们注意了!