劉英男 綦聲波 吳學(xué)英
(中國(guó)海洋大學(xué)工程學(xué)院,山東 青島 266100)
?
海洋氣象觀測(cè)用低功耗智能型氣壓傳感器設(shè)計(jì)
劉英男 綦聲波 吳學(xué)英
(中國(guó)海洋大學(xué)工程學(xué)院,山東 青島 266100)
針對(duì)當(dāng)前氣壓傳感器功耗偏大、輸出數(shù)據(jù)單一、靈活性差等缺點(diǎn),設(shè)計(jì)了一款低功耗、輸出方式靈活的智能型氣壓傳感器。以ATmega16L單片機(jī)為主控芯片,通過SPI總線讀取氣壓和溫度的原始測(cè)量值,計(jì)算得到精確大氣壓值;采用精細(xì)化的軟硬件省電設(shè)計(jì)方法,實(shí)現(xiàn)了系統(tǒng)的低功耗;通過跳線選擇數(shù)據(jù)輸出方式,增加了產(chǎn)品的靈活性。該傳感器具有高精度、高穩(wěn)定性、智能性、低功耗和便攜式等特點(diǎn),可獨(dú)立使用,也可用于其他需要?dú)鈮簻y(cè)量的設(shè)備中。
氣壓傳感器 氣壓測(cè)量 低功耗 單片機(jī) 智能接口 SPI總線 ATmega16L
氣壓計(jì)是利用壓敏元件將待測(cè)氣壓轉(zhuǎn)換為容易檢測(cè)和傳輸?shù)碾娏骰螂妷盒盘?hào),再經(jīng)過后續(xù)電路處理進(jìn)行實(shí)時(shí)顯示的一種設(shè)備[1]。在傳統(tǒng)的氣壓測(cè)量領(lǐng)域,主要采用水銀氣壓計(jì)和無液氣壓計(jì)[2]。隨著數(shù)字化和微電子制造技術(shù)的發(fā)展,電路集成化程度高的數(shù)字氣壓計(jì)具有讀數(shù)更直觀、測(cè)量更準(zhǔn)確的特點(diǎn)[3],在儀器儀表、醫(yī)療衛(wèi)生、氣壓計(jì)等工業(yè)設(shè)備中有著廣泛的應(yīng)用[4]。另外,氣壓也是海洋氣象觀測(cè)的重要要素之一,海洋觀測(cè)多采用蓄電池、太陽(yáng)能等設(shè)備供電,因此要求儀器設(shè)備工作可靠、功耗低,以利于長(zhǎng)期離岸工作。
目前市場(chǎng)上氣壓計(jì)的功耗和接口靈活性不盡人意[5],為此,本文所述的氣壓傳感器針對(duì)海洋觀測(cè)進(jìn)行綜合設(shè)計(jì),考慮了低功耗和多種接口的特征。該傳感器采用帶有溫度補(bǔ)償?shù)腂MP085集成化MEMS芯片,以AVR低功耗微控制器作為主控芯片,通過精細(xì)化設(shè)計(jì),實(shí)現(xiàn)了低功耗和多種接口輸出的統(tǒng)一,并通過對(duì)比性實(shí)驗(yàn)驗(yàn)證了設(shè)計(jì)的有效性。
考慮到大氣壓的波動(dòng)范圍及相關(guān)規(guī)范的要求,將本系統(tǒng)的性能指標(biāo)定為500~1 100 hPa(1 hPa=100 Pa),數(shù)字精度為0.2 hPa(25 ℃)、0.3 hPa(-40~70 ℃),模擬精度為0.05%??紤]到絕大多數(shù)設(shè)備的集成要求,需要模擬和數(shù)字兩種輸出方式,其中模擬輸出采用0~5 V和0~2.5 V兩種方式,數(shù)字輸出采用串口方式。系統(tǒng)采用模塊化設(shè)計(jì),其硬件架構(gòu)如圖1所示。
圖1 氣壓計(jì)的硬件架構(gòu)圖
系統(tǒng)的實(shí)現(xiàn)需微控制器具有UART、TWI和SPI接口,以及低功耗模式,綜合考慮選用了Atmel公司的ATmega16L作為主控MCU。該芯片具有16 kB的系統(tǒng)內(nèi)可編程Flash,2.7~5.5 V的操作電壓,具有可編程串行UART和SPI串行接口。另外,該單片機(jī)還具有6種睡眠模式,能達(dá)到低功耗的要求。
該氣壓計(jì)顯示的是絕對(duì)氣壓值,因此應(yīng)選取測(cè)量絕對(duì)氣壓的氣壓傳感器;同時(shí)為了簡(jiǎn)化電路,提高穩(wěn)定性和抗干擾能力,要求該氣壓傳感器應(yīng)帶有溫度補(bǔ)償。為此,本設(shè)計(jì)選用了BOSCH公司的BMP085來測(cè)量大氣壓值。該傳感器的壓力測(cè)量范圍是300~1 100 hPa,溫度測(cè)量范圍為-40~85 ℃,通過I2C總線與微處理器通信[6];絕對(duì)精度為±1 hPa,雖本身精度達(dá)不到指標(biāo)要求,但經(jīng)過硬件篩選和軟件標(biāo)定后,基本達(dá)到0.2 hPa的精度指標(biāo);且其功耗極低,標(biāo)準(zhǔn)模式下采樣一次的電流僅為5 μA,待機(jī)電流僅有0.1 μA[7]。
由于需實(shí)現(xiàn)通過輸出端子TRIG/RX和VOUT/TX(圖1)將大氣壓力對(duì)應(yīng)的模擬和串口兩種數(shù)據(jù)輸出,并且考慮到低功耗特性,本設(shè)計(jì)選用DAC8552和MAX3221分別作為模擬輸出和串口輸出的轉(zhuǎn)換芯片。由于模擬輸出要求具有0~5 V和0~2.5 V兩種選擇,且串口要求輸出不同格式的數(shù)據(jù),因此設(shè)計(jì)了用跳線來完成各種輸出方式的選擇。
考慮到海洋觀測(cè)設(shè)備電源的通用型,本傳感器電源端+PWR和-PWR(圖1)之間可輸入7~30 V的任意供電電壓,選用了具有低靜態(tài)電流的電源芯片LT3990和HT7833完成5 V和3.3 V的轉(zhuǎn)換。
為了實(shí)現(xiàn)系統(tǒng)的低功耗設(shè)計(jì),需要從硬件和軟件兩個(gè)方面進(jìn)行考慮。
2.1 硬件設(shè)計(jì)
2.1.1 電源芯片
本設(shè)計(jì)選用了超低靜態(tài)電流降壓型開關(guān)穩(wěn)壓器LT3990作為電源芯片,硬件電路如圖2所示。
圖2 LT3990硬件連接圖
LT3990電源芯片具有使能引腳EN,本設(shè)計(jì)將其連接到外接端子TRIG,以便需要時(shí)拉低該引腳,使其進(jìn)入關(guān)斷模式,此時(shí)僅有0.7 A的關(guān)斷電流。另外該芯片的輸出電壓是由輸出引腳和FB引腳之間的電阻分壓器編程得到,根據(jù)如下公式選擇電阻,R1=R2×(UOUT/1.21-1)(如圖2標(biāo)注)??紤]到輸出電壓的精確度和低功耗的要求,本設(shè)計(jì)選用精度為1%且阻值較大的電阻,R1=1 MΩ,R2=316 kΩ,以降低靜態(tài)電流。
2.1.2 串口芯片
為了實(shí)現(xiàn)串口輸出和低功耗,選用MAX3221作為串口芯片,硬件電路如圖3所示。該芯片具有低待機(jī)電流1 μA和自動(dòng)掉電功能,功耗極低。其有兩個(gè)引腳FORCEON和/FORCEOFF,電平的高低決定了驅(qū)動(dòng)器的狀態(tài)。當(dāng)FORCEON和/FORCEOFF都為高電平時(shí),禁止自動(dòng)掉電功能;當(dāng)FORCEON為低電平且/FORCEOFF為高電平時(shí),使能自動(dòng)掉電功能。在這種工作方式中,若接收到一個(gè)有效信號(hào),該器件會(huì)自動(dòng)啟動(dòng);其他情況下,驅(qū)動(dòng)器輸出端被禁止。硬件設(shè)計(jì)采用跳線來決定FORCEON的電平,以此來決定是否使能自動(dòng)掉電功能。
圖3 MAX3221硬件連接圖
2.2 軟件設(shè)計(jì)
整個(gè)系統(tǒng)低功耗不僅需要硬件支持,還需要精細(xì)化的軟件設(shè)計(jì)。本傳感器選擇ATmega16L作為主控芯片,它采用了Harvard結(jié)構(gòu),具有獨(dú)立的數(shù)據(jù)和程序總線。程序存儲(chǔ)器里的指令通過一級(jí)流水線運(yùn)行,CPU在執(zhí)行一條指令的同時(shí)讀取下一條指令,實(shí)現(xiàn)了指令的單時(shí)鐘周期運(yùn)行[8],這意味著同樣的工作可以在更短的時(shí)間內(nèi)完成。它有6種睡眠模式可供選擇[9],考慮到睡眠模式下,定時(shí)器以及中斷系統(tǒng)需要繼續(xù)工作,以便喚醒單片機(jī)繼續(xù)工作,因此本傳感器選用了空閑模式作為MCU的睡眠方式,其在1 MHz的功耗僅為0.35 mA。
本傳感器的軟件設(shè)計(jì)采用模塊化設(shè)計(jì)方法和前后臺(tái)程序架構(gòu)。前臺(tái)程序?yàn)橹袛喾?wù)程序,后臺(tái)程序包括初始化程序和主程序[10]。中斷服務(wù)程序包括定時(shí)器、串口接收和發(fā)送中斷服務(wù)程序;初始化程序包括I/O引腳、參數(shù)、外部設(shè)備和中斷初始化。在主程序中啟動(dòng)溫度和壓力轉(zhuǎn)換,讀取原始溫度、壓力值,并進(jìn)行計(jì)算得到經(jīng)過溫度補(bǔ)償后的精確大氣壓值,最后將其送入DAC8552得到對(duì)應(yīng)電壓值。
軟件設(shè)計(jì)采用了狀態(tài)機(jī)的模式,有4個(gè)狀態(tài),分別是溫度采集、氣壓采集、計(jì)算轉(zhuǎn)換和睡眠狀態(tài),具體的狀態(tài)轉(zhuǎn)換如圖4所示。每個(gè)狀態(tài)下都做相應(yīng)的處理及運(yùn)算,并將下一狀態(tài)值賦給State,進(jìn)入睡眠狀態(tài),使ATmega16L進(jìn)入空閑模式,等待定時(shí)50 ms的Timer2中斷將其喚醒,以此達(dá)到降低功耗的目的。
圖4 狀態(tài)轉(zhuǎn)換圖
本系統(tǒng)對(duì)于氣壓計(jì)的輸出設(shè)計(jì)了兩種方式,一是串口輸出,二是電壓輸出,這兩種輸出方式可通過跳線進(jìn)行選擇。
3.1 串口輸出方式
本設(shè)計(jì)采用RS-232串口通信方式實(shí)現(xiàn)對(duì)氣壓數(shù)據(jù)以及命令的讀入與輸出,實(shí)現(xiàn)對(duì)數(shù)據(jù)的實(shí)時(shí)觀測(cè)??梢蕴峁┒喾N輸出數(shù)據(jù)格式,如ASCII碼、NMEA海洋格式等,跳線配置如表1所示。表1中,1表示跳線接通,0表示跳線斷開。當(dāng)跳線A/B/C都接通時(shí)為連續(xù)ASCII碼輸出,數(shù)據(jù)格式的選擇與配置最終由軟件編程實(shí)現(xiàn)。
表1 輸出數(shù)據(jù)格式跳線配置表
①連續(xù)ASCII碼輸出格式,以hPa為單位輸出,輸出周期可通過命令在0.5~60 s內(nèi)任意設(shè)置。
②查詢ASCII碼輸出方式,當(dāng)收到一個(gè)查詢指令Ma!時(shí),氣壓計(jì)會(huì)立即發(fā)送當(dāng)前的氣壓值,格式與連續(xù)ASCII碼格式一樣。查詢指令Ma!中“a”可以通過命令進(jìn)行改變。這種方式適合于查詢輸出的場(chǎng)合。
③ NMEA海洋格式符合標(biāo)準(zhǔn)的海洋數(shù)據(jù)格式,適用于專業(yè)海洋數(shù)據(jù)格式的氣壓值輸出。其輸出數(shù)據(jù)格式如:$WIXDR,P,1.001 34,B,BARO*74,其中1.001 34是以bar(1bar = 0.1 MPa)為單位的氣壓值,74是校驗(yàn)部分。
④ 軟件設(shè)置輸出方式,是根據(jù)EEPROM中的波特率、輸出速率、輸出數(shù)據(jù)格式等參數(shù)值來進(jìn)行輸出,這主要為特殊用戶考慮。其參數(shù)值可以通過命令修改并存儲(chǔ)于EEPROM,上電后讀取EEPROM的參數(shù)便可按照用戶的要求進(jìn)行氣壓值的輸出。
3.2 電壓輸出格式
系統(tǒng)通過跳線來選擇電壓輸出格式。跳線斷開時(shí),為0~2.5 V電壓輸出;跳線接通時(shí),為0~5 V輸出。當(dāng)氣壓P范圍是500~1 100 hPa,輸出電壓U范圍是0~5 000 mV時(shí),氣壓值與輸出電壓值的對(duì)應(yīng)關(guān)系為:P=0.12U+ 500。為了提高分辨率和精確性,可以按實(shí)際需求縮小氣壓范圍。
對(duì)氣壓計(jì)進(jìn)行兩項(xiàng)測(cè)試,低功耗測(cè)試和數(shù)據(jù)測(cè)試。
①功耗測(cè)試,分為串口和電壓模式的功耗。分別將本設(shè)計(jì)的氣壓計(jì)SP-1和YOUNG公司的61302V進(jìn)行比對(duì)測(cè)試,采用12 V開關(guān)電源進(jìn)行供電,將萬用表串接于電源端,調(diào)到電流檔進(jìn)行上電測(cè)試,測(cè)試數(shù)據(jù)如表2所示。
表2 不同模式功耗測(cè)試數(shù)據(jù)表
②輸出數(shù)據(jù)測(cè)試。常溫下,將SP-1和61302V均設(shè)置為串口模式,分別放入700 hPa/900 hPa/1 100 hPa 的恒壓箱進(jìn)行測(cè)試,同時(shí)間記錄200組數(shù)據(jù),求出平均值和方差。再將其均設(shè)置為電壓0~5 V輸出模式,上電測(cè)試,記錄數(shù)據(jù),如表3所示。其理論電壓值的計(jì)算公式為U=(P-500)×5/600,其中P為理論氣壓值。
表3 61302V和SP-1的氣壓值測(cè)試表
從上述測(cè)試結(jié)果可以看出,對(duì)于功耗測(cè)試:串口模式下,SP-1比61302V的功耗低;反之,電壓模式下SP-1的功耗較大,與預(yù)期結(jié)果不符。經(jīng)分析:電壓模式下沒有將與串口相關(guān)的芯片置于掉電模式,導(dǎo)致電流偏大。
對(duì)于輸出數(shù)據(jù)測(cè)試:串口模式下,SP-1的平均值比61302V小,說明SP-1比61302V更準(zhǔn)確,說明SP-1精度更高;SP-1的方差比61302V小,說明SP-1穩(wěn)定性更高。電壓模式下,SP-1與61302V精度相差細(xì)微,達(dá)到模擬精度0.05%的設(shè)計(jì)要求。該氣壓傳感器基本滿足設(shè)計(jì)要求。對(duì)于功耗方面,還需要進(jìn)一步研究改進(jìn)。
本文中的智能型氣壓傳感器,采用了帶有溫度補(bǔ)償?shù)腗EMS工藝氣壓芯片,通過芯片篩選和軟件標(biāo)定實(shí)現(xiàn)了測(cè)量的精確性;通過跳線,用戶可以選擇多種輸出方式,提高了產(chǎn)品的靈活性;通過硬件和軟件相結(jié)合,實(shí)現(xiàn)了系統(tǒng)的低功耗特性。該傳感器的上述特性,使其在海洋氣壓觀測(cè)領(lǐng)域具有廣闊的應(yīng)用空間,同時(shí)也適用于任何對(duì)氣壓精度要求較高的戶外場(chǎng)合使用。
[1] 沈紹祥,胡愛華.基于單片機(jī)控制的數(shù)字氣壓計(jì)設(shè)計(jì)與實(shí)現(xiàn)[J].國(guó)外電子元器件,2004(7):66-69.
[2] 楊智.低功耗數(shù)字氣壓計(jì)的設(shè)計(jì)[J].沈陽(yáng)航空工業(yè)學(xué)院學(xué)報(bào),2007,24(3):72-73.
[3] 田海燕,賴春強(qiáng),賀思橋.基于MS5534C的數(shù)字氣壓計(jì)設(shè)計(jì)[J].兵工自動(dòng)化,2012,31(9):86-88.
[4] 沈宗月,曹云峰.基于SCP1000-D01的氣壓計(jì)的設(shè)計(jì)[J].國(guó)外電子元器件,2007(8):49-51.
[5] 惠力,于鋒,綦聲波,等.基于XTR105的氣溫傳感器[J].自動(dòng)化與儀表,2002(6):13-15.
[6] 楊鎮(zhèn)博,張加宏,吳雨生.基于ATmega16單片機(jī)的微型氣象探測(cè)系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2013,36(11):106-109.
[7] 王俊彩,王福平,侯瑞峰,等.基于BMP085的一種便攜式海拔高度測(cè)量系統(tǒng)設(shè)計(jì)[J].傳感器與微系統(tǒng),2011,30(12):123-125.
[8] 蔣海英.基于AVR單片機(jī)教學(xué)實(shí)驗(yàn)板的設(shè)計(jì)[D].成都:西南交通大學(xué),2009.
[9] 田國(guó)棟,李強(qiáng).基于ATmega16單片機(jī)的實(shí)時(shí)溫度采集與分析系統(tǒng)[J].電子設(shè)計(jì)工程,2012,20(7):151-153.
[10]馬忠梅,籍順心.單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)[M].北京:航空航天大學(xué)出版社,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
教育部新教師基金資助項(xiàng)目(編號(hào):20130132120003)。
劉英男(1990-),女,現(xiàn)為中國(guó)海洋大學(xué)控制理論與控制工程專業(yè)在讀碩士研究生;主要從事海洋智能儀器儀表方面的研究。
TP212+.6;TH812
A
10.16086/j.cnki.issn1000-0380.201601024
修改稿收到日期:2015-01-30。