1基于MATLAB的PID控制算法的实现◆姓名:XXX◆班级:XXXXXX◆指导老师:XXX2◆序言◆PID的工作原理◆位置式和增量式PID控制◆改进PID控制算法◆总结基于MATLAB的PID控制算法的实现3序言本文主要介绍PID控制的基础知识和工作原理,并在了解PID基本知识的基础上着重介绍数字PID控制的两种改进控制算法:积分分离式和不完全微分式并对其进行MATLAB仿真。通过仿真结果比较传统PID控制和改进PID控制的优缺点。4PID的工作原理r(t)c(t)比例积分微分被控对象e(t)u(t)++++-在连续控制系统中,PID控制器的输出u(t)与输入e(t)之间成比例、积分、微分的关系。即:1pDideutketedTTdt5位置式和增量式PID控制位置式控制算法表达式和示意图为:0(){()()[()(1)]}1kDpjTTukKekejekekTTPID位置式算法调节阀被控对象c(t)r(t)e(t)u(t)位置式控制算法由于采用了全量输出,所以每次输出均与过去的状态有关,计算时要对e(k)量进行累加,计算机运算工作量大。6增量式控制算方法表达式和示意图为:pIDu(k)=u(k-1)+K[e(k)-e(k-1)]+Ke(k)+K[e(k)-2e(k-1)+e(k-2)]PID增量式算法步进电机被控对象r(t)e(t)u(t)c(t)增量式控制算法的优点是误动作小,便于实现无扰动切换。当计算机出现故障时,可以保持原值,比较容易通过加权处理获得比较好的控制效果。但是由于其积分截断效应大,有静态误差,溢出影响大。7改进PID控制算法(一)积分分离PID控制算法参数初始化采入rin(k)及yout(k)计算偏差errorPID控制PD控制控制器输出参数更新开始返回是否(k)error积分分离控制基本思想是:当被控量与设定值偏差较大时,取消积分的作用,以免由于积分作用使系统稳定性降低,超调量增大;当被控量接近给定值时,引入积分控制,以便消除静差,提高控制精度。TkerrorkerrorkTjerrorkkerrorkkkjdip/))1()(()()()(u00|(k)|=1|(k)|errorerror,,8设被控对象为一个延迟对象:采样时间为10s,延迟时间为4个采样时间,即40s,分别采对积分分离和普通PID进行MATLAB仿真-40(s)=40+1seGs02004006008001000120014001600180020000510152025303540455002004006008001000120014001600180020000102030405060积分分离PID阶跃跟踪普通PID阶跃跟踪902004006008001000120014001600180020003040506070809002004006008001000120014001600180020002030405060708090积分分离PID的u(k)值普通PID的u(k)值10020040060080010001200140016001800200005101520253035404550time(s)error0200400600800100012001400160018002000-1001020304050time(s)error积分分离PID的e(k)值普通PID的e(k)值由仿真结果可以看出,采用积分分离方法对系统进行控制其平稳性和快速性都要优于普通的PID控制,控制效果有很大的改善。值得注意的是,为保证引入积分作用后系统的稳定性不变,在输入积分作用时比例系数kp可进行相应变化。此外,β值应根据具体对象及要求而定,若β过大,则达不到积分分离的目的;若β过小,则会导致无法进入积分区。11(二)不完全微分控制算法E(S)U(S)PKPIKTs1+TPDfKTss()(-1)+k((k)-error(k-1))++fDDDPsfsfTTuKukerrorTTTT在PID控制中,微分信号的引入可以改善系统的动态特性,但也易引入高频干扰,在误差扰动突变的时候尤其显出微分项的不足。要想解决这个问题,可以在控制算法中加入低通滤波器,可使得系统的性能得到改善12设被控对象为时滞系统传递函数:在对象的输出端加幅值为0.01的随机信号。采样时间为10ms。低通滤波器为:-40(s)=40+1seGs1(s)=180+1Qs01002003004005006007008009001000-0.200.20.40.60.811.201002003004005006007008009001000-0.200.20.40.60.811.2不完全微分PID阶跃跟踪普通PID阶跃跟踪13010020030040050060070080090010000.50.60.70.80.911.11.2不完全微分u(k)值01002003004005006007008009001000-2-101234time(s)u普通微分u(k)值1401002003004005006007008009001000-0.200.20.40.60.811.201002003004005006007008009001000-0.200.20.40.60.811.2time(s)error不完全微分e(k)值普通微分e(k)值由仿真结果可以看出,引入不完全微分后,能有效地抑制高频干扰。尽管不完全微分PID控制算法比普通PID控制算法要复杂些,但由于其良好的控制特性,近年来得到越来越广泛的应用。15总结本文通过对两种改进的PID控制算法(积分分离算法和不完全微分算法)的研究。使我学到了:在短时间内系统输出有很大偏差,引起系统较大的超调或是较大的振荡,采用积分分离可以有效的抑制种情况,消除静差,提高控制精度。在误差扰动突变的时候尤其显出微分项的不足,可以在控制算法中加入低通滤波器,引入不完全微分抑制高频干扰。通过仿真实验验证了在引入积分分离和不完全微分后能有效地克服普通PID的不足。