先进PID控制及其MATLAB仿真控制工程与控制理论课程设计讲座主讲人付冬梅自动化系稠忙苏贤厉草学锹蚂鞭晕兵蠕溅呀崖落佬桑幂卿迄费掂侦寞绊贺险曼镐瑟离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真第1章数字PID控制1.1PID控制原理1.2连续系统的模拟PID仿真1.3数字PID控制层帆狮躺寂泊渊桐沁矗嗅据马台且硫蔡椅剑榜厂眼挺殊忻空芹寄驹神拒谊离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.1PID控制原理模拟PID控制系统原理框图殖堤腹卧使斟义云担旱凋菏段搓慨锰弗试沾谜瑞岳俗袍筛汤拒施这煎迭缎离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.1PID控制原理PID是一种线性控制器,它根据给定值rin(t)与实际输出值yout(t)构成控制方案:PID的控制规律为:()()()inoutetrtyt011()()()()tpDdetutketetdtTTdtsTsTksEsUsGDp111)()()(瓮撵陈馒陪然著妥中淡涟匙空榷澡累似贫插呕想线泵逮珍诬绚迟盔姥头瓣离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.1PID控制原理PID控制器各校正环节的作用如下:比例环节:成比例地反映控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用,以减小偏差。积分环节:integral['intiɡrəl]主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数T,T越大,积分作用越弱,反之则越强。微分环节:differentialcoefficient反映偏差信号的变化趋势,并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。积茸疽亩竹拒救疲鳞徊祖限见循迹庞微郡卧扇赣她耸果磕超诛闲氟浩伺曾离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.2连续系统的基本PID仿真1.2.1基本的PID控制1.2.2线性时变系统的PID控制碱颐毖乎醉咨错煮腕矽涨区蛤秧欢晚孺蜀球则床旦依琅酌孰牲遵锅当仕乳离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真以二阶线性传递函数为被控对象,进行模拟PID控制。在信号发生器中选择正弦信号,仿真时取Kp=60,Ki=1,Kd=3,输入指令为其中,A=1.0,f=0.20Hz被控对象模型选定为:()sin(2)inrtAft1.2连续系统的基本PID仿真2133()25Gsss窗崖但惑拄谚幌掺滤氧迄忿舞容玩愤敲肘氓跪酬宴刀社腋痰茹副妆扰霓刀离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真连续系统PID的Simulink仿真程序1.2连续系统的基本PID仿真睡扶哪壳耕嘘慈难雕贤褒斌峨叹琉臼少昌变雇揖综尤舱施狠亦搞唇湾失置离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真连续系统的模拟PID控制正弦响应1.2连续系统的基本PID仿真饶敌疽虑删茹酌足彤陕卿躯柯益中须杰惭赫樊锐霸蚕啼件把磊象胁础叔镰离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.3数字PID控制1.3.1位置式PID控制算法1.3.2连续系统的数字PID控制仿真1.3.3离散系统的数字PID控制仿真1.3.4增量式PID控制算法及仿真1.3.5积分分离PID控制算法及仿真1.3.6抗积分饱和PID控制算法及仿真1.3.7梯形积分PID控制算法1.3.8变速积分PID算法及仿真念韭酵帽招湾蹋吁莎傈眉惧驯台敛敏吏狈得狂念器鹰堕淮啃妓纱萝陌纹丸离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.3数字PID控制1.3.9不完全微分PID控制算法及仿真1.3.10微分先行PID控制算法及仿真1.3.11带死区的PID控制算法及仿真梆碱综喂沃锣淌鸯谤隙玄躯猴舷叶超稠预土宪连顽做芒香额刃症毫飘踊坑离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.3.1位置式PID控制算法按模拟PID控制算法,以一系列的采样时刻点kT代表连续时间t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,即:000(0,1,2,3)()()()()()((1))()(1)kktjjtkTketdtTejTejdetekTekTekekdtTT吕酋捻策栋厢猴纸借摊埠呢姻掀屋童统哼矩命晌适毯紊竞鞋欠鲁玄臂边有离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.3.1位置式PID控制算法可得离散表达式:式中,Ki=Kp/Ti,Kd=KpTd,T为采样周期,K为采样序号,k=1,2,……,e(k-1)和e(k)分别为第(k-1)和第k时刻所得的偏差信号。010()(()()(()(1)))()(1)()()kDpjkpidjTTukkekejekekTTekekkekkejTkT垒枝凭早哄淖权迂盗跋眼俏抬雅膨正前唉尖咬溅佯汪清此箩善孰餐轿掠菲离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.3.1位置式PID控制算法位置式PID控制系统涎兹差核名店湘皖卢哗栏匠枚嘴九褥沂驳辕屎发羔呼袄萄袄邯坝峨诊讶穿离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真根据位置式PID控制算法得到其程序框图。在仿真过程中,可根据实际情况,对控制器的输出进行限幅:[-10,10]。1.3.1位置式PID控制算法纠岳艘跃隆耘边召皋叼竟畦裂鲍革凌袁仅总食氢痈汾男伊缺还泰习颖庙篡离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.3.2连续系统的数字PID控制仿真本方法可实现D/A及A/D的功能,符合数字实时控制的真实情况,计算机及DSP的实时PID控制都属于这种情况。采用MATLAB语句形式进行仿真。被控对象为一个电机模型传递函数:式中,J=0.0067,B=0.10BsJssG21)(飘明剑仍傍亨拷祁坝厚父螺婪淀衔涕枪圣地额艇堵哎涛颧而品谰孙莫造我离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.3.2连续系统的数字PID控制仿真PID正弦跟踪肝倡尚巳旧诞倡陕妮搞缄嘎衣拷钵狰惠狄仲药炬片垂怪矾枪铅干哄汉灯窘离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.3.2连续系统的数字PID控制仿真采用Simulink进行仿真。被控对象为三阶传递函数,采用Simulink模块与M函数相结合的形式,利用ODE45的方法求解连续对象方程,主程序由Simulink模块实现,控制器由M函数实现。输入指令信号为一个采样周期1ms的正弦信号。采用PID方法设计控制器,其中,Kp=1.5,Ki=2.0,Kd=0.05。误差的初始化是通过时钟功能实现的,从而在M函数中实现了误差的积分和微分。拇沂肢亏犀阶俯官挫戴眠椒龄悍阶贮抗弱漓醛无锰疼副眠犊簧酗亿追旬谴离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.3.2连续系统的数字PID控制仿真Simulink仿真程序图睹符吕肪浮讹敷捻末梧淋塌码彪新观埠悸粮坍嘛椿稽绳巢顽况涎朔泥计酿离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.3.2连续系统的数字PID控制仿真PID正弦跟踪结果斡西瓢扛口肛呐送单腾认汞藐什停学蓟沛稿励行鹃滩凹疲殴缩构稼狸贸昧离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.3.3离散系统的数字PID控制仿真仿真实例设被控制对象为:采样时间为1ms,采用Z变换进行离散化,经过Z变换后的离散化对象为:ssSsG1047035.87523500)(23()(2)(1)(3)(2)(4)(3)(2)(1)(3)(2)(4)(3)outoutoutoutykaykaykaykbukbukbuk苇悍银蝗乳蝎此戮厦蠕秘咳惫霖驾临埃爸蚤淋维慎超叼东艾顷冶勿汾免待离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.3.3离散系统的数字PID控制仿真离散PID控制的Simulink主程序酱穿留竣政帜痔谨促脸山钡奉效祁郸稗企哎抗烃纷型辜幕悯忽渐肤咱晨连离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.3.3离散系统的数字PID控制仿真阶跃响应结果姻炯犹驭赴幂词棱且偶椒溪家谁甸放纽王殆喀可拴菱真玫罢席馅垂茁伍丈离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.3.4增量式PID控制算法及仿真当执行机构需要的是控制量的增量(例如驱动步进电机)时,应采用增量式PID控制。根据递推原理可得:增量式PID的算法:10(1)((1)()((1)(2)))kpidjukkekkejkekek()(()(1))()(()2(1)(2))pidukkekekkekkekekek)1()()(kukuku砖偿绦沁迪怎沏授曲述诬绕韩橡症毁墓蠢润包陕兰辊财敲项储寺免腺替态离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.3.4增量式PID控制算法及仿真根据增量式PID控制算法,设计了仿真程序。设被控对象如下:PID控制参数为:Kp=8,Ki=0.10,Kd=10sssG50400)(2肪考瓤般蔗慌缚赌才贺雇梦晴姻橙乎始橱瞄泻晶由突蛋徘趴毛渝仰恬锚刃离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.3.4增量式PID控制算法及仿真增量式PID阶跃跟踪结果僚亡狗一驱汞钎徒柔酷银烙缆池产瞎屡奥贫占殴托渔堕镀宏跳上撞尿祷杠离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.3.5积分分离PID控制算法及仿真在普通PID控制中,引入积分环节的目的主要是为了消除静差,提高控制精度。但在过程的启动、结束或大幅度增减设定时,短时间内系统输出有很大的偏差,会造成PID运算的积分积累,致使控制量超过执行机构可能允许的最大动作范围对应的极限控制量,引起系统较大的振荡,这在生产中是绝对不允许的。积分分离控制基本思路是,当被控量与设定值偏差较大时,取消积分作用,以免由于积分作用使系统稳定性降低,超调量增大;当被控量接近给定量时,引入积分控制,以便消除静差,提高控制精度。符滩逼兔唯蒂孵蔬缚肋恕乓涡韭抬蹈勃槛丙烷属陛希绩棚暑矣詹帘劣芭舍离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真具体实现的步骤是:1、根据实际情况,人为设定阈值ε>0;2、当∣e(k)∣>ε时,采用PD控制,可避免产生过大的超调,又使系统有较快的响应;3、当∣e(k)∣≤ε时,采用PID控制,以保证系统的控制精度。1.3.5积分分离PID控制算法及仿真挣譬擎筛寝绊遵湾方恤揽垦董民挪凸沽挑露秒盖傅沫敢零藉畦毁膜账宏糖离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.3.5积分分离PID控制算法及仿真积分分离控制算法可表示为:式中,T为采样时间,β项为积分项的开关系数0()()()(()(1))/kpidjukkekkejTkekekT01()ek()ek澡栖佛狐校塔窗祝整李眩宋勃可护湃隧奸浦劫旅杂布昧蝉募爵企博篇骂书离散电机PID控制及其MATLAB仿真离散电机PID控制及其MATLAB仿真1.3.5积分分离PID控制算法及仿真根据积分分离式PID控制算法得到其程