PID算法原理、调试经验以及代码_第1页
PID算法原理、调试经验以及代码_第2页
PID算法原理、调试经验以及代码_第3页
PID算法原理、调试经验以及代码_第4页
PID算法原理、调试经验以及代码_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1PID原理电池充放电系统中的控制器,根据给定信号和反馈信号相减得到的偏差信号来计算控制虽出就而控制功率管的占空比咲(4-35沖可知圮在PVM的频率不变的情况下化即周期寄存器垠的值不变的情况下,由控制量u改变比较寄存器劇宓的值便可氐改变功率管的占空比在自动控制系统中A常用的控制器有比例-积分控制器$PI控制器h比例-积分-微分控制器(PID控制器分段逼近式控制器,较为新颖的有模糊控制器,神经元网络控制器等十本系统使用的是工业过程控制中广泛应用的PID控制器。*按偏差的比例、积分微分进行控制的控制黠称为PID控制器。模拟PID控制器的原理框图如图4打所示其中T为系统给定值,e为实际输出中u为控制

2、量。PID控制解决了自动控制理论所要解决的最为基本的问题即系统的稳定性、快速性和准确性。调节PID的参数,可以实现在系统稳定的前提下兼顾系统的带载能力题拔匪力,同时由干在PID控制器中引入了积分项贰系统增加了二1积点这样系统阶跃响应的稳态误差就为零。中图4-7所示的模拟PID控制器的控制表达式为:*(0=(0+(4-3式中,电舫为系统偏差e$5=r-c7心式中#唸为系统偏差;%为比例系数;心口为积分时间常数;心口为微分时间常数中式(4-3)也可以写成a瓦(右)=心巩右)+禺|詁(9)宀工+殆弓?(4-37式中,&为比例系数;a扛为积令系数十直=炽遐中也为微分系数直=城4简单说来,PID控制器中

3、各校正.环节的作用如下日社4C-17比例环节兹时成比例地反映控制系统的備差信号已电;偏差一旦产生,.控制器立即产生调节作用,以减少偏差。中积分环节主要用于消除讎羞提赢系统的无差度积分作用的强弱取决于积分时间常数险血越大匸积分作用越弱反之则越强。*C30微分环节能够反映偏差信号的变化趋势,即偏差信号的变化速率,并能在偏差信号值趣太夫艺前孑在系统中引燕一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。a计算机控制是一种离散的采样控制,在计算机控制系统中所使用的是数字PID控制器,而式孚邦式(4邓)均为模拟PID控制器的控制表达式通过将模拟PID表达式中的积分.微分运算用数值计算方法来逼

4、近冬便可实现数字P9控制只要采样周期T取得足够水这肿逼近就可以相当精确亠将微球项用差分代替,积另项用矩形和式代替数字PID控制器的控制表达式如式知喊u(k)=kp眉(七)+同样的;式(4.3也可以写成:*邂)=kpe(k)+出(丿)+kd於)-e(k-1)j=o其中:kv=kpT/Tlt取=煜驭口亠数字PK)控制器的控制算法通常可以耸为位置式PK)控制算法和增虽式PK)控制算法,本系统使用的杲位置式PID控制算法,因此下面将讨论如何建立位置式PID控制算法的数学模型。中由式备犁可得,第氐1时gJPID调节的表达式为小u(k-X)=-1)+k.Ve(j)+k.dg优一1)一逐(七一2)将式糾芬)

5、减式4-40、便可得到位置式PID控制算法的表达式为莖卩u(k)=u(k-X)十住(七)一它(七一1)+毕3)+底/层3)-2e(1)+址一2)卜为了使表达式更为简单,可以将上面的式子展开七合并同类项后可以得到印*(4-41Au(k)=艮(七一1)+諮(七)+如电(七-1)+其中吟ao=kp+ki+k=kpf1+if汁T&T;+j日1=-kp-2kj=-kjj1+2Tj/T;+*翹=駅痰瓊T*我(4斗门即为本系统所停甲的忖臂式PID捽制黠的数孝樟型72.流程图pid调节子程序的流程图如图4-io所示。当进Aped调节子程序时,首先需要根据系统给定值利釆样值来计算偏差.为了防止在系统运材初期,由

6、于控制量wfe过犬使得开关管占空比d过大,需要对代汽式(41运算的O做一定的限幅处理。因为瞬间过大的占空比有时候可能会引起过大的电流,淤而导致开关辔的损坏.另外,在系统进入稳态后,偏差杲很小的,如果偏差在一冷很小的范围内波动,控制器对这样微小的偏差计算后吏将会输出一仆微小的控制虽此时输出的控制值在一个很小的范围内十不断改变自已的方向、频繁动作,发生振颤,这样不利于正在充电的蓄电池因此也煮控制过程进班这种狀态时,就进衣系统设定的一个输出允许带印,即当釆集到的偏差|e(kjSD时扎不改变控制量使充放电过程能够稳定的进存。中计:k心上户Ek卜饶射|eMD=o3。PID代码定义变量floatKp;fl

7、oatTi;/PI调节的比例常数/PI调节的积分常数floatT;采样周期LL?-u(kiTK醫.d调活子程序流程图卫/uk对uk四舍五入取整/调节器输出调整量floatKi;floatek;/偏差ekfloatek1;/偏差ek-1floatek2;/偏差ek-2floatuk;signedintuk1;signedintadjust;/变量初始化Kp=4;Ti=0。005;T=0.001;/Ki=KpT/Ti=0.8,微分系数Kd=KpTd/T=0.8,Td=0.0002,根据实验调得的结果确定这些参数ek=0;ek1=0;ek2=0;uk=0;uk1=0;adjust=0;intpiad

8、just(floatek)/PI调节算法0000000000000000if(gabs(ek)0)if(uk-uk1=0.5)uk1=uk1+1;if(uk=0.5)uk1=uk1-1;adjust=uk1;returnadjust;下面是在AD中断程序中调用的代码。else退出软启动后,PID调节,20ms调节一次EvaRegs.CMPR3=EvaRegs.CMPR3+piadjust(ek);误差较小PID调节稳住if(EvaRegs.CMPR3=890)EvaRegs.CMPR3=890;/限制PWM占空比4。PID调节经验总结PID控制器参数选择的方法很多,例如试凑法、临界比例度法、扩

9、充临界比例度法等。但是,对于PID控制而言,参数的选择始终是一件非常烦杂的工作,需要经过不断的调整才能得到较为满意的控制效果。依据经验,一般PID参数确定的步骤如下42:确定比例系数Kp确定比例系数Kp时,首先去掉PID的积分项和微分项,可以令Ti=0、Td=0,使之成为纯比例调节。输入设定为系统允许输出最大值的60%70%,比例系数Kp由0开始逐渐增大,直至系统出现振荡;再反过来,从此时的比例系数Kp逐渐减小,直至系统振荡消失。记录此时的比例系数Kp,设定PID的比例系数Kp为当前值的60%70%。确定积分时间常数Ti比例系数Kp确定之后,设定一个较大的积分时间常数Ti,然后逐渐减小Ti,直

10、至系统出现振荡,然后再反过来,逐渐增大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%180%。确定微分时间常数Td微分时间常数Td一般不用设定,为0即可,此时PID调节转换为PI调节。如果需要设定,则与确定Kp的方法相同,取不振荡时其值的30%。系统空载、带载联调对PID参数进行微调,直到满足性能要求。上面的实际是PI调节的代码,现附上PID的。1./声明变量2.3./定义变量4.floatKp;/PID调节的比例常数5.floatTi;/PID调节的积分常数6.floatT;/采样周期7.floatTd;/PID调节的微分时间常数8.floata0;9

11、.floata1;10.floata2;11.12.floatek;/偏差ek13.floatek1;/偏差ek-114.floatek2;/偏差ek-215.floatuk;/uk1;/对uk四舍五入求整17.intadjust;/最终输出的调整量18.19./变量初始化,根据实际情况初始化20.Kp=;21.Ti=;22.T=;23.Td=;3.64.65.a0=Kp*(1+T/Ti+Td/T);a1=-Kp*(1+2*Td/T);a2=Kp*Td/T;/Ki=KpT/Ti=0.8,微分系数Kd=KpTd/T=0.8,Td=0.0002,根据实验调得的结果确定这些参数ek=0;ek1=0;ek2=0;uk=0;uk1=0;adjust=0;intpid(floatek)if(gabs(ek)vee)ee为误差的阀值,小于这个数值的时候,不做PID调整,避免误差较小时频繁调节引起震荡。ee的值可自己设adjust=0;elseuk=a0*ek+a1*ek1+a2*ek2;ek2=ek1;ek1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论