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℃时的控制效果如下:
通过上述优化,系统在响应速度和稳定性方面都有了显著提升。
热门推荐
怎么判断是焦虑症引起血压高
对谈耶鲁杨丰瑜:多模态AI引领具身智能革命
财政大招要来了!如何影响A股走势?
深圳飞墨西哥的航线,为啥会经过日本、俄罗斯、美国?
世界各国货币一览表缩写,世界各国货币符号与名称对照表
毕业论文写作完全指南:从选题到资料查找的实用技巧
一岁宝宝感冒消炎药使用指南
什么是牛线熊线的技术指标意义?这些意义在股市分析中有何作用?
秦朝末年的军事支柱:章邯的辉煌战绩与悲剧命运
三菱PLC功能指令详解:比较指令、四则运算指令与区间复位指令
社交媒体营销问题分析报告总结
健康科普:掌握心肺复苏术(CPR)和AED使用,抓住“黄金四分钟”!
费用报销单签字流程详解:从一般步骤到优化建议
银行的个人银行账户可以异地销户吗?
女性参保生育保险的步骤和注意事项
陈锦川:人工智能生成内容的法律性质及集体管理组织的作用
2025山东电力高等专科学校录取分数线预测及2024年各省分数线汇总
家里资产多少,才能接近80年代的“万元户”?答案来了!
融资余额创逾9年新高
高中生物和地理哪个好学?选科建议来了!
心理学实习攻略:如何找到一份靠谱的实习机会?
监理怎么管理项目部履约
窗户是否需要包窗套以及其影响?
带自动启停的车如何搭电(汽车启动只有哒哒声无法点火)
如何通过官网查询失信人员名单
AI+教育=?看闵行这所中学解锁AI教育新场景
苏州科技大学全国排名和最强专业解析
败给AI八年,围棋传奇李世石仍未走出AlphaGo阴影
什么是铝合金材料机械性能和抗腐蚀性能
华东师范大学:以智能技术推动教育改革与发展