




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广东工业大学实验报告 信息工程 学院 03测控技术与仪器 专业 2 班成绩评定_姓名邵仲明 欧文宇 余允 袁怀泽 陈晓清 陈雅 苏映惜 郑典英教师签名 预习情况操作情况考勤情况数据处理情况实验 题目 基于PID算法的炉温控制 第_周星期_第_节一、 实验目的和要求a) 掌握虚拟仪器高级语言LabVIEW6i或LabWindows/CVI的流程图和软仪器面板的编程设计方法,熟悉数据处理模块、信号分析模块、仪器控制模块等各种软件模块的应用;b) 掌握数据采集硬件的低层驱动程序(C语言/汇编语言)设计、调试及嵌入LabVIEW6i的技术;c) 利用GPIB、RS232等仪器标准总线接口系统和VISA编程技术,进行PC计算机与多种数字式仪器(如数字示波器、数字万用表和数字频谱仪)的接口、互连及编写应用软件,构造典型的自动测试系统及进行实验研究。二、 实验方案 1、实验设计题目 基于PID算法的炉温控制2、实验主要仪器设备和材料装有labwindows/cvi软件PC一台,电子温度计一个,炉温实验箱一个, PC-DAQ/PCI卡3、设计步骤1)、对炉温实验箱进行数据采样:先把炉温实验箱加热至90C观察电子温度计数值,利用万能表测试实验箱相应引脚的输出电压,温度每下降一摄氏度,就马上记录输出电压值。记录范围:2590。2)、对采样数据进行处理:通过观察可知,电压与温度不成线性关系,是一条曲线,因此,本设计采用分段直线拟合。得出电压与温度的对应关系。3)、用户界面设计:用Labwindows/cvi软件进行用户界面开发,并进行编程。具体程序见后面。4)、进行调试:把PC和其他设备连接好,测试程序,设置PID参数,观察控制效果,确立PID参数。5)、重新对数据采样:开始采样时,因为温度和电压值都不断发生变化,而温度计显示变化相对于电压变化有一定的滞后,造成微机上温度显示数值比温度计发生一定量的偏移,造成较大误差。因此,此次采样利用刚开发的程序控制炉温恒定,观察电压变化范围 ,记录多个电压值,求其平均值。但只需要对部分温度采样就可以了,因为这里采用线段拟合成曲线,只需要线段的端点数据就可。6)、重新调试程序,并完善用户界面。三、 实验结果和数据处理程序如下:#include #include #include #include #include #include PID.hstatic int panelHandle;static double Wave1024;static double Temp1024;static double A;static double F;static double Ph,VOL,GG;static double AM;static double PGAIN;static double IGAIN;static double DGAIN;static double LASTERR;static double TEMP;static double integral, TEMPUP,PIDPWM;static double TE=0;static unsigned long AOtaskID;static double ERR,FERROR,PT;PID_PWM() / PID算法定义 double ERR; double PT,DT,RESULT,FERROR; ERR=TEMP-AM; if(abs(ERR)0.01) FERROR=ERR; PT=PGAIN * FERROR; if(PT100|PT100.00) integral=100.0; else if (integral0.0) integral=0.0; DT=(ERR-LASTERR)*DGAIN; RESULT=PT+integral+DT; else RESULT=integral=PGAIN+IGAIN; LASTERR=ERR; return (RESULT); int main (int argc, char *argv)if (InitCVIRTE (0, argv, 0) = 0)return -1;/* out of memory */if (panelHandle = LoadPanel (0, PID.uir, PANEL) 0)return -1;DisplayPanel (panelHandle);GetCtrlVal(panelHandle,PANEL_HORIZONTAL,&F); /获得频率/ RunUserInterface ();DiscardPanel (panelHandle);return 0;int CVICALLBACK SetHorizontal (int panel, int control, int event,void *callbackData, int eventData1, int eventData2) /频率响应后在PC机上输出方波图形switch (event)case EVENT_COMMIT:DeleteGraphPlot (panelHandle, PANEL_GRAPH, -1, VAL_IMMEDIATE_DRAW);GetCtrlVal(panelHandle,PANEL_HORIZONTAL,&F); break;return 0;int CVICALLBACK ShutDown (int panel, int control, int event,void *callbackData, int eventData1, int eventData2) /退出程序/switch (event)case EVENT_COMMIT:QuitUserInterface (0);break;return 0;int CVICALLBACK UpDataCallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)switch (event)case EVENT_TIMER_TICK:GetCtrlVal(panelHandle,PANEL_AIM,&AM); /设定目标温度/ GetCtrlVal(panelHandle,PANEL_KP,&PGAIN);/设定比例系数 GetCtrlVal(panelHandle,PANEL_KI,&IGAIN);/设定积分系数 GetCtrlVal(panelHandle,PANEL_KD,&DGAIN);/设定微分系数 AISampleChannel (1, 1, 0.0, 0.0, &VOL);/采集数据/SetCtrlVal (panelHandle, PANEL_VOT, VOL); /在PC机上输出电压 /以下是电压温度转换、 if(VOL-1.12) TEMP=-40.91*VOL+28.18 ; else if(VOL-0.84) TEMP=-25.00*VOL+46.00 ; else if(VOL0.05 )TEMP=-12.36*VOL+56.62 ; else if(VOL0.73)TEMP=-7.35*VOL+56.37; else if (VOL1.91) TEMP=-5.08*VOL+54.71 ; else if( VOL2.72)TEMP=-3.7*VOL+52.07 ; else if (VOL4.25 )TEMP=-3.27*VOL+50.89 ; else if (VOL6.96 )TEMP=-2.95*VOL+49.55; else if (VOL7.04) TEMP=-37.50*VOL+290; else if (VOL7.10)TEMP=-100.00*VOL+730.00 ; SetCtrlVal (panelHandle, PANEL_CURTEMP, TEMP); /温度输出TEMPUP=PID_PWM(); /PID函数调用 SetCtrlVal (panelHandle,PANEL_WEIZHI,TEMPUP);/PID返回数值输出,对用户隐藏SquareWave (1024, 5, F/1024, &Ph, 100+TEMPUP/*PID算法控制PWM参数*/, Wave);/产生方波DeleteGraphPlot (panelHandle, PANEL_GRAPH, -1, VAL_IMMEDIATE_DRAW); PlotY (panelHandle, PANEL_GRAPH, Wave, 1024, VAL_DOUBLE, VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_RED);AOGenerateWaveforms (1, 1, 1000.0, 1, 0, Wave, &AOtaskID); /方波进行输出,控制炉温实验箱加热与否break;return 0;开发出来的用户界面如下,这里PID参数如下:Kp为20,Ki为1.070 Kd为0.2 频率一般设定为50Hz四、 结论1、温度控制基本理论温度控制不像开关变量,要么全开,要么全关,是一个连续变化量。当被控温度低于目标值很大时,就需要全速加热,当温度接近目标值时,就必须减慢加热速度,否则就很容易造成温度严重超调,达不到温度控制效果。炉温实验箱一般只有输入控制是低电平时才会有进行加热,其余则是停止加热。因此,我们可以通过控制高电平和低电平的比例来控制加热速度(只要电压频率足够快,宏观上就是速度控制了),也就是所谓的PWM控制。控制算法有很多,而PID算法目前为止比较纯熟的一种,这里采用就采用PID算法,其运算结果转换成PWM输出,以达到控制效果。2、PID控制的原理和特点在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。P当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。 (1)比例(P)控制比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-state error)。 (2)积分(I)控制在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(System with Steady-state Error)。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。(3)微分(D)控制 在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。 自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。 五、 问题与讨论1、PID控制器的参数整定? PID控制器的参数整定是控制系统设计的核心内容,也是最困难的部份。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。现在一般采用的是临界比例法。利用该方法进行 PID控制器参数的整定步骤如下:(1)首先预选择一个足够短的采样周期让系统工作;(2)仅加入比例控制环节,直到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江苏宿迁豫智文化产业发展有限公司招聘工作人员拟聘考前自测高频考点模拟试题及答案详解(有一套)
- 2025年吉林工商学院公开招聘博士人才(3号)(24人)模拟试卷及答案详解(名师系列)
- 2025呼伦贝尔莫力达瓦达斡尔族自治旗卫生健康系统校园引进人才考前自测高频考点模拟试题含答案详解
- 2025湖南湘西自治州事业单位(医卫类)引进高层次急需紧缺人才考试考前自测高频考点模拟试题及完整答案详解一套
- 2025年上半年浙江湖州市交通投资集团有限公司招聘笔试题库历年考点版附带答案详解
- 2025广东佛山市顺德区公办中小学招聘教师92人(编制)考前自测高频考点模拟试题及答案详解1套
- 2025湖北咸宁市通城县城市发展建设投资(集团)有限公司招聘考前自测高频考点模拟试题有完整答案详解
- 2025年丽水庆元县卫生健康事业单位公开招聘专业技术人员11人考前自测高频考点模拟试题附答案详解
- 2025年河北唐山东方学校小学部招聘教师考前自测高频考点模拟试题及答案详解(名师系列)
- 2025北京市通州区马驹桥镇招考20人模拟试卷及答案详解(新)
- 消防水池挖槽施工方案
- 2025至2030中国血液辐照器行业项目调研及市场前景预测评估报告
- 九上第19课:法国大革命和拿破仑帝国-
- 医院电梯司机安全培训课件
- 云南省烟草公司2025秋招网申-申论题模板及答案
- 高一地理第一次月考卷02【测试范围:必修一第1~2章】(考试版)
- 2024年中国农业银行浙江省分行招聘真题
- 污水处理厂二次污染防治方案
- 广东省上进联考2025-2026学年新高三秋季入学摸底考试生物(含答案)
- 2025年沼液还田协议书
- 物业管理服务项目(某法院)方案投标文件(技术方案)
评论
0/150
提交评论