基于 ATmega16 单片机的微型气象探测系统设计
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].
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].
- 基于MMS的即时报警系统设计(01-23)
- 基于ATmega162的智能仪器设计(08-18)
- AVR汇编初探之二《AVR的指令与汇编系统》(01-10)
- Atmega16与DS1302数码管显示程序(12-02)
- ATMEGA16与DS18B20数码管显示(12-02)
- ATmega16利用TWI模块读写24C02程序(12-02)