课程设计(论文)-温湿度双参数测试仪设计.doc_第1页
课程设计(论文)-温湿度双参数测试仪设计.doc_第2页
课程设计(论文)-温湿度双参数测试仪设计.doc_第3页
课程设计(论文)-温湿度双参数测试仪设计.doc_第4页
课程设计(论文)-温湿度双参数测试仪设计.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

课程设计任务书 2011/2012 学年 题目: 温湿度双参数测试仪设计 学校: 中北大学 学院: 信息与通信工程学院 姓 名: 目录引言.11. 整体设计.22. 仿真软件.3 2.1 proteus简介.3 2.2 keil c51编辑器简介.33. 方案一ds18b20和hs1101测温湿系统设计.5 3.1 ds18b20温度传感器.53.1.1 ds18b20工作原理.53.1.2 ds18b20性能特点.53.1.3 ds18b20引脚功能.53.1.4 ds18b20内部结构功能图.6 3.2 lcd1602液晶显示器.63.2.1 lcd1602液晶显示器工作原理.63.2.2 lcd1602主要技术参数.63.2.3 lcd1602引脚功能说明.7 3.3 ds18b20测温原理图.73.3.1 ds18b20在altium designer上测温原理图.73.3.2 ds18b20在proteus上测温原理图.8 3.4 ds18b20测温仿真结果.8 3.5 hst1101湿度测量设计.93.5.1 hst1101湿度传感器工作原理.93.5.2 ne555时基电路.10 3.6 hst1101湿度测量电路原理图.11 3.7 hst1101湿度测量电路仿真图.114. 方案二sht11温湿度测试系统设计.12 4.1 sht11温湿度传感器简介.12 4.2 sht11引脚功能.12 4.3 sht11内部结构及功能引脚.13 4.4 sht11应用设计.144.4.1 sht11 硬件设计.144.4.2 sht11 软件设计.144.4.3 sht11湿度线性补偿和温度补偿.154.4.4 sht11湿度值输出.164.4.5 sht11露点输出.16 4.5 sht11温湿度测试原理图.17 4.6 sht11温湿度测试软件仿真图.17 4.7 sht11温湿度测试硬件仿真图.185. 方案比较.186. 总结.19参考文献.20程序附录.21 引言 工业生产中有些场合需要使用精密的机台设备,这些设备的精密度高、价格高,因此为了保证产品的质量及机台的使用寿命,对其环境的要求也很高,尤其的是对温度、湿度的控制。随着信息产业的发展及工业化的进步,温度和湿度不仅仅表现在工业等方面直接或间接影响着人类基本生活条件, 还表现在对工生物制品、医药卫生、科学研究、国防建设等方面的影响。针对以上情况,研制可靠且实用的温湿度控制器显得非常重要。常用温湿度传感器的非线性输出及一致性较差,使温湿度的测量方法和手段相对较复杂,且给电路的调试带来很大的困难。传统的温湿度测量多采用模拟小信号传感器,不仅信号调理电路复杂,且温湿度值的标定过程也极其复杂,并需要使用昂贵的标定仪器设备。因此对于温湿度控制器的设计有着很大的现实生产意义。本文设计的是基于单片机at89c51的温湿度检测和控制系统,主要以广泛应用的ds18b20数字温度传感器和hs1101湿度传感器作为温度和湿度的检测,该仪器具有测量精度高、硬件电路简单、并能很好的进行显示,可测试不同环境温湿度的特点。另外和控制电路相连,可以进行加湿电路和除湿电路的控制,使温度和湿度参数在预先设定的范围内,不需要人的直接参与。以及新型的和广泛使用的shtxx系列单芯片传感器是一款含有已校准数字信号输出的温湿度复合传感器,该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。本设计是基于单片机对数字信号的高敏感和可控性、温湿度传感器可以产生模拟信号,和a/d模拟数字转换芯片的性能,我设计了以单片机为核心的一套检测系统,其中包括单片机、复位电路、温度检测、湿度检测、与pc机通信、系统软件等部分的设计。关键词: at89c51单片机、ds18b20温度传感器、 hs1101湿度传感器、 sht11温湿度传感器、 1、整体设计 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比采用电子或数字电路更加强大。基于单片机的温湿度控制仪的设计,本设计实现的是单片机温湿度测量与控制系统,通过lcd或led显示所测量的温湿度,是基于单片机对数字信号的高敏感和可控性、温湿度传感器可以产生模拟信号,和a/d模拟数字转换芯片的性能,我设计了以单片机为核心的一套检测系统,其中包括单片机、复位电路、温度检测、湿度检测、与pc机通信、系统软件等部分的设计。从总体上设计了两种方案来实现温湿度双参数测试设计。方案一:采用将温度和湿度分开测量,其中温度传感器选用dalass公司的数字温度传感器ds18b20,可以与单片机直接相连。湿度传感器选用hs1101电容式湿度传感器,湿度的变化可以转化为频率的变化,湿度越高,频率越小,外加一个555定时器便可以将电容的变化转变为频率的变化,产生一定频率的方波,直接与单片机的定时器1相连,便可以测出方波的频率,进而便可以得到湿度值。由于ds18b20采用单总线方式,在进行多点测量的时候将非常易于扩展,不需要添加任何器件,将所有传感器直接与单片机io口连接即可。采用液晶显示器lcd1602显示所测温度和湿度。方案二:采用将温度和湿度一起测量,即用一个集成的温湿度传感器sht11来方便实现。温湿度传感器sht11将温度感测、湿度感测、信号变换、ad转换和加热器等功能集成到一个芯片上,该芯片包括一个电容性聚合体湿度敏感元件和一个用能隙材料制成的温度敏感元件。这两个敏感元件分别将湿度和温度转换成电信号,该电信号首先进入微弱信号放大器进行放大,然后进入一个14位的ad转换器,最后经过二线串行数字接口输出数字信号。采用数码管显示所测温度和湿度。 2、仿真软件介绍本次设计用到了proteus和keil c51两种软件,两者能完美的结合在一起,实现虚拟的实物效果,为以后的实物焊接提供了保障。2.1 proteus简介 proteus软件是来自英国labcenter electronics公司的eda工具软件,proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它eda工具一样的原理布图、pcb自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等。proteus组合了高级原理布图、混合模式spice仿真,pcb设计以及自动布线来实现一个完整的电子设计系统。此系统受益于15年来的持续开发,被电子世界在其对pcb设计系统的比较文章中评为最好产品“the route to pcb cad”。proteus 产品系列也包含了革命性的vsm技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如led/lcd、键盘、rs232终端等动态外设模型来对设计进行交互仿真。 其功能模块:个易用而又功能强大的isis原理布图工具;prospice混合模型spice仿真; ares pcb设计。 prospice 仿真器的一个扩展proteus vsm:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,leds甚至lcd显示cpu模型。 支持许多通用的微控制器,如pic,avr,hc11以及8051. 最新支持arm 交互的装置模型包括: led和lcd显示,rs232终端,通用键盘,i2c,spi器件 强大的调试工具,包括寄存器和存储器,断点和单步模式 iar c-spy 和keil uvision2等开发工具的源层调试 应用特殊模型的dll界面-提供有关元件库的全部文件 最新版支持非常丰富仿真元件共7000多种,还有很多第三方模型。如mmc卡,以太网卡,ata硬盘,麦克风,等等。 2.2 keil c51 编译器简介 keil c51标准c编译器为8051微控制器的软件开发提供了c语言环境,同时保留了汇编代码高效,快速的特点。c51编译器的功能不断增强,使你可以更加贴近cpu本身,及其它的衍生产品。c51已被完全集成到uvision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uvision2 ide可为它们提供单一而灵活的开发环境。其中keil c51编辑器和调试器是重要的一部分:(1)源代码编辑器uvision2编辑器包含了所有用户熟悉的特性。彩色语法显像和文件辩识都对c源代码进行和优化。可以在编辑器内调试程序,它能提供一种自然的调试环境,使你更快速地检查和修改程序。(2)断点uvision2允许用户在编辑时设置程序断点(甚至在源代码未经编译和汇编之前)。用户启动v2调试器之后,断点即被激活。断点可设置为条件表达式,变量或存储器访问,断点被触发后,调试器命令或调试功能即可执行。在属性框(attributes column)中可以快速浏览断点设置情况和源程序行的位置。代码覆盖率信息可以让你区分程序中已执行和未执行的部分。(3)调试函数语言uvision2中,你可以编写或使用类似c的数语言进行调试。a.内部函数:如printf, memset, rand及其它功能的函数。b.信号函数:模拟产生cpu的模拟信号和脉冲信号(simulate analog and digital inputs to cpu)。c.用户函数:扩展指令范围,合并重复动作。(4)变量和存储器用户可以在编辑器中选中变呈来观察其取值。双层窗口显示,可进行以下调整:a.当前函数的局部变量b.用户在两个不同watch窗口页面上的自定义变量c.堆栈调用(call stack)页面上的调用记录(树)(call tree)d.不同格式的四个存储区 keil c51编译器在遵循ansi标准的同时,为8051微控制器系列特别设计。语言上的扩展能让用户使用应用中的所有资源:a.存储器和特殊功能寄存器的存取 c51编译器可以实现对8051系列所有资源的操作。sfr的存取由sfr和sbit两个关键字来提供。变量可旋转到任一个地址空间。用关键字at还能把变量放入固定的存储器存储模式(大,中,小)决定了变量的存储类型。 连接定位器支持的代码区可达32个,这就允许用户在原有64k rom的8015基础上扩展程序。在v2的编译器和许多高性能仿真器中,可以支持应用程序的调试。 b.中断功能 c51允许用户使用c语言编写中断服务程序,快速进、出代码和寄存器区的转换功能使c语言中断功能更加高效。 可再入功能是用关键字来定义的。多任务,中断或非中断的代码要求必须具备可再入功能。 c.灵活的指针 c51提供了灵活高效的指针。 通用指针用3个字节来存储存储器类型及目标地址,可以在8051的任意存储区内存取任何变量。 特殊指针在声明的同时已指定了存储器类型,指向某一特定的存储区域。由于地址的存储只需12字节,因此,指针存取非常迅速。 3、方案一ds18b20和hs1101测温湿系统设计 采用将温度和湿度分开测量,其中温度传感器选用dalass公司的数字温度传感器ds18b20,可以与单片机直接相连。湿度传感器选用hs1101电容式湿度传感器,湿度的变化可以转化为频率的变化,湿度越高,频率越小,外加一个555定时器便可以将电容的变化转变为频率的变化,产生一定频率的方波,直接与单片机的定时器1相连,便可以测出方波的频率,进而便可以得到湿度值。由于ds18b20采用单总线方式,在进行多点测量的时候将非常易于扩展,不需要添加任何器件,将所有传感器直接与单片机io口连接即可。采用液晶显示器lcd1602显示所测温度和湿度。3.1 ds18b20温度传感器3.1.1 ds18b20工作原理ds18b20的读写时序和测温原理与ds1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。 ds18b20测温原理中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。3.1.2ds18b20性能特点 ds18b20的性能特点:采用单总线专用技术,既可通过串行口线,也可通过其它i/o口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位),测温范围为-55-+125,测量分辨率为0.0625,内含64位经过激光修正的只读存储器rom,适配各种单片机或系统机,用户可分别设定各路温度的上、下限,内含寄生电源。3.1.3ds18b20引脚功能引脚功能gnd电压地dq单数据总线vdd电源电压nc空引脚 表1:ds18b20引脚接口说明表3.1.4ds18b20内部结构功能图 图1 ds18b20内部结构功能图3.2 lcd1602液晶显示器液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、led数码管、液晶显示器。发光管和led数码管比较常用,软硬件都比较简单,本次设计中重点介绍字符型液晶显示器的应用。3.2.1 lcd1602液晶显示器工作原理液晶显示原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、pda移动通信工具等众多领域。在单片机系统中应用晶液显示器作为输出器件有以下几个优点:1、显示质量高:由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(crt)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。2、数字式接口:液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。3、体积小、重量轻:液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。4、功耗低:相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动ic上,因而耗电量比其它显示器要少得多。3.2.2 lcd1602主要技术参数:显示容量:162个字符芯片工作电压:4.55.5v工作电流:2.0ma(5.0v)模块最佳工作电压:5.0v字符尺寸:2.954.35(wh)mm3.2.3 lcd1602引脚功能说明 lcd1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表2所示:编号符号引脚说明编号符号引脚说明1vss电源地9d2数据2vdd电源正极10d3数据3vl液晶显示偏压11d4数据4rs数据/命令选择12d5数据5r/w读/写选择13d6数据6e使能信号14d7数据7d0数据15bla背光源正极8d1数据16blk背光源负极 表2:lcd1602引脚接口说明表3.3 ds18b20测温度原理图3.3.1ds18b20在altium designer上测温原理图 图2 ds18b20在altium designer上测温原理图3.3.2ds18b20在proteus上测温原理图 图3 ds18b20在proteus上测温原理图3.4 ds18b20测温度仿真结果 图4 ds18b20测温仿真图3.5 hst1101湿度测量设计测量空气湿度的方式很多,其原理是根据某种物质从其周围的空气吸收水分后引起的物理或化学性质的变化,间接地获得该物质的吸水量及周围空气的湿度。电容式、电阻式和湿涨式湿敏原件分别是根据其高分子材料吸湿后的介电常数、电阻率和体积随之发生变化而进行湿度测量的。采用hs1100/hs1101湿度传感器。不需校准的完全互换性,高可靠性和长期稳定性,快速响应时间,专利设计的固态聚合物结构,由顶端接触(hs1100)和侧面接触(hs1101)两种封装产品,适用于线性电压输出和频率输出两种电路,适宜于制造流水线上的自动插件和自动装配过程等。3.5.1 hs1101湿度传感器工作原理 hs1101电容式湿度传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。涉及如何将电容的变化量准确地转变为计算机易于接受的信号时,常用两种方法:一是将hs1101置于运放与阻容组成的桥式振荡电路中,所产生的正弦波电压信号经整流、直流放大、再a/d转换为数字信号;另一种是将hs1101置于555振荡电路中,将电容值的变化转为与之呈反比的电压频率信号,可直接被计算机所采集。 湿度传感器hs1101是基于独特工艺设计的电容元件,这些相对湿度传感器可以大批量生产。可以应用于办公室自动化,车厢内空气质量控制,家电,工业控制系统等。图5为hs1101湿度传感器实物图,它有以下几个显著的特点:1、 全互换性,在标准环境下不需校正2、 长时间饱和下快速脱湿3、 可以自动化焊接,包括波峰或水浸4、 高可靠性与长时间稳定性5、 专利的固态聚合物结构6、 可用于线性电压或频率输出回路 7、 快速反应时间 图5 hs1101实物图图6(a)为湿敏电容工作的温、湿度范围。图6(b)为湿度-电容响应曲线。 图6(a) 湿敏电容工作的温、湿度范围 图6(b) 湿度-电容响应曲线 相对湿度在0%100%rh范围内;电容量由162pf变到200pf,其误差不大于2%rh;响应时间小于5s;温度系统为0.04pf/。可见其精度是较高的。3.5.2 ne555时基电路 ne555是一个能产生精确定时脉冲的高稳度控制器,其输出驱动电流可达200ma.。在多谐振荡器工作方式时,其输出的脉冲占空比由两个外接电阻和一个外接电容确定;在单稳态工作方式时,其延时时间由一个外接电阻和一个外接电容确定,它可以延时数微秒到数小时.频率输出的555测量振荡电路如图7所示。集成定时器555芯片外接电阻r4、r2与湿敏电容c,构成了对c的充电回路。7端通过芯片内部的晶体管对地短路又构成了对c的放电回路,并将引脚2、6端相连引入到片内比较器,便成为一个典型的多谐振荡器,即方波发生器。另外,r3 是防止输出短路的保护电阻,r1 用于平衡温度系数。 图7 频率输出的555振荡电路该振荡电路两个暂稳态的交替过程如下:首先电源vs通过r4、r2 向c充电,经t充电时间后,uc达到芯片内比较器的高触发电平,约0.67vs,此时输出引脚3端由高电平突降为低电平,然后通过r2放电,经t放电时间后,uc下降到比较器的低触发电平,约0.33vs此时输出,此时输出引脚3端又由低电平突降为高电平,如此翻来覆去,形成方波输出。其中,充放电时间为 t充电=c(r4+r2)ln2 t放电=cr2 ln2因而,输出的方波频率为 : f=1/(t放电+t充电)=1/ c(r4+r2)ln2可见,空气湿度通过555测量电路就转变为与之呈反比的频率信号。3.6 hst1101湿度测量电路原理图 图8 hs1101测湿度原理图3.7 hst1101湿度测量电路仿真图 图9 hs1101测湿度仿真结果 4、方案二sht11温湿度测试系统设计系统采用的温湿度传感器是sht11,它具有体积小、免校正等特点。可应用于各种恶劣环境的温湿度测量。shtxx系列单芯片传感器是一款含有已校准数字信号输出的温湿度复合传感器,该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。本设计是基于单片机对数字信号的高敏感和可控性、温湿度传感器可以产生模拟信号,和a/d模拟数字转换芯片的性能,我设计了以单片机为核心的一套检测系统,其中包括单片机、复位电路、温度检测、湿度检测、与pc机通信、系统软件等部分的设计。4.1 sht11温湿度传感器简介 sht11是瑞士scnsirion公司推出的一款数字温湿度传感器芯片。该芯片广泛应用于暖通空调、汽车、消费电子、自动控制等领域。共主要特点如下:高度集成,将温度感测、湿度感测、信号变换、ad转换和加热器等功能集成到一个芯片上;提供二线数字串行接口sck和data,接口简单,支持crc传输校验,传输可靠性高;测量精度可编程调节,内置ad转换器(分辨率为812位,能通过对芯片内部寄存器编程米选择);测量精确度高,由于同时集成温湿度传感器,能提供温度补偿的湿度测量值和高质量的露点计算功能;封装尺寸超小(7.62 mm5.08mm2.5 mm),测量和通信结束后,自动转入低功耗模式;高可靠性,采用cmosens工艺,测量时可将感测头完全浸于水中。4.2 sht11引脚功能sht11 温湿度传感器采用smd(lcc)表面贴片封装形式,接口非常简单,引脚名称及排列顺序如图10所示:各引脚的功能如下:脚1和4-信号地和电源,其工作电压范围是2.45.5 v;脚2和脚3-二线串行数字接口,其中da-ta为数据线,sck为时钟线; 脚58-未连接。 图10 sht11引脚图 4.3 sht11内部结构及工作原理 校准寄存器温湿度传感器sht11将温度感测、湿度感测、信号变换、a/d转换和加热器等功能集成到一个芯片上,其内部结构如图 11所示。该芯片包括一个电容性聚合体湿度敏感元件和一个用能隙材料制成的温度敏感元件。这两个敏感元件分别将湿度和温度转换成电信号,该电信号首先进入微弱信号放大器进行放大;然后进入一个14位的a/d 转换器;最后经过二线串行数字接口输出数字信号。sht11在出厂前,都会在恒湿或恒温环境巾进行校准,校准系数存储在校准寄存器中;在测量过程中,校准系数会自动校准来自传感器的信号。此外,sht11内部还集成了一个加热元件,加热元件接通后可以将sht11 的温度升高5左右,同时功耗也会有所增加。此功能主要为了比较加热前后的温度和湿度值,可以综合验证两个传感器元件的性能。在高湿(95rh)环境中,加热传感器可预防传感器结露,同时缩短响应时间,提高精度。加热后sht11温度升高、相对湿度降低,较加热前,测量值会略有差异。运算放大器二线串行数字接口和crc校验sck温度传感器dataa/d转换器vcc湿度传感器gnd 图11 sht11内部结构图微处理器是通过二线串行数字接口与sht11进行通信的。通信协议与通用的i2c总线协议是不兼容的,因此需要用通用微处理器i/o口模拟该通信时序。微处理器对sht11的控制是通过5个5位命令代码来实现的,命令代码的含义如表3所列。 命令代码含义00011测量温度00101测量湿度00111读内部状态寄存器00110写内部状态寄存器11100复位命令,使内部状态寄存器恢复默认值。下一次命令前至少等待11ms其他保留 表3 sht11控制命令代码4.4 sht11应用设计 微处理器采用二线串行数字接口和温湿度传感器芯片sht11进行通信,所以硬件接门设计非常简单;然而,通信协议是芯片厂家自己定义的,所以在软件设计中,需要用微处理器通用io口模拟通信协议。 4.4.1 sht11硬件设计 sht11通过二线数字串行接口来访问,所以硬件接口电路非常简单。需要注意的地方是:data数据线需要外接上拉电阻,时钟线sck用于微处理器和sht11之间通信同步,由于接口包含了完全静态逻辑,所以对sck最低频率没有需求;当工作电压高于4.5v时,sck频率最高为10 mhz,而当工作电压低于4.5 v时,sck最高频率则为1 mhz。gnd ncdata ncsck ncvdd nc 18 io1 io2 1 27 2 3610k 45mcu sht11 vcc图12 sht11 的硬件连接图4.4.2 sht11软件设计 微处理器和温湿度传感器通信采用串行二线接口sck和data,其中sck为时钟线,data为数据线。该二线串行通信协议和i2c协议是不兼容的。在程式开始,微处理器需要用一组启动传输时序表示数据传输的启动,如图13所示。当sck时钟为高电平时,data翻转为低电平;紧接着sck变为低电平,随后又变为高电平;在sck时钟为高电平时,data再次翻转为高电平。 图13 数据传输启动时序sht11湿度测试时序如图14所示。其中,阴影部分为sht11控制总线。主机发出启动命令,随后发出一个后续8位命令码,该命令码包含3个地址位(芯片设定地址为000)和5个命令位;发送完该命令码,将data总线设为输入状态等待sht11的响应;sht11接收到上述地址和命令码后,在第8个时钟下降沿,将data下拉为低电平作为从机的ack;在第9个时钟下降沿之后,从机释放data(恢复高电平)总线;释放总线后,从机开始测量当前湿度,测量结束后,再次将data总线拉为低电平;主机检测到data总线被拉低后,得知湿度测量已经结束,给出sck时钟信号;从机在第8个时钟下降沿,先输出高字节数据;在第9个时钟下降沿,主机将data总线拉低作为ack信号。然后释放总线data;在随后8个sck 周期下降沿,从机发出低字节数据;接下来的sck下降沿,主机再次将data总线拉低作为接收数据的ack信号;最后8个sck下降沿从机发出crc校验数据,主机不予应答(nack)则表示测量结束。 s 地址命令ack 测量 数据(高) ack 数据(低) ack crc mack 图14 sht11湿度测试时序图 由于微处理器通过二线串行数字接口访问湿度传感器sht11,而访问协议是芯片生产商定义的,所以需要用通用i/o口模拟该通信协议。我们选用atmel公司的微处理器atmega128。通过对i/o口寄存器的编程,该处理器的i/o口可以根据需要设置成输入、输出、高阻等状态。这为模拟该通信协议提供了条件。在软件实现过程中,通过宏定义来实现i/o口状态的改变。 #define set_data_0() ddrb|=(1pb5);portb&=(1pb5) /data输出0 #define set_data_1() ddrb|=(1pb5);portb|=(1pb5) /data输出1 #define release_data_1() ddrb&=(1pb5) /释放总线,总data设为输入状态,因为外接上拉电阻,data总线被上拉为高电平#define set_sck_output() ddrb|=(1pb4) /设置sck为输出#define set_sck_1() portb|=(1pb4) /sck输出高电平#define set_sck_0() portb&=(1pb4) /sck输出为低电平 通过以上宏定义,可以实现sck和data总线的各种输入和输出状态。为了模拟该二线串行数字协议,还需要一个延时函数。winavr 库函数提供了一个延时函数_delay_loop_2(unsigned char s),该延时函数运行用4个时钟周期,所以自定义延时1s函数可以定义如下:#define cpu_crystal7.3728 /系统晶振(频率单位为mhz)void delay_us(unsigned char us)_delay_loop_2(unsigned int)(us)*cpu_crystal/4); /延时1us程序 基于以上宏定义和延时函数,可以方便地使sck和data总线输出持续一定时间的高电平或低电平。4.4.3 sht11湿度线性补偿和温度补偿sht11可通过data数据总线直接输出数字量湿度值。该湿度值称为“相对湿度”,需要进行线性补偿和温度补偿后才能得到较为准确的湿度值。由于相对湿度数字输出特性呈一定的非线性,因此为了补偿湿度传感器的非线性,可按下式修正湿度值: 式中:rhlinear为经过线性补偿后的湿度值,sorh为相对湿度测量值,c1、c2、c3为线性补偿系数。 由于温度对湿度的影响十分明显,而实际温度和测试参考温度25有所不同,所以对线性补偿后的湿度值进行温度补偿非常有必要。补偿公式如下: 式中:rhtrue为经过线性补偿和温度补偿后的湿度值,t为测试湿度值时的温度(),t1和t2为温度补偿系数,取值如表4。so 12位0.010.000088位0.010.00128 表4(a) 湿度线性补偿系数 表4(b) 湿度值温度补偿系数 so c1 c2 c3 12位 4 0.0405 8位 4 0.6484.4.4 sht11湿度值输出由于sht11是采用ptat能隙材料制成的温度敏感元件,因而具有很好的线性输出。实际温度值可由下式算得: temperature=d1+d2sot 式中:d1和d2为特定系数,d1的取值与sht11工作电压有关,d2的取值则与sht11内部a/d转换器采用的分辨率有关,其对应关系表5所列。 /540.0040.00439.7539.503.539.6539.35339.6039.282.539.5539.23so/14位0.010.01812位0.040.072 表5(a) 与工作电压的对应关系 表5(b) 与分辨率的对应关系4.4.5 sht11露点输出 露点是一个特殊的温度值,是空气保持某一定湿度必须达到的最低温度。当空气的温度低于露点时,空气容纳不了过多的水分,这些水分会变成雾、露水或霜。露点可以根据当前相对湿度值和温度值计算得出,具体的计算公式如下:式中:为当前温度值,为相对湿度值,为露点4.5 sht11温湿度测试原理图 图15 sht11温湿度测试原理图4.6 sht11温湿度测试软件仿真图 图16 sht11温湿度测试仿真图4.7 温湿度双参数测试硬件仿真图 图17 温湿度双参数硬件仿真图 5、方案比较 方案一,采用将温度和湿度分开测量,基于单片机at89c51的温湿度检测和控制系统,主要以广泛应用的ds18b20数字温度传感器和hs1101湿度传感器作为温度和湿度的检测,该仪器具有测量精度高、硬件电路简单、并能很好的进行显示,可测试不同环境温湿度的特点。另外和控制电路相连,可以进行加湿电路和除湿电路的控制,使温度和湿度参数在预先设定的范围内,不需要人的直接参与。 方案二,温湿度传感器sht11集温度传感器和湿度传感器于一体,因此采用sht11进行温湿度实时监测的系统具有精度高、成本低、体积小、接口简单等好处;另外sht11芯片内部集成14位ad转换器,且采用数字信号输出,因此抗干扰能力也比同类芯片高。该芯片在温湿度监测、自动控制等领域均已得到广泛应用,系统结构简单、实用,提高了测量精度和效率。 两方案相比,由于传统的模拟式湿度传感器(方案一)一般不仅要设计信号调理电路,还要经过复杂的校准和标定过程,其测量精度难以保证。而sht11是瑞士sensiri-on公司生产的具有二线串行接口的单片全校准数字式新型相对湿度和温度传感器,可用来测量相对湿度、温度和露点等参数,具有数字式输出、免调试、免标定、免外围电路及全互换的特点。该传感器将cmos芯片技术与传感器技术融合,为开发高集成度、高精度、高可靠性的温湿度测控系统提供了解决方案。集温度传感器和湿度传感器于一体的sht11作为主要的采集与测量系统,其中它自带的a/d转换器,使得此温湿度控制仪具有精度高、成本低、体积小、接口简单等优点,还具有良好抗干扰能力。加上优化程序,使得本系统具有很高的实用性。 6、总结在温湿度双参数测试仪的设计中我明白编写程序之前,最重要的画程序流程图,流程图反应了程序的思想,结构,步骤。而画流程图必须要了解硬件设计者的想法以及设计方案。因此在开始的时后,我主要是与负责硬件部分的同学沟通,了解和分析他们的设计思路以及实现的功能。这时初步的流程图即可绘制出来。接下来就是构思详细的流程图。由于我们使用的51系列单片机,是学习中经常使用的芯片,比较熟悉。因此结合设计好的proteus图,将使用到的引脚摘出来,结果了解分析,清楚了本次编写程序时主要用到的单片机的i/o口,定时器/计数器等功能。此时主程序的流程图就很容易绘制出来了。本次课程设计使用了两种方案设计温湿度测试,方案一使用了2种传感器ds18b20、hs1101。由于这两种传感器都可以通过电路直接输给单片机数字信号,不用使用ad,这就使得程序简单一些了。ds18b20内置rom区,在工作之前要求单片机写数据,而且时序要求严格,才能读出数据。第一次接触这个传感器,认真学习搜集来的资料,结合本次设计的需要,在已有的程序基础进行修改。hs1101主要是应用外部计数方式进行湿度的转换。方案二使用了集温度和湿度传感器于一体的sht11温湿度传感器,其精度高,成本低,体积小,接口简单。子程序的流程图写好后就可以着手编写程序了。根据以前的编程经验,写的时候最好是模块化,可提高可靠性和可扩展性。其次,还要注意加注释,这样其他同学在看的时候就以明白每部分实现的功能是什么。我们分别先测试每个传感器的显示,在调试的过程中却出现很多问题,比如尽管编译是程序没有错误,但下载到单片机后却没有达到预期效果,开始排错,确定硬件正常后,就仔细检查程序。原来是在写程序的时候粗心多写了分号使得程序移植在循环处执行。把单片机控制理论与技术应用在监控中,能够实现智能化的设计要求。整个设计过程同时也是一个很好的学习机会,例如运用proteus绘图,经过这次设计后自己在这方面有很大地进步,画图的熟练度有了明显的提高; 在查找资料方面,认识到:图书资料、网络资料和期刊等都很有价值,以后做设计的时候要注意查找完整的资料,不要只偏重一个方面。当然整个设计过程

温馨提示

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

评论

0/150

提交评论