关于湿度传感器HS1101的设计.doc
关于湿度传感器HS1101的设计本课题的设计方案本课题所设计的系统有三个原则:1、操作维护方便,为了利于系统的推广,在设计时应该充分采用操作内置或简化的方法,以尽量减少对操作人员专用知识的要求,也便于进行维修。2、可靠性,本系统所有的环节中,都应该有着可靠性的思想,从选用可靠性高的元器件;供电电源采用抗干扰措施;进行多向滤波等作为出发点。3、性价比,本课题所设计的系统的核心是单片机,它本身有着多个优势,要使得系统能够广泛地应用,在充分考虑可靠性的同时,尽可能降低成本,提高系统的性价比。本文将从以下几个方面展开工作:一是确定测湿电路的设计方案;二是进行单片机核心电路的设计;三是对单片机及通信接口进行简单的概述;四是对所有的工作进行总结。本次课题的设计系统的示意图如图1-1。湿敏元件HS1101振荡电路NE555模数转换ADC0809核心处理器MCU-51个人PC电脑终端图1-1:系统示意图湿度传感器HS1101是基于独特工艺设计的电容元件,这些相对湿度传感器可以大批量生产。可以应用于办公室自动化,车厢内空气质量控制,家电,工业控制系统等。它有以下几个显著的特点:1、 全互换性,在标准环境下不需校正2、 长时间饱和下快速脱湿3、 可以自动化焊接,包括波峰或水浸4、 高可靠性与长时间稳定性5、 专利的固态聚合物结构6、 可用于线性电压或频率输出回路7、 快速反应时间HS1101的简单物照图如图2-15。图2-1:HS1101实物照相对湿度在0%100%RH范围内;电容量由162pF变到200pF,其误差不大于2%RH;响应时间小于5s;温度系统为0.04pF/。可见其精度是较高的。其湿度电容响应曲线如图2-2:20 40 60 80 100 相对湿度% 200 190 180 170 电容F图2-2:HS1101湿度电容响应曲线HS1101的一些常用参数如表2-1:表2-1:HS1101常用参数参数符号参数值单位工作温度Ta-40100储存温度Tstg-40125供电电压Vs10Vac湿度范围RH0100%RH焊接时间=260t10S2.1 湿度测量电路HS1101电容传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。涉及如何将电容的变化量准确地转变为计算机易于接受的信号时,常用两种方法:一是将HS1101置于运放与阻容组成的桥式振荡电路中,所产生的正弦波电压信号经整流、直流放大、再A/D转换为数字信号;另一种是将HS1101置于555振荡电路中,将电容值的变化转为与之呈反比的电压频率信号,可直接被计算机所采集。2.1.1 NE555时基电路NE555是一个能产生精确定时脉冲的高稳度控制器,其输出驱动电流可达200mA.。在多谐振荡器工作方式时,其输出的脉冲占空比由两个外接电阻和一个外接电容确定;在单稳态工作方式时,其延时时间由一个外接电阻和一个外接电容确定,它可以延时数微秒到数小时。其工作电压范围为:4.5V16V。NE555的框图如图2-3所示5。图2-3:NE555框图2.1.2 基于555振荡电路的湿度测量电路设计图2-4:测湿电路图把HS1101和NE555同时接入电路中的电路设计原理图如图2-4所示。NE555电路功能的简单概括为:当6端和2端同时输入为“1”时,3端输出为“0”;当6端和2端同时输入为“0”时,3端输出为“1”。在此电路中,555定时器正是根据这一功能用作多稳态触发器输出频率信号的。当电源接通时,由于6和2端的输入为“0”,则定时器3脚输出为“1”;又由于C1 两端电压为0,故 通过R2 和R3 对C1充电,当C1 两端电压达到2/3 时,定时电路翻转,输出变为“0”。此时555定时器内部的放电BJT的基极电压为“1”,放电BJT导通,从而使电容C1 通过R3 和内部放电BJT 进行放电,当C1 两端电压降低到/3 时,定时器又翻转,使输出变为“1”,内部放电BJT 截止,VCC 又开始通过R2 和R3 对C1 充电,如此周而复始,形成振荡。其工作循环中的充电时间为=0.7(R2+R3)C1;放电时间为 = 0.7R3*C1; 输出脉冲占空比为q (R2+R3)/(R2+2R3),为了使输出脉冲占空比接近50,R2应远远小于R3。当外界湿度变化时,HS1101 两端电容值发生改变,从而改变定时电路的输出频率。因此只要测出555的输出频率,并根据湿度与输出频率的关系,即可求得环境的湿度6。核心电路的设计3.1 ADC0809模数转换器在单片机应用中,特别是在实时控制系统中,常常需要把外界连续变化的物理量(如湿度、湿度、压力、流量),变成数字量送入计算机内进行加工处理。反之,也需要将计算机输出的数字量转为连续变化的模拟量,用心控制调节一些执行机构,实现对被控对象的控制。这种由模拟量变为数字量,或由数字量转为模拟量的转换,通常叫做模/数,或数/模转换。用以实现这类转换的器件,叫做模/数(A/D)转换器或数/模(D/A)转换器7。3.1.1 ADC0809应用简介ADC0809具有8路模拟量输入,可在程序控制下对任意通道进行A/D转换,输出8位二进制数字量。其主要性能有:逐次比较型;CMOS工艺制造;单电源供电;无需外部进行零点和满量度调整;可锁存三态输出,输出与TTL兼容;易与各种微控制器接口;具有锁存控制的8路模拟开关;分辨率为8位;功耗为15mW;转换时间()为128;转换精度为8。ADC0809的引脚图如图3-1所示。图3-1:ADC0809引脚图3.1.2 测湿电路与单片机连接NE555的输出端跟ADC0809的IN0通道相接,则ADC0809芯片的地址选通为ADDR0,ADDR1,ADDR2都接地。ADC0809的转换时钟由单片机的ALE提供。ADC0809的典型转换频率为640kHz,ALE信号频率与晶振频率有关,如果晶振频率取12MHz,则ALE的频率为2MHz,所以ADC0809的时钟端CLK与单片机的ALE端相接时,要考虑分频。8051通过地址线P2.0和读写控制线、来控制模拟输入通常地址锁存、启动和输出允许。测湿电路与单片机的连接图如图3-2所示。图3-2:测湿电路与单片机连接图3.1.3 湿度误差补偿插值法子程序从NE555时基电路中输出的是一个模拟信号,ADC0809的作用就是要把这个单片机不能识别的模拟信号转换成一个可以读取的数字信号。这时所用到的计算机思想就是插值法9。即当ADC0809的输入与输出特性为非线性时,可以用一个单调非线性函数来表示。将x的值分成几个小段区间,每个区间的端点都对就一个输出,把这些、编成表格存储起来。实际的测量值一定会落在某个区间内,即<<。插值法的思想就是用一段简单的曲线近似代替这段区间的实际曲线,然后用近似曲线公式计算出。图3-3是对ADC0809的操作流程图。开始初始化ADC0809(1)发送ADC0809(1)地址启动ADC0809(1)发送读A/D命令读A/D发送ADC0809(2)地址启动ADC0809(2)发送读A/D命令读A/D图3-3:ADC0809操作流程图3.2 单片机电路的设计3.2.1 MCS-51单片机所谓的单片机就是把中央处理器CPU、存储器ROM/RAM、输入输出接口电路以及定时器/计数器等部件制作在一块集成电路芯片中,构成一个完整的微型计算机单片微型计算机。由于单片机把各种功能部件集成在一块芯片上,因此它的结构紧凑、超小型化、可靠性高、价格低廉、易于开发应用。MCS-51单片机包括8031、8051、8751等很多型号,其代表型号为8051。3.2.2 AT89S51单片机本课题所设计的系统的核心采用的是AT89S51单片机,它是一个低功耗、高性能的CMOS8位单片机,片内含有4kBytesISP的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,芯片内集成了通用8位中央处理器和ISP Flash存储单元。它具有以下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内有时钟振荡器。HMOS制造工艺的MCS-51单片机都采用40引脚的双列直插(DIP)方式,CHMOS制造工艺的80C31/80C51除采用DIP封装方式外,还采用PLCC方形的封装方式。图3-4是AT89S51的PDIP封装引脚图10。图3-4:AT89S51的PDIP封装其中,有主电源引脚,外接晶体引脚XTAL1和XTAL2,控制引脚、ALE/、,输入输出接口P0P3。3.2.3 时钟晶振电路和复位电路AT89S51单片机在实际应用中,时钟电路用于产生时钟信号,时钟信号是单片机内部各种各样的微小操作的时间基准,在此基础上,控制器按照指令的功能产生一系列在时间上有一定次序的信号,这些信号用来控制相关的逻辑电路工作,实现指令的功能。复位对单片机来说,是程序还没开始执行,是在做准备工作。本系统在设计上对复位电路设计成上电复位加手动复位。这样使用起来比较方便,就算是在程序“跑飞”时,也可以手动复位,不用再重起单片机电源。其Protel DXP电路图如图3-511。图3-5:AT89S51复位与晶振电路3.3 总体电路系统3.3.1 LED报警设计本设计中,在ST89S51单片机的P1.0口外接一个LED二极管作为对湿度测控的报警输出。当湿敏元件HS1101对室内的湿度检测时,达到某个值,就会在P1.0端口输出高电平,使得LED发亮,以及时通知工作人员进行相关的操作。其电路原理图如图3-6所示。图3-6:系统报警电路3.3.2 系统总设计基于51单片机的HS1101传感器湿度测控系统,主要由几个部分组成:传感器数据采集电路,模数转换电路,LED报警电路,单片机主板电路等。其程序流程图如图3-7所示。开始初始化读湿度湿度转换湿度比较图3-7:系统总流程图从流程图可以知道,本系统在设计过程中包括了几个子程序:读湿度子程序,湿度转换子程序,计算湿度子程序,比较子程序。本系统的部原理图如图4-8所示下面对本次设计的总电路进行说明。首先,AT89S51单片机具有许多特点,其功能强大、I/O接口多,但其内部的数据暂存存储器的空间其实是比较小的,当用于多位的外围外接芯片时,会出现内部RAM使用不足的状况。所以,在本系统设计中,考虑到目前只是计划应用于较小的机房中,监测点不多,因此本文没有对片内RAM进行扩展或是改换单片机的型号。在实际编程中实现本系统的功能应该没有太大的障碍。AT89S51具有4个I/O接口,它们分别是P0口、P1口、P2口和P3口。本文进行设计时只是用到了其中的部分接口,与本系统的其它部分进行连接,分别实现了不同的功能。例如:P1.0口通过电阻用于LED的外接;P2.0和P0所有接口接ADC0809模数转换器等等。8051的接口通过非门与ADC0809的EOC接口相接,通过两个或非门跟ADC0809的START、ALE和OE相连,这样就可以使得8051可以通过读写控制线来控制输入通道地址的锁存、启动和输出允许。NE555电路中的参数选择为:R11K、R2499K、R3576K、R4909K。其中R1与555的频率输出引脚相连,起输出短路保护作用,防止输出电流过大。R4是用作555定时器内部温度补偿的,其应该具有1%的精度。由于这里采用的是Texas Instruments生产的NE555,所以根据微调R4和R3取值分别为909K和576K。图3-8:系统总原理图3.4 电路PCB版图设计本设计所用到的电路图,是在Protel DXP 2004软件中进行画图的,Protel DXP 2004是目前新一代完整的板级设计工具,它是Altium公司2004年的最新产品。本原理图在Protel中进行编译后,然后确定元件的封装没有问题,再进行网络表的制作。本设计的PCB版图是直接从生成的网络表直接载入的,载入元件封装后,再进行元件的布局。元件的布局一般从以下几个方面考虑:1. 高频元件之间的连线要短,易受干扰的元件不能离得太近。2. 重量太大的元件要有支架固定。3. 易发热元件要远离热敏元件。4. 对于电位器、可调电感线圈、可变电容、微动开关等可调元件的布局要考虑整机的结构要求。5. 预留出电路板的安装孔和支架的安装孔。6. 信号遵循从左边进入、从右边输出,从上边输入、从下边输出。本设计所用的PCB版图如图3-9所示:第一章 单片机与PC间的串行通讯4.1 RS-232-C接口计算机与计算机之间或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。其中串行通讯基于它本身的使用线路少、成本低等多个优点而被广泛使用。RS-2323-C接口是目前最为常用的一种串行通讯接口。它是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。RS-232接口标准采用25个引脚的连接器其电气特性是:逻辑“1”,-5-15V;逻辑“0”,+5+15V。噪声容限为2V。其物理特性有:传输线采用屏蔽双绞线,传输电缆的长度最大为50英尺。RS-232-C接口也有其不足的地方,主要有:接口的信号电平值较高,易损坏接口电路的芯片;传输速率较低,在异步传输时,波特率为20Kbps;接口的共地传输模式容易产生共模干扰,所以抗噪声干扰性比较弱;传输距离有限等。4.2 单片机和PC通信连接PC机作为上位机,它是对单片机进行各种各样的管理和控制的。本系统在实际设计和编程过程中,对AT89S51和PC机的通信采用了单电源电平转换器ICL232。对于AT89S51的发送和接收,其间的通讯协议如下10:1. 通讯波特率为4800b/s,晶振为12MHz,其中T1为方式2,可以计算得到TH1为F3H和SMOD为1。2. 系统采用串行口方式3,字符格式为1位起始位、8位数据位(低位在前)、1位停止们和TB8=0。3. 发送或接收数据块起始地址存放单元为41H和40H,其中41H为数据块起始地址高字节存放单元,40H为数据块起始地址低字节存放单元;数据块长度存放单元为32H和31H,其中32H为数据块长度高字节存放单元,31H为数据块长度低字节存放单元。4. 8051串行口以中断方式进行发送和接收,发送时先发数据块起始地址低字节和高字节,然后发送数据块长度的低字节和高字节,最后发送数据。数据长度高字节和低字节由主程序在发送前先调入R2和R3中。其发送和接收子程序的流程图如图4-1所示。标记寄存器R2初始化定时器T1为方式2设定T1初值启动T1工作串行口为方式3开中断等待串行口中断标记寄存器R2初始化定时器T1为方式2设定T1初值启动T1工作串行口为方式3,允许接收并开中断等待串行口中断(a)发送子程序流程图 (b)接收子程序流程图 图4-1:RS232发送与接收流程图本系统在Keil uVision2中使用汇编程序来对发送和接收子程序写出简单的程序清单。 下位机软件设计下位机是直接控制设备获取设备状况的计算机,一般是PLC/单片机之类的。两机如何通讯,一般取决于下位机。TCP/IP一般是支持的。但是下位机一般具有更可靠的独有通讯协议。本系统软件采用汇编语言来实验初始化、数据采集处理、湿度管理和对设备的处理。下位机程序设计通常先进行初始化,如设置中断、定时器、外部可编程器件的初始等,然后循环执行主要功能,并将数据传递给上位机12。上位机上电复位后对数据进行处理并控制LED。为防止程序跑飞,上位机下位机分别设计看门狗电路保证ST89S51正常工作。其软件设计流程图如图4-2所示。开始系统初始化采集湿度数据存储数据正常?启动LED是否向上位机送数据?送上位机YYN图4-2:系统下位机设计流程图4.2.1 上位机程序设计本系统的上位机软件的程序流程图13如图4-3所示。主程序执行全系统的监控和管理;数据收集处理模块,从串行接收获得下位机的状态,整理后进行保存和归档。命令输入模块,从键盘获取命令进行分析、处理;命令分析处理模块,按不同命令要求或修改系统工作模式、调整运行参数或整理数据送串行发送缓冲区,由通信中断服务发送到下位机。系统初始化显示模块数据收集处理模块命令输入模块命令分析处理模块命令处理模块图4-3:上位机流程图第二章 结 论鉴于当前的基于单片机的测控系统中,温度测控有着广泛的应用来成熟的技术,本课题在提出时是基于另一个新颖的角度湿度测控。湿度测控虽然提出较早,但由于其应用的广度和技术的瓶颈,其发展速度有些滞后,除开在温室种植和大型重要仓库中有着重要的地位外,在其它地方往往得不到重视。本文针对平常的实验室的室内湿度的测控作为出发点,将多种信息处理技术和总线通信技术相结合,设计了一套实时的、全面的、可靠的室内湿度测控系统。本设计具有多个特出的方面。1. 在本系统中,采用了模块化、层次化设计。单片机与监控计算机之间采用RS232总线通信标准,用简单、高效的通信电路实现监测数据的读取。2. 能过计算机的实时监测,能够迅速对信息进行采集、报警和处理。并能够存储大量的数据供有关工作人员进行浏览、查询和控制。3. 成功地开发出一套结构简单、性能安全、流程清晰、运用方便、操作简单、效率很高的系统,充分实现了室内湿度测控管理的科学化、系统化和自动化。4. 使用常用的AT89S51单片机作为核心电路,使得系统设计简单,实用性强,可大量开发应用。从最开始的方案分析设计、到后来的系统分析选择,再到最后系统的实现,本人从中学到了不少知识,也积累了很多系统开发的经验。通过对这个系统的开发,使得我自己对电子设计有了一个比较全面的了解,让我真正体会了设计的基本思路和构架。本设计由于时间仓促,准备材料不足的情况下,所设计的系统有着不少不足之处。室内湿度测控是一个复杂而庞大的系统工程,没有一个长期的工作量是很难使得所得到的系统可以达到十分完善。本系统只考虑了湿度的测控,对其它环境的测控如果需要扩展,本文并没有给出作答。还有就是本文在软件设计上有很多欠缺,通信功能只限于连到系统的PC,并没有考虑互联网的通信。本人对该系统的应用前景十分看好,相信未来的对环境的测控中,湿度测控有一个更科学、更智能、更好性能的发展。