- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字PID控制器的设计 1.模拟PID控制器 在工业控制中,常常采用如下图的PID控制: 其控制规律: 对应的模拟PID调节器的传递函数: 比例控制的作用 作用:对当前时刻的偏差信号e(t)进行放大或衰减,控制作用的强弱取决于比例系数; 特点:它能迅速反应误差,从而减小误差,加快响应速度。 缺点:不能消除静态误差,过大甚至造成系统不稳定。 积分控制的作用 作用:通过对误差累积的作用影响控制量,并通过系统的负反馈作用减小偏差; 特点:与e(t)存在全部时段有关,只要有足够的时间,积分控制将能够消除稳态误差。 缺点:不能及时地克服扰动的影响。 微分控制的作用 作用:反应e(t) 变化的速度,在偏差刚刚出现时产生很大的控制作用,具有超前控制作用; 作用:有助于减小 超调和调整时间,改善系统的动态品质; 缺点:不能消除系统的稳态误差。 数字PID控制算法 数字PID控制—位置型 位置型的缺点: (1)积分项计算量大,存储量大。 (2)u(k)在某一时刻故障,u(k)变大变小,误动作影响大。 数字PID控制——增量型 增量型与位置型的比较 (1)增量型算法不需要累加,控制量增量的确定仅与最近几次误差采样值有关,计算误差或计算精度问题,对控制量的计算影响较小。而位置型算法要用到过去的误差的累加值,容易产生大的累加误差。 (2)增量型算法得出的是控制量的增量,误动作影响小,不会影响严重系统的工作。而位置型算法的输出是控制量的全量输出,误动作影响大。 PID参数整定 试凑法(先比例,后积分,再微分) 扩充临界比例度法 扩充响应曲线法 增量式流程图 用计算机实现PID控制 * * + r u e y + + + e(t)=r(t)-y(t) - Kpe d #includereg51.h #define uchar unsigned char #define uint unsigned int #define KP 100 #define TI 2 #define TD 1 #define T 1 sbit start=P3^0; sbit OE=P3^1; sbit EOC=P3^2; float y_cur; //y(k) float y_pre; //y(k-1) float e_cur; //e(k) float e_pre; //e(k-1) float e_last; //e(k-2) float u_cur; //u(k) float u_pre; //u(k-1) float u_aug; //△u(k) uchar AD; uint INPUT=3; uint r; void pid_init() { r=INPUT; y_cur=0; y_pre=0; u_pre=0; e_pre=0; e_last=0; } float pid_process() { float q0, q1, q2; e_cur=r-y_cur; //e(k)=r-y(k) q0=(float)( KP*(1+T/TI+TD/T)); q1=-KP-2*KP*TD/T; q2=KP*TD/T; u_aug=q0*e_cur+q1*e_pre+q2*e_last; //△u(k)=q0*e(k)+q1*e(k-1)+q2*e(k-2) u_cur=u_aug+u_pre; //u(k)=△u(k)+u(k-1) u_pre=u_cur; //u(k-1)=u(k) e_last=e_pre; //e(k-2)=e(k-1) e_pre=e_cur; //e(k-1)=e(k) return u_cur; //返回u(k) } void dac1() { uint out; out=(int)(pid_process()); P0=out; } void delayms() { int i,j; for(i=0;i1000;i++) { for(j=0;j10;j++); { ; } } } *
您可能关注的文档
最近下载
- T-CSUS《城镇排水管网运行和维护智能化技术标准》.pdf VIP
- 食堂食材采购及配送 投标方案(技术方案).doc VIP
- 北师大版(2024新版)七年级生物上册全册各章测试题及答案汇编(含五套题).doc VIP
- 预防艾滋病、梅毒和乙肝母婴传播工作规范(2020年版).pdf VIP
- 大C4毕加索使用手册.pdf
- 2024年高级维修电工考试题库及答案(共700题).pdf VIP
- 2025年广州港集团有限公司人员招聘笔试备考题库.docx VIP
- 医院培训课件:《双重血浆滤过置换(DFPP)操作经验分享》.pptx
- 介入手术室患者安全转运.ppt VIP
- 小升初暑假讲义16 《朝花夕拾》2 讲义.doc VIP
文档评论(0)