毕业设计(论文)-基于单片机的温度检测系统.doc_第1页
毕业设计(论文)-基于单片机的温度检测系统.doc_第2页
毕业设计(论文)-基于单片机的温度检测系统.doc_第3页
毕业设计(论文)-基于单片机的温度检测系统.doc_第4页
毕业设计(论文)-基于单片机的温度检测系统.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

西华大学电气信息学院毕业设计说明书1前言近20年来,随着微电子技术、计算机技术、软件技术、网络技术的高速发展,智能仪器仪表已经取得了巨大的发展,促使了一些新的测试理论、测试方法、测试领域和仪器结构不断涌现并发展成熟,逐步突破了过去仪器系统功能的实现和改变主要依赖于硬件电路的设计和改变这种传统的观念,硬件的作用被逐渐淡化,而软件的重要性与进一步发展的迫切性变得越来越突出,出现了仪器软件化的发展趋势。温度控制广泛应用于人们的生产和生活中,人们使用温度计来采集温度,通过人工操作加热、通风和降温设备来控制温度,这样不但控制精度低、实时性差,而且操作人员的劳动强度大。即使有些用户采用半导体二极管作温度传感器,但由于其互换性差,效果也不理想。在某些行业中对温度的要求较高,由于工作环境温度不合理而引发的事故时有发生。对工业生产可靠进行造成影响,甚至操作人员的安全。为了避免这些缺点,需要在某些特定的环境里安装数字温度测量及控制设备。本设计由于采用了新型单片机对温度进行控制,以其测量精度高,操作简单。可运行性强,价格低廉等优点,特别适用于生活,医疗,工业生产等方面的温度测量及控制。本次课程设计主要是对温度传感器的设计。硬件部分主要由主机电路、模拟量输入/输出电路、人机联系部件及其接口电路等组成。首先,系统有传感器将所需测量的信号转换为电信号,再由转换器a/d 和d/a等将信号进行转换。接着通过串口将aduc847芯片和pc之间联系。标准通信接口可用于实现智能仪器与通用型计算机的联系,是仪器可以接受计算机的程控命令,构成多级分布式自动测控系统。系统软件部分包括监控程序、接口管理程序和数据处理程序三部分。系统通过软硬件的联合将系统功能得以最大化的体现。2整体方案设计2.1方案设计本设计整体思路:利用温度传感器将温度信号转换为电信号,通过单片机的控制输出到上位机界面显示,温度信号的大小与电信号的大小成线性关系,电压的大小即代表了温度的大小。方案一:利用温度传感器将需要测量的温度信号转换为微弱的电信号,然后应用放大器将电信号放大成所需要量程的电信号,将该电信号传输给aduc847,由aduc847的a/d转换器,将模拟电信号转换为数字信号。然后将信号通过串口传给pc机,并在pc机上显示出温度和波形。温度传感感器ds18b20aduc847上位机温度显示波形显示pc机图2-1方案一框图方案二:利用热电阻温度传感器将需要测量的温度信号转换为电信号,将模拟信号转换为数字信号再传给mcu单片机,由单片机控制a/d转换器,将模拟量变成单片机所需的数字量。单片机与pc机相连,通过pc显示所测量的结果。单片机通过串口与上位机相连,可以通过上位机控制系统。热电阻显示波形lc显示温度上位机放大器c51单片机pc机图2-2方案二框图2.2 方案比较与选择ds18b20是由dallas半导体公司生产的“一线总线”接口的温度传感器。一线总线结构具有简洁且经济的特点,可使用户轻松地组建传感器网络,从而为测量系统的构建引入全新概念,ds18b20的测温范围为-55+125,在-10+85范围内,精度为0.0625,现场温度可直接通过“一线总线”以数字方式传输,大大提高了系统的抗干扰性。ds18b20适合于恶劣环境的现场温度测量,如环境控制、设备或过程控制、测温类消费电子产品等。它工作在3v5.5v的电压范围,采用多种封装形式,从而使系统设计更灵活、方便,设定分辨率及用户设定的报警温度存储在eeprom中,掉电后依然保存3。综合比较方案一与方案二,方案一更为适合于本设计系统对于温度传感器的选择。另一方面,方案一中采用新型先进的adc847单片机芯片,集成24位adc,数据处理速度达12mips,且设计简单,噪声低,非常适用于精密仪器仪表,无需外接放大电路,可以直接输出a/d采集电压范围内的电压值。构成的系统具有高精度、低功耗、高稳定性的特点,且外围电路简单有利于生产及维护。方案一可以使测量的准确性大大提高。因此,我们选用方案一作为我们的设计方案。3 硬件电路单元模块设计3.1 特殊器件介绍3.1.1 adc847单片机adc847是ad公司新近推出的微转换芯片,利用其24位-模数转换器,设计高精度压力及温度测量仪表。利用其片内集成的24位-模数转换器把模拟电压信号转换为数字信号。电压信号的产生是采用三端稳压集成电路lm317与lm337产生恒定的10ma电流源,流过随压力变化的沉重传感器应变电阻转化而来。为了减少应变电阻引线误差,该设计使用了四线制法测量电阻两端的电压,提高了压力信号的采集精度。adc847具有以下特点:与8051兼容的微控制器,其内部包含了高精度的8通道24位模数转换器(adc),单通道12位数模转换(dac),双通道16位pwm脉冲控制器,双通道可配置电流源以及可编程的8位(与8051单片机兼容1微控制器单元mcu)。另外,片内有62kb闪速/电擦除程序存储器、4k单元闪速/电擦除数据存储器。mcu支持的功能包括看门狗定时器、电源监视器以及adc dma功能。为多处理器接口和i/o扩展提供了32条可编程的i/o线、与i2c兼容的串行接口、spi串行接口和标准uart串行接口i/o。mcu 内核和模拟转换器两者均有正常、空闲以及掉电工作模式,它提供了适合于低功率应用的、灵活的电源管理方案。器件包括在工业温度范围内用3v和5v电压工作的两种规格有52引脚、塑料四方形扁平封装形式(potp)可供使用。adc847片内adc主要针对低频测量系统如温度测量系统,提供了可选的滤波功能,能有效的滤除干扰信息,提高测量精度。adc847丰富的片内集成功能为我们设计提供了极大的方便,几乎不用系统扩展即能完成功能,大的存储容量为丰富软件提供了广阔空间。3.1.2 ds18b20温度传感器测温元件采用新型的温度传感器ds18b20。ds18b20是由dallas半导体公司生产的“一线总线”接口的温度传感器。一线总线结构具有简洁且经济的特点,可使用户轻松地组建传感器网络,从而为测量系统的构建引入全新概念,ds18b20的测温范围为-55+125,在-10+85范围内,精度为0.0625,现场温度可直接通过“一线总线”以数字方式传输,大大提高了系统的抗干扰性。ds18b20适合于恶劣环境的现场温度测量,如环境控制、设备或过程控制、测温类消费电子产品等。它工作在3v5.5v的电压范围,采用多种封装形式,从而使系统设计更灵活、方便,设定分辨率及用户设定的报警温度存储在eeprom中,掉电后依然保存3。ds18b20的内部结构如图3-1所示:斜率累加器预置减法计数器减至0减法计数器高温度系数振荡器低温度系数振荡器温度寄存器减至0预置计数比较器图3-1 ds18b20内部结构图ds18b20主要由4部分组成:64位rom、温度传感器、非易失性温度报警触发器th和tl、配置寄存器5。ds18b20的封装形式及引脚排列如图3-2所示:图3-2 ds18b20的引脚排列图3.2单片机系统模块设计图3-3 aduc847单片机系统模块电路图在单片机系统电路中,包括滤波电路、复位电路、时钟电路。adc847可通过一个片内锁存环pll产生一个12.58mhz的高频时钟,以使之运行于32khz外部晶振。该时钟可通过一个从mcu核心时钟工作频率分离的可编程时钟发送。片内微控制器是一个优化的单指令周期8052闪存mcu。该mcu在保持与8051指令系统兼容的同时,具有12.58mips的性能。该芯片的两个独立的adc(主adc和辅助adc)由一个输入多路复用器,一个温度传感器和一个可直接测量低幅度信号的可编程增益放大器pga组成。主、辅adc都采用高频“斩波”技术来提供优良的直流(dc)失调和失调漂移指标,因而非常适合用于低温漂且对噪声抑制和抗电磁干扰能力要求较高的应用场合。adc847具有串行下载和调度模式,可通过ea引脚提供引脚竞争模式,同时支持quick start开发系统和低成本的软件和硬件工具。该芯片具有52引脚塑料四方扁平封装(mqfp)和56引脚芯片级封装(csp)。3.2.1 adc847 a/d转换电路模块设计本设计中a/d 转换电路负责把模拟电压信号转换为数字信号,aduc847内含两个10通道(mqfp封装为8通道)24位-adc(主通道和辅助通道)、一个片内可编程增益放大器和一个用于测量宽动态范围的低频信号数字滤波器。它可被设置成4/5个全差分输入通道或8/10个伪差分通道。主通道具有缓冲器和内部缓冲禁止功能。缓冲输入通道意味着这部分电路可处理较高内阻的信号源,而且可在输入通道前加入模拟rc滤波器(以便滤波噪声和降低射频干扰)。主通道输入范围为20mv2.56之间可分为8档,使用时可任选一档。这些通道用于转换直接来自传感器的信号,且没有外部信号条件要求。内部缓冲禁止时,可以采用外部缓冲。当内部缓冲器使能时,必须对负输入通道进行100mv的补偿,以解决缓冲器内共模输入范围有限的问题。辅助通道用于接收辅助信号的输入,此通道无缓冲器,只有一个固定有2.56v的增益范围。ad转换部分的引脚如表3-1所示。表 3-1 ad引脚管脚名称功能7rdy0 设置硬件结束转化或校准6 rdy1无效5 cal由硬件设定完成校准4noxref无效3err0由硬件来标记的主要的adc数据寄存器写错误已经被钳位在全0或全1状态。2err1与err0的定义相同针对辅助adc1-不能生效,写无效0-不能生效,写无效由于aduc847的两个a/d通道都采用-转换技术,因而可实现24位无失码的优良性能。器件工作时,先由-调制器将输入采样信号转换成数字脉冲串,脉冲串的工作周期包含了数字信息。然后采用sinc3可编程低通滤波器对调制器的输出数据流进行10中抽1,以得到按可编程数据输出率从5.35hz105.03hz给出的有效数据转换结果。aduc845对调制器信号流有抽取使能和抽取禁止两种操作模式。adcmode寄存器内的chop位控制抽取操作的使能和禁止。3.2.2 adc847串口模块设计介绍aduc847具有的两种串行输入/输出接口:串行外设接口(spi)和i2c串行接口。(1) spi串行接口aduc847片内集成了一个完整的串行外设接口(spi)。spi是工业标准的同步串行接口,它允许8位数据同时同步地被发送和接收。需要注意的是,spi引脚与p2引脚复用。只用spe被置位时,复用的引脚才具有spi功能。否则,随着spi被清零,这些引脚将保持标准的p2口功能。该系统可配置为主、从两种操作,并由标准的4引脚组成:sclock:主机的串行时钟线,通过mosi和miso数据线同步传输和接收数据。每个sclock周期传输和接收一个单数据位。发送/接收1b的数据需要8个sclock周期。sclock引脚在主模式下配置为输出,在从模式下配置为输入。主模式下,时钟的波特率、极性和相位可由spicon来设置。2)i2c串行接口adc847支持完全的i2c串行接口。此接口可配置为软件主操作和硬件从操作模式。i2c接口可同时用作spi接口,它可供用户使用且其不与芯片上使用其它i/o口复用,这就意味着adc845芯片片上任何其它i/o口复用,这就意味着adc845芯片上的i2c接口和spi接口可同时使用。当使用i2c接口时,由于他们都使用同一中断程序,在有中断产生时,必须查询接口以确定是哪一个接口触发职断服务程序请求。图3-4 max232电平转换电路图3-5 串行下载电路3.2.3温度检测电路模块设计电源检测 64位rom与单线 接口 寄存器与逻辑控制暂存寄存器温度传感器高温触发器低温触发器8位crc发生器cvddvd1vd2内部i/o图3-6 温度测量原理电路ds18b20有4个主要的数据部件:(1)光刻rom中的64位序列号是出厂前被光刻好的,它可以看作是该ds18b20的地址序列码。64位光刻rom的排列是:开始8位(28h)是产品类型标号,接着的48位是该ds18b20自身的序列号,最后8位是前面56位的循环冗余校验码(crc=x8+x5+x4+1)。光刻rom的作用是使每一个ds18b20都各不相同,这样就可以实现一根总线上挂接多个ds18b20的目的。(2)ds18b20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/lsb形式表达,其中s为符号位。其中dq为数字信号输入/输出端;gnd为电源地;vdd为外接供电电源输入端(采用寄生电源供电方式时接地)。(3)ds18b20温度传感器的存储器ds18b20温度传感器的内部存储器包括一个高速暂存ram和一个非易失性的可电擦除的eepram,后者存放高温度和低温度触发器th、tl和结构寄存器。(4)配置寄存器4软件设计4.1开发环境与语言设计使用的开发软件为keil编程环境软件以及上位机所用delphi7编程开发软件。keil软件是目前最流行开发mcs-51系列单片机的软件。keil提供了包括c编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uvision)将这些部份组合在一起。delphi,是windows平台下著名的快速应用程序开发工具(rapid application development,简称rad)。delphi是一个集成开发环境(ide),使用的核心是由传统pascal语言发展而来的object pascal,以图形用户界面为开发环境,透过ide、vcl工具与编译器,配合连结数据库的功能,构成一个以面向对象程序设计为中心的应用程序开发工具。 4.2程序设计思想本设计主要功能是对外部信号进行采集,同时控制信号显示和传送。因此在编程中主要涉及三个模块:、a/d控制和数据处理模块、pc机显示模块和串口通讯模块。由单片机控制a/d进行数据采集后送入aduc847内进行处理,扫描控制按键得到相应的控制信号,再将采集的数据在相应的控制信号实现lcd1602的显示和串口的通讯。4.3系统主程序流程图开始初始化单片机初始化ds18b20初始化led读取温度数据显示返回图4-1 系统主程序流程图4.4温度显示模块流程图开始初始化ds18b20读ds18b20的序列号检测ds18b20存在?发送跳过rom指令温度转换i=1,等待ds18b20复位发送ds18b20编码读取温度数据yn图4-2 温度显示模块程序流程图5 系统调试5.1 程序调试5.1.1初始化 时序见图5-1。主机总线to时刻发送一复位脉冲(最短为480us的低电平信号),接着在tl时刻释放总线并进入接收状态,dsl8b20在检测到总线的上升沿之后,等待15-60us,接着dsl8b20在t2时刻发出存在脉冲(低电平持续60-240us)6,如图中虚线所示。 15us-60us 480us480us-950us 60us-240ust0 tl t2 t3 t4 图5-1 主机读时序5.1.2写时间隙 当主机总线to时刻从高拉至低电平时,就产生写时间隙,见图5-2、图5-3,从to时刻开始15us之内应将所需写的位送到总线上,dsl8b20在t0后15-60us间对总线采样。若低电平,写入的位是0,见图5-2;若高电平,写入的位是1,见图5-3。连续写2位间的间隙应大于1us。 t0 t1 t0 t1 60us 1us 60us 1us 15us15us-60us 15us 45us 图5-2 ds18b20写0 图5-3 ds18b20写15.1.3读时间隙 见图5-4,主机总线to时刻从高拉至低电平时,总线只须保持低电平t0一t1。之后在t1时刻将总线拉高,产生读时间隙,读时间隙在t1时刻后t2时刻前有效。t2距to为15us,也就是说t2时刻前主机必须完成读位,并在to后的60us一120 us内释放总线。 主机工作 ds18b20工作 60us 1us 15us to t1 t2 t3 图5-4 主机读时序5.2 系统整体调试5.2.1 电源调试本设计的硬件电路中包括有八个电源(每两个组成一组),为测量外部阻抗而设计。这样设计可以比较准确的测量外部阻抗。其原理图如图5-5所示。图5-5 精密测量阻抗电源接通电源后,测量+dln处的电压约为+2.5v;-dln处的电压约为-2.5v即可。每一组的电压的绝对值应相当,选择这样的组别精度较高。须要测量阻抗时,将器件两端接在+dln和-dln处,测试有较稳定的电流流过该器件。可以通过单片机的ad口对器件上的压降进行测量,这样可以较为准确的测出器件的阻抗。5.2.2 整体性能调试为了验证本系统的准确性,条件有限以至于湿度测量无法验证其准确性,在调试时只对环境温度做了十次测量,时间间隔为一个小时,并与温度计所测量的温度值做了比较。记录如表5-1所示:表5-1 温度测量比较表测量次数测量值()温度计显示值()相对误差()127.027.20.2226.526.40.1326.826.90.1425.525.80.3526.927.00.1625.225.00.2725.826.20.4827.026.70.3926.526.40.11025.225.00.2引起误差的原因,一方面可能是由于受到其他电路的干扰,另一方面可能就是读数估读造成的误差。6系统功能、指标参数6.1 系统实现功能系统主要实现的功能是一个智能测量仪器,通过温度传感器将外部的温度信号转化为电信号后,利用传感器检测外部温度大小的变化。同时实现对温度大小进行显示的功能。在仪器上可通过按键实现采集的可控制,并可将所测数据参数传到电脑上去。及外部温度大小的检测,显示和数据传输。6.2 参数分析ds18b20有4个主要的数据部件:(1)光刻rom中的64位序列号是出厂前被光刻好的,它可以看作是该ds18b20的地址序列码。64位光刻rom的排列是:开始8位(28h)是产品类型标号,接着的48位是该ds18b20自身的序列号,最后8位是前面56位的循环冗余校验码(crc=x8+x5+x4+1)。光刻rom的作用是使每一个ds18b20都各不相同,这样就可以实现一根总线上挂接多个ds18b20的目的。(2)ds18b20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/lsb形式表达,其中s为符号位。其中dq为数字信号输入/输出端;gnd为电源地;vdd为外接供电电源输入端(采用寄生电源供电方式时接地)。表6-1 ds18b20温度数据表temperaturedigital output(binary)digital output(hex)+1250000 0111 1101 000007d0h+850000 0101 0101 00000550h+25.06250000 0001 1001 00010191h+10.1250000 0000 1010 001000a2h+0.50000 0000 0000 10000008h00000 0000 0000 00000000h-0.51111 1111 1111 1000fff8h-10.1251111 1111 0101 1110ff5eh-25.06251111 1110 0110 1111ff6eh-551111 1100 1001 0000fc90h(3)ds18b20温度传感器的存储器ds18b20温度传感器的内部存储器包括一个高速暂存ram和一个非易失性的可电擦除的eepram,后者存放高温度和低温度触发器th、tl和结构寄存器。(4)配置寄存器该字节各位的意义如下:表6-2 配置寄存器结构tmr1r011111低五位一直都是1,tm是测试模式位,用于设置ds18b20在工作模式还是在测试模式。在ds18b20出厂时该位被设置为0,用户不要去改动。r1和r0用来设置分辨率,如下表所示(ds18b20出厂时被设置为12位): 表6-3 分辨率设置r1r0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750ms7 结论本设计基于单片机实现了温度自动采集功能,本设计主要针对实际的生产和工作中常常需要对温度进行一段时间内的检测,而必需需要人员现场记录的工作中,该智能仪器可以取代现场记录人员,在减少人力的同时也减少了人为误差,实现智能测量。在这个设计中,该仪器只实现了智能仪器的功能,还可以通过串口与pc机通过虚拟仪器界面连接起来,实现可程控仪器,也可以添加上tcp/ip协议后实现网络化控制。将所测量的数据通过网络传输到网上,实现仪器的远程控制。这也是当前仪器的发展方向。该系统的不足之处在于没能够实现温度的自动调节,由于时间仓促和本人知识有限,在设计原理图时,没考虑清楚显示位数,以至该系统无法显示设定温度,该系统可以进一步加入温度自动调节电路,在当前温度超出所需的最适宜条件时,启动温度调节装置,就可以真正的实现温度的自动控制。8 总结与体会做了四周的课程设计有很多的心得体会。刚开始我以为这个设计也和以前我们做的课程设计差不多,没有多大的难度。可真的开始做了,才发现它比以前做的难多了。因为这个设计是综合了我们大学里学的所有知识的一个大的综合性课程设计,其难度在于我们可能对以前所学的知识本来就不是很到位,现在要用了才知道回去翻书来看。首先是方案设计与选择。因为是要把实物做出来的,所以在方案设计上有很多注意的地方。并不只是理论上能得出结论来就可以了。还要考虑方案的可靠性,实用性。成品做出来的抗干扰能力,使

温馨提示

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

评论

0/150

提交评论