基于AVR的嵌入式温湿度采集系统Word格式.docx
《基于AVR的嵌入式温湿度采集系统Word格式.docx》由会员分享,可在线阅读,更多相关《基于AVR的嵌入式温湿度采集系统Word格式.docx(22页珍藏版)》请在冰豆网上搜索。
水汽越多,则空气越潮湿。
空气的干湿程度叫做“湿度”。
在此意义下,常用绝对湿度、相对湿度、比较湿度、混合比、饱和差以及露点等物理量来表示。
湿度表示气体中的水蒸汽含量,有绝对湿度和相对湿度两种表示方法。
绝对湿度是一定体积的空气中含有的水蒸气的质量,一般其单位是克/立方米,绝对湿度的最大限度是饱和状态下的最高湿度;
相对湿度是绝对湿度与最高湿度之间的比,它的值显示水蒸气的饱和度有多高。
温度、湿度和人类的生产、生活有着密切的关系,同时也是工业生产中最常见最基本的工艺参数,例如机械、电子、石油、化工等各类工业中广泛需要对温度、湿度的检测与控制。
并且随着人们生活水平的提高,人们对自己的生存环境越来越关注,而空气中温湿度的变化与人体的舒适度和情绪都有直接的影响,所以对温度、湿度的检测及控制就非常有必要了。
温度、湿度是工业农业生产不可缺少的因素,但传统的方法是用温度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。
这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。
含有微型计算机或微处理器的测量仪器,由于它拥有对数据存储,运算逻辑判断及自动化的功能,有着智能作用。
随着生产的发展,一个低成本和具有较高精度的温度湿度测量仪在许多领域会代替人工操作,自动控制各种仪器调整环境温度湿度。
目前市场上普遍存在的温湿度检测仪器大都是温湿度分开测量,而且温湿度信息传递不及时,精度达不到要求,不利于控制者根据温度、湿度变化及时做出决定,为此,本设计开发了一种能够同时测量温湿度,并实时性高、精度高,能够方便扩展处理多点温湿度信息,并能进行温湿度控制的测控产品。
总之,环境温湿度的检测与调节仪器的设计和开发具有非常大的市场前景和实用价值。
1.2国内外的研究现状
1.2.1温度传感器
集成温度传感器是目前应用范围最广、使用最普及的一种全集成化传感器。
其种类很多,大致可分为以下5类:
1、模拟集成温度传感器;
2、模拟集成温度控制器;
3、智能温度传感器;
4、通用智能温度控制器;
5、微机散热保护专用的智能温度控制器。
集成温度传感器的主要应用领域有以下3个方面:
1.温度测量:
可以构成数字温度计、温度变送器、温度巡回检测仪、智能化温度检测系统及网络化测温系统。
2.温度控制:
适用于智能化温度测控系统、工业过程控制、现场可编程温度控制系统、环境温度监测及报警系统、中央空调、风扇温控电路、微处理器及微机系统的过热保护装置、现代办公设备、电信设备、服务器中的温度测控系统、电池充电器的过热保护电路、音频功率放大器的过热保护电路及家用电器。
3.特殊应用:
例如,热电偶冷端温度补偿、测量温差、测量平均温度、测量温度场、电子密码锁(仅对内含64位ROM的单线总线智能温度传感器而言)及液晶显示器表面温度监测等。
模拟集成温度传感器是在20世纪80年代问世的,它是将温度传感器集成在一个芯片上、可完成温度测量及模拟信号输出功能的专用IC。
模拟集成温度传感器的主要特点是功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。
它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135等。
智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。
它是微电子技术、计算机技术和自动测试技术(ATE)的结晶。
目前,国际上已开发出多种智能温度传感器系列产品。
智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。
有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。
智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);
并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。
进入21世纪后,智能温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。
在20世纪90年代中期最早推出的智能温度传感器,采用的是8位A/D转换器,其测温精度较低,分辨力只能达到1℃。
目前,国外已相继推出多种高精度、高分辨力的智能温度传感器,所用的是9~12位A/D转换器,分辨力一般可达0.5~0.0625℃。
由美国DALLAS半导体公司新研制的DS1624型高分辨力智能温度传感器,能输出13位二进制数据,其分辨力高达0.03125℃,测温精度为±
0.2℃。
为了提高多通道智能温度传感器的转换速率,也有的芯片采用高速逐次逼近式A/D转换器。
以AD7817型5通道智能温度传感器为例,它对本地传感器、每一路远程传感器的转换时间分别仅为27μs、9μs。
新型智能温度传感器的测试功能也在不断增强。
例如,DS1629型单线智能温度传感器增加了实时日历时钟(RTC),使其功能更加完善。
DS1624还增加了存储功能,利用芯片内部256字节的E2PROM存储器,可存储用户的短信息。
另外,智能温度传感器正从单通道向多通道的方向发展,这就为研制和开发多路温度测控系统创造了良好条件。
智能温度传感器的总线技术也实现了标准化、规范化,所采用的总线主要有单线总线、I2C总线、SMBus总线和SPI总线。
1.2.2湿度传感器
湿度传感器产品及湿度测量属于90年代兴起的行业。
湿度传感器主要分为电阻式和电容式两种,产品的基本形式都是在基片上涂覆感湿材料形成感湿膜。
空气中的水蒸汽吸附在感湿材料上后,元件的阻抗、介质常数发生很大的变化,从而制成湿敏元件。
近年来,国内外在湿度传感器研发领域取得了较大的发展。
湿敏传感器正从简单的湿敏元件向集成化、智能化、多参数检测的方向迅速发展。
国内外各厂家的湿度传感器产品水平不一,质量价格都相差较大,用户如何选择性能价格比最优的理想产品确有一定难度,需要在这方面作深入的了解。
现在国内市场上出现了不少国内外湿度传感器产品,电容式湿敏元件较为多见,感湿材料种类主要为高分子聚合物,氯化锂和金属氧化物。
湿敏元件是最简单的湿度传感器。
湿敏元件主要分为电阻式、电容式两大类。
湿敏电阻的特点是在基片上覆盖一层用感湿材料制成的膜,当空气中的水蒸气吸附在感湿膜上时,元件的电阻率和电阻值都发生变化,利用这一特性即可测量湿度。
湿敏电阻的种类很多,例如金属氧化特湿敏电阻、硅湿敏电阻、陶瓷湿敏电阻等。
湿敏电阻的优点是灵敏度高,主要缺点是线性度和产品的互换性差。
湿敏电容一般是用高分子薄膜电容制成的,常用的高分子材料有聚苯乙烯、聚酰亚胺、酷酸醋酸纤维等。
当环境湿度发生改变时,湿敏电容的介电常数发生变化,使其电容量也发生变化,其电容变化量与相对湿度成正比。
湿敏电容的主要优点是灵敏度高、产品互换性好、响应速度快、湿度的滞后量小、便于制造、容易实现小型化和集成化,其精度一般比湿敏电阻要低一些。
国外生产湿敏电容的主厂家有Humirel公司、Philips公司、Siemens公司等。
以Humirel公司生产的SH1100型湿敏电容为例,其测量范围是(1%~99%)RH,在55%RH时的电容量为180pF(典型值)。
当相对湿度从0变化到100%时,电容量的变化范围是163pF~202pF。
温度系数为0.04pF/℃,湿度滞后量为±
1.5%,响应时间为5s。
除电阻式、电容式湿敏元件之外,还有电解质离子型湿敏元件、重量型湿敏元件(利用感湿膜重量的变化来改变振荡频率)、光强型湿敏元件、声表面波湿敏元件等。
湿敏元件的线性度及抗污染性差,在检测环境湿度时,湿敏元件要长期暴露在待测环境中,很容易被污染而影响其测量精度及长期稳定性。
目前,国外生产集成湿度传感器的主要厂家及典型产品分别为Honeywell公司(HIH-3602、HIH-3605、HIH-3610型),Humirel公司(HM1500、HM1520、HF3223、HTF3223型),Sensiron公司(SHT11、SHT15型)。
这些产品可分成以下三种类型:
(1)线性电压输出式集成湿度传感器;
典型产品有HIH3605/3610、HM1500/1520。
其主要特点是采用恒压供电,内置放大电路,能输出与相对湿度呈比例关系的伏特级电压信号,响应速度快,重复性好,抗污染能力强。
(2)线性频率输出集成湿度传感器;
典型产品为HF3223型。
它采用模块式结构,属于频率输出式集成湿度传感器,在55%RH时的输出频率为8750Hz(型值),当上对湿度从10%变化到95%时,输出频率就从9560Hz减小到8030Hz。
这种传感器具有线性度好、抗干扰能力强、便于配数字电路或单片机、价格低等优点。
(3)频率/温度输出式集成湿度传感器;
典型产品为HTF3223型。
它除具有HF3223的功能以外,还增加了温度信号输出端,利用负温度系数(NTC)热敏电阻作为温度传感器。
当环境温度变化时,其电阻值也相应改变并且从NTC端引出,配上二次仪表即可测量出温度值。
2002年Sensiron公司在世界上率先研制成功SHT11、SHT15型智能化温度/温度传感器,其外形尺寸仅为7.6(mm)×
5(mm)×
2.5(mm),体积与火柴头相近。
出厂前,每只传感器都在温度室中做过精密标准,标准系数被编成相应的程序存入校准存储器中,在测量过程中可对相对湿度进行自动校准。
它们不仅能准确测量相对温度,还能测量温度和露点。
测量相对温度的范围是0~100%,分辨力达0.03%RH,最高精度为±
2%RH。
测量温度的范围是-40℃~123.8℃,分辨力为0.01℃。
第2章 系统整体设计
本设计以AVRATMega128单片机为核心来对温湿度进行实时巡检。
检测单元(从机)能独立完成功能,同时能自动的向主控机传输采集到的温湿度数据。
最后采集来的信息通过液晶屏显示清晰的呈现给用户。
本系统采用AM2301温湿度模块进行参数采集,它是集温度传感器和湿度传感器于一体的检测模块,并且通信协议与1-wire相同,便于开发和扩展为多路检测系统,节约IO口。
检测温度范围-40℃~+80℃,精度为±
0.3℃。
湿度检测范围为20%~90%RH,其检测精度为±
3%。
本设计由信号采集、信号处理和信息显示三个部分组成的。
(1)信号采集由AM2301温湿度传感器模块组成;
(2)信号处理由单片机ATMega128及外围器件组成;
(3)信息显示由12864液晶显示模块组成。
2.1 信号采集
AM2301湿敏电容数字温湿度模块是一款含有己校准数字信号输出的温湿度复合传感器。
它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。
传感器包括一个电容式感湿元件和一个高精度测温元件,并与一个高性能8位单片机相连接。
因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
每个传感器都在极为精确的湿度校验室中进行校准。
校准系数以程序的形式储存在单片机中,传感器内部在检测信号的处理过程中要调用这些校准系数。
标准单总线接口,使系统集成变得简易快捷。
超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选择。
产品为3引线(单总线接口)连接方便。
图2.1AM2301实物图
主要应用在暖通空调、除湿器、测试及检测设备、消费品、汽车、自动控制、数据记录器、家电、湿度调节器、医疗、气象站、及其他相关湿度检测控制等。
有超低能耗、传输距离远、全部自动化校准、采用电容式湿敏元件、完全互换、标准数字单总线输出、卓越的长期稳定性、采用高精度测温元件等优点。
图2.2引脚定义
AM2315的供电电压范围为3.5V-5.5V,建议供电电压为5V。
SDA引脚为三态结构,用于读、写传感器数据。
具体的通信时序,见通信协议的详细说明。
AM2301器件采用简化的单总线通信。
单总线即只有一根数据线,系统中的数据交换、控制均由数据线完成。
设备(微处理器)通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能够释放总线,而让其它设备使用总线;
单总线通常要求外接一个约5.1kΩ的上拉电阻,这样,当总线闲置时,其状态为高电平。
由于它们是主从结构,只有主机呼叫传感器时,传感器才会应答,因此主机访问传感器都必须严格遵循单总线序列,如果出现序列混乱,传感器将不响应主机。
与AVR的硬件连接图如图。
图2.3温湿度传感器硬件连接电路
SDA用于微处理器与AM2301之间的通讯和同步,采用单总线数据格式,一次传送40位数据,高位先出。
具体通信时序如图2.4所示,通信格式说明见表2.1。
图2.4AM2301单总线通信协议
表2.1AM2301通信格式说明
用户主机(MCU)发送一次起始信号(把数据总线SDA拉低至少800µ
s)后,AM2301从休眠模式转换到高速模式。
待主机开始信号结束后,AM2301发送响应信号,从数据总线SDA串行送出40Bit的数据,先发送字节的高位;
发送的数据依次为湿度高位、湿度低位、温位、温度低位、校验位,发送数据结束触发一次信息采集,采集结束传感器自动转入休眠模式,直一次通信来临。
图2.5单总线读取流程图
2.2 信号处理
•高性能、低功耗的AVR微处理器
•先进的RISC结构
–133条指令–大多数可以在一个时钟周期内完成
–32x8通用工作寄存器+外设控制寄存器
–全静态工作
–工作于16MHz时性能高达16MIPS
–只需两个时钟周期的硬件乘法器
•非易失性的程序和数据存储器
–128K字节的系统内可编程Flash
寿命:
10,000次写/擦除周期
–具有独立锁定位、可选择的启动代码区
通过片内的启动程序实现系统内编程
真正的读-修改-写操作
–4K字节的EEPROM
100,000次写/擦除周期
–4K字节的内部SRAM
–多达64K字节的优化的外部存储器空间
–可以对锁定位进行编程以实现软件加密
–可以通过SPI实现系统内编程
•JTAG接口(与IEEE1149.1标准兼容)
–遵循JTAG标准的边界扫描功能
–支持扩展的片内调试
–通过JTAG接口实现对Flash,EEPROM,熔丝位和锁定位的编程
•外设特点
–两个具有独立的预分频器和比较器功能的8位定时器/计数器
–两个具有预分频器、比较功能和捕捉功能的16位定时器/计数器
–具有独立预分频器的实时时钟计数器
–两路8位PWM
–6路分辨率可编程(2到16位)的PWM
–输出比较调制器
–8路10位ADC
8个单端通道
7个差分通道
2个具有可编程增益(1x,10x,或200x)的差分通道
–面向字节的两线接口
–两个可编程的串行USART
–可工作于主机/从机模式的SPI串行接口
–具有独立片内振荡器的可编程看门狗定时器
–片内模拟比较器
•特殊的处理器特点
–上电复位以及可编程的掉电检测
–片内经过标定的RC振荡器
–片内/片外中断源
–6种睡眠模式:
空闲模式、ADC噪声抑制模式、省电模式、掉电模式、Standby模式以及
扩展的Standby模式
–可以通过软件进行选择的时钟频率
–通过熔丝位可以选择ATmega103兼容模式
–全局上拉禁止功能
•I/O和封装
–53个可编程I/O口线
–64引脚TQFP与64引脚MLF封装
•工作电压
–2.7-5.5VATmega128L
–4.5-5.5VATmega128
•速度等级
–0-8MHzATmega128L
–0-16MHzATmega128
2.2.2单片机的内部结构
VCC数字电路的电源。
GND地。
端口A(PA7..PA0)端口A为8位双向I/O口,并具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。
复位发生时端口A为三态。
端口A也可以用做其他不同的特殊功能,请参见P68。
端口B(PB7..PB0)端口B为8位双向I/O口,并具有可编程的内部上拉电阻。
复位发生时端口B为三态。
端口B也可以用做其他不同的特殊功能。
端口C(PC7..PC0)端口C为8位双向I/O口,并具有可编程的内部上拉电阻。
复位发生时端口C为三态。
端口D(PD7..PD0)端口D为8位双向I/O口,并具有可编程的内部上拉电阻。
复位发生时端口D为三态。
端口E(PE7..PE0)端口E为8位双向I/O口,并具有可编程的内部上拉电阻。
复位发生时端口E为三态。
端口E也可以用做其他不同的特殊功能。
端口F(PF7..PF0)端口F为ADC的模拟输入引脚。
如果不作为ADC的模拟输入,端口F可以作为8位双向I/O口,并具有可编程的内部上拉电阻。
复位发生时端口F为三态。
如果使能了JTAG接口,则复位发生时引脚PF7(TDI)、PF5(TMS)和PF4(TCK)的上拉电阻使能。
端口F也可以作为JTAG接口。
端口G(PG4..PG0)端口G为5位双向I/O口,并具有可编程的内部上拉电阻。
复位发生时端口G为三态。
端口G也可以用做其他不同的特殊功能。
在ATmega103兼容模式下,端口G只能作为外部存储器的所存信号以及32kHz振荡器的输入,并且在复位时这些引脚初始化为PG0=1,PG1=1以及PG2=0。
PG3和PG4是振荡器引脚。
RESET复位输入引脚。
超过最小门限时间的低电平将引起系统复位。
低于此时间的脉冲不能保证可靠复位。
XTAL1反向振荡器放大器及片内时钟操作电路的输入。
XTAL2反向振荡器放大器的输出。
AVCCAVCC为端口F以及ADC转换器的电源,需要与VCC相连接,即使没有使用ADC也应该如此。
使用ADC时应该通过一个低通滤波器与VCC连接。
AREFAREF为ADC的模拟基准输入引脚。
PENPEN是SPI串行下载的使能引脚。
在上电复位时保持PEN为低电平将使器件进入SPI串行下载模式。
在正常工作过程中PEN引脚没有其他功能。
2.2.3单片机最小系统
单片机系统的扩展是以基本最小系统为基础的,故应首先熟悉应用应用系统的结构。
单片机最小系统包括晶体振荡电路、复位电路,其电路图如图2.5所示。
图2.6单片机最小系统
1.复位电路
单片机复位的原理是在时钟电路开始工作后,在单片机的RST引脚施加24个时钟振荡脉冲(即两个机器周期)以上的高电平,单片机便可以实现复位。
在复位期间,单片机的ALE引脚和\P\S\E\N引脚均输出高电平。
当RST引脚从高电平跳变为低电平后,单片机便从0000H单元开始执行程序。
在实际应用中,一般采用既可以手动复位,又可以上电复位的电路,这样可以人工复位单片机系统,这种电路如图2.5复位部分所示。
上电复位电路部分的原理也是RC电路的充放电效应。
除了系统上电的时候可以给RST引脚一个短暂的高电平信号外,当按下按键开关的时候,VCC通过一个高电阻连接到RST引脚,给RST一个高电平,按键松开的时候,RST引脚恢复为低电平,复位完成。
2.晶振电路
时钟电路是用于产生单片机正常工作时所需要的时钟信号。
STC89C52单片机内部包含有一个振荡器,可以用于CPU的时钟源。
另外也可以采用外部振荡器,由外部振荡器产生的时钟信号来供内部CPU运行使用。
(1)内部时钟模式
内部时钟模式是采用单片机内部振荡器来工作的模式。
AVR系列单片机内部包含有一个高增益的单级反相放大器,引脚XTAL1和XTAL2分别为片内放大器的输入端口和输出端口,其工作频率为0~33MHz。
当单片机工作于内部时钟模式的时候,只需在XTAL1引脚和XTAL2引脚连接一个晶体振荡器或陶瓷振荡器,并联两个电容后接地即可,如图3-6所示。
使用时对于电容的选择有一定得要求,具体如下:
A当外接晶体振荡器的时候,电容值一般选择C1=C2=30±
10pF;
B当外接陶瓷振荡器的时候,电容值一般选择C1=C2=40±
10pF。
在实际电路设计时,尽量保证外接的振荡器和电容尽可能接近单片机的XTAL1和XTAL2引脚,这样可以减少寄生电容的影响,使振荡器能够稳定可靠地为单片机CPU提供时钟信号。
(2)外部时钟模式
外部时钟模式是采用外部振荡器产生时钟信号,直接提供给单片机使用。
对于不同的结构的单片机,外部时钟信号接入的方式有所不同。
对于普通的8051单片机,外部时钟信号由XTAL2引脚接入后直接送到单片机内部的时钟信号发生器,而引脚XTAL1则应直接接地。
这里需要注意,由于XTAL2引脚的逻辑电平不是TTL信号,因此外接一个上拉电阻。
根据实际应用,我们选择内部时钟电路,外接频率16.000MHz的晶体振荡器,选择两个电容值为30pF的陶瓷电容。
2.3 信息处理
在单片机应用系统设计中,一般都是把键盘和显示器放在一起考虑。
显示器作为输出部件,可以将系统的运行结果、状态等信息直观地显示出来供操作者了解系统的运行情况和程序的执行结果。
这里用到的12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级