计算机控制技术课程设计实验报告-继电器水温控制系统.doc_第1页
计算机控制技术课程设计实验报告-继电器水温控制系统.doc_第2页
计算机控制技术课程设计实验报告-继电器水温控制系统.doc_第3页
计算机控制技术课程设计实验报告-继电器水温控制系统.doc_第4页
计算机控制技术课程设计实验报告-继电器水温控制系统.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

计算机控制技术课程设计论文 第 19 页 共 18 页计算机控制技术课程设计实验报告题 目: 继电器水温控制系统 院 (系): 电子工程与自动化学院 专 业: 自动化 学 号: 姓 名: 指导教师: 实验日期: 2011 年 9 月 16 日摘 要 在工农业生产和日常生活中,对温度的检测和控制有着非常重要的意义和实际应用。而计算机控制系统的应用发展,使得科学研究、工农业生产、工艺时间的效率大大的提高本设计是一个基于at89c52单片机的继电器自动水温控制系统,该系统具有实时显示、温度测量、温度设定功能并能根据设定值对环境温度进行调节实现控温的目的,控制算法基于数字pid算法。温度测量范围从0100 ,温度控制范围为2090,测量的精度为1,超调量小于5%,实验结果表明,本系统能较好地控制水温,满足我们的要求。关键词: 继电器;at89c52; 水温控制系统;pidabstract in the industry and agriculture production or the daily life, the temperature examination and control has a very vital significance and the practical application. and with the develop- ment of computer control system, the efficiency of scientific research、the industry and the agriculture production has get a big enhancement.this design is a relay automatic water temperature control system based on at89c52. it has the real time display, the temperature survey、hypothesis and can carry on the adjustme- nt according to the setting value. the control algorithm based on the digital pid algorithm. the temperature survey scope from 0+100 , the temperature control scope for 2090, the survey precision for 1, is smaller than over 5%. the experimental result indicated that this system can control the water temperature well, satisfies our request.key words: relay;at89c52; emperature control system; pid目 录引言11 课程设计概述11.1 课程设计题目11.2 设计要求:11.3 主要设备和芯片12 总体设计及方案论证:12.1 总体设计框图12.2 方案论证22.2.1控制电路的方案选择22.2.2测温电路方案的选择22.2.3软件算法方案选择23 硬件设计33.1 最小系统部分33.2 温度采集电路43.3 键盘、显示电路43.4 继电器执行控制电路53.5 串口与pc机通信电路64 软件设计与实现74.1 软件流程图74.2 控制算法pid115 系统调试115.1 最小系统部分调试115.2 串口与上位机通信部分调试115.3 继电器部分调试115.4 测温部分调试126 pid参数整定127 测试数据及结果分析138 结论13谢 辞14参考文献15附 录16 引言随着人们生活水平的提高,对生活环境的要求也越来越高,家用电器越来越趋向于自动控制控制乃至于智能控制,针对目前家庭的实际需要,自动水温控制系统比较方便实用,本文就通过51系列单片机来实现一种自动控制水温控制系统的设计。该系统能实时反映当前温度信息,通过液晶屏直观的显示给用户,用户可通过键盘自行设定温度,系统通过pid调节能使温度保持在预设定值。1 课程设计概述1.1 课程设计题目继电器水温控制系统。1.2 设计要求:用热敏元件设计测温电路;功率元件继电器进行交流电的功率调整;控制范围4090;控制精度1%;系统超调量5;通过键盘进行温度设置;实际温度可以实时显示。1.3 主要设备和芯片5v电源1台数字示波器1台普通万用表 1个继电器1个ds18b20测温元件;1个at89s52芯片,1片max232芯片,1片lcd1602液晶显示器;1个2 总体设计及方案论证:2.1 总体设计框图对题目进行深入的分析和思考,可将整个系统分为以下几个部分:测温电路、控制电路、功率电路和加热装置。系统框图如图1所示。图1 系统框图2.2 方案论证2.2.1控制电路的方案选择方案一:采用运放等模拟电路搭建一个控制器,用模拟方式实现pid控制,对于纯粹的水温控制,这是足够的。但是附加显示、温度设定等功能,还要附加许多电路,稍显麻烦。同样,使用逻辑电路也可实现控制功能,但总体的电路设计和制作比较烦琐。方案二:采用fpga实现控制功能。使用fpga时,电路设计比较简单,通过相应的编程设计,可以很容易地实现控制和显示、键盘等功能,是一种可选的方案。但与单片机相比,价格较高,显然大材小用。方案三:采用单片机最小系统同时完成控制、显示、键盘等功能,电路设计和制作比较简单,成本也低,是一种非常好的方案。 综上所述本设计采用方案三作为控制电路。2.2.2测温电路方案的选择方案一:采用热敏电阻作为测温元件。热敏电阻精度高,需要配合电桥使用,要实现精度测量需要配上精密较高的电阻。此外还需要制作相应的调理电路。方案二:半导体温度传感器作为测温元件,半导体温度传感器应用也很广泛,它的精度、可靠性都不错,价格也适中,使用比较简单,是一个较好的选择。综上所述本设计采用方案二作为测温电路。2.2.3软件算法方案选择方案一:采用模糊控制算法,对于一个典型的模糊控制系统,考虑它的输入信号有偏差和偏差变化率两种,输出信号为控制信号。根据测试经验,可选取三角型隶属函数,分为正大、正中、正小、正零、零、负零、负小、负中、负大,9个档次。然后根据控制规则列出规则基表。这种控制方法能够较精确的实现设计要求,但是考虑到单片机的存储量,和实时性,不采取这种尚未完全推广的控制方法。方案二:采用经典pid控制算法和根据实验数据分区间控制的算法,对于温度系统来说,被控对象没有精确的数学模型。热得快加热使得水温具有有热惯性,而且检测的实时数据是检测点附近的实时温度并不能完全体现1升水的实际温度,所以经典pid控制算法不能满足设计要求,还必须根据实验数据进行调整。这种控制算法基本能够满足设计要求,且通用性较强。本设计采用方案二作为控制算法。3 硬件设计整个系统以单片机at89s51为核心部件,在51最小系统外围添加了温度检测、键盘输入、液晶显示部分以及继电器构成的执行部件。3.1 最小系统部分设计选择的单片机芯片是at89s51。at89s51具有如下特点:4k bytes flash片内程序存储器,128 bytes的随机存取数据存储器(ram),32个外部双向输入/输出(i/o)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(wdt)电路,片内时钟振荡器。p3.4作为继电器控制端口;p3.5作温度检测元件输入端口;p1口键盘扫描端口;p0口作lcd液晶显示数据输入端口p3口作为上位通信串口输入端。图2 最小系统部分3.2 温度采集电路ds18b20温度传感器简介:ds18b20为单线数字温度传感器,支持“一线总线”接口,大大提高了系统的抗干扰性,应用于温控控制、工业系统、消费品、温度计或任何热感测系统。ds18b20具有以下特性:1、 零待机功耗;2、 无需外部器件;3、 可通过数据线供电;4、 温度以9位数字量读出;5、 独特的单线接口仅需一个端口引脚进行通讯;6、 测温范围-55+125,在-10+85内,精度为0.5。 测温电路设计:电路采用温度传感器ds18b20,可直接输出数字量,单线器件和单片机的接口只需一根信号线,所以本设计的硬件电路十分简单,容易实现。能达到0.5c的固有分辨率,使用读取温度暂存寄存器的方法能达到0.2c以上的精度。 18b20连接电路图如图3所示图3 温度采集电路3.3 键盘、显示电路在键盘输入方面,选用常用的44扫描键盘,分别用作pid模式选择、温度设定值输入、确定或取消设置。在显示方面,选用了常用的显示容量为162个字符的液晶显示模块lcd1602。通过相应的软件编程,可以实现比较美观和丰富的显示界面。模块连接电路图如图4所示。 图4 键盘、显示电路3.4 继电器执行控制电路通过给i/o端口高低电位来控制继电器的通断,继而控制热得快加热的占空比(平均功率),以达到控制水温的目的。电路设计如下图5 继电器控制电路其中,三极管npn9014为控制开关作用,当输入高电平,npn饱和导通,继电器线圈通电,触电吸合,使220v电源接通。反之,当输入低电平,npn截止,继电器线圈断电,触点断开。电阻r19为限流电阻,主要起限流作用,降低晶体管t1的功耗。电阻rxl使晶体管有效截止。d1为续流二极管(本设计采用in4007),其作用是保护npn,当继电器吸合, d1截止,不影响电路工作。继电器释放时,由于继电器线圈存在电感,这时npn已经截止,所以会在线圈的两端产生较高的感应电压。此电压的极性为上负下正,正端接在npn的集电极上,当感应电压与vcc之和大于npn三极管的集电极反向电压时,npn可能损坏,加入二极管,继电器线圈产生的感应电流从二极管流过,使三极管npn得到保护。3.5 串口与pc机通信电路随着计算机技术的快速发展和广泛应用,上位机和下位机的主从工作方式为工业控制以及自动控制系统 所采用。由于pc机分析能力强,处理速度更快及单片机使用灵活方便等特点,所以一般将pc机作为上位机,单片机作为下位机,二者通过rs-232接收、发送数据和传送指令。单片机可单独处理数据和控制任务,同时也将数据传送给pc机,由pc机对这些数据经行处理或显示。51单片机有一个全双工的串行通讯口,利用其rxd和txd与外界进行通信。单片机串口有3条引线:txd发送数据、rxd接收数据、gnd信号地。因此在通信距离较短时可采用零modem方式,简单三线连结构。pc机有两个标准的rs-232串行口,其电平采用的是eia电平,而51单片机的串行通信是由txdrxd来进行全双工通信的,它们的电平是til电平;为了pc机与51单片机之间能可靠地进行串行通信,需要电平转换芯片,这里采用max232芯片进行转换。该部分电路作为拓展应用,电路如图6所示。图6 串口与pc机通信电路综上所述,本着简单、实用的原则,最后选用了一个比较典型的硬件方案:测温电本路选用ds18b20集成数组测温电路;控制芯片采用常见的at89s51,显示方式采用162字符液晶显示器1602键盘采用4x4按键4 软件设计与实现4.1 软件流程图本设计实现对1l左右水的温度的测量并用液晶显示,使待测水温的静态误差在1c范围以内。温度设定范围为20100c,最小区分度为1c,标定温差1c。同时当水温达到设定值时在环境温度降低时温度控制的静态误差1c。主程序流程图如图10所示,实现对范围、温度值的设定,执行、显示实时温度。控制算法流程图如图12、图13所示,实现对温度的控制图4-1 系统主程序流程图图4-2 温度采集与控制子程序图4-3 pid算法子程序图4-3 加热控制量自校正子程序4.2 控制算法pid由于该系统为闭环控制系统,故可采用pid控制算法。在计算机控制系统中,pid控制规律的实现必须用数值毕竟的方法,当采样周期相当短时,用求和代替积分,用后向差分代替微分,使模拟pid离散化为差分方程。由于该系统需要采取pwm的脉宽周期作为控制量,故采取数字pid增量型控制算法。数字pid增量型控制算式:式中,为比列系数;=为积分系数;本设计中,控制参量为热得快的加热时间5 系统调试首先对硬件初步检查:检查原理图与pcb图是否一致;原理图与器件的引脚是否一致;用万用表检查是否有虚焊,引脚短路现象。确定无误再进行各模块调试,软件的调试和硬件调试配合进行。5.1 最小系统部分调试最小系统包括晶振和复位电路,按键电路,液晶显示电路等。给整个系统上电,指示灯led点亮,说明整个系统供电正常;用万用表测量at89s51的各个供电管脚也正常,能正常复位。再给单片机写入各个模块的调试程序,调试程序包括按键处理、液晶显示部分。5.2 串口与上位机通信部分调试通过串口给单片机下载简单的检测程序,若能下载,则表示通信部分正常工作。5.3 继电器部分调试首先进行初步检测:系统上电后,用杜邦线将继电器输入端口接入5v高电平,再断开,再接入5v高电平,如此往复,听到继电器发出滴答声。电路基本正常。接着给单片机写入调试程序,调试过程中,发现继电器不能工作,推断原因为端口电流太小,后尝试把npn三极管改为pnp三极管,还是不能工作,该端口加个1k上拉电阻,继电器依然不工作,后来换回原来的npn三极管,继电器部分可以正常工作。5.4 测温部分调试调入18b20测温及显示程序,观看液晶显示部分能否实时显示正确温度,一般就直接测室温的温度,看其是否准确即可。后来把包好的18b20放到水中测温的时候,由于包得不够好,导致几个都无法测正确的温度。所以测温传感器放到水中前务必包好。6 pid参数整定总结pid参数整定方法:1、 加温很迅速就达到目标值,但是温度过冲很大: 比例系数太大,致使在为达到设定温度前加温比例过高; 微分系数过小,致使对对象反应不敏感;2、 加温经常达不到目标值,小于目标值的时间越多; 比例系数过小,加温比例不够 积分系数过小,对恒温偏差补偿不足;3、 基本上能够在控制目标上,但上下偏差偏大,经常波动; 微分系数过小,对即时变化反应不够快,反映措施不力; 积分系数过大,使微分反应被淹没钝化; 设定的基本定时周期过短,加热没有来得及传到测温点;4、 受工作环境影响较大,在稍有变化时就会引起温度的波动: 微分系数过小,对即时变化反应不够快,不能及时反映; 设定的基本时周期过长,不能及时得到修到;一般的生产过程都具有较大的时间常数,而数字pid控制系统的采样周期则是要小得多,所以数字调节器的参数整定,完全可以按照模拟调节器的各种参数整定方法进行分析和综合。但是,数字控制器和模拟调节器相比,除了比例系数kp、积分时间ti和微分时间td外,还有一个重要的参数就是采样周期t需要很好的选择。合理的选择采样周期t,也是数字控制系统的关键问题之一。由香农采样定理可知,当采样频率的上限为fs2fmax时,系统可真实地恢复到原来的连续信号。从理论上讲,采样频率越高,失真越小,但是从控制器本身而言,大都是依靠偏差信号e(k)进行调节计算。当采样周期太小时,偏差信号e(k)也会过小,此时计算机将会失去调节作用。采样周期t过长又会引起误差。因此,采样周期t必须综合考虑。对于本次的温度控制系统的设计来说,影响其重要的因素就是滞后了。到图书馆查书得知:采样周期t与纯之后时间t基本相等,这样控制的效果才比较好。又由于那热的快控制,18b20离热的快的距离不一样,滞后的时间也不一样。所以我们设计了可以设定采样周期的程序,这样随时都可以调节其采样周期的长短,以达到比较好的控制效果。在温度控制中,我们不仅要看它的超调量,还要看它掉下来的时候的那个波。为了能够使散热快点,所以我们设定的温度都比较高。这样调参数的时候可以省不少的时间,控制的效果也比较明显的看到。下面是我们在调节pid参数时,所记录的一些数据。为了减小纯滞后的时间,我们将18b20放在热得快的附近,传导热量也是比较快的。如果控制效果不好的话,我们可以修改采样周期,再另行调节pid参数,以达到较好的效果。7 测试数据及结果分析测量仪器:水银温度计,500w热得快,环境温度c。测量结果:如下表所示。设定温度(c)40607090超调温度(c)40.56170.8无变化范围(c)39.840.559.361.069.070.889.089.5由以上测量可见,系统性能基本上达到了所要求的指标。静态测温的精度主要有ds18b20决定。ds18b20的精度比较高,这里采取了读取温度寄存器办法,测温精度能够达到0.2c,可以达到比较好的精度。在控温指标中,影响系统性能的因素非常多。最关键的是加热系统本身的物理性质及控制算法。由于传感器必须加上防水设施,因此温度传感器难免会有迟滞,热得快本身的延迟,水对流传热等因素也会造成测温的延时,这些都会直接影响系统的控制性能。控制算法方面,需反复试验比较,在上升时间和超调量之间作权衡,选出较好的pid系数。整个系统的设计思想是提高静态控温精度,减小调节时间和超调量。整个系统综合有如下几个特点:1、通过ds18b20集成温度传感器减少了a/d转换电路,简化了电路结构。2、在电路设计中充分考虑了系统的可靠性和安全性。通过精心调试达到基本功能指标,动态性能也达到较好的要求。8 结论通过这次的程设计,使我对计算机控制有了更深刻理解,对实际经验的不足导致在设计过程中出现了不少的问题。调试过程中得到了老师的耐心指导,在此表示衷心感谢。同时,也感受到了团队协作的重要性!谢 辞在这次计算机控制课设的设计的过程中,得到了指导老师与同学的很多帮助。非常感谢我的老师耐心地给我分析不懂的问题,给我提出的宝贵的意见。也感谢给予我帮助,并协助我调试系统的同学们。没有你们,这个继电器水温控制系统不会这么顺利地实现。谢谢你们!最后,谨向百忙之中抽出宝贵时间审阅论文的老师表示由衷的谢意!参考文献1 潘新民 编著 微型计算机控制技术 电子工业出版社 20102 何有才 编著 常用传感器应用电路的设计与实践 科学出版社 20073 童诗白 主编 模拟电子技术基础(第四版) 高等教育出版社 20064 胡寿松 主编 自动控制原理(第五版) 科学出版社,20025 例说51单片机附 录pcb图键盘:系统部分核心程序:(1)pid三种算法程序:sbit pid_out=p10; /pid输出,控制继电器unsigned char get_t_flag;int pid_p=10; / 比例常数 proportional const int pid_i=1; / 积分常数 integral const int pid_d=10; / 微分常数 derivative const int old_e; /上次偏差int now_e; /本次偏差int sum_e; / 偏差和int d_e; /偏差差,微分int now_t,now_ts; /实际温度int old_t;int get_t_count=0;int out_count=0;int heat_time;/* !标准pid算法!*/ int normal_pid(int set_t) /读取pid参数和计算 now_ts=readtemperature()%10000/10;if(now_ts200)now_t=now_ts;/获取温度now_e=set_t*10 - now_t; /当前偏差sum_e+=now_e; /积分项求和d_e=now_e-old_e; /微分项求差 old_t=now_t; /保存上次温度值old_e=now_e; /保存上次偏差值if(now_t(set_t*10) pid_i=20;else pid_i=1;return(pid_p*now_e+pid_i*sum_e+pid_d*d_e)/100; /比例项 /积分项 / 微分项 /* !变速积分pid算法!*/ int speed_change_pid(int set_t) now_t=readtemperature()%10000/10;now_e=set_t*10 - now_t; sum_e+=now_e; /积分项求和d_e=now_e-old_e;/微分项求差 old_t=now_t; /保存上次温度值old_e=now_e; /保存上次偏差值pid_p=300;pid_i=(set_t*10-200)-now_e); /得到0e的值,40度时,0200/-对应pid_i随偏差的减小而增大-/return (pid_p*now_e+pid_i*sum_e/10+pid_d*d_e)/100; /比例项 /积分项 / 微分项 /* !开关控制+pid算法!*/ int switch_and_pid(int set_t) now_t=readtemperature()%10000/10;/获取温度now_e=set_t*10 - now_t; /当前偏差if(now_e=30) /偏差300) out_count=0; /pid最大值300if(out_countheat_time) pid_out=0; /加热else pid_out=1; /不加热if(heat_time=0) pid_out=1; /不加热th0=60536/256; tl0=60536%256; /定时中断初值,中断一次5ms/* !pid初始化!*/ void pidbegin() tmod=0x01; th0=60536/256; tl0=60536%256; /定时5ms ea=1; et0=1; tr0=1; /开定时中断0 (2)部分主程序19void main() /主程序 initlcd(); /液晶初始化pidbegin(); /pid初始化delay1ms(10);init_set();set_ts=set_t*10;while(1) if(get_t_flag=1) /2s采样1次 get_t_flag=0; now_ts=readtemperature()%10000/10; if(now_ts200) now_t=now_ts;/获取温度 if( (now_tset_ts)& (now_t-set_ts)4) ) heat_time=0; if( (now_t5) ) heat_time=0; if( (now_t10) ) heat_time=20; if( (now_t30) ) heat_time=100; if( (now_t50) ) heat_t

温馨提示

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

评论

0/150

提交评论