




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2013“信芯杯”电子设计大赛智能水温控制系统摘要:为了实现水温控制系统的设计要求,通过对各个模块电路方案的比较和论证,最后确定了以STC89C52单片机为核心的硬件电路,选用DS18B20温度传感器测量水温。该系统具有实时显示、温度测量、温度设定并能根据设定值对水的温度进行调节和控温的目的以及达到上限温度的报警功能,控制算法是基于数字PID算法,在设定温度发生突变时,可自动打印水温随时间变化的曲线。关键词:AT89C52单片机、PID算法、温度测量和控温随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。本设
2、计论述了 一种以STC89C52单片机为主控制单元,以DS18B20为温度传感器的温度自动控制系统。该控制系统可以根据设定的温度,通过单片机控制继电器开启和关闭,从而控制水泥电阻的加热和停止。硬件电路主要包括STC89C52单片机最小系统、稳压电路、DS18b20测温电路、键盘电路、锁存器SN74HC573、MT05011AR数码管显示电路、继电器电路,加热模块电路等。系统程序模块主要包括主程序控制模块,温度处理子程序模块、按键处理程序模块、锁存器控制模块、数码管显示模块。一、设计任务 设计并制作一个水温自动控制系统,控制对象为500ml净水,容器为搪瓷器皿。水温可以在一定范围内由人工设定,并
3、能在环境温度降低时实现自动控制,以保持设定的温度基本不变。 1)温度设定范围为2070oC,最小区分度为1oC,标定温度1oC。 2)用十进制数码管显示水的实际温度。3)采用适当的控制方法,当设定温度突变(比如:由50oC提高到60oC)时,减小系统的调节时间和超调量。4)温度控制的静态误差1oC(达到发挥部分的要求)5)在设定温度发生突变时,自动打印水温随时间变化的曲线。二、整个系统分为以下几个部分:温度采样部分、控制电路部分、加热装置以及串口通信部分。2.1温度采样部分采用温度传感器DS18B20,测温范围-55oC +125oC,采用独特的单线接口方式,仅需一条口线即可实现微处理器与DS
4、18B20的双向通讯,且在使用中不需要任何外围元件;可编程为9位12位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出远端引入。此器件具有体积小、质量轻、线形度好、性能稳定等优点其各方面特性都满足此系统的设计要求。采用STC89C52单片机作为主控芯片。STC89C52是一个超低功耗,高性能的51内核的CMOS 8位单片机,片内含8KB空间的可反复擦写1000次的Flash只读存储器,具有512bytes的随机存取数据存储器(RAM),32个I/O口,两个16位可编程定时计数器。且该系列的51单片机支持串口下载和串口调试。所以我们选择了方案2。2.3键盘
5、显示部分控制与显示电路是反映电路性能、外观的最直观部分,所以此部分电路设计的好坏直接影响到电路的好坏。设计的系统中,共三个按键:菜单键和温度设定的“+”、“-”控制键。对菜单键按键一次,进入温度设定状态,通过连按“+”、“-”控制键来设定温度,数码管显示设定的温度值;对菜单键连按键两次,进入温度测量状态,数码管显示当前的实际水温。2.4加热装置的选择采用螺旋加热管。可将螺旋加热管固定到容器内部,通电加热时能使水在容器内形成对流,加热功率相对较高,加热较均匀,使得测量误差较小。对温度控制的精度要求较高2.5串口通信部分UART通信,是异步串口通信,在通信时只需要数据线,只需要知道发送数据的波特率
6、,编程时设置好位长度即可。UART通讯编程简单,通讯速度远比IIC快,可以直接使用RS485延伸通讯距离达到1km,通讯速度很容易做高。所以本实验中,采用UART通信将数据传输给电脑。2.6软件算法的选择采用经典PID控制算法和根据实验数据分区间控制的算法,对于温度系统来说,被控对象没有精确的数学模型。用螺旋加热器加热使得水温具有热惯性,采用补氧设备往水里加入空气,使水的上下温差变得非常小,故检测的实时数据基本能完全体现500ml水的实际温度,所以经典PID控制算法中的P能满足设计要求,但必须根据实验数据进行调整。三、系统总体方案设计此方案采用STC89C52单片机系统实现,键盘输入温度设定值
7、,用数字温度传感器DS18B20采集准确的温度,数码管显示设定温度值和水温实测值,加热装置采用固态继电器控制,当水温超过设定值时蜂鸣器报警。图1 温度控制系统框图四、硬件电路设计4.1温度采集电路 一种电路是采用单线数字温度传感器DS18B20,可直接输出数字量,单线器件和单片机的接口只需一根信号线,所以本设计的硬件电路十分简单,容易实现。使用读取温度暂存寄存器的方法能达到0.1oC以上的精度。18B20连接电路图如图2所示图2 温度采集电路4.2加热装置模块由于本系统要控制加热管,功率较大,因此要借助功率电路。使用继电器可以很容易的通过较高的电压和电流,在正常条件下,工作十分可靠。使用电磁继
8、电器电路的实现十分简单,而且还可以实现较为精确的控制,是比较好的一种方式。DS18B20测温芯片传送温度数据单片机的I/O口P2.5。对加热管通断的控制采用SSR固态继电器,SSR是半导体继电器,所以较小的驱动功率即可使SSR工作。它的使用非常简单,且响应时间短,对系统干扰小。只要在控制台端加上一个TTL、CMOS电平或光耦,即可实现对继电器的开关。其电路图如下所示。 图3 图44.3按键控制和显示模块P2.0接KEY1,P2.1接KEY2,P2.2接KEY3。KEY1:菜单键,共有两种模式:温度重新设置、当前所测温度。KEY2: 温度设置“+”。KEY3:温度设置“-”。图5系统上电后,数码
9、管全部显示为当前所测温度值,根据按KEY1次数,若按键一次,进入温度设定状态,通过连按“+”、“-”控制键来设定温度,数码管显示设定的温度值;若连按两次,进入温度测量状态,数码管显示当前的实际水温。由于温度变化范围是4070oC,所以选用两个数码管显示温度。数码管采用共阳极,经过1K的电阻限流后与单片机连接,由单片机I/O口P3对数码管进行位选。4.4蜂鸣报警电路 蜂鸣器通过一个三极管来驱动,这里选用PNP型三极管,电路图如下图64.5通信模块系统设计要求控制系统能同PC联机通信,以利用PC图形处理能力打印显示温度曲线,故使用了STC89C52的异步串行端口UART实现与PC通信。由于STC8
10、9C52串行口电平和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-232的标准,STC89C52单片机也是按照字节传输数据的。UART还可以带缓冲接收数据,即可以在读取缓存器数据之前接收新的数据。但是,如果新的数据被接收到缓存器之前一直未从中读取,先前
11、的数据会发生数据丢失。SBUF用于接收和发送数据的缓存,向该单元写入数据,将发送的数据送入缓存器;读该单元取数据,可以从缓存器读出接收到的单字节数据。UART模块的接收管脚Rx和发送管脚Tx分别与P3.1和P3.0共用。五、系统软件设计任何一个系统的软件设计都离不开硬件电路的连接,本课题硬件设计的高度模块化决定了软件设计的模块化。本程序结构包括:主控程序模块、键盘扫描及处理子程序、LED显示子程序、采样数据处理子程序、PID算法子程序、串口通信并打印曲线图等子程序几个部分。结构框图如图8。主控程序模块在整个结构中充当管理者,管理所有子程序的调用,就相当于个人计算机的操作系统。它主要负责初始化各
12、个I/O口,等待键盘事件的发生,并作出相应的处理。并在适当的时候调用数据采样程序,并将采样到的数据与键盘设定值比较。再通过PID计算后用以控制继电器的开断,从而控制加热管的输出功率,来达到水温的调整,并将实测的水温数据上传给电脑,利用PC图形处理能力打印显示温度曲线。主控程序模块串口通信传感器测温并上传LED显示键值处理键盘扫描温度曲线蜂鸣器报警PID计算继电器控制图8 程序结构图程序流程图及部分程序5.1主程序程序按照模块化设计,所有功能都可通过调用子程序完成,主程序较简单,流程图如图9所示。开始系统初始化按键程序温度读取加热函数(包含蜂鸣报警)温度显示若温度突变,调用打印函数(串口通信)/
13、*本设计系统是18b20温度报警系统数码管显示,可设置温度上限高温报警和下限低温报警,报警温度可精确到1度,并具有掉电保存功能,数据保存在单片机内部EEPOM中,进入设置界面后如果没有键按下系统会在15秒后自动退出设置界面,人性化的按键设置,按键还具有连加、减功能。*/void main() UART_init();time_init(); /初始化定时器0 read_eepom();if(a_a = 0xff)从主程序中可以看出,在进行一系列程序调用之前对系统进行初始化,然后进入while循环,重复以下步骤:执行键盘程序,对键值进行处理。进而调用加热函数,用PID算法,来控制继电器对加热器的
14、关断,实现温度控制。同时执行数码管显示程序,实现温度的实时显示。当设定温度与实际温度相差较大时,调用打印函数,与电脑进行串口通信,利用PC机图形处理能力打印显示温度曲线。5.2系统初始化系统的初始化主要包括I/O口的初始化,键盘初始化,定时、中断初始化,串口初始化等等。以下列出部分初始化程序/串口初始化/5.3键盘程序1)由于机械触点有弹性,在按下或弹起按键时会出现抖动,从最初按下到接触稳定要经过数毫秒的弹跳时间,如图所示。为了保证探险键识别的准确性,必须消除抖动。消抖处理有硬件和软件两种方法:硬件消抖是利用加支抖动电路滤避免产生抖动信号;软件消抖是利用数字滤波技术来消除抖动。我们采用软件的方
15、法,利用主程序循环扫描,主程序每循环一次扫描到的键值相同时,则说明是某键按下。2)键值处理/*按键处理数码管显示函数*/设置高低阈值/5.5 PID算法由于单片机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,因此式(1)中的积分和微分项不能直接准确计算,只能用数值计算的方法逼近。在采样时刻t=iT(T为采样周期)。式(1)所示的PID调节规律可通过数值公式(2)近似计算。由式(2)可以得到:由(2)-(3)可得增量式算法公式:/* * PID计算部分 */ 5.6继电器控制继电器是和STC89C52单片机的P2.5口相连的,它的开断完全取决于P2.5口的输出,即PID计算的结果。当
16、输出小于零说明设定值小于实际输出值,这是就要关闭加热管,同时关闭定时器B的计时。根据设定温度与实际温度的差值改变加热的延时时间。显示窗口:六、数据测量与分析6.1使用说明书准备阶段:1)搪瓷水杯中接500ml的水,将螺旋加热管、数字温度传感器固定在水杯中,继电器接220V交流电源,系统4.5V直流供电。工作阶段:2)系统默认温度为50oC,若不做任何操作,可自动将水加热到50oC,然后继电器断开,停止加热。整个过程中,数码管实时显示水温。 3)共三个按键:菜单键和温度设定的“+”、“-”控制键。对菜单键按键一次,进入温度设定状态,通过连按“+”、“-”控制键来设定温度,数码管显示设定的温度值;
17、若15秒内没有按键“+”或“-”,数码管自动显示当前实际水温,否则显示设定温度值。若对菜单键连按键两次,进入温度测量状态,数码管显示当前的实际水温。结束阶段:4)先断开继电器电源,再断开系统电源,将温度传感器和加热管取出。将实验设备整理好。6.2仪器设备与测试方法仪器设备:PC机、数字万用表、精密温度计(量程是0-100,分度值是1/5),1)动态温度测量测量方式:将数据线接入控制仪,将容器中装入500ml室温的水,设定控温温度。记录调节时间、超调温度、稳态温度波动幅度等。测量仪器:精密温度计(量程是0-100,分度值是1/5),DS18B20,秒表,PC机。测量结果:如下表所示设定温度()5
18、055606570超调量()11233变化范围()50505455596064666972根据测量结果,控制的最大动态误差±2,系统达到稳态的时间5min。2)静态温度测量测量方式:断开电源,往容器里加入500ml一定温度的水,连接好装置。保持环境温度和其测量条件不变,接通电源,任意设置几组目标温度,利用精密温度计测量水温,与数码管显示的水温进行比较。测量仪器:精密温度计(量程是0-100,分度值是1/5),DS18B20,秒表,PC机。测量结果:如下表所示 目标温度 55时间t(min)0306090120150180测量温度()55555454555555误差()0011000
19、目标温度 70时间t(s)0306090120150180测量温度()70697172717170误差()0112110误差分析:温度计和DS18B20反应的灵敏度不同,且测量的是不同位置的水温。此误差均在±1以内,且没有规律性,所以不再软件补偿温度值。系统测量的静态误差±1,系统达到稳态的时间为5min。6.3测试结果分析由以上测量可见,系统性能基本上达到了所要求的指标。静态测温的精度主要由DS18B20决定。DS18B20的精度比较高,这里采取了读取温度寄存器办法,本系统中温度最小区分度选择1oC,比较符合系统要求。在控温指标中,影响系统性能的因素非常多。最关键的是加热
20、系统本身的物理性质及控制算法。由于温度传感器难免会有迟滞,螺旋加热器本身的延迟,水对流传热等因素也会造成测温的延时,这些都会直接影响系统的控制性能。控制算法方面,需反复试验比较,在上升时间和超调量之间作权衡,选出较好的PID系数。七、 总结此设计是水温控制系统,首先是方案的选择。网上相关的资料很多,但不是每个都适合,这就需要甄选。最后定下来的方案都是经过综合各种资料而成的。接下来是制作单片机最小系统,由于以前的实验有过经验,因此在复习了相关知识之后,就很容易上手了,基本上没遇到什么困难。但需要注意的是元器件的排版,要为以后添加的器件留下空间,最后可适当考虑美观的问题。体会就是,制作板子的时候一定要统筹安排。电路焊好后,接上电源,通过数据线连接电脑下载编好的程序,进行调试。再接下来是添加单元电路,并进行调试。调试过程中,遇到不少问题,主要是经验不足,经过不断的查找资料,修改调试,问题基本上得到了解决。体会就是,系统要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025汽车买卖合同的范本
- 2025年金属紧固件、金属钉项目建议书
- 2025年显示、记录系统合作协议书
- 2025居间服务合同在贷款公司间的应用
- 2025年妇幼保健院康复试题
- 2025年聚烯烃及改性材料合作协议书
- 2025年高性能铁氧体一次料合作协议书
- 2025年碳二馏份加氢催化剂合作协议书
- 2025年雕刻雕铣设备控制系统合作协议书
- 2025年剧装道具相关工艺美术品项目建议书
- 二方审核计划
- DB62∕T 3176-2019 建筑节能与结构一体化墙体保温系统应用技术规程
- 优秀病例演讲比赛PPT
- 吉林省矿产资源概况及分布
- 最新肺结核诊断和治疗指南
- 公司员工基本礼仪培训ppt完整版课件
- 工程项目综合应急预案(通用版)
- 半桥LLC谐振变换器设计与仿真
- 常见食物的性味归经附表
- 城市桥梁工程竣工验收
- NB_T 10393-2020《海上风电场工程施工安全技术规范》_(高清最新)
评论
0/150
提交评论