毕业设计(论文)单片机水温控制系统设计.doc
《毕业设计(论文)单片机水温控制系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)单片机水温控制系统设计.doc(29页珍藏版)》请在三一办公上搜索。
1、 本科生毕业论文(设计)系(院) 物理与电子工程学院 专 业 电子信息工程 论文题目 水温控制系统 学生姓名 指导教师 班 级 2008级电信2班 学 号 完成日期:2012 年 04月 05日水温控制系统 设 计【摘要】该水温控制系统采用单片机进行温度实时采集与控制。温度信号由“一线总线”数字化温度传感器DS18B20提供,DS18B20在30+85C范围内, 固有测温分辨率为0.5 。水温实时控制采用继电器控制电热丝进行升温控制。系统具备较高的测量精度和控制精度,能完成升温和降温控制。关键字:STC89C52 DS18B20 水温控制1 前言 一些价格比较昂贵和具有极大观赏性的鱼出现在大家
2、的眼球,比如蝴蝶鱼,银龙鱼,但是它们对于水温的要求比较苛刻,因此饲养这种鱼类需要对温度进行严格的控制,使其有一个正常的生活环境。2 总体设计方案21设计任务设计并制作一个水温自动控制系统,控制对象为1L净水,容器为搪瓷器皿。水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变。22方案选择 根据题目要求系统模块分可以划分为:温度测量模块,显示电路模块,加热模块,控制模块。221控制器模块部分根据题目要求,控制器主要用于对温度测量信号的接受和处理、控制电热丝和风扇使控制对象满足设计要求、控制显示电路对温度值实时显示以及控制键盘实现对温度值的设定等。对控制器的
3、选择有以下三种方案:方案一:采用FPGA作为系统控制器。FPGA功能强大,可以实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上,减少了体积,提高了稳定性,并且可应用EDA软件仿真、调试,易于进行功能扩展。FPGA采用并行的I/O口方式,提高了系统的处理速度,适合作为大规模实时系统控制核心。由温度传感器送来的温度信号,经FPGA程序对其进行处理,控制加热装置动作。但由于本设计对数据处理的速度要求不高,FPGA的高速处理的优势得不到充分体现,并且其成本偏高,引脚较多,硬件电路布线复杂。Output显示电路加热装置测温部分键盘输入控制部分Input图2.2.1 系统基本模块方框图
4、方案一:采用FPGA作为系统控制器。FPGA功能强大,可以实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上,减少了体积,提高了稳定性,并且可应用EDA软件仿真、调试,易于进行功能扩展。FPGA采用并行的I/O口方式,提高了系统的处理速度,适合作为大规模实时系统控制核心。由温度传感器送来的温度信号,经FPGA程序对其进行处理,控制加热装置动作。但由于本设计对数据处理的速度要求不高,FPGA的高速处理的优势得不到充分体现,并且其成本偏高,引脚较多,硬件电路布线复杂。方案二:采用模拟运算放大器组成PID控制系统。对于水温控制是足够的。但要附加显示、温度设定等功能,要附加许多电路,
5、稍显麻烦。方案三:采用ATMEL公司的STC89C52作为系统控制器。单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制,并且其功耗低、体积小、技术成熟和成本低等优点。基于以上分析拟订方案二,由AT89C52作为控制核心,对温度采集和实时显示以及加热装置进行控制。222加热装置有效功率控制模块部分根据题目,可以使用电热炉进行加热,控制电热炉的功率即可以控制加热的速度。当水温过高时,关掉电热炉进行降温处理,让其自然冷却。在制作中,我们装设一个小电风扇,当水温超高时关闭电炉开启风扇散热,当需要加热时开启电炉关闭风扇。由于加热的功率较大,考虑到简化电路的设计,我们直接采
6、用220V电源。对加热装置控制模块有以下两种方案:方案一:采用可控硅来控制加热器有效功率。可控硅是一种半控器件,应用于交流电的功率控制有两种形式:控制导通的交流周期数达到控制功率的目的;控制导通角的方式控制交流功率。由交流过零检测电路输出方波经适当延时控制双向可控硅的导通角,延时时间即移相偏移量由温度误差计算得到。可以实现对交流电单个周期有效值周期性控制,保证系统的动态性能指标。该方案电路稍复杂,需使用光耦合驱动芯片以及变压器等器件。但该方案可以实现功率的连续调节,因此响应速度快,控制精度也高。方案二:采用继电器控制。使用继电器可以很容易实现地通过较高的电压和电流,在正常条件下,工作十分可靠。
7、继电器无需外加光耦,自身即可实现电气隔离。这种电路无法精确实现电热丝功率控制,电热丝只能工作在最大功率或零功率,对控制精度将造成影响。但可以由多路加热丝组成功率控制,由单片机对温差的处理实现分级功率控制提高系统动态性能。基于以上分析以及现有器件限制选择方案二,采用继电器控制省去光耦和交流过零检测电路,在软件上选用适当的控制算法,同样可以达到较好的效果。223温度采集模块部分题目要求温度静态误差小于等于0.2,温度信号为模拟信号,本设计要对温度进行控制和显示,所以要把模拟量转换为数字量。该温度采集模块有以下三种方案:方案一:利用热电阻传感器作为感温元件,热电阻随温度变化而变化,用仪表测量出热电阻
8、的阻值变化,从而得到与电阻值相应的温度值。最常用的的是铂电阻传感器,铂电阻在氧化介质中,甚至在高温的条件下其物理,化学性质不变。由铂电阻阻值的变化经小信号变送器XTR101将铂电阻随温度变化的转换为420mA线形变化电路,再将电流信号转化为电压信号,送到A/D转换器ADC0809.即将模拟信号转换为数字信号。该方案线性度优于0.01。方案二:采用温度传感器AD590K。AD590K具有较高精度和重复性,良好的非线性保证0.1的测量精度。加上软件非线性补偿可以实现高精度测量。AD590将温度转化为电流信号,因此要加相应的调理电路,将电流信号转化为电压信号。送入8为A/D转换器,可以获得255级的
9、精度,基本满足题目要求。 方案三:采用数字温度传感器DS18B20。DS18B20为数字式温度传感器,无需其他外加电路,直接输出数字量。可直接与单片机通信,读取测温数据,电路简单。如图2.2.2 所示 。图2.2.2 DS18B20测温电路基于以上分析和现有器件所限,温度采集模块选用方案三。DS18B20与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式。并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,因而使用DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方
10、面带来了令人满意的效果。224 键盘与显示模块部分根据题目要求,水温要由人工设定,并能实时显示温度值。对键盘和显示模块有下面两种方案: 方案一:采用液晶显示屏和通用矩阵键盘。液晶显示屏(LCD)具有功耗小、轻薄短小无辐射危险,平面直角显示以及影象稳定不闪烁,可视面积大,画面效果好,抗干扰能力强等特点。但由于只需显示三位温度值,信息量比较少,且由于液晶是以点阵的模式显示各种符号,需要利用控制芯片创建字符库,编程工作量大,控制器资源占用较多,其成本也偏高。方案二:采用三位LED七段数码管分别显示温度的十位、个位和小数位。按键采用单列3按键进行温度设定。数码管具有:低能耗、低损耗、低压、寿命长、耐老
11、化,对外界环境要求较低。同时数码管采用BCD编码显示数字,程序编译容易,资源占用较少。根据以上论述,采用方案二。本系统中,采用了数码管的动态显示,节省单片机的内部资源。2.2.5系统各模块的最终方案根据以上分析,结合器件和设备等因素,确定如下方案: 1. 采用AT89C52单片机作为控制器,分别对温度采集、LED显示、温度设定、加热装置功率控制。2. 温度测量模块采用数字温度传感器DS18B20。此器件经软件设置可以实现高分辨率测量。 3. 电热丝有效功率控制采用继电器控制,实现电路简单实用,加上温度变化缓慢可以满足设计要求。4. 显示用LED数码管显示实时温度值,用ENTER、UP、DOWN
12、三个单键实现温度值的设定。 OutputLED数码管继电器DS18B20键盘输入STC89C52Input图2.2.3 系统基本框图系统的基本框图如图2.2.3 所示。CPU(STC89C52)首先写入命令给DS18B20,然后DS18B20开始转换数据,转换后通过89C52来处理数据。数据处理后的结果就显示到数码管上。另外由键盘设定温度值送到单片机,单片机通过数据处理发出温度控制信息到继电器。DS18B20可以被编程,所以箭头是双向的。3 硬件设计与实现31总体电路框图本系统的执行方法是循环查询执行的,键盘扫描也是用循环查询的办法,由于本系统对实时性要求不是很高,所以没有用到中断方式来处理。
13、各模块关系图如图3.1.1所示。单片机初始话模块继电器控制模块键盘扫描模块(扫描有无Enter键按下)DS18B20得到温度值,存放到Buffer中处理温度值,换算成BCD码温度显示模块图3.1.1 总体电路框图3.2主要单元电路的设计3.2.1核心器件DS18B20的介绍DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场
14、合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。在使用中不需要任何外围元件。 DS18B20有4个主要的数据部件:光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码;DS18B20中的温度传感器可完成对温度的测量,以12位转化为例;用16位符号扩展的二进制补码
15、读数形式提供,以0.0625/LSB形式表达,其中S为符号位。 图3.2.1 DS18B20内部结构 图3.2.2 DS18B20封装示意图图3.2.3 DS18B20测温电路(1)DSI8B20的测温功能的实现:其测温电路的实现是依靠单片机软件的编程上。 当DSI8B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的0,1字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0062 5LSB形式表示。温度值格式如表3.2.4所示,其中“S”为标志位,对应的温度计算:当符号位S=0时,直接将二进制位转换为十
16、进制;当S=1时,先将补码变换为原码,再计算十进制值。DSI8B20完成温度转换后,就把测得的温度值与 TH做比较,若TTH或T RoM操作命令 - 存储器操作命令- 处理数据 初始化 单总线上的所有处理均从初始化开始 ROM操作命令 总线主机检测到DSl820的存在便可以发出ROM操作命令之一这些命令如表3.2.5所示表3.2.5 ROM操作命令表指令代码Read ROM(读ROM)33HMatch ROM(匹配ROM)55HSkip ROM(跳过ROMCCHSearch ROM(搜索ROM)F0HAlarm search(告警搜索)ECH 存储器操作命令如表3.2.6所示表3.2.6 存储
17、器操作命令表指令代码Write Scratchpad(写暂存存储器)4EHRead Scratchpad(读暂存存储器)BEHCopy Scratchpad(复制暂存存储器)48HConvert Temperature(温度变换)44HRecall EPROM(重新调出)B8HRead Power supply(读电源)B4H(3)温度转换算法及分析由于DS18B20转换后的代码并不是实际的温度值,所以要进行计算转换。温度高字节(MS Byte)高5位是用来保存温度的正负(标志为S的bit11bit15),高字节(MS Byte)低3位和低字节来保存温度值(bit0 bit10)。其中低字节(
18、LS Byte)的低4位来保存温度的小数位(bit0 bit 3)。由于本程序采用的是0.0625的精度,小数部分的值,可以用后四位代表的实际数值乘以0.0625,得到真正的数值,数值可能带几个小数位,所以采取小数舍入,保留一位小数即可。也就说,本系统的温度精确到了0.1度。算法核心:首先程序判断温度是否是零下,如果是,则DS18B20保存的是温度的补码值,需要对其低8位(LS Byte)取反加一变成原码。处理过后把DS18B20的温度Copy到单片机的RAM中,里面已经是温度值的Hex码了,然后转换Hex码到BCD码,分别把小数位,个位,十位的BCD码存入RAM中。3.2.3加热控制部分由于
19、本系统要控制电热丝加热,功率较大,因此要借助功率电路。在器件选择上留足余量,增加安全性。加热部分采用继电器控制,电路简单可靠。电路如图3.3.1所示。当实测温度低于设定值时,由单片机输出高电平信号。三极管9014导通,继电器开始工作对水加温。2.2.3键盘、显示、控制器部分本设计中采用动态显示方式驱动3个七段数码管,分别显示温度的十位、个位和小数位。数码管采用共阴极,由于AT89C52单片机每个I/O的拉电流只有12mA。所以在位码和段码都加上了同相驱动器。键盘采用按键开关经上拉电阻分别接P1.0、P1.1、P1.2口上,起到控制、上调和下调作用。每按上调和下调键,设定温度值增1减1。单片机X
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 单片机 水温 控制系统 设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3977994.html