




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
//PID算法温控C2008-08-17structPID{unsignedintSetPoint;//DesiredunsignedintProportion;//ProportionalConstunsignedintIntegral;//积分常数IntegralConstunsignedintDerivative;//微分常数DerivativeConstunsignedintLastError;//Error[-1]unsignedintPrevError;//Error[-2]unsignedintSumError;//SumsofErrorsstructPIDspid;//PIDControlStructureunsignedintrout;//PIDResponse(Output)unsignedintrin;//PIDFeedback(Input)sbitdata1=P1^0;sbitclk=P1^1;sbitplus=P2^0;sbitsubs=P2^1;sbitstop=P2^2;sbitoutput=P3^4;sbitDQ=P3^3;unsignedcharunsignedcharhigh_time,low_time,count=0;//占空比调节参数unsignedcharset_temper=35;unsignedchartemper;unsignedchari;unsignedcharj=0;unsignedints;voiddelay(unsignedchartime){unsignedcharm,n;}voidwrite_bit(unsignedcharbitval){}delay(5*90us供DA18B20采样*/DQ=1;/*DQ总线*/}voidwrite_byte(unsignedcharval){unsignedchari;unsignedchartemp; {temp=val>>i*移位操作,将本次要写的位移到最低位*/;/}//EA=1*开中断}unsignedcharread_bit(){unsignedchari,value_bit;DQ=1*释放总线*/}unsignedcharread_byte(){unsignedchari,value=0;{if(read_bit*读一字节数据,一个时序中读一次,并作移位处}unsignedcharreset(){unsignedcharpresence;DQ=0*DQ总线开始复位delay(30*480us*/DQ=1;/*释放总线*/presence=DQ;/*获取应答信号*/delay(28*延时以完成整个时序*/return(presence);/*返回应答信号,有应答返回0,无则1*/}voidget_temper(){unsignedchari,j;{i=reset*复位}while(i!=0*1为无反馈信号*/i=0xcc;/*发送设备定位命令*/i=0x44*发送开始转换命令*/delay(180);*延时*/{i=reset*复位i=0xcc*设备定位*/i=0xbe*读出缓冲区内容*/s=(unsignedint)(j&0x0f);}InitializePIDvoidPIDInit(structPID{memset(pp,0,sizeof(struct}PIDunsignedintPIDCalc(structPID*pp,unsignedintNextPoint{unsignedintErrorpp->SetPointNextPoint;//pp->SumErrorError;//dErrorpp->LastErrorpp->PrevError;//pp->PrevError=pp->LastError;pp->LastError=Error;return(pp->Proportion*Error//pp->Integral*pp pp->Derivative*dError }{unsignedchari;{{}{{rin=s;//Readrout=PIDCalc(&spid,rin);//PerformPID}if(high_time<=100)high_time=(unsignedchar)(rout/800);low_time=(100-}}else{{}{{rin=s;//Readrout=PIDCalc(&spid,rin);//PerformPID}if(high_time<100)high_time=(unsignedchar)(rout/10000);low_time=(100-}}////}T0,40us*100=4msvoidserve_T0()interrupt1using1{else{}}voidserve_sio()interrupt4using2{/*EA=0;{}else}EA=1;}voiddisp_1(unsignedchar{unsignedcharn,a,m;{//k=disp_num1[n];{}}}voiddisplay(){unsignedcharcodeunsignedchardisp_num[6];unsignedintk,k1;}{unsignedcharunsignedcharunsignedcharphil[]={2,0xce,0x6e,0x60,0x1c,2};PIDInit(&spid);//InitializeStructurespid.Proportion=10;//SetPIDCoefficientsspid.Integral=8;spid.SetPoint=100;//SetPIDSetpoint{{}}else{{}}else{{}{}}{//}}//DS18b20#includesbit typedefunsignedchar typedefunsigned voiddelay(word{}byte{byte //DQ //DQ // //0允许,1 节byte{bytebytevalue=0;{}}voidwrite_byte(char{ fori=8;i>0;i {}}char{bytec[2];intx; }PID增量式PID式中,enen-1en-2分别为第nn-1次和n-2次的偏差值,KpTiTd别为比例系数、积分系数和微分系数,T公式,由公式输出量决定的占空比,后续加热电路根据此的占空参数的整定可以仿照模拟PID①比例系数P稳态误差减小;PP对象的特性决定的。如果P远,如果出现这样的情况P②积分控制II(积分作③微分控制DD调节时间较短;DD温底控制PIDPIDPID(ProportionalIntegralDerivative)控制是控制工程中技术成熟、应用广泛的一PID检测元件就会将这种变化后经变送器送至PID控制器的输入端并与其给定值(以下简)进行比较得到偏差值(以下简称e值),调节器按此偏差并以我们预先设定的整定参数控制,并趋向于给定值(SP1PIDPIDPID(1)PD、PIDPID在连续-时间控制系统(模拟PID)中,PID机的快速发展,人们将计算机引入到PID控制领域,也就出现了数字式PID控制。)Tk代替积分,用增量的形式(求差)PID计算公式离散::
这样就可以让计算机或者单片机通过采样的方式实现PID控制,具体的PIDPID控制和增量式PID4给出了控制量的全部大小,所以称之为全量式或者位制;如果计算机只对相邻的两次作计算,只考虑一次基础上,计算机输出量的大小变化是全部输出信息的计算,这种控制叫做增量式PIDΔμΔμk=μk-μk-14(5)控制PID本设计利用了上面所介绍的位置式PID定值进行相减得偏差ekPID运算产生输出结果fOutfOut控制PIDPID的结构体数据类型,该数据保存PID运算所需要的P、I、D系数,以及设定值,历史误差的累加和等信息:defstructtSetPointDesiredtProportionProportionalConsttIntegral;//积分系数IntegralConsttDerivativeDerivativeConstLastError;//上次偏差SumErrorstPID;//定义一个stPID下面是PID运算的算法程序,通过PID运算返回fOut,fOut运算的CtPIDCalc(PID*pp,intNextPointrpp->SetPoint*10NextPointSumErrorErrororError-pp->LastErrorPrevErrorpp->LastErrorLastError=->Integral*pp->SumError->Derivative*dError效应所以不能保留,须把积分项去掉,相反D(微分项)则有很强的预见性,能够加 方案,下面CPDtPIDCalc(PID*pp,intNextPointrpp->SetPoint*10NextPointorError-pp->LastErrorPrevErrorpp->LastErrorLastError=rn(pp->Proportion*Error->Derivative*dError通过温度的PID运算,产生结果fOutD.Proportion2PIDD.Integral=0PID积分值D.Derivative5PIDPIDCalc&stPID,(int)(fT*10PIDOA_Buffer&0xff7fOA_Buffer|0x0080TimerBPIDCalc函数得到fOut参该参数大于“0”,则开启加热器。IRQ2_TMB,fOut1fOut=0,停止加热。如果PIDCalc计算结果比较大说明离目标温PID89C52 学院来源:现代电子术:2009-12-2217:36:09[收藏][评论PID89C52PID算法进行温度控制,它具有控制精度高,能够克PID算法进行温度控制。-PID控制器的参数整定是控制系统设计的内容它是根据PID间的大小。PID控制器参数整定的方法概括起来有两大类:一是常数;TD为控制器的微分时间常数。PID算法的原理即调节K为第K-1次采样时的偏差值;P(K)K次采样是调节器的输本系统由传感器A/D采样输入、单片机控制、人机交互、9C52单片机实现,控制信号输出部分则由功率放大和开关控制2所示。89C52单片机的全双工串行口完成和键盘部分的双向通PC机通信:此部分完成与微机控制接口RS232PID1kW1L清水进行加热。1。5030s225min由实验结果可以看出,系统的误差基本稳定在±0.3℃,可见5min时温度基本达到稳定,PID算法的单片机温度控制等级:-2006-02-7,10:51:03我在用MEGA16PID50.15?PID算法得到的是一个数值,这个数值资料 邮件 回复 回编辑删除复↑↑ 【1s等级:-2009-04-资料 邮件复↑↑ 回复回3,09:42:23【2hPIDLZ等级:-定时器的值为255100%1点计算PID的三个参数密切相关的,在相同PID参数会得出不同的PID3、想象一下,如果你的PID2009-04-3,11:52:49其实最关键的就是我写的第一点,只要理解了PID计算出的数据是表示的调节强度的大小,和占空资料 邮件 回复 引用回编辑删除复↑↑ 【3d等级:-【22009-04-4,14:48:14资料 邮件 回复 引用回编辑删除复↑↑ 【4lengqing13等级:-::2009-04-4,16:33:29
资料 邮件 回复 复↑↑
【5
资料
回复引用回复 ↓↓【】本文介绍了以AT89S51单片机为的温器AD590对电热锅炉的温度进行实时精确测量,用超低温漂移高精度运算放大器OP07将温度-电压信号进行放大,12位的AD574A进行AD转换,从而实算法,实时更新控制输出参数,控制可控硅的通【】水温控制系统PID控制单片方案一采用8031作为控制,以使用最为普遍的器件ADC0809作模数转换,控制上使用对电阻丝加电的价格便宜,但8031内部没有程序器,需要扩展,增加了电路的复杂性,且ADC08098位的模数转换,方案二采比流的81作电的制用2的精模转器DA进数据换,制路分用 可硅通实对炉度连控制方路单且可以足目的项求精。图 设计了以AT89S51单片机为检测控制中心的电热锅PID数字控制算法,3LED静态显示。该设计结构越限二硬件电路设计从功能模块上来分有:主机电路、电路、键主机选用ATMEL51系列单片机AT89S51来AT89S51时钟可达12MHz,运算速度快,控制功能128字节RAM,4KB的flashROM不需要外扩展器,可使系统整体结I/0就本系统来说,需要实时水温数据,然后经过A/D分送去显示;另一部分与设定值进行比较,PID算电路主要由AD59001D0101;而对于AD转换器,40-90度,AD区分度要求,则AD(90-40)/0.1=500个数字量,10位以上的转换器。为此,12位AD574AAD590,AD590具有较高精度和重复性(重复性优于0.1℃,0.10.1℃测量精度.)超低温漂移高精度运算放大器0P07将温度一电压信号进行放大,A/D进行转换,以提高温度电路的可靠性模拟电路硬件部分2。图 需要进行处理这采光件L21在制部分行电,外用器实弱电的电源。片机 出平为0,耦件通,使极形有偏而通通流的压经过电电以射反偏,有V右电压加双可硅制端从可导通交通路形成电炉;之片输平为0,耦元件能通,极不形效而止,控硅控端压乎零,控止截交通路,电停工作此,有限温低下时发二管;上时鸣叫制行分件路下:图 ,3中按键NN,34,51按键AN3与P3.2相连,采用外部中断方式,并且优先级定为最高;AN5AN4P1.7P1.6相连,采用软件查询的方式;AN1则为硬件复位键,与RC1按键按下(D1亮)——3LED静态显示方式,显示内容有资源,P1.4P3.1(TXD)74LS1643位静态显示。数字电路硬件部分见图:图4 三系统软件设计D;0为55,集经过AD;10,D, 主要由A/D转换子程序、中断处理子程序、键盘处T0成A/D转换、数字滤波、判断是否越限、较,PID算法子程序并输出控制信号等功能。2.3T1T1定时中断嵌套在T中断之中,优先级高于T中断,PID算法子程序提供,T1中断响应的运算控制模块涉及标度转换、PID算法、以及该算Am=90;Ao=40;Nm=FEH;7。PIDD数字控制DD),而,D8。图 图 9中,26CUi(k)k次采样温度值,Ur为设定值。e(kεPD算法e(k)<εPID9温度控制曲线图四源程序五结果分析论述基于单片机AT89S51的设计方案设计中运用PID算法更新T1的定时常数, 从而实现对温度的连续控制。设计结果由图7和图9,的D;提,主提了片机电及件括制法计,,PIDPID控制段C程
2#大中小于2009-5-2319:13 #include机 #i授struct_pidintpv;/*integerthatcontainsthe 人 float float float短 float int int为 友 struct_pid前 intprocess_point, floatp_gain,i_gain,d_gain,DESCRIPTIONThisfunctioninitializesthepointersinthe_pidstructuretotheprocessvariableandthesetpoint.and*spareintegerpointers.voidpid_init(struct_pid*warm,intprocess_point,intset_point){struct_pidpid=pid->pv=process_point;pid->sp=set_point;}DESCRIPTIONSetstheproportionalgain(p_gain),integralgain(i_gain),derivitivegain(d_gain),andthedeadband(dead_band)ofapidcontrolstructurevoidpid_tune(struct_pid*pid,floatp_gain,floati_gain,floatd_gain,intdead_band){pid->pgain=p_gain;pid->igain=i_gain;pid->dgain=pid->deadband=pid->integral=integral_val;}DESCRIPTIONSetanewvaluefortheintegraltermofthepidequation.Thisisusefulforsettingtheinitialofpidcontrolleratstartvoidpid_setinteg(struct_pid{pid->integral=new_integ;pid->last_error=0;}DESCRIPTIONBumplesstransferalgorithim.Whensuddenlychangingaftercanwillsmoothoutthatbump.Theprocessvalueinbetheupdatedjustbeforethisfunctionvoidpid_bumpless(struct_pid{pid->last_error=(pid->sp)-(pid-}DESCRIPTIONPerformsPIDcalculationsfor_pidstructure*a.Thisfunctionusesthepositionalformofthepidequation,andincorporatesanintegrationisused,sothisfunctionmustberepeatedonaconsistenttimebasisforaccurateRETURNVALUEThenewoutputvaluefortheUSAGE#includefloatpid_calc(struct_pid{intfloatpterm,dterm,result,err=(pid->sp)-(pid->pv);if(abs(err)>pid->deadband){ferror=(float)err;/*dointegertofloatconversiononlyonce*/pterm=pid->pga
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年监理工程师职业能力测试卷:建筑工程施工合同履行与争议解决试题
- 年度人力资源配置及培训计划
- 面部拨筋排毒护理
- 老年人关爱活动计划
- 智能交通系统开发计划
- 2025年征信数据质量管理体系优化试题试卷
- 2025年小学教师资格考试《综合素质》易错点专项专项练习题库试卷
- 2025年茶艺师高级技能考核试卷:茶艺师茶具使用与保养试题
- 2025年小学英语毕业考试写作模拟试卷:拓展写作思路与作文语言风格分析试题
- 装配式渠道用混凝土蒸养制度优化及工程应用
- 2025年湖南省中考数学模拟试卷(一)(原卷版+解析版)
- 大学生职业规划学习通超星期末考试答案章节答案2024年
- 2024年1月浙江省普通高校招生选考物理试题和答案
- 23CG60 预制桩桩顶机械连接(螺丝紧固式)
- 【图文】摄影技巧-专题摄影(138页精品培训课件-PPT)
- 后印象主义美术页PPT课件
- 多芒寺阳塘仁波切生平简介(PPT)
- 治安管理课件新兴行业场所
- 设计交底记录文稿(示例)
- 内蒙古矿调报告提纲
- ERCP讲义2ppt课件
评论
0/150
提交评论