毕业设计(论文)-基于AT89S52单片机的的水温水位控制系统设计.doc_第1页
毕业设计(论文)-基于AT89S52单片机的的水温水位控制系统设计.doc_第2页
毕业设计(论文)-基于AT89S52单片机的的水温水位控制系统设计.doc_第3页
毕业设计(论文)-基于AT89S52单片机的的水温水位控制系统设计.doc_第4页
毕业设计(论文)-基于AT89S52单片机的的水温水位控制系统设计.doc_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

哈尔滨工业大学华德应用技术学院毕业设计(论文)摘 要 为了实现高精度的水温水位控制,本文介绍了一种以AT89S52单片机为控制核心、以一种新型的可编程温度传感器(DS18B20)为温度采集器件来实现水温水位控制系统。文章着重介绍核心器件的选择、各部分电路及软件的设计。AT89S52单片机完善的内部结构、优良的性能和强大的中断处理能力,决定了该控制系统的特点:电路结构简单、程序简短、系统可靠性高等。加热和制冷由AT89S52单片机控制继电器的通断来实现,以实现自动控制,温度检测采用新型的可编程温度传感器(DS18B20),不需要复杂的信号调理电路和A/D转换电路,能直接与单片机完成数据的采集和处理,采用LCD1602液晶实时显示温度值,实现方便、简单。本系统根据不同需要可用于各种场合。关键词: 单片机 DS18B20 LCD1602 水温控制Abstract In order to realize high precision temperature of the water level control, this paper introduces a kind of AT89S52 SCM in as control core, with a new type of programmable temperature sensor (DS18B20) for temperature gathering device to realize the temperature of the water level control system. This article mainly introduces the core device of choice, each part of the circuit and the software design. AT89S52 SCM perfect internal structure, good performance, and strong interrupt handling ability, decided the control system features: circuit structure is simple, program short, system reliability higher. By heating and refrigeration AT89S52 SCM control relay of the hige to realize, in order to realize the automatic control, temperature testing A new programmable temperature sensor( DS18B20), not in need of sophisticated signal regulate circuit and A/D conversion circuit, can work directly with the single chip microcomputer complete data acquisition and the treatment, and A LCD1602 liquid crystal display temperature, realize the convenient, simple. This system can be applied to various needs according to different situations. Keywords:microcontroller DS18B20 LCD1602 control目 录摘 要IAbstractII第一章 绪论11.1 课题背景11.2 课题的目的和意义11.3 设计任务及要求2本章小结3第2章 方案论证42.1 系统总体方案的选择42.2各模块电路的方案选择及论证52.2.1 控制器模块论证52.2.2 加热装置有效功率控制模块论证62.2.3温度采集模块论证72.2.4 键盘与显示模块论证82.3 系统各模块的最终方案8本章小结10第三章 主要元器件介绍及硬件电路设计113.1 主要元器件介绍113.1.1 温度传感器(DS18B20)113.1.2 主控制器AT89S52123.1.3 LCD1602液晶153.1.4继电器163.2硬件电路设计173.2.1温度采集电路173.2.2 LCD1602液晶显示电路183.2.3 加热控制电路的设计183.2.4键盘电路193.2.5 复位电路的设计193.2.6 时钟电路的设计203.2.7 电磁式蜂鸣器驱动原理20本章小结22第四章 系统软件设计234.1 选用单片机C语言进行编程234.2系统软件设计244.2.1读取DS18B20温度模块子程序244.2.2 数据处理子程序254.2.3 键盘扫描子程序264.2.4 系统主程序流程图27本章小结29第5章 电路调试305.1 调试仪器305.2传感器标定305.2.1静态温度测量305.2.2动态温控测量315.3 测试结果及其分析315.3.1 控温模型曲线315.3.2测试结果分析325.4整机调试33本章小结34结 论35致 谢36附录1 中文参考资料38附录2 英文参考资料42附录3 基于单片机水温控制系统电路原理图46附录4 部分C语言源程序48-51-第一章 绪论1.1 课题背景在人类的生活环境中,温度扮演着及其重要的角色。自18世纪工业革命以来,工业发展与是否能掌握温度控制有着密切的联系。在冶金、钢铁、石化、水泥、玻璃、医药等行业,可以说几乎80%的工业部门都得考虑着温度的因素。温度控制是无论是在工业生产过程中,还是在日常生活中都起着非常重要的作用,如电热水器、自动饮水机等,都要用到水温控制系统。高校的发展同样要求用现代化手段提升现有的实验设备,为学生提供更多更好更现代化的实验条件。因此我们应该应用电子专业知识,实现温度控制的自动化,提高工业企业自动化水平。目前的水温控制系统大多采用由模拟温度传感器、多路模拟开关、A/D转换器及单片机组成的传输系统。这种系统需要布置大量的测温电缆,才能把现场传感器的信号送到采集卡上,安装和拆卸复杂,成本也高。同时线路上传送的是模拟信号,易受干扰和损耗,测量误差也比较大,不利于控制者根据温度变化及时做出决定。在这样的形式下,开发一种实时性高、精度高,能够综合处理多点温度信息的系统就很有必要。近年来,单片机以其功能强、体积小、使用方便、性能价格比较高等优点,在实时控制、自动测试、智能仪表、计算机终端、遥测通讯、家用电器等许多方面得到了广泛的应用。用单片机对温度进行实时检测和控制来解决工业及日常生活中对温度的及时自动控制,是现代温控系统发展的趋势。1.2 课题的目的和意义人们对电子产品的小型化和智能化要求越来越高,作为高新技术之一的单片机以其体积小、价格低、可靠性高、适用范围大、本身的指令系统等诸多优势,在各个领域、各个行业都得到了广泛应用。该课题的研究适应了社会对于水温控制的发展趋势,将单片机应用于水温控制系统中,将单片机控制方式成功地引入了水温控制领域,丰富了水温控制技术, 该系统可用作工厂、学校等场所的温度检测设施,由人工设定温度,有很好的实用价值,控制系统不仅可用于控制水温,还可应用到对温度有一定要求的其它领域。也为今后水温控制技术的发展探索了一条行之有效的道路,具有广阔的发展空间。水温控制在生产中及生活中都发挥着重要的作用,如一些现代化车间里,生产特殊要求产品加工需要在一定的温度下才能进行,水产养殖中,也要对水的温度进行严格的控制,才能确保达到最好的效果,在家居生活中,我们同样离不开水温的控制,如电热水器,自动饮水机等,都要用到水温控制系统。实现水温控制的方法有很多种方法,如单片机控制,PLC控制,模糊控制等,而其中用单片机实现的水温控制系统,具有可靠性高,价格低廉,简单易实现等众多优点。1.3 设计任务及要求一、设计任务设计并制作一个水温自动控制系统,控制对象为1升水,容器为搪瓷器皿。水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变。二、设计要求1.可键盘设定控制温度值,并能用液晶显示,显示最小区分度为0.1。2.可以测量并显示水的实际温度。温度测量误差在0.5内。3.水温控制系统应具有全量程(1070)内的升降温功能。4.在全量程内任意设定一个温度值(例如起始温度15内),控制系统可以实现该给定温度的恒值自动控制。控制的最大动态误差4,系统达到稳态的时间15min(最少两个波动周期)。本章小结本章主要是对课题的总体介绍,介绍了课题背景,课题的目的和意义,课题设计任务及技术指标。第2章 方案论证2.1 系统总体方案的选择 方案一: 此方案是采用传统的二位模拟控制(如图2-1),选用模拟电路,用电位器设定给定值,采用上下限比较电路将反馈的温度值与给定的温度值比较后,决定加热或者不加热。由于采用模拟控制方式,系统受环境的影响大,不能实现复杂的控制算法使控制精度做得较高,而且不能用数码显示和键盘设定。信号采集信号处理负载上限比较信号放大继电器温度预置下限比较图2-1 模拟电路方案二: 此方案采用了AT89C52单片机为核心(如图2-2),采用温度传感器DS18B20进行温度采集,用继电器控制加热和制冷,使其达到电路简单、可靠的目的。使用单片机具有编程灵活,控制简单的优点,使系统能简单的实现温度的控制及显示,并且通过软件编程能实现各种控制算法使系统还具有控制精度高的特点。单片机温度传感器键盘输入继电器液晶显示制冷加热电 源图2-2温度控制系统框图方案一是传统的模拟控制方式,而模拟控制系统难以实现复杂控制规律,控制方案的修改也较麻烦。而方案二是采用以AT89S52为控制核心的单片机控制系统,尤其对温度控制,可以达到模拟控制所达不到的控制效果,并且可以实现显示、键盘设定,报警等功能。大大提高系统的智能化,也使得系统所测结果的精度大大提高了。所以本次设计的总体方案采用方案二。 2.2各模块电路的方案选择及论证根据题目要求系统模块分可以划分为:温度测量模块,显示模块,加热模块,控制模块。为实现各模块的功能,分别做了几种不同的设计方案并进行了论证。2.2.1 控制器模块论证根据题目要求,控制器主要用于对温度测量信号的接受和处理,控制电热棒和制冷片使控制对象满足设计要求、控制显示电路对温度值实时显示以及控制键盘实现对温度值的设定等。对控制器的选择有以下三种方案:方案一:采用运放等模拟电路搭建一个控制器,用模拟方式实现PID控制,对于纯粹的水温控制,这是足够的。但是附加显示、温度设定等功能,还要附加许多电路,稍显麻烦。同样,使用逻辑电路也可实现控制功能,但总体的电路设计和制作比较烦琐方案二:采用FPGA实现控制功能。使用FPGA时,电路设计比较简单,通过相应的编程设计,可以很容易地实现控制和显示、键盘等功能,是一种可选的方案。但与单片机相比,价格较高,显然大材小用。方案三:采用单片机最小系统同时完成控制、显示、键盘等功能,软件编程灵活、自由度大,电路设计和制作比较简单,并且其功耗低、体积小、技术成熟和成本低等优点,是一种非常好的方案。从以上三种方案,很容易看出采用方案三,电路的设计制作比较简单,功能强大,成本低,故采用了方案三。2.2.2 加热装置有效功率控制模块论证根据题目,可以使用加热棒进行加热,使用制冷片降温,当水温超过设定温度时关闭加热棒开启制冷片,当需要加热时开启加热棒关闭制冷片。由于加热的功率较大,考虑到简化电路的设计,我们直接采用220V电源。对加热装置控制模块有以下两种方案:方案一:采用可控硅来控制加热棒有效功率。可控硅是一种半控器件,应用于交流电的功率控制有两种形式:控制导通的交流周期数达到控制功率的目的;控制导通角的方式控制交流功率。由交流过零检测电路输出方波经适当延时控制双向可控硅的导通角,延时时间即移相偏移量由温度误差计算得到。可以实现对交流电单个周期有效值周期性控制,保证系统的动态性能指标。该方案电路稍复杂,需使用光耦合驱动芯片以及变压器等器件。但该方案可以实现功率的连续调节,因此响应速度快,控制精度也高。方案二:采用继电器控制加热棒和制冷片。使用继电器可以很容易实现通过较高的电压和电流的通断,在正常条件下,工作十分可靠。继电器无需外加光耦,自身即可实现电气隔离。这种电路无法精确实现电热丝功率控制,电热棒只能工作在最大功率或零功率,对控制精度将造成影响。但可以通过控制加热棒和制冷片交替工作实现水温的动态平衡,电路焊接简单,响应速度快,控制精度高。基于以上分析以及现有器件限制选择方案二,采用继电器控制省去光耦和交流过零检测电路,在软件上选用适当的控制算法,同样可以达到较好的效果。响应速度快,控制精度。2.2.3温度采集模块论证题目要求温度静态误差小于等于0.5,温度信号为模拟信号,本设计要对温度进行控制和显示,所以要把模拟量转换为数字量。该温度采集模块有以下三种方案:方案一:利用热敏电阻传感器作为感温元件,热敏电阻的阻值随温度变化而变化,用仪表测量出热电阻的阻值变化量,从而得到与电阻值相应的温度值。最常用的是铂电阻传感器,铂电阻在氧化介质中,甚至在高温的条件下其物理,化学性质不变。由铂电阻阻值的变化经小信号变送器XTR101将铂电阻随温度变化的转换为420mA线性变化电路,再将电流信号转化为电压信号,送到A/D转换器ADC0809.即将模拟信号转换为数字信号,该方案线性度优于0.01。方案二:采用温度传感器AD590K。AD590K具有较高精度和重复性,良好的非线性保证0.1的测量精度。加上软件非线性补偿可以实现高精度测量。AD590将温度转化为电流信号,因此要加相应的调理电路,将电流信号转化为电压信号。送入8位A/D转换器,可以获得255级的精度,基本满足题目要求。 方案三:采用数字式温度传感器DS18B20,该传感器测温范围为-55-+125,最重要的是DS18B20传输方式为数字式,采用单总线专用技术,非常节约I/O口。实现对温度的采集和转换,直接输出数字量,可以直接和单片机进行通讯,大大简化了电路的复杂度基于以上分析和现有器件所限,温度采集模块选用方案三。DS18B20与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式。并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根接口线(单线接口)读写,因而使用DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面带来了令人满意的效果。2.2.4 键盘与显示模块论证根据题目要求,水温要由人工设定,并能实时显示温度值。对键盘和显示模块有下面两种方案: 方案一:采用LCD1602液晶显示屏和单列3按键。液晶显示屏(LCD)具有功耗小、轻薄短小无辐射危险,平面直角显示以及影象稳定不闪烁,可视面积大,画面效果好,抗干扰能力强,并可灵活的现实多种状态。方案二:采用三位LED七段数码管分别显示温度的十位、个位和小数位。按键采用单列3按键进行温度设定。数码管具有:低能耗、低损耗、低压、寿命长、耐老化等特点。同时数码管采用BCD编码显示数字,程序编译容易,资源占用较少。但可视面积小,画面效果不美观。根据以上论述,AT89S52单片机资源丰富,根据设计需要考虑到液晶显示屏(LCD)具有功耗小、可视面积大、画面效果好等特点,我们选用方案一。2.3 系统各模块的最终方案根据以上分析, 本着简单、实用的原则,综合考虑硬件构成、软件编程的复杂程度以及价格和题目所要求的精确度等因素,确定如下方案:1. 采用AT89S52单片机作为控制器,分别对温度采集、LCD显示、温度和设定、加热装置功率控制。2. 温度测量模块采用数字温度传感器DS18B20,此器件经软件设置可以实现高分辨率测量。 3. 电热丝有效功率控制采用继电器控制,实现电路简单实用,加上温度变化缓慢可以满足设计要求。4. 显示用LCD液晶显示实时温度值。系统的基本框图(如图2-2所示)。CPU(AT89S52)首先写入命令给DS18B20,然后DS18B20开始转换数据,转换后通过AT89S52来处理数据。数据处理后的结果就显示到1602液晶屏上。另外由键盘设定温度值送到单片机,单片机通过数据处理发出温度控制信息到继电器。继电器的通断来控制加热棒和制冷片的工作。本章小结本章节主要对硬件电路中的各个模块部分进行方案论证,通过控制精度、实现功能、价格高低、电路难易程度等综合论证,最后确定个部分电路的的最佳方案,以及整机电路原理的详细说明。第三章 主要元器件介绍及硬件电路设计3.1 主要元器件介绍 本课题设计主要用到的原器件有:数字温度传感器(DS18B20)、单片机AT89S52、LCD1602液晶、继电器 。3.1.1 温度传感器(DS18B20)温度传感器选用可编程温度传感器(DS18B20)芯片。DS18B20是单总线器件,具有线路简单,体积小的特点。它的测温精度、转换时间、传输距离、分辨率等都很适合本电路设计指标, 给用户使用带来了更多方便。 一、DS18B20产品的特点 1.单线接口:仅需一根线与单片机相连;2.由总线提供电源,也可用数据线供电,电压范围:3.05.5V; 3.测温范围为-55+125,在-1085时,精度为0.5; 4.可编程的分辨率为912位,对应的分辨率为0.50.03625; 5.可编程的温度报警设置; 6.分辨率时最多在750ms内把温度值转换为数字量。 二、DS18B20的引脚介绍 DS18B20可编程温度传感器有3个管脚(如图3-1)。 GND为接地线,DQ为数据输入输出接口,通过一个较弱的上拉电阻与单片机相连。VDD为电源接口既可由数据线提供电源,又可由外部提供电源,范围3O55 V。详见图3-1 DS18B2管脚图。图3-1 DS18B20管脚图三、DS18B20的内部结构 DS18B20内部功能模块主要由4部分组成:64位光刻R0M、温度传感器、非易失性的温度报警触发器TH和TL、配置寄存器。R0M 中的64位序列号是出厂前被光刻好的,他可以看作是该DS18B20的地址序列码,每个DSI8B20的64位序列号均不相同。高低温报警触发器TH 和TL,配置寄存器均由一个字节的E2PROM组成,使用一个存储器功能命令可对 TH,TL或配置寄存器写入。配置寄存器中R1,R0决定温度转换的精度位数:R1R000,9位精度,最大转换时间为93.75 ms;R1R0 = 01,10位精度,最大转换时间为187.5 ms;R1R0 = 10,11位精度,最大转换时间为375 ms;R1R0 =11,12位精度,最大转换时间为750 ms;未编程时默认为12位精度。3.1.2 主控制器AT89S52AT89S52(如图32所示)是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。图32 AT89S52管脚图一、主要性能与MCS-51单片机产品兼容8K字节在系统可编程Flash存储器1000次擦写周期全静态操作:0Hz33Hz三级加密程序存储器32个可编程I/O口线三个16位定时器/计数器八个中断源全双工UART串行通道低功耗空闲和掉电模式掉电后中断可唤醒看门狗定时器双数据指针掉电标识符二、管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89S52的一些特殊功能口,如表3-1所示: 表3-1 特殊功能口I/O口 管脚备选功能P3.0RXD串行输入口P3.1TXD串行输出口P3.2/INT0外部中断0P3.3/INT1外部中断1P3.4 T0 记时器0外部输入P3.5T1记时器1外部输入P3.6/WR外部数据存储器写选通P3.7/RD外部数据存储器读选通 P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.1.3 LCD1602液晶本设计中由于要对温度进行显示,所以选择液晶显示屏1602模块作为输出。1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。它可以显示两行,每行16个字符,采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。 管脚功能如表3-2所示:表3-2 LCD1602引脚功能表引脚符号 功能说明 1 VSS 一般接地 2 VDD 接电源(+5V) 3 V0 液晶显示器对比度调整端。 4 RS RS为寄存器选择。 5 R/W R/W为读写信号线。 6 E E(或EN)端为使能(enable)端,下降沿使能。 7 DB0 底4位三态、 双向数据总线 0位(最低位) 8 DB1 底4位三态、 双向数据总线 1位 9 DB2 底4位三态、 双向数据总线 2位 10 DB3 底4位三态、 双向数据总线 3位 11 DB4 高4位三态、 双向数据总线 4位 12 DB5 高4位三态、 双向数据总线 5位 13 DB6 高4位三态、 双向数据总线 6位 14 DB7 高4位三态、 双向数据总线 7位(最高位) 15 +背光正极16-背光负极LCD1602主要管脚介绍:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生鬼影使用时可以通过一个10K的电位器调整对比度。RS为寄存器选择端,高电平时选择数据寄存器,低电平时选择指令寄存器。RW为读写信号线端,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址;当RS为高电平RW 为低电平时可以写入数据。E为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。3.1.4继电器 本系统采用继电器控制加热棒和制冷片。使用继电器可以很容易实现低电压控制较高的电压和电流的通断,利用继电器的吸合与否来控制加热棒加热和制冷片制冷,实现水温的自动化控制,在正常条件下,工作十分可靠。本次设计采用型号为JRC-21F的继电器。其特点有: 1.超小型,低功耗; 2.触点型式:1H,1Z(1A.AC); 3.触点负载:2A,120VAC; 4.外型尺寸:15.7X10.4X11.43.2硬件电路设计总电路图见附录3,下面重点介绍各个模块的电路图及工作原理。3.2.1温度采集电路 本系统采用半导体温度传感器作为敏感元件。传感器我们采用了DS18B20单总线可编程温度传感器,来实现对温度的采集和转换,DQ接上拉电阻,与单片机P3.3口相连,直接与单片机通讯,大大简化了电路的复杂度。DS18B20的测温电路如下图3-1所示。图3-1 温度采集电路3.2.2 LCD1602液晶显示电路 将L1602的RS端和P2.0,R/W端和P2.1, E 端和P2.2相连,当RS=0时,对LCD1602写入指令;当RS=1时,对LCD1602写入数据。当R/W端接高电平时芯片处于读数据状态,反之处于写数据状态,E端为使能信号端。当R/W为高电平,E端也为高电平,RS为低电平时,液晶显示屏显示需要显示的示数。1602液晶显示屏与单片机的硬件连接图。 如图3-2所示。图3-2 LCD1602显示电路3.2.3 加热控制电路的设计 由于本系统要控制电热棒加热,功率较大,因此要借助功率驱动电路,继电器通过一个三极管来驱动,其中三极管的型号为9014。在器件选择上留足余量,增加安全性。加热部分采用继电器控制,电路简单可靠。电路如图3-3所示。图3-3 继电器控制当实际温度低于设定值时,由单片机输出高电平信号。三极管9014导通,继电器开始对水加温,为了防止继电器频繁动作,在软件中对水温测量精确到0.1,而在温度设定时只取整数,可以有1的余量。3.2.4键盘电路 本键盘电路采用独立键设计,三个键接到单片机的三个中断源上。当按下时为低电平。其中S2为“确认”键、S3为“减一”键、S4为“加一”键,电路如图2-7所示。图2-7 键盘电路3.2.5 复位电路的设计单片机的复位引脚RST出现2个机器周期以上的高电平时,单片机就执行复位操作。本系统采用的复位方式为上电复位或开关复位,电源接通后,单片机自动复位,并且在系统运行期间,用按键S5操作也能使单片机复位。上电后16V的电解电容充电,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位按键后松开,也能使RST为一段时间的高电平,从而实现了上电复位或开关复位的操作。具体电路图如图3-6所示。 图3-6 复位电路3.2.6 时钟电路的设计在引脚XTALI和XTAL2外接12MHz晶体振荡器,由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲,两个电容器起稳定振荡频率、快速起振的作用,具体电路如图3-7所示。图3-7 单片机时钟电路3.2.7 电磁式蜂鸣器驱动原理蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机 I/O引脚输出的电流较小,单片机输出的电流基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。 本设计通过一个三极管 8550来放大驱动蜂鸣器,原理图见下图 : 图3-8 蜂鸣器驱动电路图如图所示,蜂鸣器的正极接到 VCC(5V)电源上面,蜂鸣器的负极接到三极管的发射极e,三极管的基级b经过限流电阻 R1后由单片机的 P2.3引脚控制,当 P2.3输出高电平时,三极管截止,没有电流流过线圈,蜂鸣器不发声;当 P2.3输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制 P2.3脚的电平来使蜂鸣器发出声音和关闭。程序中改变单片机 P2.3引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。另外,改变 P2.3输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小,这些我们都可以通过编程和根据自身需要来设定。本章小结本章主要对电路中的主要元器件进行了详细的介绍和功能使用说明,AT89S52的引脚功能和主要特性;可编程温度传感器DS18B20的详细介绍;LCD1602主要管脚介绍,分别介绍了各部分的电路设计。 第四章 系统软件设计4.1 选用单片机C语言进行编程在程序设计上我采用了单片机C语言。单片机开发可以用手工汇编和C语言编程三种方法。采用C语言编程是将可读性较强的C语言程序翻译成手工汇编程序,这一过程是由编译软件自动执行的。然后对照单片机手工汇编表将汇编程序翻译成机器码,最后将机器码一个一个地送入开发仿真芯片中去进行调试。由于采用C语言编程程序员并没有通过对单片机的所有硬件进行操,有许多的程序是由单片机自动分配的,例如:中断入口程序,声明变量,堆栈等等,也正因为如此用C语言来编写单片机在调试时,只要从PC机的通讯口直接传送到开发装置中去。因此使用C语言提高了单片机开发的速度。源程序被输入到机器中后,以一个文件的形式保存起来,然后就可以对这个文件进行处理了,要对这个文件进行编译,须有相应的C语言源程序主要,特点有:(1)语言简洁,使用方便、灵活;关键字少,ANSI C标准一共有32个关键字、9种控制语句。(2)可移植性好。由于不同机器上的C语言编译程序80%的代码是公共的,所以便于移植。(3)表达方灵活。利用C语言提供的多种运算符,可以组成各种表达式,C语言的语法规则不太严格,程序设计的自由度比较大,书写格式自由灵活。(4)可进行程序化设计。C语言程序就是有许多个函数组成的,一个函数即相当于一个程序模块,因此C语言可以很容易的进行结构化程序设计。(5)生成的目标代码质量高。C语言程序生成代码的效率仅比汇编语言的程序低10%20%。4.2系统软件设计系统的软件设计采用C语言,对单片机进行编程实现各项功能。主程序对模块进行初始化,而后调用读温度、处理温度、显示、键盘和继电器电路,用的是循环查询方式来显示和控制温度。 4.2.1读取DS18B20温度模块子程序每次对DS18B20操作时都要按照DS18B20中的协议进行。初始化DS18B20发ROM功能命令发存储器操作命令处理数据。程序流程图如图4-1所示。开始 开始初始化DS18B20存在?ROM操作命令存储操作命令读取温度值返回是否图4-1 读取DS18B20温度子程序流程图4.2.2 数据处理子程序由于DS18B20转换后的代码并不是实际的温度值,所以要进行数据处理。由于本程序采用的是0.0625的精度,小数部分的值可以用后四位代表的实际数值乘以0.0625,得到真正的数值,数值可能带几个小数位,所以采取四舍五入,保留一位小数即可。也就是说,本系统的温度精确到了0.1。首先程序判断温度是否是零下,如果是,则DS18B20保存的是温度的补码,需要对其低八位取反加一变成原码。处理过后把DS18B20的温度复制到单片机。返回数据传递温度是否为负?BCD码转换求补运算 图4-2 数据处理子程序流程图4.2.3 键盘扫描子程序按键功能:1、Enter P1.0(K2) 控制键 2、Up P1.1(K3) 加1键 3、Down P1.2(K4) 减1键键盘子程序流程图如图4-3所示。图4-3 键盘子程序流程图4.2.4 系统主程序流程图总模块流程图如图4-4所示。本软件设计采用循环查询来处理各个模块,温度是缓慢变化量,所以可以满足性能要求。 开始初始化调用度温度模块程序否DS18B20存在?是处理温度值转换为BCD码错误处理,显示888显示模块,显示温度扫描键盘模块继电器控制模块图4-4 系统主程序程序流程图本章小结 本章主要介绍了电路的软件部分,首先是利用C语言编程对单片机进行编程,C语言编程可以减少工作量,然后分别介绍了读取DS18B20温度子程序流程图、数据处理子程序流程图、键盘子程序流程图,最后总结性的介绍了系统主程序程序流程图。第5章 电路调试5.1 调试仪器序 号名 称1自用电脑2双路直流稳压电源3单片机开发版45数字万用表5水银温度计5.2传感器标定由于DS18B20出场的测温精度可达0.1C,基本能够达到设计要求。在此使用测温精度为1C水银温度计测量水温。5.2.1静态温度测量之前经多次试验后发现DS18B20与温度计之间温度总是相差大约两度,在总体测量之前采用软件进行温度补偿2度。测量方式:断开系统的加热装置,装入一定温度的水,保持环境温度和其测量条件不变,利用标准的温度计测量水温,与系统给出的温度相比较。测量仪器:煤油温度计,800W电热棒,半导体制冷片,环境温度30.5C。测量结果:如下表5-1所示。表5-1 测量结果标准温度(度)38.046.349.852.057.460.064.567.7测量温度(度)38.146.549.652.057.260.364.467.8误差(度)0.10.20.20.00.20.30.10.1误差分析:由于加热棒加热时,加热区主要集中在其上部,造成受热不均,加热棒对两者的距离和测量点又不能取到完全相同。在此误差均在0.3(C)以内,且大部分在0.2(C)且没有规律性,所以不再软件补偿温度值。5.2.2动态温控测量测量方式:接上系统的加热装置,装入1L室温的水,设定控温温度。记录调节时间、超调温度、稳态温度波动幅度等。测量仪器: 800W加热棒,半导体制冷片,环境温度30.5C。测量结果:如下表5-2所示,在此仅以数值的方式给出测量结果,略去升温曲线。调节时间按温度进出设定温度0.5C范围时计算。表5-2 测量结果设定温度(度)40 455560超调温度 (度)40.844.654.760.3误差(度)0.8-0.4-0.30.35.3 测试结果及其分析5.3.1 控温模型曲线 图5-1 控温模型曲线 控温模型曲线如图5-1所示,图中T为系统温度,a为设定温度。控温过程分三个阶段进行:快速加热、温度调节和恒温保持。其中第一阶段只有快速升温过程,后两阶段均由升温和降温过程即温度调节过程组成。根据设计需要对各阶段如下:在快速加热阶段即在温度达到Tr之前,加热速度要快,使系统温度在尽量短的时间内达到温度a。在达到a使就停止加热,之后由于热惯性,系统温度继续升高,使得系统温度超过a达到最高点A点。在温度调节阶段,以T1、T2为分界点,降温与升温过程重复出现。进入恒温维持阶段,要求系统温度T能稳定在设定温度Ta附近并保持足够的时间。曲线上A、B、C为极大值点,D、E、F为极小值点,他们的绝对值随时间增加都在减小,进入恒温维持阶段阶段后在误差允许的范围内趋于稳定。模型曲线中控制参量的确定:模型曲线中的控制参量值是在反复多次试验的基础上确的。在模型曲线中,a是预设的温度值,Tr 和T2是系统停止加热的起始点,T1是系统开始加热的起始点。 5.3.2测试结果分析由以上测量可见,系统性能基本上达到了所要求的指标。静态测温的精度主要有DS18B20决定。DS18B20的精度比较高,这里采取了读取温度寄存器办法,测温精度能够达到0.1C,可以达到比较好的精度。在控温指标中,影响系统性能的因素非常多。最关键的是加热系统本身的物理性质。由于传感器必须加上防水设施,因此温度传感器难免会有迟滞,加热棒本身的延迟,水对流传热等因素也会造成测温的延时,这些都会直接影响系统的控制性能。硬件调试,电路采用三路继电器控制,一路控制加热,两路控制冷片制冷,在制作板子时,由于两路电源输入距离很近,随意在测试工作时,加热电路不能正常工作,仔细检查电路没有问题,考虑到干扰问题,将输入端分开链接,问题解决。其他电路:DS18B20温度检测电路,控制电路,按键电路,显示电路上电测试,均能正常工作。5.4整机调试 编译好主程序和个模块子程序,烧写进单片机AT89S52中,连接好各部分硬件电路。打开电源,电路自动复位,首先不要接入DS18B20,此时屏幕中间只显示DS18B20ERROR,然后接入DS18B20,但让其处于无水状态,此时屏幕中间显示错误ERROR,并且蜂鸣器发出报警声。接着让DS18B20处于有水状态,此时LCD1602液晶显示DS18B20所读到水的当前温度T1,用温度计测量水的当前温度T2,对比T1与T2的值,通过按键设定某个值,并使这个值大于当前温度值,当退出“确认”按键时,观察到继电器1能够吸合。再次通过按键设定一个值,并使这个值小于当前温度值,当退出“确认”按键时,也能观察到继电器2的吸合,在原理上基本能达到预期效果。本章小结本章主要介绍电路的调试方法,分为静态调试和动态调试,详细说明调试方法和工具应用并绘制了控温模型曲线图,并且对在调试中所遇到的问题进行了详细的分析说明。结 论本系统以单片机为核心部件的控制系统,利用软件编程,最终基本实现了各项设计要求。由于数据采集、显示的实时性要求不是很高,而单片机的执行速度相对于这些过程要快得多,若分时选通各个采样或显示通道,虽然单片机对各个通道的处理是依次进行的,但是只要这一过程大到一定速度,总的来看几乎同时执行,不断重复这一过程,就产生了循环扫描的思想,它在单片机系统设计中得到了广泛的应用。 在当今越来越趋向于自动化的社会,该系统的可用性及简易性

温馨提示

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

评论

0/150

提交评论