基于STM32的温湿度数据采集系统Word下载.docx
《基于STM32的温湿度数据采集系统Word下载.docx》由会员分享,可在线阅读,更多相关《基于STM32的温湿度数据采集系统Word下载.docx(37页珍藏版)》请在冰豆网上搜索。
但是要用到温湿度传感器时,就必须对其进行全天候监控,因为文物对于温湿度的需求是极其苛刻的,因此必须无时无刻都要把数据传送给监控中心。
温湿度传感器体型小就会容易放置和少占空间,同时必须灵敏度高、测量值准确才能根据其变化采取必要措施,才能更好的发挥其作用。
1.2温湿度传感器国内发展现状
信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)就是当代信息技术的三大基础。
现代科技发展中传感器作为属于信息技术的前沿尖端产物,以致人们特别把温度传感器普遍用于工农业生产、科学研究和生活等领域范畴,同时,在各类传感器中数量高居首榜。
近一个世纪以来,传统的分立式温度传感器(含敏感元件);
模拟集成温度传感器(控制器);
智能温度传感器就是温度传感器的发展大致经历了以下三个阶段。
当前,国际上新型温度传感器朝模拟式向数字式、由集成化向智能化、网络化的水平方向发展。
总体来看,国内技术能力低、生产能力差、生产规模小,全跟不上和比不上国际水平,国内仅存温度传感器生产厂家都还位于低水平竞争的形势下。
因为价格战的广泛,导致生产了低下和下降质量的产品。
同时也导致许多生产厂家要面对激烈的市场竞争。
如果国内生产商想要提升综合竞争力水平,就需要通过各种方式降低生产成本,减少固定输出,加强科学生产力,科技创新。
由此可知,在未来激烈竞争中处于有利地位的重要因素就是国内企业产品质量的提高、技术创新以及成本降低的三方面的优化。
目前,中国的温湿度传感器缺乏具体使用和发展解决产品性能和功能背后的技术产品更新周期缓慢的方案。
产品质量必须要靠科技创新来提高,才能解决问题之道。
1.3温湿度传感器的发展趋势
当前,全世界新的温度传感器朝模拟到数字到智能化、网络化方向的发展。
在具有高精度、多功能、标准总线、高可靠性、高安全性的传感器,智能温度传感器、虚拟传感器和传感器网络作为二十一个世纪的高精度传感器的发展方向。
随着科学技术的不断发展和开拓,科学技术不断地提高测量和自动化技术的自身的硬性需求,因此发展和创新越来越多的类型的温度传感器种类,目前,中国的温湿度传感器缺乏具体使用和发展解决产品性能和功能背后的技术产品更新周期缓慢的方案。
二十一个世纪的高速发展,高精度智能温度传感器必须具有移动、多功能、标准化的总线,高可靠性和高安全性的优点,同时开开拓虚拟传感器和传感器网络,开发的单片机温度测量系统和其他高技术方向[1]。
第二章温湿度原理及相关技术
2.1温湿度传感器
温湿度是一个自然界中的一切过程无不与温湿度密切相关联的基本的物理量。
因为温度和湿度,无论是从物理方面来说还是在现实生活中都是与人们的生产生活密切相关的,以至两者合为一体的温湿度传感器对应产生;
温度和湿度传感器意味着能够将温度和湿度,转换成容易被测量处理的电信号的设备或装置。
2.1.1温度传感器
相对于温湿度而言,温度传感器是首先发展的,它是使用最普遍的传感器工具。
温度传感器用于检测设备的温度,数量最多,最广泛使用和增长最快的。
正如我们所了解的,大部分的日常使用电子元件和材料的特性,都随温度变化而改变。
温度传感器主要有四种主要类型:
热电偶温度传感器、热敏电阻温度传感器、电阻温度检测器(RTD)和IC温度传感器。
IC温度传感器又包含模拟输出和数字输出这两种类型[2]。
1.热电偶工作原理
热电偶的定义就是两种不同导体或半导体的组合。
接触电势和温差电势合成的就是热电偶的热电势EAB(T,T0)。
两种不同的导体或半导体在接触处产生的电势被称为接触电势,这种潜在半导体或半导体的接触点的性能与温度有关。
当两端连接到彼此的两种不同的导体和半导体A和B形成一个回路时,只要温度在两端的两端的温度形成差异,称为热端或者工作端,又称为自由端,当回路有电流时目前在电路中的电动称为热电动势。
这种现象是由于在电动势温度差称为塞贝克效应。
2.红外温度传感器工作原理
制作红外温度传感器所利用的原理就是在自然界中,只要物体内部有势能时,那么就存在内部热运动,就会向周围连续不断辐射电磁波,它包括了位于0.75~100μm波段的红外线[3]。
SMTIR9901/02是基于硅热电堆红外传感器,在当今商业领域,它是一个相对普遍应用的红外线传感器。
其原理测量原理就是:
大量的热电偶积累在底层的硅,高温和低温通过接触隔离层的的热薄膜隔离能量,热结上方的黑色吸收层的入射辐射转化为热能的热电效应表明输出电压的辐射成正比,一般热电堆把BiSb和NiCr作为热电偶。
3.温度传感器工作原理--模拟温度传感器
AD590是一款3~30V的电源额定电压范围,输出电流为223μA~423μA,灵敏度1μA/℃的电流输出温度传感器。
只要在电路中串联取样电阻R,输出电压就可以当作R两头电压。
R不能有太多的阻力,用来确保在AD590的电压要高于或等于3V。
AD590输出电流信号具有超过1km的传输距离能。
R作为一个最高达20MΩ高阻抗电流源,固无须考虑选择开关转换或CMOS多路转换器引起的附加电阻,对温湿度传感器的影响而导致的误差。
此模拟温度传感器适用控制多处温度测量和远程温度测量。
4.温度传感器工作原理--数字式温度传感器
它采纳硅技术,制造而成的数字温度传感器。
通过调节比较器的工作周期为一个数字信号输出与温度成正比,占空比和温度之间的关系如下公式:
DC=0.32+0.0047*t,T摄氏度。
它的输出数字信号与MCU相兼容,通过高频采样可以计算出输出方波信号占空比,便能得到温度。
温度传感器凭借其特殊的技术,分辨率优于0.005k。
测量温度范围-45~130℃,它被普遍应用于高精度的坏境和场合。
2.1.2湿度传感器
湿度传感器能将感测气体中水汽含量的值转换成传感器输出信号流,以直观显示,便于观察。
其偏是两者之中最简单的,它主要有电阻式、电容式两大类。
测量湿度利用的特性就是湿度电阻在基板表层的一层表征膜覆盖湿敏材料,当水把水蒸气吸附于湿度敏感薄膜上时,其电阻率和电阻值元素发生变化,利用其中的变化就可得湿度。
湿度一般用由高分子材料制作而成电容器的电容膜。
高分子材料常用就有聚苯乙烯、聚酰亚胺、丁酸酯纤维。
当介质的电容随着周围环境湿度量发生改变时改变,同时电容大小发生了改变,此中电容与相对湿度的变化形成正比。
电子湿度传感器精度可达2-3%相对湿度,这是高于干湿球测量精度。
环境湿度的检测中,线性差耐湿度传感器,在测试环境湿度传感器长期与空气接触,非常容易被污染,直接导致测量精确性和长久稳定性。
那么就必须寻找更好的方法测量湿度计的方法了。
2.1.3温湿度传感器物理参数及定义
温度:
度量物体冷热的物理量,是国际单位制中7个基本物理量之一;
在生产和科学研究中,许多物理现象和化学过程都是在一定的温度下进行和发生的,人们的生活也和温度有着密不可分的联系;
湿度:
湿度很久以前便与生活存在着密不可分的关系,但用数量来对其表示较为艰难;
日常生活中最常用的表示湿度的物理量就是空气的相对湿度;
用%RH表示;
在物理量的推导上相对湿度与温度有着密不可分的联系;
一定体积的密闭气体,其温度越高相对湿度越低,温度越低,其相对湿度越高,两者成反比;
其中涉及到复杂的热力工程学知识;
同时还有有关湿度的一些定义:
相对湿度:
在计量法中规定,湿度被定义为“物象状态的量”;
日常生活中所指的湿度就是相对湿度,用RH%表示。
总之,即气体中(通常为空气中)所含水蒸气量(水蒸气压)与其空气相同情况下饱和水蒸气量(饱和水蒸汽压)的百分比;
绝对湿度:
指单位容积的空气里实际所含的水汽量,一般以克为单位;
温度对绝对湿度有着直接的影响,通常情况下,温度越高,水越容易蒸发,水蒸气得越多,绝对湿度就越大;
相反,绝对湿度就小;
饱和湿度:
在一定温度下,单位容积,空气中所能容纳的水汽量的最大限度。
如果超过这个限度,多余的水蒸气就会凝结,变成水滴,此时的空气湿度变称为饱和湿度;
空气的饱和湿度不是固定不变的,它随着温度的变化而变化;
温度越高,单位容积空气中能容纳的水蒸气就越多,饱和湿度就越大,两者成正比;
露点:
指含有一定量水蒸气(绝对湿度)的空气,当温度下降到一定程度时所含的水蒸气就会达到饱和状态(饱和湿度)并开始液化成水,这种现象叫做凝露;
水蒸气开始液化成水时的温度叫做“露点温度”,简称“露点”。
若温度继续下降到露点以下,空气中超饱和的水蒸气就会在物体表面上凝结成水滴。
此外,风与空气中的温湿度有密切关系,也是影响空气温湿度变化的重要因素之一[4]。
2.2温湿度传感器的选型
本次系统设计将SHT21温湿度传感器作为本次设计选择的温湿度传感器。
新一代Sensirion温湿度传感器在尺寸与智能方面创立了新的标准:
它把适于回流焊的双列扁平无引脚DFN封装嵌入其中,底面3x3mm,高度1.1mm。
传感器标准的I2C格式,数字信号被输出经过标定。
SHT21配有经过改进的电容式湿度传感元件和标准的能隙温度传感元件各一个的全新设计的CMOSens®
芯片,其质量有着已经大大提高以致超出了前一代传感器(SHT1x和SHT7x)的可靠性程度。
例如,新一代湿度传感器,已经经过改进的性能被使其在高湿环境下的更稳定和更优越。
每一个传感器都被经过校准和测试。
印有产品批号的产品表面,同时以在芯片内保存的电子识别码可以被通过输入命令读出。
其中,输入命令把SHT21的分辨率进行改变(8/12bit乃至12/14bit的RH/T),通过传感器可以把电池低电量的状态检测出来,而且可以把输出校验和,然后经查证,通讯的可靠性被有助于提升。
因为对传感器做了改良和微型化改进和改良,所以它的性价比更高,更优越,更实用,并且至终全数设备都将会被得益于尖端的节能运行模式。
SHT21配有4C代CMOSens®
芯片。
除了包括一个放大器、A/D转换器、OTP内存和数字处理单元,此芯片电容式相对湿度传感器和能隙温度传感器同时都配有。
固选择SHT21温湿度传感器[5]。
2.2SHT21图
2.3SHT21简述
2.3.1SHT21介绍
SHT21该传感器可以检测环境的温度和湿度。
测量,湿度精度+2%RH(20%〜80%RH的控温精度度+0.3(25度至42摄氏度)。
传感器校准,无论是提供一世二C数字接口,还可以提供PWM模拟输出模式。
因为数字通信可以大降低功率消耗,例如在正常工作状态下功率消耗可以是3W下测量间隔的延长的情况下,功耗可进一步降低,因此在实际使用SHT21处理在中间,都是协调电路数字信号转换。
除此之外外,SHT21分辨率,也可以通过指令进行8/12位达到12/14bit的之间的范围内的变化,容易检测的电功率的状态下,在同一当输出被选中时,它有利于提高通信的可靠性。
接口介绍:
2.3.1SHT21接口图
2.3.2SHT21结构图
NC与VSS内部已连接,必须保持悬空状态。
每个接口定义如下:
VSS:
VSS=GND,接地端;
VDD:
接电源;
电源(VDD)和接地(VSS)之间须连接一个100nF的去耦电容
SDA:
SDA=DATA,用于传感器数据的输出与输入;
当传感器发送命令时,当SCL为高电平时,SDA必须持续稳定,而当串行时钟(SCL)的上升时,SDA就有效。
当SDA值在SCL下降沿之后可能回发生变化。
SCL:
SCL用来选择输出湿度信号或者温度信号。
SCL
高电平输出湿度信号,
低电平输出温度信号。
2.3.2SHT21通信原理
SHT21遵循I2C协议来通信的。
I2C协议是单片机与其它芯片常用的通讯协议。
I2C协议具有两条两条双向串行线,数据线SDA,时钟线SCL。
SDA传输数据是传输,每次传输都是一字节8bit,。
支持多主控(multimastering),任何时间点只能有一个主控制。
总线上每个设备都有自己的一个addr,共7个bit,广播地址全0。
串行数据线SDA和串行时钟线SCL构成的,可发送和接收数据。
所有具有I2C总线接口的挂接在I2C总线上的器件和接口电路都应与的SDA/SCL同名端相连。
总线上全数元器件要依靠SDA发送的地址信号寻址,不必需要另外选线和接线[6]。
因此多主机总线具备总线仲裁和高低速设备同步等功能的高性能。
图2.3.2.1典型的I2C总线系统结构
温湿度传感器工作时分为以下几个步骤:
1.MCU与传感器的通讯
第一步,
将传感器上电至
VDD
(2.1V-3.6V)。
通电后,最多等待须要150ms的时间传感器就会进入静止状态。
这段时间内,SDA是未定义状态,之后传感器开始测量并输出PWM
比特流。
PWM
即脉宽调制信号以恒定频率运行,通过基于这个频率的占空比获得测量结果,见图2.4.2.1。
拉高时测量的数据值为湿度,
SCL拉低时测量的数据值为温度。
2.3.2.2PWM信号图
对其发送一组“启动传输”命令序列,来完成初始化数据传输。
它包含几个命令时序:
初始时SCL时钟为电平,紧接着SDA就会跳变为低电平,然后立马SCL跳变为低电平,随后接连传输命令,在SCL时钟高电平时SDA跳转为高电平。
后续命令序列包括3个地址位地址和五5个命令位命令。
SHT21温湿度传感器表示已正确地接收到指令时,会用下述方式来表示:
在第八个SCL时钟的下降沿之后,SDA被下拉变为低电平(ACK位)。
在第9个SCL时钟的下降之后,释放SDA(恢复高电平)。
2.启动传感器
第一步,将传感器上电,电压为所选择的VDD电源电压(范围介于2.1V与3.6V之间)。
通电之后,最多需要15毫秒时间传感器(此时SCL为高电平)就会到达空闲状态,就是准备好接收由主机(MCU)发送的命令。
启动时的最大电流消耗为350µ
A。
3.启动/停止时序
每个传输序列都以Start状态作为开始并以Stop状态作为结束。
如图图2.3.2.3和图2.3.2.4所示:
图2.3.2.3
传输状态(S)-当SCL为高电平时,SDA由高电平跳转为低电平;
总线状态就是由主机控制的一种特殊的的状态,它就是开始状态,指示从机传输开始(Start之后,BUS总线通常考虑为处于占线状态);
图2.3.2.4
停止传输状态(P)-当SCL高电平时,SDA线上从低电平跳转为高电平;
总线状态是由主机总线状态控制的一种特殊的状态,它就是停止状态,指示从机传输结束(Stop之后,BUS总线通常考虑为处于闲置状态)。
【】
4.发送命令
当启动传输之后,紧接着传输包含7位的
I2C设备地址(B-范例地址‘1000’000’)的I2C首字节和一个SDA方向位(读R:
‘1’,写W:
‘0’)。
当第八个SCL时钟下降沿之后,就能把SDA引脚拉至ACK位,传感器被指示正常接收数据。
在发出测量命令之后(
‘1110’0011’表示温度测量,‘1110’0101’表示相对湿度测量),
MCU一定要等待测量完成。
基本的命令在表6中进行概述。
主机模式或非主机模式就是两种不同的模式。
图2.3.2.5命令图表
5.温湿度测量
公开和发送一组测量命令('
00000101'
表示相对湿度RH,'
00000011'
指示的温度T)的,控制器一定得等待测量结束。
分别需要约20/80毫秒才能完成这个过程,完成这个过程的世界就分别对应于8/12的测量。
与内部振荡器变速的确切时间,可能有高达30%。
根据SDA下拉到低电平,而且进入空闲模式,这意味着SHT21温湿度传感器测量结束。
控制器必须等待“数据准备好”信号SCL时钟被再次触发之前读取数据。
温湿度传感器把测试数据存储值存储器,控制器既可以继续进行读数据,又能执行其他任务。
然后将数据传送到2字节和1字节的CRC奇偶校验(可选的读)的。
MCU需要较低,拉低SDA确认每个字节。
所有从MSB的数据,右值有效(例如:
用于从五个SCK时钟起MSB的12位数据;
以及为8位数据,第一个字节无意启动之意)。
收到CRC的确认后,表示该通信结束。
若不使用所述CRC,控制器可使用的测量值被测量后,用来保持该ACK高电平终止。
测量和通讯完成后,SHT21自动转为睡眠模式。
第三章系统硬件设计
3.1系统硬件设计主要框架
本系统设计的主要框架如下图所示。
当整个系统开始工作时,先由SHT21温湿度传感器本身检测数据,然后采集数据,再由SDA数据线传输采集的数据。
当把数据传输到STM32芯片上后,STM32芯片开始对数据进行处理,将数据计算转换为温湿度的值。
最终,STM3芯片处理完数据后,再把数据发送到LCD1602显示屏上,通过转换,使数据显示在液晶屏上。
就可以通过器件将人们能感觉到温湿度,却不能标示出温湿度的值就能在液晶显示屏上显示出来,人们经它就可直观清楚的了解温湿度的值。
另外,还有复位电路和电源模块。
当系统出现无法正常工作如程序跑飞、奔溃时,按下复位键时,系统就可以再次恢复工作。
电源模块稳定供压,系统持续在稳定的标准电压范围是非常有必要的。
复位
图3.1.1系统框图
系统电路原理图如图:
图3.1.2系统电路原理图
3.2STM32芯片的功能描述
ARM公司的高性能"
Cortex-M3"
内核:
1.25DMips/MHz,而ARM7TDMI只有0.95DMips/MHz;
一流的外设:
只需1μs就迅速反应的双12位模数转换器,4Mbps的通用异步收发报机,18Mbps的单