


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PID原理及程序引言:开始我接触PID的时候很不理解,周围的人也没有多少懂得PID的,尤其是程序设计及具体实际应用。随着对PID的了解,也渐渐的知道是怎么回事了。要想学会应用PID首先要知道,提出PID这个概念或者PID理论存在的价值,或者直接说他是用来干什么的:工业生产过程中,对丁生产装置的温度、压力、流量、液位等工艺变量常常要求维持在一定的数值上,或按一定的规律变化,以满足生产工艺的要求。PID控制器是根据PID控制原理对整个控制系统进行偏差调节,从而使被控变量的实际值与工艺要求的预定值一致。应用丁包速,就是说被控物理量(车速)经传感器(测速码盘)检测到的反馈信号对速度进行调整,从而达到设
2、定的速度。下面将从原理和程序设计来解析PID。控制原理:在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制:比例(P)控制:比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-stateerror)。积分(I)控制:在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(SystemwithSteady-stateError)。为了消除稳态误差,在控制器中必须引入积分项”。积分项对误差取决于时间的
3、积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。微分(D)控制:在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入比例”项往往是
4、不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。模拟PID控制原理在模拟控制系统中,控制器最常用的控制规律是PID控制。常规的模拟PID控制系统原理框图如图所示。r(t)y(t)+模拟PID控制系统原理图该系统由模拟PID控制器和被控对象组成。图中,r(t)是给定值,y(t)是系统的实际输出值,给定值与实际输出值构成控制偏差e(t)(te)=r(t)-y
5、(t)(式1一1)e(t)作为PID控制的输入,u(t)作为PID控制器的输出和被控对象的输入。所以模拟PID控制器的控制规律为u(t)=Kpe(t)+错误!未找到引用源。dt+Td错误!未找到引用源。(式1-2)其中:Kp控制器的比例系数Ti控制器的积分时间,也称积分系数Td控制器的微分时间,也称微分系数1、比例部分比例部分的数学式表示是:Kp*e(t)在模拟PID控制器中,比例环节的作用是对偏差瞬间作出反应。偏差一旦产生控制器立即产生控制作用,使控制量向减少偏差的方向变化。控制作用的强弱取决于比例系数Kp,比例系数Kp越大,控制作用越强,则过渡过程越快,控制过程的静态偏差也就越小;但是Kp
6、越大,也越容易产生振荡,破坏系统的稳定性。故而,比例系数Kp选择必须恰当,才能过渡时间少,静差小而又稳定的效果。2、积分部分积分部分的数学式表示是:错误!未找到引用源。从积分部分的数学表达式可以知道,只要存在偏差,则它的控制作用就不断的增加;只有在偏差e(t)=0时,它的积分才能是一个常数,控制作用才是一个不会增加的常数。可见,积分部分可以消除系统的偏差。积分环节的调节作用虽然会消除静态误差,但也会降低系统的响应速度,增加系统的超调量。积分常数Ti越大,积分的积累作用越弱,这时系统在过渡时不会产生振荡;但是增大积分常数会减慢静态误差的消除过程,消除偏差所需的时间也较长,但可以减少超调量,提高系
7、统的稳定性。当Ti较小时,则积分的作用较强,这时系统过渡时间中有可能产生振荡,不过消除偏差所需的时间较短。所以必须根据实际控制的具体要求来确定Ti。3、微分部分微分部分的数学式表示是:Kp*Td错误!未找到引用源。实际的控制系统除了希望消除静态误差外,还要求加快调节过程。在偏差出现的瞬间,或在偏差变化的瞬间,不但要对偏差量做出立即响应(比例环节的作用),而且要根据偏差的变化趋势预先给出适当的纠正。为了实现这一作用,可在pi控制器的基础上加入微分环节,形成PID控制器。微分环节的作用使阻止偏差的变化。它是根据偏差的变化趋势(变化速度)进行控制。偏差变化的越快,微分控制器的输出就越大,并能在偏差值
8、变大之前进行修正。微分作用的引入,将有助于减小超调量,克服振荡,使系统趋于稳定,特别对高阶系统非常有利,它加快了系统的跟踪速度。但微分的作用对输入信号的噪声很敏感,对那些噪声较大的系统一般一不用微分,或在微分起作用之前先对输入信号进行滤波。微分部分的作用由微分时间常数Td决定。Td越大时,则它抑制偏差e(t)变化的作用越强;Td越小时,则它反抗偏差e(t)变化的作用越弱。微分部分显然对系统稳定有很大的作用。适当地选择微分常数Td,可以使微分作用达到最优。数字式PID控制算法可以分为位置式PID和增量式PID控制算法。这里只介绍增量式PID算法:当执行机构需要的不是控制量的绝对值,而是控制量的增
9、量(例如去驱动步进电动机)时,需要用PID的“增量算法”。罕叵回m苍!<|3-2(b)地虽itPID伊匐尚妇'抻简化布超图增量式PID控制算法可以通过(2-4)式推导出。由(2-4)可以得到控制器的第k-1个采样时刻的输出值为:uk-i=心%1+13弓+弓七:右1(2-5)将(2-4)与(2-5)相减并整理,就可以得到增量式PID控制算法公式为:屈广二X划-Ku+f哈1TdM幻=戛(1+'*)%-"+净5+孩如t(2-6)其中能砖(1+艾)由(2-6)可以看出,如果计算机控制系统采用恒定的采样周期T,一旦确定A、B、C,只要使用前后三次测量的偏差值,就可以由(2
10、-6)求出控制量。增量式PID控制算法与位置式PID算法(2-4)相比,计算量小得多,因此在实际中得到广泛的应用。位置式PID控制算法也可以通过增量式控制算法推出递推计算公式:«t,+AuAlj(2-7)(2-7)就是目前在计算机控制中广泛应用的数字递推PID控制算法。程序设计:通过对上述原理的理解,PID的概念渐渐活晰起来。要想构建PID系统,首先要有一个反馈系统,所以小车必须有一个测速装置,这里选用的是光电开关和100孔的码盘。其次是要想构建一个稳定的PID系统,必须确定合理的P、I、D常数,通过经验及多次试验慢慢修改。第一步:获得速度思路:行驶一定的距离,测量所用总时间T,轮子
11、所产生的总得脉冲N与行驶距离S,那么距离与脉冲的关系K=S/N;平均速度V=S/T;获得这个参数后,程序就可以根据码盘所返回的脉冲数算出速度,v=n*K/tt为定时器定时中断的时间n是t时间内所产生的脉冲数数据记录与分析:delay(12000)行走了2738mm左轮脉冲为1887那么K=2738/1887=1.450delay(10000)行走了2230mm左轮脉冲为1541那么K=2230/1541=1.447delay(8000)行走了1820mm左轮脉冲为1262那么K=1820/1262=1.442综上述实验,取K=1.45“算速度”的程序采样率为50ms炊(即每50ms取一次脉冲数
12、算速度)连续4次采样取平均,所得速度单位cm/s由申口上显示的数据023023024023023024023022023024023023025023024023024024023023023023024023024023023024024023023023023024023023023023看,其数据本身就有浮动,获得的不是一个稳定的当前值。结束语:50ms的采样间隔,对丁单片机是一个相当长得时间,但是在这50毫秒内只产生8或者9个脉冲。轮子转一圈是100个脉冲,就相当与一个采样的时间内只转了0.08圈,这是个相当无语的结果。也由此导致上述的浮动。究其浮动的根源可能来自电源的震荡,可能是码盘
13、装得不对称、不均匀。第二步:构建系统思路:给定的速度预想速度,测量的速度是反馈信号,输入PID系统,来计算控制量u从而控制占空比,所以选择增量式PID,由丁测得的速度不是一个稳定的量,所以输入PID系统会产生震荡。需要加限制处理对丁这个测速系统,限幅D_speed的绝对值小丁等丁2附程序:/*文件:PID.h用途:PID算法,提高控制精度用法:*/*#ifndef_PID_H_#define_PID_H_#include<math.h>/PID调节的比例常数/PID调节的积分常数采样周期/PID调节的微分时间常数floatKp=2;floatTi=0.4;floatT=0.2;fl
14、oatTd=0.01;floata0;floata1;floata2;floatek;偏差ekfloatek1;偏差ek-1floatek2;偏差ek-2floatuk;/ukintPIDCalc(floatek)(if(fabs(ek)<3)设定阀值return(0);else(uk=a0*ek+a1*ek1+a2*ek2;ek2=ek1;ek1=ek;return(ceil(uk);#endif/*用途:主程序*/#include<iom128v.h>#include<macros.h>#include"delay.h"#include&q
15、uot;T3_counter.h"#include"T1_counter.h"#include"INT.h"#include"car.h"#include"USART.h"#include"PID.h"#defineucharunsignedchar#defineuintunsignedintuintcount,speed5,Avr_speed,i;#pragmainterrupt_handlerINT0_isr:2voidINT0_isr(void)count+;计数脉冲unsign
16、edcharNumber6='','0','0','0','0','0'voidData_convert(uinttemp)整数转换成字符申Number1='0'+temp/1000;Number2='0'+(temp%1000)/100;Number3='0'+(temp%100)/10;Number4='0'+temp%10;intset_speed,D_speed,adjust,Uk;#pragmainterrupt_handle
17、rtimer3_ovf_isr:30定时采样voidtimer3_ovf_isr(void)TCNT3=15535;i+;speedi=count*2.9/i;if(i=4)i=0;count=0;Avr_speed=(speed1+speed2+speed3+speed4)/4;/取平均Data_convert(Avr_speed);USARTTransmitString(Number);传到申口D_speed=set_speed-Avr_speed;差值Uk=PIDCalc(D_speed);计算增量if(Uk!=0)adjust+=Uk;if(adjust>1023)调整PWMad
18、just=1023;OCR1A=adjust;OCR1B=adjust;voidmain(void)(carport_init();T1_10KPWM_init();INT0_init();USARTInit();EN_T3_interrupt();SEI();TCNT3=15535;car_go_ahead();T3_ON();a0=Kp*(1+T/Ti+Td/T);a1=-Kp*(1+2*Td/T);a2=Kp*Td/T;set_speed=15;adjust=OCR1A;while(1)(取Kp=2;Ti=0.4;T=0.2;Td=0.01;所得1cm/s的速度差对应4个PWM值也就是说如果设定的速度为10,测得的速度为0,那么PWM每次加40,如果测得的速度始终为0,那么每200msOCR1A就加40,即使初值为0,经过(1030/40)*200ms也就是5200ms后PWM加满1023对丁这个结果相当满意,虽然PWM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 患者跌倒后骨折的应急演练脚本(模板)(2篇)
- 农具电商创新创业项目商业计划书
- 激光测距机器人导航避障创新创业项目商业计划书
- 用户细分与精准营销创新创业项目商业计划书
- 游艇码头创新创业项目商业计划书
- 西安市装修管理办法
- 驻校教官校园安全指导与学校安全管理规范协议
- 血清检查机构管理办法
- 电子商务经纪人合同性质界定及法律适用协议
- 精准农业鱼塘承包项目合作协议书范本
- 2024年河南省成考(专升本)生理学护理学专业考试真题含解析
- 《数字艺术设计概论》课件
- 心脏起搏器学习课件
- 仲裁员的仲裁裁决书撰写技巧
- DPU编程与实践课程
- 肱骨远端粉碎性骨课件
- 汽车充电机及DCDC测试内容
- XX专业技术人员岗位竞聘申请表
- 07K506 多联式空调机系统设计与施工安装
- 黄芪注射液联合当归注射液对急性失血性休克围手术期血乳酸水平和氧代谢的影响
- 大气物理学课件
评论
0/150
提交评论