




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机化仪器综合设计与实践实验指导书李扬 周琦广东工业大学机电工程学院2015 6月印刷目录实验六 基于PID算法的可控硅水温自动调节系统设计一、实验目的和要求1.掌握虚拟仪器高级语言Lab VIEW 或Lab Windows/CVI 的流程图和软仪器面板的编程设计方法,熟悉数据处理模块、信号分析模块、仪器控制模块等各种软件模块的应用。2掌握数据采集硬件的低层驱动程序(C 语言/汇编语言)设计、调试及嵌入Lab VIEW 的技术。3.学习基于PID的比例积分微分程序编写方法。4.了解可控硅的的温度控制特点和原理。5.熟悉CB-68LP接线端子板各接口,利用CB-68LP端子板和PCI-6023E数据采集卡进行模拟量和数字量的转换及相关数据采集。二、实验主要仪器设备和材料(1)装有lab windows/CVI 软件PC 一台(2)PC-DAQ/PCI 卡(3)CB-68LP端子板(4)变送器(型号 SBWZ-2460)(5)可控硅(6)热电偶三、实验内容和要求1、实验内容1)、对水温进行数据采样:先把水温加热至某个温度值(100左右,利用万能表测试相应引脚的输出电压,温度每下降1 摄氏度,就马上记录输出电压值。2)、对采样数据进行处理:通过观察可知,电压与温度不成线性关系,是一条曲线,因此,本设计采用分段直线拟合。得出电压与温度的对应关系。3)、用户界面设计:用Lab windows/CVI 软件进行用户界面开发,并进行编程。具体程序见后面。4)、进行调试:把PC 和其他设备连接好,测试程序,设置PID 参数,观察控制效果,确立PID 参数。5)、重新对数据采样:开始采样时,因为温度和电压值都不断发生变化,而温度计显示变化相对于电压变化有一定的滞后,造成微机上温度显示数值比温度计发生一定量的偏移,造成较大误差。因此,此次采样利用刚开发的程序控制炉温恒定,观察电压变化范围,记录多个电压值,求其平均值。但只需要对部分温度采样就可以了,因为这里采用线段拟合成曲线,只需要线段的端点数据就可。6)、重新调试程序,并完善用户界面。2、程序如下:#include #include #include #include #include #include PID.hStatic int panelHandle;Static double Wave 1024;Static double Temp 1024;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.00SetCtrlVal (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;1、 开发出来的用户界面如下,这里PID参数如下:四实验器材介绍及线路接口1.CB-68PL端子板 实物图 接线图接线说明:上图是CB-68LP端子板引脚图,下面是对其接线作简要说明。 AI为模拟信号输入端口,当选择单端测量方式时,接线方式就是把信号源的正端接入AI n(n=0,1,15)、信号源的负端接入AI GND; 当选择差分测量方式时,接线方式是把信号源的正端接入AI n(n=0,1,7)、信号源的负端接入AI n+8。 例如,单端时,通道0的正负接入端就分别是AI 0和AI GND;通道1的正负接入端就分别是AI1和AI GND; 差分时,通道0的正负接入端就分别是AI 0和AI 8;通道1的正负接入端就分别是AI 1和AI 9。 PI0.0P0.7为8个数字信号输入通道,可以通过软件设置每个数字通道为输入或者输出,对应开关量和输入输出。 PCI-6023E有2个计数器:CTR0和CTR1,如果计数器信号只有1个,希望实现简单的计数功能,那么只需要把计数器信号接到CTR 0 SRC或者CTR 1 SRC即可。 (本实验只用到4个接口,分别是:模拟接地67,模拟输入33,数字接地,数字输出)2.变送器(SBWZ-2460)变送器(transmitter)是把传感器的输出信号转变为可被控制器识别的信号(或将传感器输入的非电量转换成电信号同时放大以便供远方测量和控制的信号源)的转换器。传感器和变送器一同构成自动控制的监测信号源。不同的物理量需要不同的传感器和相应的变送器。变送器的种类很多,用在工控仪表上面的变送器主要有温度变送器、压力变送器、流量变送器、电流变送器、电压变送器等等。下图为我们此次课设所用的变送器规格及功能特点: 输出:420mA (可以做0-5V 0-10V )精度 :0.5%电源:24VDC 温度范围:0500100 0150 0200 0300 0400适用范围:可以接收热电阻或各类热电偶输入,可直接安装于温度传感器接线盒内,并标出标准电压电流信号功能特点:变送器信号电源同为两根普通导线,节省了热电偶专用补偿导线,降低了线路干扰带来的误差。体积小巧、安装方便、精度好,抗干扰,稳定性好;免维护外部可直接调整零点和满度。电流信号输出,传输距、远,缩短了仪表与传感器的距离,降低线路干扰带来的误差。主要技术指标:极限28 mA输入范围:热电阻:Pt100 0-150度熔断检测:上限(标准)温度漂移:0.2%/冷端补偿:0501调整方式:电位器负载能力:0500输出:420mA (可以做0-5V 0-10V 价格另议)精度 :0.5%电源:24VDC温度范围:0500100 0150 0200030004003可控硅 可控硅,是可控硅整流元件的简称,是一种具有三个PN结的四层结构的大功率半导体器件,亦称为晶闸管。具有体积小、结构相对简单、功能强等特点,是比较常用的半导体器件之一。该器件被广泛应用于各种电子设备和电子产品中,多用来作可控整流、逆变、变频、调压、无触点开关等。家用电器中的调光灯、调速风扇、空调机、电视机、电冰箱、洗衣机、照相机、组合音响、声光电路、定时控制器、玩具装置、无线电遥控、摄像机及工业控制等都大量使用了可控硅器件。本次实验所用到的可控硅规格型号如下: 输入电压:交流220V电压调节:交流50V220V最大功率:2000W最大电流:25A(说明:我们在使用该可控硅时,并没有采用调压旋钮,而是把旋钮卸下换上接线柱并接入我们设计好的电路中,利用PWN的高低电平触发使电路在某个设置的温度进行通断电,从而实现水温控制。)适用于:使用新型双向大功率可控硅,因为电流可达25A,很好的解决了电炉丝在冷却的情况下电阻太小从而引起的过流问题;能很方便的调整市电的输出电压,在50-220伏之间任意调整,供用电器使用。如:电炉,热水器的调热、灯具的调光、小电机调速、电烙铁调温等。从而达到调光,调温,调压的效果。可供用电功率小于2000瓦的大型电器使用由于功率已经很大,所以一般的家庭电器或是小型工厂足够用。(适用于:使用新型双向大功率可控硅,因为电流可达25A,很好的解决了电炉丝在冷却的情况下电阻太小从而引起的过流问题;能很方便的调整市电的输出电压,在50-220伏之间任意调整,供用电器使用。如:电炉,热水器的调热、灯具的调光、小电机调速、电烙铁调温等。从而达到调光,调温,调压的效果。可供用电功率小于2000瓦的大型电器使用由于功率已经很大,所以一般的家庭电器或是小型工厂足够用。五、实验方法、步骤及结果测试1、温度控制基本理论温度控制不像开关变量,要么全开,要么全关,是一个连续变化量。当被控温度低于目标值很大时,就需要全速加热,当温度接近目标值时,就必须减慢加热速度,否则就很容易造成温度严重超调,达不到温度控制效果。炉温实验箱一般只有输入控制是低电平时才会有进行加热,其余则是停止加热。因此,我们可以通过控制高电平和低电平的比例来控制加热速度(只要电压频率足够快,宏观上就是速度控制了),也就是所谓的PWM控制。控制算法有很多,而PID算法目前为止比较纯熟的一种,这里采用就采用PID算法,其运算结果转换成PWM输出,以达到控制效果。2、PID控制的原理和特点在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。P当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。(1)比例(P)控制比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-stateerror)。(2)积分(I)控制在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(SystemwithSteady-stateError)。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。(3)微分(D)控制在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 科级护理管理组织
- 重症超声右心功能评估
- 垃圾处理设施安全责任书废物处置与环境保护版
- 高科技园区场地租赁及配套设施建设合作协议
- 商业大厦清洁服务外包合同
- 高强度不锈钢驳接爪研发与市场推广协议
- 多元化餐饮业态合伙人合作协议范本
- 公共停车场场地使用与管理合同范本
- 民宿产业场地无偿使用协议
- 创新型产业园区厂房土地使用权转让合同
- 网络游戏代理合同通用版范文(2篇)
- SH/T 1485.4-1995工业用二乙烯苯中特丁基邻苯二酚含量的测定分光光度法
- GB/T 38807-2020超级奥氏体不锈钢通用技术条件
- GB/T 27773-2011病媒生物密度控制水平蜚蠊
- 质量风险识别项清单及防控措施
- 2022年石家庄交通投资发展集团有限责任公司招聘笔试试题及答案解析
- 中国华电集团公司信访事项处理程序
- 特种设备制造内审及管理评审资料汇编经典版
- EDI超纯水系统操作说明书
- 金属监督监理实施细则
- 2022年镇海中学提前招生模拟卷科学试卷
评论
0/150
提交评论