基于 ATmega16 单片机的微型气象探测系统设计
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 人机接口模块及其他硬件模块
键盘模块:采用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锂电池供电,携带方便,可适应于各种小区域环境的气侯预报,具有一定的实用性。
- 基于MMS的即时报警系统设计(01-23)
- 基于ATmega162的智能仪器设计(08-18)
- AVR汇编初探之二《AVR的指令与汇编系统》(01-10)
- Atmega16与DS1302数码管显示程序(12-02)
- ATMEGA16与DS18B20数码管显示(12-02)
- ATmega16利用TWI模块读写24C02程序(12-02)