


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1. PID调试步骤没有一种控制算法比PID调节规律更有效、更方便的了。现在一些时髦点的调 节器基本源自PID。甚至可以这样说:PID调节器是其它控制调节算法的妈。 为什么PID使用如此广泛、又长久不衰?因为PID解决了自动控制理论所要解决的最基本问题,既系统的稳定性、快速 性和准确性。调节PID的参数,可实现在系统稳定的前提下,兼顾系统的带载 能力和抗扰能力,同时,在PID调节器中引入积分项,系统增加了一个零积点,使之成为一阶或一阶以上的系统,这样系统阶跃响应的稳态误差就为零。由于自动控制系统被控对象的千差万别,PID的参数也必须随之变化,以满足系统的性能要求。这就给使用者带来相当的麻烦,特
2、别是对初学者。下面简单 介绍一下调试PID参数的一般步骤:1 负反馈自动控制理论也被称为负反馈控制理论。首先检查系统接线,确定系统的反馈 为负反馈。例如电机调速系统,输入信号为正,要求电机正转时,反馈信号也 为正(PID算法时,误差=输入-反馈),同时电机转速越高,反馈信号越大。 其余系统同此方法。2 . PID调试一般原则a. 在输出不振荡时,增大比例增益 P。b. 在输出不振荡时,减小积分时间常数 Ti。c. 在输出不振荡时,增大微分时间常数 Td。3 .一般步骤a. 确定比例增益P确定比例增益P时,首先去掉PID的积分项和微分项,一般是令 Ti=O、Td=O(具体见PID的参数设定说明)
3、,使PID为纯比例调节。输入设定为系统允许 的最大值的60%70%,由0逐渐加大比例增益P,直至系统出现振荡;再反 过来,从此时的比例增益 P逐渐减小,直至系统振荡消失,记录此时的比例增 益P,设定PID的比例增益P为当前值的60%70%。比例增益P调试完成。b. 确定积分时间常数Ti比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出现振荡,之后在反过来,逐渐加大 Ti,直至系统振荡消失。记录此 时的Ti,设定PID的积分时间常数Ti为当前值的150%180%。积分时间常数 Ti调试完成。c. 确定积分时间常数Td积分时间常数Td 一般不用设定,为0即可。若要
4、设定,和确定 P和Ti的方法 相同,取不振荡时的30%。d. 系统空载、带载联调,再对 PID参数进行微调,直至满足要求。2. PID控制简介目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。同时, 控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三个阶 段。智能控制的典型实例是模糊全自动洗衣机等。自动控制系统可分为开环控 制系统和闭环控制系统。一个控制系统包括控制器、传感器、变送器、执行机 构、输入输出接口。控制器的输出经过输出接口、执行机构,加到被控系统上; 控制系统的被控量,经过传感器,变送器,通过输入接口送到控制器。不同的 控制系统,其传感器、变送器、执行机构
5、是不一样的。比如压力控制系统要采 用压力传感器。电加热控制系统的传感器是温度传感器。目前,PID控制及其控制器或智能PID控制器(仪表)已经很多,产品已在工程实际中得到了广泛 的使用,有各种各样的PID控制器产品,各大公司均开发了具有 PID参数自整 定功能的智能调节器(intelligent regulator),其中PID控制器参数的自动调整是 通过智能化调整或自校正、自适应算法来实现。有利用PID控制实现的压力、温度、流量、液位控制器,能实现 PID控制功能的可编程控制器(PLC),还有 可实现PID控制的PC系统等等。可编程控制器(PLC)是利用其闭环控制模块 来实现PID控制,而可编
6、程控制器(PLC)可以直接和ControlNet相连,如Rock well的PLC-5等。还有可以实现PID控制功能的控制器,如 Rockwell的Logix 产品系列,它可以直接和 ControlNet相连,利用网络来实现其远程控制功能。1、开环控制系统开环控制系统(open-loop control system)是指被控对象的输出(被控制量)对控制 器(controller)的输出没有影响。在这种控制系统中,不依赖将被控量反送回来 以形成任何闭环回路。2、闭环控制系统闭环控制系统(closed-loop control system)的特点是系统被控对象的输出(被控 制量)会反送回来影响
7、控制器的输出,形成一个或多个闭环。闭环控制系统有正 反馈和负反馈,若反馈信号和系统给定值信号相反,则称为负反馈 (Negative F eedback),若极性相同,则称为正反馈,一般闭环控制系统均采用负反馈,又 称负反馈控制系统。闭环控制系统的例子很多。比如人就是一个具有负反馈的 闭环控制系统,眼睛便是传感器,充当反馈,人体系统能通过不断的修正最后 作出各种正确的动作。如果没有眼睛,就没有了反馈回路,也就成了一个开环 控制系统。另例,当一台真正的全自动洗衣机具有能连续检查衣物是否洗净, 并在洗净之后能自动切断电源,它就是一个闭环控制系统。3、阶跃响应阶跃响应是指将一个阶跃输入(step fu
8、nction )加到系统上时,系统的输出。 稳态误差是指系统的响应进入稳态后,系统的期望输出和实际输出之差。控制系统的性能可以用稳、准、快三个字来描述。稳是指系统的稳定性(stability),一个系统要能正常工作,首先必须是稳定的,从阶跃响应上看应该是收敛的; 准是指控制系统的准确性、控制精度,通常用稳态误差来(Steady-state error)描述,它表示系统输出稳态值和期望值之差;快是指控制系统响应的快速性, 通常用上升时间来定量描述。4、PID控制的原理和特点在工程实际中,使用最为广泛的调节器控制规律为比例、积分、微分控制,简 称PID控制,又称PID调节。PID控制器问世至今已有
9、近70年历史,它以其 结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。 当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理 论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试 来确定,这时使用PID控制技术最为方便。即当我们不完全了解一个系统和被 控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差, 利用比例、积分、微分计算出控制量进行控制的。比例(P)控制比例控制是一种最简单的控制方式。其控制器的输出和输入误差信号成比例关 系。当仅有比例控制时系
10、统输出存在稳态误差(Steady-state error )。 积分(I)控制在积分控制中,控制器的输出和输入误差信号的积分成正比关系。对一个自动 控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差 的或简称有差系统(System with Steady-state Error )。为了消除稳态误差, 在控制器中必须引入 积分项”积分项对误差取决于时间的积分,随着时间的 增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加 大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比 例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。微分(D)
11、控制在微分控制中,控制器的输出和输入误差信号的微分(即误差的变化率)成正 比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其 原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变 化超前”即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控 制器中仅引入 比例'项往往是不够的,比例项的作用仅是放大误差的幅值,而 目前需要增加的是 微分项”它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免 了被控量的严重超调。所
12、以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。5、PID控制器的参数整定PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统 的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必 可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主 要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在 工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临
13、界比例法、 反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按 照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制 器参数,都需要在实际运行中进行最后调整和完善。现在一般采用的是临界比 例法。利用该方法进行PID控制器参数的整定步骤如下:(1)首先预选择一个足 够短的采样周期让系统工作;(2)仅加入比例控制环节,直到系统对输入的阶跃 响应出现临界振荡,记下这时的比例放大系数和临界振荡周期;在一定的控制度下通过公式计算得到PID控制器的参数。3. PID控制器参数的工程整定,各种调节系统中PID参数经验数据以下可参照:温度 T: P=2060%,T=18060
14、0s,D=3-180s压力 P: P=3070%,T=24180s,液位 L: P=2080%,T=60300s,流量 L: P=40100%,T=660s。4. PID常用口诀:参数整定找最佳,从小到大顺序查先是比例后积分,最后再把微分加曲线振荡很频繁,比例度盘要放大曲线漂浮绕大湾,比例度盘往小扳曲线偏离回复慢,积分时间往下降 曲线波动周期长,积分时间再加长 曲线振荡频率快,先把微分降下来 动差大来波动慢。微分时间应加长 理想曲线两个波,前高后低4比1 一看二调多分析,调节质量不会低参考资料:27 |评论求助知友希儿521 |当前分类:6级擅长网站使用:10级按默认排序|按时间排序其他回答共
15、1条2008-05-10 19:30 xmxqiyan | 当前分类:15 级排名:2352#in clude<reg51.h>#i nclude<i ntri ns.h>#in clude<math.h>#i ncludevstri ng.h>struct PID un sig ned int SetPoi nt; / 设定目标 Desired Valueun sig ned int Proporti on; / 比例常数 Proporti onal Const un sig ned int In tegral; / 积分常数 In tegral C
16、onstunsigned int Derivative; / 微分常数 Derivative Constun sig ned int LastError; / Error-1un sig ned int PrevError; / Error-2un sig ned int SumError; / Sums of Errors;struct PID spid; / PID Con trol Structureun sig ned int rout; / PID Resp onse (Output)un sig ned int rin; / PID Feedback (In put)sbit da
17、ta 1= P1A0;sbit clk=P1A1;sbit plus=P2A0;sbit subs=P2A1;sbit stop=P2A2;sbit output=P3A4;sbit DQ=P3A3;un sig ned char flag,flag_1=0;un sig ned char high_time,low_time,cou nt=0;占空比调节参数un sig ned char set_temper=35;un sig ned char temper;un sig ned char i;un sig ned char j=0;un sig ned int s;/*延时子程序,延时时
18、间以12M晶振为准,延时时间为30usXtime*/void delay (un sig ned char time)un sig ned char m,n;for(n=0;n< time ;n+) for(m=0;m<2;m+)/*写一位数据子程序*/void write_bit(unsigned char bitval)EA=0;DQ=0; /*拉低DQ以开始一个写时序*/if(bitval=1)_nop_();DQ=1; /*如要写1,则将总线置高*/ _delay(5); /* 延时 90us 供 DA18B20 采样 */DQ=1; /*释放DQ总线*/_nop_();_
19、nop_();EA=1;/*写一字节数据子程序*/void write_byte( un sig ned char val)un sig ned char i;un sig ned char temp;EA=0;TR0=0;for(i=0;i<8;i+) /*写一字节数据,一次写一位*/temp=val>>i; /*移位操作,将本次要写的位移到最低位 */temp=temp&1;write_bit(temp); /* 向总线写该位 */delay(7); /* 延时 120us 后*/ TR0=1;EA=1;/*读一位数据子程序*/un sig ned char re
20、ad_bit()un sig ned char i,value_bit;EA=0;DQ=0; /*拉低DQ,开始读时序*/_nop_();_nop_();DQ=1; /*释放总线*/for(i=0;i<2;i+)value_bit=DQ;EA=1;return(value_bit);/*读一字节数据子程序*/un sig ned char read_byte()un sig ned char i,value=0;EA=O;for(i=0;i<8;i+)if(read_bit() /*读一字节数据,一个时序中读一次,并作移位处理*/value|=0x01<<i;delay
21、(4); /*延时80us以完成此次都时序,之后再读下一数据 */EA=1;return(value);/*复位子程序*/un sig ned char reset()un sig ned char prese nee;EA=0;DQ=0; /*拉低DQ总线开始复位*/delay(30); /* 保持低电平 480us*/DQ=1; /*释放总线*/delay(3);presence=DQ; /*获取应答信号*/delay(28); /*延时以完成整个时序*/EA=1;return(presenee); /*返回应答信号,有芯片应答返回0,无芯片则返回1*/*获取温度子程序*/ void ge
22、t_temper()un sig ned char i,j;doi=reset(); /* 复位 */while(i!=0); /*1为无反馈信号*/i=0xcc; /*发送设备定位命令*/write_byte(i);i=0x44; /*发送开始转换命令*/write_byte(i);delay(180); /* 延时 */doi=reset(); /* 复位 */while(i!=0);i=0xcc; /*设备定位*/write_byte(i);i=0xbe; /*读出缓冲区内容*/write_byte(i);j=read_byte();i=read_byte();i=(i<<4
23、)&0x7f;s=(unsigned int)(j&0x0f);s=(s*100)/16;j=j>>4;temper=i|j;/* 获取的温度放在temper中*/*=In itialize PID Structure=*/void PIDI nit (struct PID *pp)memset ( pp,0,sizeof(struct PID);/*=PID计算部分 =*/un sig ned int PIDCalc( struct PID *pp, un sig ned int NextPoi nt )unsigned int dError,Error;Erro
24、r = pp->SetPoi nt - NextPoi nt; / 偏差pp->SumError += Error; /积分dError = pp->LastError - pp->PrevError; /当前微分pp->PrevError = pp->LastError;pp->LastError = Error;return (pp->Proporti on * Error / 比例项+ pp->In tegral * pp->SumEror / 积分项+ pp->Derivative * dError); / 微分项/*温
25、度比较处理子程序*/ compare_temper()un sig ned char i;if(set_temper>temper)if(set_temper-temper>1)high_time=100;low_time=0;elsefor(i=0;i<10;i+) get_temper();rin = s; / Read In putrout = PIDCalc ( & spid,rin ); / Perform PID In teration if (high_time<=100)high_time=(u nsig ned char)(rout/800);
26、elsehigh_time=100;low_time= (100-high_time);else if(set_temper<=temper)if(temper-set_temper>0)high_time=0; low_time=100;elsefor(i=0;i<10;i+) get_temper();rin = s; / Read In putrout = PIDCalc ( &spid,rin ); / Perform PID Interation if (high_time<100)high_time=(unsigned char)(rout/1000
27、0);elsehigh_time=0;low_time= (100-high_time);/ else/ /*T0中断服务子程序,用于控制电平的翻转,40us*100=4ms周期*/void serve_T0() in terrupt 1 using 1if(+co un t<=(high_time)output=1;else if(cou nt<=100)output=0;elsecoun t=0;TH0=0x2f;TL0=0xe0;/*串行口中断服务程序,用于上位机通讯*void serve_sio() in terrupt 4 using 2/* EA=0;RI=0;i=SB
28、UF;if(i=2)while(RI=0)RI=0;set_temper=SBUF;SBUF=0x02;while(TI=0)TI=0;else if(i=3)TI=0;SBUF=temper;while(TI=0)TI=0;EA=1; */void disp_1( un sig ned char disp_ nu m16)un sig ned char n, a,m;for(n=0;n<6;n+)/ k=disp_ nu m1 n;for(a=0;a<8;a+)clk=0;m=(disp_ nu m1 n& 1);disp_ nu m1 n=disp_ nu m1 n&g
29、t; >1;if(m=1)data1=1;elsedata1=0;_nop_();clk=1;_nop_();/*显示子程序功能:将占空比温度转化为单个字符,显示占空比和测得到的温度*/void display()un sig ned char code number=0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xf e,0xf6;un sig ned char disp_ nu m6;un sig ned int k,k1;k=high_time;k=k%1000;k1=k/100;if(k1=0)disp_ num0=0;elsedisp_num0=0x60;k=k%100;disp_num1=nu mberk/10;disp_num2=numberk%10;k=temper;k=k%100;disp_num3=nu mberk/10;disp_num4=nu mberk%10+1;disp_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 燕山大学毕业论文答辩汇报
- 仓储与配送(新形态活页式)课件 马昆 项目1-4 入职准备 - 出库作业
- 如何推动纺织行业的绿色转型发展试题及答案
- 神经内科查体试题及答案
- 建筑工程综合项目工程竣工项目验收总结报告模板样式
- 心肌梗塞试题及答案
- 车身工艺考试题库及答案
- 部队士官考试题库及答案
- 山东省 调研试题及答案
- 助理广告师考试的基础知识梳理试题及答案
- 重庆市八中2024-2025学年高三下学期3月适应性检测(六)语文试题 含解析
- 2024-2025学年人教版PEP四年级英语下册期末试卷(3)(含答案含听力原文无音频)
- 2024年救生员职业考试的全景试题及答案
- 浙江省台州市2023-2024学年高一地理下学期期中试题pdf
- AI时代的智能领导力探讨
- 铁路维修教材分析课件
- 电能技术监督培训
- 2025年河南三门峡黄河明珠(集团)有限公司招聘笔试参考题库附带答案详解
- 苯甲酸福格列汀片-药品临床应用解读
- 运输机场机坪运行管理规定
- DB62-T 4134-2024 高速公路服务区设计规范
评论
0/150
提交评论