ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:256.29KB ,
资源ID:5219476      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5219476.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(智能水温控制系统.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

智能水温控制系统.docx

1、智能水温控制系统智能水温控制系统摘要:为了实现水温控制系统的设计要求,通过对各个模块电路方案的比拟和论证,最后确定了以STC89C52单片机为核心的硬件电路,选用DS18B20温度传感器测量水温。该系统具有实时显示、温度测量、温度设定并能根据设定值对水的温度进展调节和控温的目的以与达到上限温度的报警功能,控制算法是基于数字PID算法,在设定温度发生突变时,可自动打印水温随时间变化的曲线。关键词:AT89C52单片机、PID算法、温度测量和控温随着微机测量和控制技术的迅速开展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。本设计论述了 一种

2、以STC89C52单片机为主控制单元,以DS18B20为温度传感器的温度自动控制系统。该控制系统可以根据设定的温度,通过单片机控制继电器开启和关闭,从而控制水泥电阻的加热和停止。硬件电路主要包括STC89C52单片机最小系统、稳压电路、DS18b20测温电路、键盘电路、锁存器SN74HC573、MT05011AR数码管显示电路、继电器电路,加热模块电路等。系统程序模块主要包括主程序控制模块,温度处理子程序模块、按键处理程序模块、锁存器控制模块、数码管显示模块。一、设计任务 设计并制作一个水温自动控制系统,控制对象为500ml净水,容器为搪瓷器皿。水温可以在一定X围内由人工设定,并能在环境温度降

3、低时实现自动控制,以保持设定的温度根本不变。 1温度设定X围为2070oC,最小区分度为1oC,标定温度1oC。 2用十进制数码管显示水的实际温度。3采用适当的控制方法,当设定温度突变比如:由50oC提高到60oC时,减小系统的调节时间和超调量。4温度控制的静态误差1oC(达到发挥局部的要求)5在设定温度发生突变时,自动打印水温随时间变化的曲线。二、整个系统分为以下几个局部:温度采样局部、控制电路局部、加热装置以与串口通信局部。采用温度传感器DS18B20,测温X围-55oC +125o,被测温度用符号扩展的16位数字量方式串行输出远端引入。此器件具有体积小、质量轻、线形度好、性能稳定等优点其

4、各方面特性都满足此系统的设计要求。采用STC89C52单片机作为主控芯片。STC89C52是一个超低功耗,高性能的51内核的CMOS 8位单片机,片内含8KB空间的可反复擦写1000次的Flash只读存储器,具有512bytes的随机存取数据存储器RAM,32个I/O口,两个16位可编程定时计数器。且该系列的51单片机支持串口下载和串口调试。所以我们选择了方案2。控制与显示电路是反映电路性能、外观的最直观局部,所以此局部电路设计的好坏直接影响到电路的好坏。设计的系统中,共三个按键:菜单键和温度设定的“+、“-控制键。对菜单键按键一次,进入温度设定状态,通过连按“+、“-控制键来设定温度,数码管

5、显示设定的温度值;对菜单键连按键两次,进入温度测量状态,数码管显示当前的实际水温。采用螺旋加热管。可将螺旋加热管固定到容器内部,通电加热时能使水在容器内形成对流,加热功率相对较高,加热较均匀,使得测量误差较小。对温度控制的精度要求较高UART通信,是异步串口通信,在通信时只需要数据线,只需要知道发送数据的波特率,编程时设置好位长度即可。UART通讯编程简单,通讯速度远比IIC快,可以直接使用RS485延伸通讯距离达到1km,通讯速度很容易做高。所以本实验中,采用UART通信将数据传输给电脑。采用经典PID控制算法和根据实验数据分区间控制的算法,对于温度系统来说,被控对象没有准确的数学模型。用螺

6、旋加热器加热使得水温具有热惯性,采用补氧设备往水里参加空气,使水的上下温差变得非常小,故检测的实时数据根本能完全表现500ml水的实际温度,所以经典PID控制算法中的P能满足设计要求,但必须根据实验数据进展调整。三、系统总体方案设计此方案采用STC89C52单片机系统实现,键盘输入温度设定值,用数字温度传感器DS18B20采集准确的温度,数码管显示设定温度值和水温实测值,加热装置采用固态继电器控制,当水温超过设定值时蜂鸣器报警。图1 温度控制系统框图四、硬件电路设计 一种电路是采用单线数字温度传感器DS18B20,可直接输出数字量,单线器件和单片机的接口只需一根信号线,所以本设计的硬件电路十分

7、简单,容易实现。使用读取温度暂存存放器的方法能达到oC以上的精度。18B20连接电路图如图2所示图2 温度采集电路由于本系统要控制加热管,功率较大,因此要借助功率电路。使用继电器可以很容易的通过较高的电压和电流,在正常条件下,工作十分可靠。使用电磁继电器电路的实现十分简单,而且还可以实现较为准确的控制,是比拟好的一种方式。DS18B20测温芯片传送温度数据单片机的I/O口P2.5。对加热管通断的控制采用SSR固态继电器,SSR是半导体继电器,所以较小的驱动功率即可使SSR工作。它的使用非常简单,且响应时间短,对系统干扰小。只要在控制台端加上一个TTL、CMOS电平或光耦,即可实现对继电器的开关

8、。其电路图如下所示。图3 图4P2.0接KEY1,P2.1接KEY2,P2.2接KEY3。KEY1:菜单键,共有两种模式:温度重新设置、当前所测温度。KEY2: 温度设置“+。KEY3:温度设置“-。图5系统上电后,数码管全部显示为当前所测温度值,根据按KEY1次数,假如按键一次,进入温度设定状态,通过连按“+、“-控制键来设定温度,数码管显示设定的温度值;假如连按两次,进入温度测量状态,数码管显示当前的实际水温。由于温度变化X围是4070oC,所以选用两个数码管显示温度。数码管采用共阳极,经过1K的电阻限流后与单片机连接,由单片机I/O口P3对数码管进展位选。 蜂鸣器通过一个三极管来驱动,这

9、里选用PNP型三极管,电路图如下图6系统设计要求控制系统能同PC联机通信,以利用PC图形处理能力打印显示温度曲线,故使用了STC89C52的异步串行端口UART实现与PC通信。由于STC89C52串行口电平和PC不一致,STC89C52的I/O为TTL电平,PC串行口为RS232电平,使用一片MAX232为进展电平转换驱动。通信速率为9600波特率。数据5秒传输一次。电路图如图7所示,MAX232的RXD1和TXD1分别接STC89C52的P3.1(TXD)和P3.0(RXD)。图7 串行通信电路UART模块提供了一个全双工标准通信口,用于完成STC89C52与外设之间的串行通信。根据RS-2

10、32的标准,STC89C52单片机也是按照字节传输数据的。UART还可以带缓冲接收数据,即可以在读取缓存器数据之前接收新的数据。但是,如果新的数据被接收到缓存器之前一直未从中读取,先前的数据会发生数据丢失。SBUF用于接收和发送数据的缓存,向该单元写入数据,将发送的数据送入缓存器;读该单元取数据,可以从缓存器读出接收到的单字节数据。UART模块的接收管脚Rx和发送管脚Tx分别与共用。五、系统软件设计任何一个系统的软件设计都离不开硬件电路的连接,本课题硬件设计的高度模块化决定了软件设计的模块化。本程序结构包括:主控程序模块、键盘扫描与处理子程序、LED显示子程序、采样数据处理子程序、PID算法子

11、程序、串口通信并打印曲线图等子程序几个局部。结构框图如图8。主控程序模块在整个结构中充当管理者,管理所有子程序的调用,就相当于个人计算机的操作系统。它主要负责初始化各个I/O口,等待键盘事件的发生,并作出相应的处理。并在适当的时候调用数据采样程序,并将采样到的数据与键盘设定值比拟。再通过PID计算后用以控制继电器的开断,从而控制加热管的输出功率,来达到水温的调整,并将实测的水温数据上传给电脑,利用PC图形处理能力打印显示温度曲线。图8 程序结构图程序流程图与局部程序程序按照模块化设计,所有功能都可通过调用子程序完成,主程序较简单,流程图如图9所示。/*本设计系统是18b20温度报警系统数码管显

12、示,可设置温度上限高温报警和下限低温报警,报警温度可准确到1度,并具有掉电保存功能,数据保存在单片机内部EEPOM中,进入设置界面后如果没有键按下系统会在15秒后自动退出设置界面,人性化的按键设置,按键还具有连加、减功能。*/void main() UART_init();time_init(); /初始化定时器0 read_eepom();if(a_a = 0xff)从主程序中可以看出,在进展一系列程序调用之前对系统进展初始化,然后进入while循环,重复以下步骤:执行键盘程序,对键值进展处理。进而调用加热函数,用PID算法,来控制继电器对加热器的关断,实现温度控制。同时执行数码管显示程序,

13、实现温度的实时显示。当设定温度与实际温度相差较大时,调用打印函数,与电脑进展串口通信,利用PC机图形处理能力打印显示温度曲线。系统的初始化主要包括I/O口的初始化,键盘初始化,定时、中断初始化,串口初始化等等。以如下出局部初始化程序/串口初始化/1)由于机械触点有弹性,在按下或弹起按键时会出现抖动,从最初按下到接触稳定要经过数毫秒的弹跳时间,如下列图。为了保证探险键识别的准确性,必须消除抖动。消抖处理有硬件和软件两种方法:硬件消抖是利用加支抖动电路滤防止产生抖动信号;软件消抖是利用数字滤波技术来消除抖动。我们采用软件的方法,利用主程序循环扫描,主程序每循环一次扫描到的键值一样时,如此说明是某键

14、按下。2)键值处理/*按键处理数码管显示函数*/设置上下阈值/5.5 PID算法由于单片机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,因此式1中的积分和微分项不能直接准确计算,只能用数值计算的方法逼近。在采样时刻t=iT(T为采样周期)。式1所示的PID调节规律可通过数值公式2近似计算。由式2可以得到:由2-3可得增量式算法公式:/* * PID计算局部 */ 继电器是和STC89C52单片机的P2.5口相连的,它的开断完全取决于P2.5口的输出,即PID计算的结果。当输出小于零说明设定值小于实际输出值,这是就要关闭加热管,同时关闭定时器B的计时。根据设定温度与实际温度的差值改变

15、加热的延时时间。显示窗口:六、数据测量与分析准备阶段:1搪瓷水杯中接500ml的水,将螺旋加热管、数字温度传感器固定在水杯中,继电器接220V交流电源,系统4.5V直流供电。工作阶段:2系统默认温度为50oC,假如不做任何操作,可自动将水加热到50oC,然后继电器断开,停止加热。整个过程中,数码管实时显示水温。 3共三个按键:菜单键和温度设定的“+、“-控制键。对菜单键按键一次,进入温度设定状态,通过连按“+、“-控制键来设定温度,数码管显示设定的温度值;假如15秒内没有按键“+或“-,数码管自动显示当前实际水温,否如此显示设定温度值。假如对菜单键连按键两次,进入温度测量状态,数码管显示当前的

16、实际水温。完毕阶段:4先断开继电器电源,再断开系统电源,将温度传感器和加热管取出。将实验设备整理好。仪器设备:PC机、数字万用表、精细温度计量程是0-100,分度值是1/5,1动态温度测量测量方式:将数据线接入控制仪,将容器中装入500ml室温的水,设定控温温度。记录调节时间、超调温度、稳态温度波动幅度等。测量仪器:精细温度计量程是0-100,分度值是1/5,DS18B20,秒表,PC机。测量结果:如下表所示设定温度5055606570超调量(11233变化X围50505455596064666972根据测量结果,控制的最大动态误差2,系统达到稳态的时间5min。2静态温度测量测量方式:断开电

17、源,往容器里参加500ml一定温度的水,连接好装置。保持环境温度和其测量条件不变,接通电源,任意设置几组目标温度,利用精细温度计测量水温,与数码管显示的水温进展比拟。测量仪器:精细温度计量程是0-100,分度值是1/5,DS18B20,秒表,PC机。测量结果:如下表所示1目标温度 55时间t(min)0306090120150180测量温度55555454555555误差00110002目标温度 70时间t(s)0306090120150180测量温度70697172717170误差0112110误差分析:温度计和DS18B20反响的灵敏度不同,且测量的是不同位置的水温。此误差均在1以内,且没

18、有规律性,所以不再软件补偿温度值。系统测量的静态误差1,系统达到稳态的时间为5min。由以上测量可见,系统性能根本上达到了所要求的指标。静态测温的精度主要由DS18B20决定。DS18B20的精度比拟高,这里采取了读取温度存放器方法,本系统中温度最小区分度选择1oC,比拟符合系统要求。在控温指标中,影响系统性能的因素非常多。最关键的是加热系统本身的物理性质与控制算法。由于温度传感器难免会有迟滞,螺旋加热器本身的延迟,水对流传热等因素也会造成测温的延时,这些都会直接影响系统的控制性能。控制算法方面,需反复试验比拟,在上升时间和超调量之间作权衡,选出较好的PID系数。七、总结此设计是水温控制系统,

19、首先是方案的选择。网上相关的资料很多,但不是每个都适合,这就需要甄选。最后定下来的方案都是经过综合各种资料而成的。接下来是制作单片机最小系统,由于以前的实验有过经验,因此在复习了相关知识之后,就很容易上手了,根本上没遇到什么困难。但需要注意的是元器件的排版,要为以后添加的器件留下空间,最后可适当考虑美观的问题。体会就是,制作板子的时候一定要统筹安排。电路焊好后,接上电源,通过数据线连接电脑下载编好的程序,进展调试。再接下来是添加单元电路,并进展调试。调试过程中,遇到不少问题,主要是经验不足,经过不断的查找资料,修改调试,问题根本上得到了解决。体会就是,系统要有良好的控制效果,其前端采集温度信号

20、并放大需要足够准确,其次系统的构成要简单实用,实时监控系统状态参数,并且运用多种算法使得数据更为接近真实值。此次系统设计中遇到的难题有1.参量的设定,由于加热管的加热惯性,会导致温度加热过快超过设定温度值。对于本系统来说参数设定只能使用经验凑试。调试的时候一定要耐心,细心。2.串口通信局部的程序设计,由于第一次接触这方面的内容,串口通信过程中出现了各种问题,经过不断的尝试和参考相关资料,最终根本上达到了题目要求中的发挥局部要求。团队的协同合作是相当重要的,有时候1+12的作用。总的来说通过这次设计实验,学到了很多东西,无论是动手能力,分析问题的能力都得到了提高,重要的是建立了对于电子设计信心,

21、增强了对于电子设计兴趣。最大的体会还是理论运用到实践还是有很大差距,理论学得再好到了实际运用的时候还是会出现很多问题,这些问题通过多实践积累经验可以得到解决。总之本次系统设计让我们收获颇丰。八、参考文献1可编程序控制器模拟量与PID算法应用案例,曹辉编著,: 高等教育, 200822011版全国大学生电子设计竞赛硬件电路设计精解,陈永真等著,:电子工业,20113全国大学生电子设计竞赛4基于VC+60的数据可视化串口通信叶艳艳,樊峰,陈西曲,某某工业学院学报,2012.3315模拟电子技术根底,童诗白,华成英著,:高等教育,2000.6数字电子技术根底,阎石著,:高等教育,2005.九、电路图附录

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1