0 引言
气候变化使得我国干旱,洪涝等自然灾害更加严重,提高我国的气象探测能力,有助于增强我国灾害预警和人工影响天气能力。因此,气象要素测量系统开发研究具有重要的意义。目前很多地区气象要素的测量大多依靠当地天气预报,然而天气预报地域范围较广,无法精确到小区域的气候测量。而搭建气象台成本较高,性价比低,因此设计一种微型化,便携式的综合气象探测系统就显得十分必要。针对以上问题本文设计了一种便携式气象探测系统,该气象检测系统可以有效地测量小区域的温度、湿度、气压、光照强度等气象参数,精度可达到普通气象测量要求,还有显示、存储、回溯查询的功能,具有低功耗、微型化、便携式、低成本的特点,适应于各种小区域的气象测量,具有一定的实用价值。
1 系统设计和工作原理
本气象测量系统以低功耗AVR 单片机ATmega16作为核心控制部件,如图1所示,由温度测量模块、湿度测量模块、气压测量模块、光照强度测量模块、时钟芯片、E2PROM、液晶显示和独立按键等模块组成。通过各个传感器将温度、湿度、气压、光强度转化为电信号,利用单片机处理后得到测量数据,并在液晶上显示。通过E2PROM 和独立按键实现数据的存储和查询。按下存储键,储存各个测量数据和时钟芯片得到的当前时间;按下查询键,查询以前存储的测量数据。同时该系统还具有自动测量功能,自动测量时,关闭液晶,测得数据每30 min存入E2PROM一次。
2 气象探测系统硬件设计
2.1 ATmega16简介
ATmega16 是Atmel 公司推出的基于增强的AVRRISC结构的低功耗8 位CMOS微控制器[1?2].由于其先进的指令集以及单时钟周期指令执行时间,ATmega16的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。ATmega16拥有强大的处理能力,集成度高,嵌入模块丰富(32 个通用工作寄存器、10位A/D 通道、16位定时器、512 B E2PROM、16 KB的系统内可编程FLASH 等),多用于智能家电、智能仪表、电池供电等便携式设备中。本气象探测系统采用ATmega16单片机为主控芯片,不仅满足了设计的要求,可以直接运用内部集成的8通道10位A/D和16位定时器,减少外围模块,从而提高系统稳定性。ATmega16可宽电压运行(2.7~5.5 V)。在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态,这有效地减少系统功耗,节约电能。
2.2 温度测量模块
目前常用的温度传感器主要有模拟式和数字式两种。模拟式的温度传感器主要有PT100,其精度高,性能稳定[3],工作温度在-200~650 ℃之间,但是由PT100构成的温度测量电路十分复杂,成本和功耗较大,而且普通气象测量对于温度测量的精度要求并不高,所以,本设计选用电路简单的数字式温度传感器DS18B20[4].[page]
DS18B20是世界上第一片支持“一线总线”接口的温度传感器,内部自带可编程9~12位转换精度的模/数转换器,温度数字量转换时间为200 ms,分辨率可达0.062 5 ℃,测量范围为-55~125 ℃,供电范围为3.0~5.5 V.它采用先进的单总线进行数据通信,而且可以不需要提供额外的电源,直接通过DQ与单片机的通信口相连,为传感器供电。选用此传感器不仅满足精度要求,而且电路简单,还可以达到低功耗的功能。温度测量电路如图2所示,图中为DS18B20设计了外接的电源,R1的两端分别与VCC 和DQ相连,将DQ端的电压拉高为传感器供电。电容C1 接在GND 和VCC 之间起到非直流滤波作用,提高DS18B20的稳定性,从而提高温度测量的精确度。
2.3 湿度测量模块
湿度传感器主要分为电容式和电阻式两大类,目前应用比较广泛的是HS1101电容式湿度传感器,它典型的供电电压为5 V.HS1101稳定性好、精度高、外带防护罩、抗静电、防灰尘、并可抵抗氨水、氯气等,可测量的湿度范围为1~100% RH,精度可达[5]±2% RH,符合普通气象测量的要求。当相对湿度变化时HS1101的相对电容改变,相对电容大小的改变会导致充放电时间的变化,测量时仅需要根据充放电频率即可计算出相对湿度。
湿度测量电路如图3所示,相对湿度测量通过555多谐振荡电路实现,HS1101 作为电容变量接在LM555CN芯片的2脚和5脚之间,管脚7用作电阻R2 的短路,等量电容HS1101 通过R2,R4 充电到门限电压(约0.67 V),通过R3 放电到触发电平,然后R3 通过7脚短路到地,传感器由不同的电阻R2,R3 充放电,形成充放电循环,形成方波。由单片机测得方波频率,根据HS1101的换算关系,转换成湿度值。
2.4 气压测量模块
气压模块选用BOSCH公司生产的具有温度补偿能力的集成数字气压传感器BMP085[6],它包含电阻式压力传感器、AD转换器和控制单元,其中控制单元包括E2PROM和I2C接口。这种数字压力传感芯片的供电电压为1.8~3.6 V,它具有超低功耗(标准工作模式下5 mA;待机电流0.1 mA)、高精度(低功耗模式下分辨率为0.06 hPa)和高可靠性,已广泛应用于天气预报、GPS精准导航、垂直速度指示和风扇功率控制等领域,其经济性和适用性均符合本设计的要求,BMP085的输出与外加压强成正比,测量范围是300~1 100 hPa,完全校准数字输出,在完成采样后,通过I2C 总线直接将数据传送给微处理器。气压测量电路如图4 所示。值得注意的是,BMP085数字压力传感器对气压?海拔高度提供了参考公式,利用该公式配合传感器测量的气压值能够较好地得到海拔高度[6?7].
2.5 光强度测量模块
光强模块的主要部件是BH1750FVI[8?9],这是一种16 位数字输出型环境光强度传感器集成芯片,其具有两线式串行总线接口,内置了16位AD转换器,功耗低,集成度高,不需任何辅助器件就能够完成光照度测量,设计人员无需考虑传感器标定、信号放大、模/数转换等过程,只需通过I2C BUS接口完成传感器设置与照度读取等操作。BH1750FVI光源依赖性弱,受红外线影响很小,能够测量范围广泛的输入光(相当于1~65 536 lx),可对广泛的亮度进行1 lx的高精度测定。利用它的高分辨率可以探测较大范围的光强度变化,能够根据收集的光线强度数据来调整液晶或者键盘背景灯的亮度。
BH1750FVI工作电压为2.4~3.6 V,典型的测量时间为120 ms.ATmega16 单片机通过BH1750FVI 采集环境光的强弱的数据。单片机和BH1750FVI之间的通信使用标准的I2C协议,单片机通过内部包含的I2C通信接口与BH1750FVI的I2C接口相连,容易实现编程与控制。如图5所示,BH1750FVI只占用了单片机的两个I/O接口,其中时钟端SCL,数据端SDA 分别外接到了单片机的PD1和PD2口。
2.6 人机接口模块及其他硬件模块[page]
键盘模块:采用6 个独立按键,分别对应观测、查询、储存、自动测量、上、下6个功能;上、下键用于在查询功能中看不同时期的测量值。液晶显示模块采用低功耗12864 液晶,3.3 V 供电,打开背光时工作电流约10 mA,关闭背光工作电流小于1 mA.观测时实时显示温度、湿度、气压、光照;查询时,显示记录的测量值和测量时间;自动测量时,可由单片机控制,关闭背光,减少电能消耗,达到低功耗效果。
系统电源模块:电路中共用到3.3 V,5 V电压值,由于是便携式产品,可用5 V 锂电池供电。进入系统后,5 V 电压通过LM1117?3.3 V 得到3.3 V 电压给12864液晶、数字气压传感器BMP085 和数字光强度传感器BH1750FVI等模块供电。
时钟模块:实时时钟采用低功耗芯片DS1302,可自动对秒、分、时、日、周、月、念年及闰年补偿进行计数,扩展万年历功能显示,功耗低,2.5 V 供电时,功耗小于[10]
300 nA,且精度较高,满足系统需求。
E2PROM 模块:由于储存数据较多,选用储存空间较大,成本较低的AT24C256[11] 储存器。这种E2PROM具有32 KB容量,通过I2C总线与单片机相连,实现数据的储存与读取。
3 气象探测系统软件设计
微型气象探测系统的软件设计主要包括系统的初始化、温度数据采集、湿度数据采集、气压数据采集、光照强度数据采集、时钟芯片、液晶显示、储存、按键等9个模块,主要流程如图6,图7所示。
系统初始化以后,各个传感器开始采集数据、时钟芯片开始计时、单片机开始处理数据、液晶开始实时显示数据。当触发不同的功能按键,系统进入按键中断,执行储存、查询数据等功能。值得注意的是,传感器采集的数据受外界因素的干扰,有可能采集到存在误差较大的数据,为了保证测量的精确性,对采集到的数据每10个做平均值,其平均值作为最终的测量数据,进行显示、储存,以减小测量误差。
4 实验测试结果对比与分析
如图8 所示,经过软硬件调试后,微型气象探测系统成功实现了温度、湿度、气压、光照强度的测量、显示、存储、查询功能。为了测试本气象探测系统测量的精确度,分别将系统在2013年2月19日14时5分和2013年2月20日9时25分于南京浦口室外读到的数据与中央气象台同一时间发布的南京天气实况进行对比,测试结果见表1.
从对比结果可以看出,本文设计的微型气象探测系统和中央气象台发布的温度、湿度、气压基本一致,由于天气预报范围很广,而本气象探测系统测量的是小区域内的气候,所以测量值存在微小差异很正常,更可以说明在小范围区域,本设计测量值更精确。由于天气预报中只有光强度定性的数据,没法做直接的比较。值得注意的是,本气象探测系统的光照强度测量数据对于判断室内光强的强弱和路灯基础照明的好坏也有较好的参考价值。总之,实验对比表明本文设计的气象探测系统精度达到普通气象测量要求,稳定性好,适用于小区域内的气候测量。
5 结语
针对天气预报范围太广,无法精确到小范围区域;气象台成本太高;便携式气象仪匮乏的现状,设计了基于ATmega16低功耗单片机的便携式气象探测系统。该气象探测系统集成了多种气象传感器,可系统地测量温度、湿度、气压和光照强度等气象参数,精确度达到了普通气象参数的测量要求,具有数据储存和回溯查询的功能。
同时功耗低,可用普通5 V锂电池供电,携带方便,可适应于各种小区域环境的气侯预报,具有一定的实用性。
上一篇:基于单片机与PC通信的数据采集控制系统设计研究
下一篇:基于CAN总线技术在车站信号系统中的应用
推荐阅读最新更新时间:2024-03-16 13:27