氣壓高度表設(shè)計(jì)
摘要 介紹了一款戶外登山、摹巖等運(yùn)動愛好者所用便攜式多功能高度計(jì)腕表,該設(shè)計(jì)除具有普通電子手表的計(jì)時(shí)和LCD顯示等功能外,結(jié)合芬蘭VTI公司的微型氣壓傳感器SCP1000-D11的4種測量模式轉(zhuǎn)換和氣壓數(shù)據(jù)與高度特別的算法,低功耗的軟硬件設(shè)計(jì)使用戶能隨時(shí)隨地查看所處位置及高度。在實(shí)際使用中獲得了用戶的肯定。
關(guān)鍵詞 SCP1000-D11氣壓傳感器;高度;數(shù)據(jù);模式;低功耗
高度計(jì)就是利用大氣壓的變化規(guī)律,來測量所在地的海拔高度和大氣壓變化,以及測量因地域變化發(fā)生的相對高度。一般適用于戶外活動者,包括登山、攀巖、滑雪運(yùn)動、外出旅行等。針對當(dāng)前氣壓高度計(jì)產(chǎn)品絕對高度測量誤差大、功能單一、體積大、耗電高不便攜帶等缺點(diǎn),基于VTI公司推出的SCP1000-D11氣壓傳感器微小的尺寸,4種測量模式的切換等特點(diǎn),采用氣壓數(shù)據(jù)與氣壓轉(zhuǎn)換高度軟件算法改進(jìn)設(shè)計(jì)。并在硬件設(shè)計(jì)上增加了背光顯示,鬧鐘功能。
1 系統(tǒng)設(shè)計(jì)
為使系統(tǒng)更精簡、經(jīng)濟(jì)與實(shí)用,采用4位的OKIMCU ML63189B,SCP1000-D11傳感器作為一個(gè)Slave,通過I2C接口與MCU的I/O通訊。增加了時(shí)鐘計(jì)時(shí)、秒表、鬧鈴與背光顯示功能。通過有5個(gè)Key的按鍵操作與相應(yīng)的軟件實(shí)現(xiàn)人機(jī)交互。
2 系統(tǒng)硬件設(shè)計(jì)
該系統(tǒng)包含有MCU基本功能,按鍵操作、背光驅(qū)動顯示、鬧鐘與發(fā)聲功能、高度、溫度與時(shí)鐘LCD顯示,SCP1000-D11氣壓傳感器與MCU接口模塊。OKIML63189B有4 bit、32 kB Word ROM、1.5 kB Word RAM/64×16 bit LCD ICONS。MCU高速時(shí)鐘選擇外接精密電阻100 kΩ,確保氣壓數(shù)據(jù)處理與通訊需要。按鍵外接VDD,MCU接口為外部中斷功能引腳PB.3,PO口,內(nèi)接下拉電阻,當(dāng)按鍵按下時(shí)為上升沿觸發(fā)。鬧鐘驅(qū)動鏈接MCU 91PIN MD引腳,通過一個(gè)BC847BW NPN三極管驅(qū)動蜂鳴片工作。SCP1000-D11共有16個(gè)引腳,有7個(gè)I/O型引腳,電源型引腳9個(gè)。其接線如圖2所示,用單一電源供電,TRIG外部觸發(fā)低功耗模式,設(shè)計(jì)中該引腳則接至DVSS。DRDY為輸出中斷信號,用以提示用戶溫度和壓力值已經(jīng)測量,可讀取。PD引腳為高電平可使SCP1000-D11長時(shí)間保持低功耗模式。DRDY-PIN,PD分別接PB.0,P9.0。SCK、SDA、MISO和CSB引腳組成了數(shù)據(jù)通訊線。該MCU無專用I2C接口I/O,其PA.0,PA.1作為SCL,SDA與氣壓傳感器通訊線,因SDA為OPEN-DRAIN輸出,其線外接上拉電阻10 kΩ。MISO-PIN開路,CSB-PIN接VDD。
如圖3為EL(背光片)驅(qū)動電路,應(yīng)用SP4403MSOP-8封裝,電路圖中的電感量與電容可根據(jù)EL(背光片)大小調(diào)整在功耗和亮度之間取得平衡。通過MCU I/O P9.0控制一開關(guān)管使其正極電源在所需時(shí)接通,一般持續(xù)點(diǎn)亮約3 s為省電。
3 系統(tǒng)軟件設(shè)計(jì)
整體軟件設(shè)計(jì)采用匯編與高級C語言。其包含有時(shí)鐘顯示、按鍵功能、溫度、高度、背光及提示音響鬧等軟件模塊。初始化程序包括MCU,I/O接口狀態(tài)設(shè)置、LCD驅(qū)動、時(shí)鐘、氣壓傳感器初始化等。正常顯示在時(shí)鐘模式,Mode為功能選擇鍵,Set為每一具體功能設(shè)置鍵,通過Up,Down鍵可進(jìn)行具體數(shù)值快速設(shè)置,El為背光按鍵。
當(dāng)按鍵Mode選擇進(jìn)入高度模式時(shí),默認(rèn)值為超低功耗模式,由于每種模式的數(shù)據(jù)讀取頻率不同,因此也可根據(jù)實(shí)際情形轉(zhuǎn)換高分辨率與高速測量模式。并可通過氣壓傳感器3種數(shù)據(jù)讀取頻率模式轉(zhuǎn)換可間接選擇測量精確度。DRDY-PIN對MCU PB.0發(fā)出數(shù)據(jù)準(zhǔn)備請求中斷,此時(shí)Status寄存器Bit5變?yōu)?,讀取寄存器Datard8與Datard16共19位有效氣壓數(shù)據(jù)。得到的十進(jìn)制的原始數(shù)據(jù)需根據(jù)下式轉(zhuǎn)換為氣壓單位是Pa數(shù)據(jù)值
Pres[Pa]=0.25×Pres[dec] (1)
其中,Pres[dec]是十進(jìn)制的原始數(shù)據(jù)。得到的氣壓數(shù)據(jù)由于SCP1000-D11氣壓傳感器內(nèi)含溫度補(bǔ)償,不作修正。因此可根據(jù)式(2)換算為當(dāng)前氣壓下的高度
當(dāng)起步所處參考位置較低時(shí),此時(shí)式中Pa=101.324 kPa是標(biāo)準(zhǔn)海平面的大氣壓,對應(yīng)的氣壓高度Ha為0;R為空氣氣體常數(shù),R=287.052 78 m2/(K·s2);g=9.80 665 m/s2為標(biāo)準(zhǔn)海平面的重力加速度;β=-0.006 5 K/m為溫度垂直變化率Ta=273.16K為標(biāo)準(zhǔn)海平面的溫度。 Pb是所處位置氣壓。如能了解參考點(diǎn)的真實(shí)標(biāo)高則可直接設(shè)置Ha,可避免高海拔時(shí)由于當(dāng)?shù)睾F矫娴臍鈮号c溫度有較大浮動時(shí)而引起的原理性誤差。
經(jīng)過實(shí)際登山測試,絕對高度誤差可達(dá)到±10 m,240 mA/3 V的紐扣電池最少可使用一年。