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