基于MSP430单片机的便携式气象仪设计
扫描二维码
随时随地手机看文章
摘要:设计了一种低功耗便携式气象仪,该气象检测系统以低功耗MSP430单片机为主控,利用温度传感器、湿度传感器、气压传感器、风速和风向测量模块,进行温度、湿度、气压、风速、风向的测量;通过时钟芯片和12864液晶实现数据的实时显示;通过E2PROM进行数据的实时存储和查询。该气象仪具有小型化、实时化、低功耗和便携式等特点,测试结果表明该气象仪的测量精度可达普通气象测量要求,稳定性好,特别适用于小区域的气候监测。
关键词:MSP430单片机;温度传感器;湿度传感器;气压传感器;风速风向传感器
0 引言
温度、湿度、气压、风速、风向等气象参数的测量在日常生活、农业、渔业、工业、林业、航海等领域中起着十分重要的作用,很多地区气象参数的测量大多依靠当地天气预报,可是,天气预报地域范围较广,无法精确到小区域的气候测量。而搭建气象台成本较高,性价比很低,因此设计一种小型化,便携式的综合气象测量仪就显得十分必要。针对上述问题本文设计了一种低功耗便携式气象仪,该气象检测系统可以有效地测量小区域的温度、湿度、气压、风速、风向等气象参数,精度可达到普通气象测量要求,还有实时显示、实时存储、回溯查询的功能,具有低功耗、小型化、便携式、低成本的特点,适应于各种小区域的气象测量,具有一定的实用价值。
1 系统设计和工作原理
如图1所示,本气象测量系统以低功耗单片机MSP430F149作为核心控制部件,加以温度测量模块、湿度测量模块、气压测量模块、风速测量模块、风向测量模块、时钟模块、以及E2PROM、液晶显示和独立按键等模块组成。
利用各个传感器将温度、湿度、气压、风速、风向转化为电信号,通过单片机处理后得到测量数据,各个数据和时钟芯片得到的时间信息一并在液晶上显示,实现气象参数的实时显示。
通过E2PROM和独立按键实现数据的存储和查询——按下存储键,储存当前的时间和数据;按下查询键,查询以前存储的测量数据。同时,还具有自动测量的功能,自动测量时,关闭液晶,测得数据每小时存入E2PROM一次。
2 硬件设计
2.1 MSP430简介
MSP430是TI公司推出的一系列超低功耗微处理器。它的显著特性是具有超低功耗,有5个低功耗模式可供选择,唤醒时间很短,只需6μs,同时还拥有强大的处理力,集成度高,嵌入模块丰富(12位A/D、16位定时器、FLASH等),多用于智能仪表、智能家电、电池供电等便携式设备中。本气象仪采用MSP430系列的MSP430F149单片机为主控芯片,不仅满足了设计的要求,可以直接运用内部集成的12位A/D和16位定时器,减少外围模块,从而提高了系统稳定性。同时还可使单片机进入低功耗模式,有效地减少系统功耗,节约电能。
2.2 温度测量模块
目前常用的温度传感器主要有模拟式和数字式两种。模拟式的温度传感器主要有PT100,它精度高,性能稳定,工作温度在-200~650℃之间,但是由PT100构成的温度测量电路十分复杂,功耗和成本较大,而且普通气象测量对于温度测量的精度要求并不是十分高,所以,本设计选用电路较为简单的数字式温度传感器AD7416。
AD7416是一款多功能温度传感器,内部采用10位逐次逼近型模/数转换器,典型的温度转换时间为400μs,分辨率可达0.25℃,测量范围为-40~125℃,最低功耗可达1.2 μW,采用I2C总线进行数据传输,并且具有过温保护和采样放错机制。选用此传感器不仅满足精度要求,而且电路简单,还可以达到低功耗的功能。温度测量电路如图2所示,串行总线地址的低3位A0,A1,A2均接地,其串行地址为48H;其数据引脚SDA和时钟引脚SCL外接上拉电阻与单片机I/O口相连,通过I2C总线写入控制字,控制其进行温度测量。
2.3 湿度测量模块
湿度传感器主要分为电容式和电阻式两大类,目前应用比较广泛的是HS1101电容式湿度传感器,它的稳定性好、精度高、外带防护罩、抗静电、防灰尘、并可抵抗氯气、氨水等,可测量的湿度范围为1%~100% RH,精度可达±2%RH,符合普通气象测量的要求。当相对湿度变化时HS1101的相对电容改变,相对电容大小的改变会导致充放电时间的变化,测量时仅需要根据充放电频率即可计算出相对湿度。
湿度测量电路如图3所示,相对湿度测量通过555多谐振荡电路实现,HS1101作为电容变量接在TLC555芯片的2脚和5脚之间,管脚7用作电阻R5的短路,等量电容HS1101通过R3,R4充电到门限电压(约0.67 V),通过R4放电到触发电平,然后R4通过7短路到地,传感器由不同的电阻R5,R4充放电,形成充放电循环,形成方波。由单片机测得方波频率,根据HS1101的换算关系,转换成湿度置。
2.4 气压测量模块
气压传感器选用美国摩托罗拉公司生产的具有温度补偿能力的集成压力传感器MPX4115,这种芯片可靠性高,经济性和适用性均符合要求,其输出与外加压力成正比,测量范围是15~115 kPa,输出电压范围是0.2~4.8 V。MPX4115输出电压与大气压的关系如下:
Vo≈Vs(P×0.009-0.095) (1)
式中:Vs是电源电压;P是大气压。MPX4115输出电压送给MSP430单片机内部A/D,由于单片机内部A/D的参考电压为2.5 V,小于压力传感器最大输出电压,所以,在MPX4115输出端用电阻分压,输入单片机后,根据式(1),换算得到气压值。气压测量电路如图4所示。
2.5 风速测量模块
风速测量传感器选用CS3144霍尔开关集成电路,它是运用半导体集成电路技术制造出的磁场敏感电路,它的组成有电压调整器、霍尔电压发生器、差分放大电路、思密特触发器、温度补偿电路以及集电极的开路输出,其的输入是磁场感应强度,输出的是数字电压信号。
为测量风速,选用三风杯式风速组件,在风杯的旋转体上加上小磁钢,小磁钢体积小,质量小,磁钢强,其磁场适合于被霍尔传感器接收,且方便屏蔽环境里的其他磁场,也可以减小机械系统对最后的感应量的影响,从而使测量更加精确。风速测量电路如图5所示,由CS3144接收磁场强度输出数字信号再由LM393转化成为脉冲,最后传送到单片机的I/O口,小磁钢每次转过一圈,就会输出一个脉冲给单片机接收,利用单片机计数,得每秒钟转的圈数,再转换成当前的风速。利用电压比较器LM393还可以起到调节霍尔元件灵敏度的作用,调节电位器,反向输入端的比较电压相应变化,比较的电压变低时,输入的数字信号很小也会输出脉冲,相应的灵敏度变高,反之则灵敏度变低。
2.6 风向测量模块
为了达到较好的测量效果,选择增压式光电编码器CHA3806进行风向的测量,增压式光电编码器一般输出A,B,Z三路脉冲信号,Z信号主要用于同步或调零,A、B信号包含了被测对象的旋转方向、旋转速率等信息,它的机械构造相比而言是简单的,机械平均寿命可在几万小时以上,抗干扰能力强,可靠性高,有600分辨率的编码盘,测量范围在0°~360°,满足测量要求。
在光电编码器的旋转轴上加上很大的风向标,当风向标角度变化时,光电编码器就会发出A,B两路相位差90°的数字脉冲信号。当角度为正转时A超前B为90°,反转时则B超前A为90°。输出的数字脉冲信号的个数和角度位移量的关系为正比。因此,通过对脉冲信号计数就能计算出相应的角位移量。风向测量电路如图6所示。
光电编码器的输出A,B向脉冲接到单片机的I/O端口,固定选择某一个光电编码器位置朝向北,每转过一个位置,A发出一个脉冲被单片机接收,此时单片机会判别B脉冲此时为高电平还是低电平。如果B是高电平,则此时光电编码器为正转,计数加1;否则光电编码器编码器反转,计数减1,计数等于600时归零,同样的小于0的角度则从599开始减去,最终的计数值乘以0.6,这样就测算出了风向。为了直观的看出风向,按照风向表示法,以0°为正北,每隔22.5°为一类,分别表示,北风、北东北风、东北风、东东北风、东风、东东南风、东南风、南东风、南风、南西南风、西南风、西西南风、西风、西西北风、西北风、北西北风,液晶显示时风的类型和偏转角一同显示。
2.7 人机接口模块
键盘模块:采用6个独立按键,分别对应观测、查询、储存、自动测量、上、下6个功能。上、下键用于在查询功能中看不同时期的测量值。液晶显示模块:采用低功耗12864液晶,3.3 V供电,打开背光时工作电流约10 mA,关闭背光工作电流小于1 mA。观测时实时显示当前时间、温度、湿度、气压、风速、风向;查询时,现实记录的测量值和测量时间;自动测量时,可由单片机控制,关闭背光,减少电能消耗,达到低功耗效果。
2.8 其他硬件模块
系统电源模块:电路中共用到3.3 V、5 V电压值,由于是便携式产品,可用5 V锂电池供电。进入系统后,5 V电压通过LM1117 3.3 V得到3.3 V电压给MSP430单片机供电。
时钟模块:实时时钟采用低功耗芯片DS1302,可自动对秒、分、时、日、周、月、念年及闰年补偿进行计数,扩展万年历功能显示,功耗低,2.5 V供电时,功耗小于300 nA,且精度较高,满足系统需求。
E2PROM模块:由于储存数据较多,选用储存空间较大,成本较低的AT24C256储存器。这种E2PROM具有32 KB容量,通过I2C总线与单片机相连,实现数据的储存与读取。
3 软件设计
3.1 软件流程
气象仪的软件设计包括系统的初始化、温度数据采集、湿度数据采集、气压数据采集、风速数据采集、风向数据采集、时钟、液晶显示、储存、按键等10大模块,主要流程如图7,图8所示。
系统初始化以后,各个传感器开始采集数据、时钟芯片开始计时、单片机开始处理数据、液晶开始实时显示数据。当触发不同的功能按键,系统进入按键中断,执行储存、查询数据等功能。
传感器采集的数据受外界因素的干扰,有可能采集到存在误差较大的数据,为了保证测量的精确性,对采集到的数据每10个做平均值,其平均值作为最终的测量数据,进行显示、储存,以减小测量误差。
3.2 低功耗设计
MSP430单片机最大优势在于它的低功耗特性,本系统程序按照低功耗方式设计。除了必要的设备初始化以外,其余程序(键盘触发、定时器、A/D转换)均在中断中完成。单片机大部分时间处于LPM1低功耗模式中,只有中断被触发时,才被唤醒,这一设计方案大大降低了系统功耗。为了进一步降低功耗,当不观测测量数据时,可以使系统进入自动测量模式,单片机控制液晶,关闭其背光,减少功耗。
4 实验结果对比与分析
经过软、硬件调试后,系统成功实现了温度、湿度、气压、风速、风向的测量、显示、存储、查询功能。为了测试本气象仪测量的精确度,分别将系统在2013年1月21日18时45分和2013年1月22日14时45分于南京室外读到的数据与中央气象台同一时间发布的南京天气实况进行对比,测试结果如表1所示。
从对比结果可以看出,本文设计的气象仪和中央气象台发布的温度、湿度、气压基本一致,风向完全一样,风速差别略大,由于天气预报范围很广,而本气象仪测量的是小区域内的气候,所以测量值存在微小差异很正常,更可以说明在小范围区域,本设计测量值更精确。而对比中风速差异稍大,一是由于本气象仪测量的范围与天气预报测量范围差异造成的,二是由于风速较低,小磁钢所转圈数较少,风杯与支柱间的摩擦力等因素造成速度分辨率低,若风速较大,则测量更精确些。总之,实验对比表明本文设计的气象仪精度达到普通气象测量要求,稳定性好,适用于小区域内的气候测量。
5 结语
针对天气预报范围太广,无法精确到小范围区域;气象台成本太高;便携式气象仪匮乏的现状,设计了基于MSP430低功耗单片机的便携式气象仪。该气象仪集成了多种气象传感器,可系统地测量温度、湿度、气压、风速、风向等气象参数,精确度达到了普通气象参数的测量要求,具有数据储存和回溯查询的功能。同时功耗很低,可用电池供电,普通5 V锂电池大约可以持续工作2天左右,携带方便,可适应于各种小区域环境的气侯预报,具有较强的实用性。