刘英男 綦声波 吴学英
(中国海洋大学工程学院,山东 青岛 266100)
海洋气象观测用低功耗智能型气压传感器设计
刘英男 綦声波 吴学英
(中国海洋大学工程学院,山东 青岛 266100)
针对当前气压传感器功耗偏大、输出数据单一、灵活性差等缺点,设计了一款低功耗、输出方式灵活的智能型气压传感器。以ATmega16L单片机为主控芯片,通过SPI总线读取气压和温度的原始测量值,计算得到精确大气压值;采用精细化的软硬件省电设计方法,实现了系统的低功耗;通过跳线选择数据输出方式,增加了产品的灵活性。该传感器具有高精度、高稳定性、智能性、低功耗和便携式等特点,可独立使用,也可用于其他需要气压测量的设备中。
气压传感器 气压测量 低功耗 单片机 智能接口 SPI总线 ATmega16L
气压计是利用压敏元件将待测气压转换为容易检测和传输的电流或电压信号,再经过后续电路处理进行实时显示的一种设备[1]。在传统的气压测量领域,主要采用水银气压计和无液气压计[2]。随着数字化和微电子制造技术的发展,电路集成化程度高的数字气压计具有读数更直观、测量更准确的特点[3],在仪器仪表、医疗卫生、气压计等工业设备中有着广泛的应用[4]。另外,气压也是海洋气象观测的重要要素之一,海洋观测多采用蓄电池、太阳能等设备供电,因此要求仪器设备工作可靠、功耗低,以利于长期离岸工作。
目前市场上气压计的功耗和接口灵活性不尽人意[5],为此,本文所述的气压传感器针对海洋观测进行综合设计,考虑了低功耗和多种接口的特征。该传感器采用带有温度补偿的BMP085集成化MEMS芯片,以AVR低功耗微控制器作为主控芯片,通过精细化设计,实现了低功耗和多种接口输出的统一,并通过对比性实验验证了设计的有效性。
考虑到大气压的波动范围及相关规范的要求,将本系统的性能指标定为500~1 100 hPa(1 hPa=100 Pa),数字精度为0.2 hPa(25 ℃)、0.3 hPa(-40~70 ℃),模拟精度为0.05%。考虑到绝大多数设备的集成要求,需要模拟和数字两种输出方式,其中模拟输出采用0~5 V和0~2.5 V两种方式,数字输出采用串口方式。系统采用模块化设计,其硬件架构如图1所示。
图1 气压计的硬件架构图
系统的实现需微控制器具有UART、TWI和SPI接口,以及低功耗模式,综合考虑选用了Atmel公司的ATmega16L作为主控MCU。该芯片具有16 kB的系统内可编程Flash,2.7~5.5 V的操作电压,具有可编程串行UART和SPI串行接口。另外,该单片机还具有6种睡眠模式,能达到低功耗的要求。
该气压计显示的是绝对气压值,因此应选取测量绝对气压的气压传感器;同时为了简化电路,提高稳定性和抗干扰能力,要求该气压传感器应带有温度补偿。为此,本设计选用了BOSCH公司的BMP085来测量大气压值。该传感器的压力测量范围是300~1 100 hPa,温度测量范围为-40~85 ℃,通过I2C总线与微处理器通信[6];绝对精度为±1 hPa,虽本身精度达不到指标要求,但经过硬件筛选和软件标定后,基本达到0.2 hPa的精度指标;且其功耗极低,标准模式下采样一次的电流仅为5 μA,待机电流仅有0.1 μA[7]。
由于需实现通过输出端子TRIG/RX和VOUT/TX(图1)将大气压力对应的模拟和串口两种数据输出,并且考虑到低功耗特性,本设计选用DAC8552和MAX3221分别作为模拟输出和串口输出的转换芯片。由于模拟输出要求具有0~5 V和0~2.5 V两种选择,且串口要求输出不同格式的数据,因此设计了用跳线来完成各种输出方式的选择。
考虑到海洋观测设备电源的通用型,本传感器电源端+PWR和-PWR(图1)之间可输入7~30 V的任意供电电压,选用了具有低静态电流的电源芯片LT3990和HT7833完成5 V和3.3 V的转换。
为了实现系统的低功耗设计,需要从硬件和软件两个方面进行考虑。
2.1 硬件设计
2.1.1 电源芯片
本设计选用了超低静态电流降压型开关稳压器LT3990作为电源芯片,硬件电路如图2所示。
图2 LT3990硬件连接图
LT3990电源芯片具有使能引脚EN,本设计将其连接到外接端子TRIG,以便需要时拉低该引脚,使其进入关断模式,此时仅有0.7 A的关断电流。另外该芯片的输出电压是由输出引脚和FB引脚之间的电阻分压器编程得到,根据如下公式选择电阻,R1=R2×(UOUT/1.21-1)(如图2标注)。考虑到输出电压的精确度和低功耗的要求,本设计选用精度为1%且阻值较大的电阻,R1=1 MΩ,R2=316 kΩ,以降低静态电流。
2.1.2 串口芯片
为了实现串口输出和低功耗,选用MAX3221作为串口芯片,硬件电路如图3所示。该芯片具有低待机电流1 μA和自动掉电功能,功耗极低。其有两个引脚FORCEON和/FORCEOFF,电平的高低决定了驱动器的状态。当FORCEON和/FORCEOFF都为高电平时,禁止自动掉电功能;当FORCEON为低电平且/FORCEOFF为高电平时,使能自动掉电功能。在这种工作方式中,若接收到一个有效信号,该器件会自动启动;其他情况下,驱动器输出端被禁止。硬件设计采用跳线来决定FORCEON的电平,以此来决定是否使能自动掉电功能。
图3 MAX3221硬件连接图
2.2 软件设计
整个系统低功耗不仅需要硬件支持,还需要精细化的软件设计。本传感器选择ATmega16L作为主控芯片,它采用了Harvard结构,具有独立的数据和程序总线。程序存储器里的指令通过一级流水线运行,CPU在执行一条指令的同时读取下一条指令,实现了指令的单时钟周期运行[8],这意味着同样的工作可以在更短的时间内完成。它有6种睡眠模式可供选择[9],考虑到睡眠模式下,定时器以及中断系统需要继续工作,以便唤醒单片机继续工作,因此本传感器选用了空闲模式作为MCU的睡眠方式,其在1 MHz的功耗仅为0.35 mA。
本传感器的软件设计采用模块化设计方法和前后台程序架构。前台程序为中断服务程序,后台程序包括初始化程序和主程序[10]。中断服务程序包括定时器、串口接收和发送中断服务程序;初始化程序包括I/O引脚、参数、外部设备和中断初始化。在主程序中启动温度和压力转换,读取原始温度、压力值,并进行计算得到经过温度补偿后的精确大气压值,最后将其送入DAC8552得到对应电压值。
软件设计采用了状态机的模式,有4个状态,分别是温度采集、气压采集、计算转换和睡眠状态,具体的状态转换如图4所示。每个状态下都做相应的处理及运算,并将下一状态值赋给State,进入睡眠状态,使ATmega16L进入空闲模式,等待定时50 ms的Timer2中断将其唤醒,以此达到降低功耗的目的。
图4 状态转换图
本系统对于气压计的输出设计了两种方式,一是串口输出,二是电压输出,这两种输出方式可通过跳线进行选择。
3.1 串口输出方式
本设计采用RS-232串口通信方式实现对气压数据以及命令的读入与输出,实现对数据的实时观测。可以提供多种输出数据格式,如ASCII码、NMEA海洋格式等,跳线配置如表1所示。表1中,1表示跳线接通,0表示跳线断开。当跳线A/B/C都接通时为连续ASCII码输出,数据格式的选择与配置最终由软件编程实现。
表1 输出数据格式跳线配置表
①连续ASCII码输出格式,以hPa为单位输出,输出周期可通过命令在0.5~60 s内任意设置。
②查询ASCII码输出方式,当收到一个查询指令Ma!时,气压计会立即发送当前的气压值,格式与连续ASCII码格式一样。查询指令Ma!中“a”可以通过命令进行改变。这种方式适合于查询输出的场合。
③ NMEA海洋格式符合标准的海洋数据格式,适用于专业海洋数据格式的气压值输出。其输出数据格式如:$WIXDR,P,1.001 34,B,BARO*74,其中1.001 34是以bar(1bar = 0.1 MPa)为单位的气压值,74是校验部分。
④ 软件设置输出方式,是根据EEPROM中的波特率、输出速率、输出数据格式等参数值来进行输出,这主要为特殊用户考虑。其参数值可以通过命令修改并存储于EEPROM,上电后读取EEPROM的参数便可按照用户的要求进行气压值的输出。
3.2 电压输出格式
系统通过跳线来选择电压输出格式。跳线断开时,为0~2.5 V电压输出;跳线接通时,为0~5 V输出。当气压P范围是500~1 100 hPa,输出电压U范围是0~5 000 mV时,气压值与输出电压值的对应关系为:P=0.12U+ 500。为了提高分辨率和精确性,可以按实际需求缩小气压范围。
对气压计进行两项测试,低功耗测试和数据测试。
①功耗测试,分为串口和电压模式的功耗。分别将本设计的气压计SP-1和YOUNG公司的61302V进行比对测试,采用12 V开关电源进行供电,将万用表串接于电源端,调到电流档进行上电测试,测试数据如表2所示。
表2 不同模式功耗测试数据表
②输出数据测试。常温下,将SP-1和61302V均设置为串口模式,分别放入700 hPa/900 hPa/1 100 hPa 的恒压箱进行测试,同时间记录200组数据,求出平均值和方差。再将其均设置为电压0~5 V输出模式,上电测试,记录数据,如表3所示。其理论电压值的计算公式为U=(P-500)×5/600,其中P为理论气压值。
表3 61302V和SP-1的气压值测试表
从上述测试结果可以看出,对于功耗测试:串口模式下,SP-1比61302V的功耗低;反之,电压模式下SP-1的功耗较大,与预期结果不符。经分析:电压模式下没有将与串口相关的芯片置于掉电模式,导致电流偏大。
对于输出数据测试:串口模式下,SP-1的平均值比61302V小,说明SP-1比61302V更准确,说明SP-1精度更高;SP-1的方差比61302V小,说明SP-1稳定性更高。电压模式下,SP-1与61302V精度相差细微,达到模拟精度0.05%的设计要求。该气压传感器基本满足设计要求。对于功耗方面,还需要进一步研究改进。
本文中的智能型气压传感器,采用了带有温度补偿的MEMS工艺气压芯片,通过芯片筛选和软件标定实现了测量的精确性;通过跳线,用户可以选择多种输出方式,提高了产品的灵活性;通过硬件和软件相结合,实现了系统的低功耗特性。该传感器的上述特性,使其在海洋气压观测领域具有广阔的应用空间,同时也适用于任何对气压精度要求较高的户外场合使用。
[1] 沈绍祥,胡爱华.基于单片机控制的数字气压计设计与实现[J].国外电子元器件,2004(7):66-69.
[2] 杨智.低功耗数字气压计的设计[J].沈阳航空工业学院学报,2007,24(3):72-73.
[3] 田海燕,赖春强,贺思桥.基于MS5534C的数字气压计设计[J].兵工自动化,2012,31(9):86-88.
[4] 沈宗月,曹云峰.基于SCP1000-D01的气压计的设计[J].国外电子元器件,2007(8):49-51.
[5] 惠力,于锋,綦声波,等.基于XTR105的气温传感器[J].自动化与仪表,2002(6):13-15.
[6] 杨镇博,张加宏,吴雨生.基于ATmega16单片机的微型气象探测系统设计[J].现代电子技术,2013,36(11):106-109.
[7] 王俊彩,王福平,侯瑞峰,等.基于BMP085的一种便携式海拔高度测量系统设计[J].传感器与微系统,2011,30(12):123-125.
[8] 蒋海英.基于AVR单片机教学实验板的设计[D].成都:西南交通大学,2009.
[9] 田国栋,李强.基于ATmega16单片机的实时温度采集与分析系统[J].电子设计工程,2012,20(7):151-153.
[10]马忠梅,籍顺心.单片机的C语言应用程序设计[M].北京:航空航天大学出版社,1999.
Design of the Intelligent Air Pressure Sensor with Low Power Consumption for Marine Meteorological Observation
At present,the air pressure sensors features demerits of larger power consumption,unitary output data,and poor flexibility,etc.,thus the intelligent air pressure sensor featuring low power consumption and flexible output modes has been designed.With ATmega16L single chip computer as the main control chip,the raw measurements of temperature and air pressure are read through SPI bus; then accurate value of barometric pressure is calculated.The low power consumption is implemented by meticulous hardware and software power-saving design; the flexibility of products is reached through selecting output mode by jumpers.The sensor features high accuracy,high stability,intelligence,low power consumption and easy to carry,it can be used standalone or used in other measuring devices need to measure air pressure.
Air pressure sensor Aire pressure measurement Low power consumption Single chip machine Intelligent interface SPI bus ATmega16L
教育部新教师基金资助项目(编号:20130132120003)。
刘英男(1990-),女,现为中国海洋大学控制理论与控制工程专业在读硕士研究生;主要从事海洋智能仪器仪表方面的研究。
TP212+.6;TH812
A
10.16086/j.cnki.issn1000-0380.201601024
修改稿收到日期:2015-01-30。