基于USB总线的湿度检测系统正文.docx
- 文档编号:9823533
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:38
- 大小:365.25KB
基于USB总线的湿度检测系统正文.docx
《基于USB总线的湿度检测系统正文.docx》由会员分享,可在线阅读,更多相关《基于USB总线的湿度检测系统正文.docx(38页珍藏版)》请在冰豆网上搜索。
基于USB总线的湿度检测系统正文
基于USB总线的湿度检测系统
摘要:
为了实现对湿度的测量,提出了一种以CH341作为USB接口芯片的湿度检测系统,该检测装置通过集成湿度传感器对湿度的变化对应电流的变化,再将电流的变化转换为电压的变化,该电压信号经SHT11内部A/D[1]转换器后将模拟信号转化为数字信号。
最后将数字信号送入AT89C52[2]单片机,经过软件的控制,在LCD上显示输出相应的湿度值,湿度检测范围是15%~99%RH,精度是5%。
当湿度超过所限定的范围,可自动报警并提供了与PC机的USB通信接口,上位机采用VB编程实现了时刻对湿度值的监测记录,DS1302提供实时时钟。
关键词:
集成湿度传感器,DS1302,A/D,AT89C52,LCD
Abstract:
Inordertorealizethehumiditymeasurement,thispaperproposesACH341asUSBinterfacechipmoisturedetectionsystem,thedetectiondevicewiththeintegratedhumiditysensortohumiditychangescorrespondingtothecurrentchanges,andthenconvertsthechangeofthecurrentthechangeofthevoltage,thevoltagesignalbytheSHT11afterinternal[1]ofA/Dconverterconvertsanalogsignalsintodigitalsignals.Finallythedigitalsignalinto[2]AT89C52singlechipmicrocomputer,throughsoftwarecontrol,outputisdisplayedonLCDandthecorrespondinghumidityvalue,humiditydetectionrangeis15%~99%RH,accuracyis5%.Whenhumidityexceedsthelimit,andprovideaUSBcommunicationinterfacewithaPC,PCusingVBprogrammingtoachievethemomentthehumidityvalueofmonitoringrecords,providereal-timeclockDS1302.
Keywords:
Integratedhumiditysensor,DS1302,A/D,AT89C52,LCD
目录
1前言1
2整体方案设计2
2.1方案论证2
2.1.1方案一:
干湿球法方案2
2.1.2方案二:
集成湿度传感器方案2
2.2方案比较3
2.3方案选择3
3单元模块设计5
3.1湿度采集电路5
3.1.1SHT11介绍5
3.1.2湿度采集电路5
3.2USB通信电路6
3.3单片机电路6
3.4报警电路7
3.5LCD显示电路8
3.6实时时钟DS13028
4软件设计10
4.1下位机设计10
4.1.1主程序设计10
4.1.2串口中断设计11
4.1.3定时器设计11
4.1.4数据采集设计12
4.1.5超限报警设计13
4.2上位机设计14
5系统调试15
5.1硬件调试15
5.2软件调试15
6系统功能、指标参数17
6.1测量结果比较17
6.2误差原因分析17
6.3减少误差主要方法18
6.4结论18
7设计总结19
8谢辞20
9参考文献21
附录1:
电路总图22
附录2:
软件代码23
1前言
湿度,表示大气干燥程度的物理量。
在一定的湿度下在一定体积的空气里含有的水汽越少,则空气越干燥;水汽越多,则空气越潮湿。
空气的干湿程度叫做"湿度"。
在此意义下,常用绝对湿度、相对湿度、比较湿度、混合比、饱和差以及露点等物理量来表示;若表示在湿蒸汽中水蒸气的重量占蒸汽总重量(体积)的百分比,则称之为蒸汽的湿度。
在过程控制、质量控制、能源利用、健康及安全等诸多领域都扮演着重要的角色,特别是许多高科技领域,如半导体制造、制药、电力和通讯等,对湿度测量的要求越来越高。
随着科学技术的发展,现代湿度测量技术有了长足的进步。
从传统的干湿球法[3]、露点法、电解法到各种电湿度测量方法再到吸收光谱法,湿敏传感器正从简单的湿敏元件向集成化、智能化、多参数检测的方向迅速发展。
传统的模拟式湿度传感器一般不仅要设计信号调理电路,还要经过复杂的校准和标定过程,其测量准确度难以保证。
瑞士SENSIRON公司生产的温湿度传感器SHT11是具有二线串行接口的单片全校准数字式新型相对湿度传感器,可用来测量相对湿度、湿度和露点等参数。
该传感器将CMOS芯片技术与传感器技术融合,为开发高准确度、高可靠性的数字温湿度传感器提供了测量元件。
我们采用温湿度传感器SHT11[4]和单片机技术相结合的方法,研制开发的基于USB总线的湿度检测系统,具有准确度高,体积小,成本低,操作简单方便,湿度范围宽和响应速度快等特点。
针对湿度的检测,在讨论湿度检测系统的设计方案的基础上,拟设计一个基于USB总线的湿度检测系统,包括硬件电路设计和软件设计。
2整体方案设计
2.1方案论证
基于USB总线的湿度检测系统的整体思路是:
集成湿度传感器湿度的变化对应电流的变化,再将电流的变化转换为电压的变化,即0℃时输出电压为0V显示在数码管上的数字为0。
当100℃时输出电压为100mV通过AD转换器输出显示在数码管上的数字为100.0。
即湿度在0℃~100℃时电压的变化就对应于湿度的变化。
该电压信号经放大后通过A/D转换器后将模拟信号转化为数字信号,最后将数字信号送入AT89C52单片机,经过软件的控制,在LCD上显示输出相应的湿度值,湿度检测范围是15%~99%,精度是5%。
并提供了与PC机的USB通信接口,报警电路用蜂鸣器针对湿度检测,可以采用两个方案,具体的方案见方案一和方案二。
2.1.1方案一:
干湿球法方案
以AT89C52单片机为核心的湿度检测仪。
该仪器根据干湿球法原理实现高精度测湿,以代替常规的常规的湿度传感器。
图2.1测湿整体方案一框图
2.1.2方案二:
集成湿度传感器方案
利用集成湿度传感器的电流与湿度的变化为线性的,我们将电流转换为电压的变化,通过放大电路输出送入A/D转换器A/D转换器输出后进入单片机系统,通过软件的控制,将电压对应于湿度的数值通过查表的方式得出结果,在LCD上显示出来。
图2.2测湿整体方案二框图
2.2方案比较
(1)方案一:
干湿球测湿法采用间接测量方法,通过测量干球、湿球的温度经过计算得到湿度值,因此对使用温度没有严格限制,在高温环境下测湿不会对传感器造成损坏。
干湿球测湿法的维护相当简单,在实际使用中,只需定期给湿球加水及更换湿球纱布即可。
与电子式湿度传感器相比,干湿球测湿法不会产生老化,精度下降等问题。
所以干湿球测湿方法更适合于在高温及恶劣环境的场合使用。
(2)方案二:
在实际使用中,由于尘土、油污及有害气体的影响,使用时间一长,会产生老化,精度下降,湿度传感器年漂移量一般都在±2%左右,甚至更高。
一般情况下,生产厂商会标明1次标定的有效使用时间为1年或2年,到期需重新标定。
电子式湿度传感器的精度水平要结合其长期稳定性去判断,一般说来,电子式湿度传感器的长期稳定性和使用寿命不如干湿球湿度传感器。
湿度传感器是采用半导体技术,因此对使用的环境温度有要求,超过其规定的使用温度将对传感器造成损坏。
所以电子式湿度传感器测湿方法更适合于在洁净及常温的场合使用。
2.3方案选择
综合方案一与方案二,方案二有以下几点优势:
(1)能够感受环境中的湿度变化。
(2)能够将环境中的湿度变化转化为电信号。
(3)系统能够对采集到的湿度信号进行分析处理。
(4)能够将环境中的湿度以相对湿度的形式显示出来便于观察记录。
(5)系统反应快、灵敏度高、稳定性好,具有一定的抗干扰能力。
(6)电路简单,操作方便、性价比高、实用性强。
故,选择方案二来实现本次课程设计。
3单元模块设计
主要包括湿度采集电路、USB通信电路、单片机电路、报警电路、LCD显示电路、实时时钟DS1302。
3.1湿度采集电路
3.1.1SHT11介绍
SHT11系列单芯片传感器是一款含有已校准数字信号输出的温湿度复合传感器。
传感器包括一个电容式聚合体测湿元件和一个能隙式测湿元件,并与一个14位的A/D转换器以及串行接口电路在同一芯片上实现无缝连接。
因此,该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
图3.1SHT11管脚图
3.1.2湿度采集电路
湿度检测系统采用SHT11智能化湿度传感器[5]。
测量相对湿度的范围是0~100%,分辨力高达0.03%,最高精度为2%RH;测量湿度的范围是-40~123.8℃,分辨率为0.1℃;测量露点的精度<1℃。
连接时,仅需要两条口线即可实现单片机和SHT11的双向通讯,在使用中不需要任何外围元件,被测湿度通过编程可实现9~12位的数字方式串行输出,测湿范围大、精度高。
电路如图3.2所示,上拉电阻10kΩ,C为电源退耦电容。
图3.2湿度采集电路
3.2USB通信电路
系统采用CH341作为USB接口通信芯片。
此芯片是一个USB总线的转接片,通过USB线提供异步串口、打印口、并口以及常用的2线和4线等同步串行接口。
设计通过使用其提供的异步串口功能,与单片机进行USB数据通讯。
由于电脑串口RS232的电平是-10~+10V,而单片机应用系统的信号电压是TTL电平0~+5V,故与CH341通讯时需进行电平转换。
将TTL电平转换为RS232电平后传入CH341中,设计采用MAX232用来进行电平转换,该器件包括2个驱动器、2个接收器和1个电压发生器电路提供TIA/EIA-232-F电平。
MAX232芯片可以完成两路TTL/RS-232电平的转换,MAX232的9和10引脚是TTL电平端,用来连接单片机,11和12引脚分别接CH341芯片的TXD和RXD引脚。
图3.3USB接口通信电路图
3.3单片机电路
AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成。
单片机是系统的核心部分,它接受来自湿度传感器输出的数字信号以及受PC通USB总线对其进行控制,包括复位、时钟电路。
图3.4单片机模块
3.4报警电路
为了在湿度测量中对湿度的上下限超出提示报警[6],设计采用蜂鸣音报警电路。
通过单片机的1根口线经驱动器驱动蜂鸣音发声,使用三极管驱动,如图3.7所示。
单片机的P3.7通过电阻R2接三极管的基极,R3接在基极和发射极上。
当P3.7输出低电平时,三极管导通,蜂鸣器发声;当P3.7输出高电平时,三极管截止,蜂鸣器停止发声。
图3.5报警电路
3.5LCD显示电路
字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块.
LM016LLCD主要技术参数:
显示容量:
16×2个字符
芯片工作电压:
4.5—5.5V
工作电流:
2.0mA(5.0V)
模块最佳工作电压:
5.0V
字符尺寸:
2.95×4.35(W×H)mm
图3.6LCD显示电路
3.6实时时钟DS1302
DS1302的在实时显示时间中的应用,利用它可以实时记录数据以及复查。
DS1302的引脚排列,其中Vcc2为主电源,VCC1为后备电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。
当Vcc2小于Vcc1时,DS1302由Vcc1供电。
X1和X2是振荡源,外接32.768kHz晶振。
RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。
RST输入有两种功能:
首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据传送的方法。
当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
上电运行时,在Vcc>2.0V之前,RST必须保持低电平。
只有在SCLK为低电平时,才能将RST置为高电平。
I/O为串行数据输入输出端(双向)。
SCLK为时钟输入端。
图3.7DS1302管脚
4软件设计
本系统的处理器是兼容8051指令集的高速单片机AT89C52。
为此,首选KeilμVision4作为其开发工具。
4.1下位机设计
4.1.1主程序设计
用keil与proteus进行联合仿真,当SHT11采集的湿度数据送入单片机内部后,单片机就采集数据,将数据采集到内部存储器的存储单元存储,将输入的BCD码调用查表子程序送入到LCD上显示。
图4.1主程序设计框图
4.1.2串口中断设计
湿度检测系统中,单片机[7]系统向USB接口芯片的数据传输是利用在定时器0中触发串口中断的形式完成。
并于PC机系统达成协议,当FLAG3标志位为0时发送的是湿度信息;当标志位FLAG3为1时发送的是湿度信息。
然后,由PC机系统软件将接收到的数据分别处理,打印历史曲线并显示,详细流程如图4.2所示。
图4.2串口中断流程图
4.1.3定时器设计
定时器初始化初值设置为:
TMOD=0x01;TR0=1;IE=0x82;TH0=(65525-500000)/256;TL0=(65535-500000)%256,流程图设计如图4.3所示。
图4.3定时器中断流程图
4.1.4数据采集设计
数据采集软件主要实现单片机系统AT89C52对湿度传感器SHT11的初始化、发送测量命令及数值的读取,还有实验调试时的显示等辅助程序。
按键处理程序主要用于FLAG3发送信息标志位,湿度上限值和下限值的设置。
在正常情况下,绿灯亮,显示器第1行实时湿度。
当设置键按下1次时,第1行显示上限湿度和下限湿度。
在此情况下,按1次加速键,湿度上限加1%RH,按1次减速键,湿度上限减1%RH。
当设置键第4次按下时,仍然显示湿度信息,第1行显示实时湿度,第2行显示上限湿度和下限湿度;在此情况下,按1次加速键,湿度上限加1%RH,湿度下限减1%RH。
当设置键第5次按下时,显示器显示恢复正常显示,即显示实时湿度。
在湿度数据通信系统中,单片机与PC机之间的数据通信采用USB接口芯片CH341实现。
由于CH341是在转异步串口的方式下获取单片机系统数据的,所以CH341芯片与单片机之间的信息交换是通过串行通信实现。
在时序处理中,单片机主动发送命令或数据,触发中断,然后CH341芯片将发送的命令和数据传入PC,进行相应处理。
图4.4数据采集流程图
4.1.5超限报警设计
对湿度参量所采集到的四个数据进行滤波,将滤波后的数据转换成十进制供数码管显示,若湿度值大于70%RH或者小于45%RH,则进行报警提示。
图4.5超限报警流程图
4.2上位机设计
上位机采用VB作为上位机软件开发平台。
VB的MSComm通信控件具有丰富的与串口通信密切相关的属性及事件,提供了一系列标准通信命令的接口,可以用它创建全双工的、事件驱动的、高效实用的通信程序。
图4.6上位机流程图
5系统调试
系统调试主要分为硬件调试和软件调试。
该部分调试主要采用KEILC的uVision4和Proteus7的ISIS软件进行仿真。
5.1硬件调试
为保证成功率,系统的完善需进行软件仿真,只有仿真通过后才可能成功,否则硬件的盲目焊接只会延长系统的开发周期。
本次设计在硬件搭接前首先完成了系统的局部模块仿真工作,使用PROTEUS软件和KEILC51编译软件进行联合调试完成,硬件调试仿真图如图5.1所示。
图5.1硬件调试仿真图
5.2软件调试
其操作流程依次是:
建立新工程->确认工程保存路径->选择单片机型号->建立C文件并保存->添加工程文件(即新建的C文件)->在C文件中输入C代码->设置Target选项->编译、链接、生成二进制代码。
应当特别注意的是:
在设置Target选项时,单击“Output”选项后应选中“CreateHEXFile”选项,并确认晶振频率和电路中所使用的晶振匹配,否则无法生成二进制代码且系统无法正常工作。
在单击编译、链接、生成按钮后应确保没有语法错误,方可进行系统联调。
软件调试仿真图如图5.2所示
图5.2软件调试仿真图
6系统功能、指标参数
6.1测量结果比较
表6.1为该装置在农业工业现场和实验室中所采集数据中的一部分,采集时间间隔3min,通过与标准湿度计和专用湿度计对比分析,湿度误差不超过4%。
表6.1测量对比结果分析
湿度/%RH
专业湿度计/%RH
湿度相对误差/%RH
49
50
2.0
49
50
2.0
49
51
3.9
50
51
2.0
50
51
2.0
49
51
3.9
49
50
2.0
48
50
3.9
48
49
2.0
48
49
2.0
表6.2为干湿球法在相同条件下所采集数据中的一部分,采集时间间隔3min,通过与标准湿度计和专用湿度计对比分析,湿度误差不超过6%。
表6.2测量对比结果分析
湿度/%RH
专业湿度计/%RH
湿度相对误差/%RH
48
50
4.0
48
50
4.0
48
51
5.9
49
51
3.9
49
51
3.9
48
51
5.9
48
50
4.0
47
50
6.0
47
49
4.1
47
49
4.1
通过比较上面的表6.1、表6.2可知,利用集成湿度传感器SHT11比干湿球法测量不同环境下的湿度更具有优势。
6.2误差原因分析
(1)测量本身存在的+1误差,+1误差是系统不可避免的误差,但它对测量结果影响不大。
(2)湿度测量时,以专用湿度传感器所制装置为参考标准,三个装置本身都存在一定的误差,故而相对误差会更大。
(3)地域原因所致,由于本系统必须搁置在电脑旁边,电脑散热会是周围的湿度有稍许改变,导致系统测量难免会有一定偏差。
6.3减少误差主要方法
(1)提高工艺,制作印刷电路板,如此可增强系统的抗干扰能力。
(2)优化软件程序,可提高系统的整个效率,使采样更加迅速,显示更加稳定、可靠。
(3)提高晶振频率的准确度和稳定度以减少闸门时间和误差,如采用有源晶振。
6.4结论
(1)精度指标:
满足相对误差控制在5%以内。
(2)测量范围指标:
湿度值在15%~99%范围内均能测量。
(3)灵敏度较高:
应变灵敏系数[8]K<5.0。
(4)仪器为自动复位:
每次测量完毕后,无须断电后重启,即可进行下次测量。
(5)在现场有显示,监控计算机实现多点湿度实时显示,并存储固定时间。
7设计总结
随着各种高精度传感器的应用与普及,这一技术在科学研究,生产过程等领域中发挥着越来越重要的作用。
这次课程设计提出了一种基于USB总线的湿度检测系统,简单分析了湿度控制系统,并按照有关要求完成了以高效单片机AT89C52[9]作为核心,从而实现湿度智能监测控制的系统设计。
设计中的湿度传感器SHT11集湿度传感器于一体来进行采集与测量,它自带A/D换器,因而该湿度控制仪器具有精度高、体积小、良好的抗干扰能力,故该系统具有很高的实用性。
原理图的绘制使我从新学习了一次proteus,
对软件种元器件更加熟悉,画仿真图时更为流畅。
在进行设计之前有着很多要解决的问题,比如元器件的选择问题、各个模块的设计和主程序的编程。
通过这次设计,我从到图书馆的网站查找相应的资料应用到对应电路参与设计的思考。
每个模块都要经过多次的设计,不断的试验,让我对之前在学校所学的书本上的理论知识有了更为深刻的了解。
在完成毕业设计的过程是一次难得的理论与实际相结合的过程,在这段时间我更为深刻的理解和掌握了大学期间所学的一些知识,例如VB语言的编程、数字模拟电路、单片机的简单应用、proteus[10]和keil软件的使用与设计该系统可以在许多环境下进行对湿度的检测。
这次课程设计中的显示模块可以设计的更加合理化,针对一些日常检查的工作,显示模块可以记录一天内需要测量的环境下的湿度,这样更有利于各种的需要。
通过基于USB总线[11]的湿度检测系统,达到了测量精确湿度的功能。
湿度检测系统具有测量结果精确,结构简单、使用方便具有小型化、可视性好等特点;同时采用USB接口和上位机连接,实时打印湿度变化曲线,具有一定的推广应用价值。
通过本次设计,我认识到了自己的不足,在今后的学习中查漏补缺,感谢谢老师和组员在我有困难时对我的帮助。
8谢辞
“冰冻三尺,非一日之寒”,我在做课程设计的过程中深深体会到了这句话的哲理。
课程设计是对我网络化测控系统课程学习成绩的总结,也是对我分析问题、解决问题能力的综合考察。
这次基于USB总线的湿度检测系统能够顺利完成,离不开我一直以来知识的积累,离不开众老师、朋友、同学们的指导和支持。
首先感谢谢维成老师在课程设计上给予我的指导、提供给我的帮助与支持。
谢老师在这次课程设计过程中对我们的全方位的指导,是我们这次课程设计取得成功的根本保证。
尤其是在课程设计格式及模块设计等多个问题上,让我们懂得了要做好任何事情都必须认真仔细,专注于细节,同时在设计的过程中使我们更加深入的了解了一些重要芯片的使用和对keil和proteus软件更深的理解和应用。
谢老师对这次课程设计抱着认真负责的态度,极力做好安排、指导、答疑等各个环节,只为我们能通过这三周的课程设计学到更多知识,更快地提高我们的能力。
在谢老师的指导下,在课程设计期间,我不仅学到了许多新的知识,也更加熟练的掌握了相关的设计软件,而且也开阔了视野,提高了自己的电路设计能力。
我还要感谢学校能安排这次课程设计,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 USB 总线 湿度 检测 系统 正文