《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 一種便攜式多參數(shù)環(huán)境監(jiān)測儀的設(shè)計

一種便攜式多參數(shù)環(huán)境監(jiān)測儀的設(shè)計

2008-09-10
作者:李中華

  摘 要: 介紹一種基于MSP430系列超低功耗" title="低功耗">低功耗單片機的多參數(shù)環(huán)境監(jiān)測儀" title="監(jiān)測儀">監(jiān)測儀,詳細闡明了環(huán)境參數(shù)傳感器的選取、監(jiān)測儀軟硬件的設(shè)計與實現(xiàn)方法。該儀器充分利用MSP430單片機自身資源,具有小型便攜、高性能、低功耗、可編程等優(yōu)點,可廣泛應(yīng)用于諸多領(lǐng)域的環(huán)境參數(shù)監(jiān)測與保護。

  關(guān)鍵詞: MSP430單片機? 環(huán)境參數(shù)? 監(jiān)測儀? 低功耗

?

  本文以智能建筑為應(yīng)用背景,介紹一種通用性很強的便攜式多參數(shù)環(huán)境監(jiān)測儀。它以MSP430F437超低功耗單片機為核心,配置新式的微型低功耗傳感器,實現(xiàn)了建筑物內(nèi)溫度、濕度、光照度、有害氣體濃度等參數(shù)的采集處理、存儲、通信等功能。文中詳細闡明了傳感器的選取、硬件結(jié)構(gòu)、軟件流程等相關(guān)技術(shù),并指出該儀器的特點和優(yōu)勢。

1 傳感器的選取

  傳感器是決定監(jiān)測儀精度的關(guān)鍵元件。傳感器的選擇主要依據(jù)工作環(huán)境、測量精度、線性度、互換性、靈敏度、響應(yīng)速度、穩(wěn)定性、功耗、體積大小以及易于與MCU接口等。本監(jiān)測儀選用的各類傳感器分別為:集成溫度傳感器TMP35、集成濕度傳感器HM1500、熱線型半導(dǎo)體氣敏傳感器MR511以及集成光照度傳感器TSL253。與同類產(chǎn)品相比,它們在上述方面有一定的優(yōu)點,很適合便攜式儀表使用。

  TMP35電壓輸出量與被測溫度T成線性關(guān)系,其式如(1);HM1500輸出量為電壓,與被測濕度%RH成正比,且與溫度T有關(guān)系,其式如(2);MR511內(nèi)有溫度補償,其輸出電壓與被測氣體濃度C成近似線性關(guān)系(線性度≤±5%),其式如(3),式中NC為器件靈敏度,環(huán)境濕度對VC的值有影響;TSL253電壓輸出量與被測光照度Ee成正比,且與溫度T有關(guān),其式如(4),式中Ne為傳感器的靈敏度。

  

  上述各式說明,高精度的監(jiān)測儀必須考慮傳感器的非線性、溫濕度影響、測量誤差及環(huán)境誤差等問題,尤其要著重解決測量中的非線性校正及溫濕度補償。在布置印刷電路板時應(yīng)盡量減少引線電阻和分布電容以降低測量誤差。在電路設(shè)計上要加線性化處理電路及溫濕度補償電路,或借助于單片機系統(tǒng),由軟件查表等方法進行處理、修正(用軟件實現(xiàn)傳感器的校正補償功能可降低儀器功耗)。如有可能可用標準測量儀進行校準,以提高測量精度。

2 硬件設(shè)計

  監(jiān)測儀主要由MSP430單片機、測量轉(zhuǎn)換、鍵盤顯示、串口通信、電池電源等部分組成。電路中器件很少,功耗較低且功能強大。具體硬件電路原理圖如圖1所示。

?

2.1 MSP430單片機

  單片機系統(tǒng)是監(jiān)測儀的核心,它完成儀器的功能設(shè)定、測量對象選擇、信號處理存儲、狀態(tài)信息顯示、數(shù)據(jù)通訊等功能。相對于MCS51、MCS96及PIC[1]等系列,TI公司帶閃速存儲器的MSP430F系列超低功耗單片機有著很大的優(yōu)勢。MSP430F單片機有多種型號,其功能組合各異,能滿足不同應(yīng)用場合的要求。本設(shè)計采用MSP430F437,它的主要特點[2]如下:

  ·工作電壓低(1.8~3.6V),電流小(280μA/1MHz/活動模式),5種低功耗模式;

  ·16位RISC架構(gòu),27條精簡指令,125ns指令周期;

  ·豐富的中斷源并可任意嵌套,用中斷請求將系統(tǒng)從備用狀態(tài)喚醒僅需6μs;

  ·片內(nèi)看門狗及上電復(fù)位電路,可選時鐘源(XTAL1、XTAL2或內(nèi)部DCO);

  ·具有中斷功能的內(nèi)部比較器" title="比較器">比較器A;

  ·雙向并行I/O口P1和P2(有中斷功能)及P3~P6口,多數(shù)口有復(fù)用" title="復(fù)用">復(fù)用功能;

  ·兩個16位定時器A、B,均各帶3個比較/捕獲模塊,每個模塊可獨立編程,用于產(chǎn)生定時脈沖,捕獲外部事件;

  ·片內(nèi)集成4×32段LCD液晶驅(qū)動器,其外部引線復(fù)用P3~P5口;

  ·通用通信模塊UARST0,軟件可選同步/異步方式;

  ·具有自動循環(huán)采集功能的8通道12位ADC12,自帶采樣保持器和可選電壓基準;

  ·JTAG接口或片內(nèi)BOOT ROM使程序下載調(diào)試極其簡便,程序代碼由安全熔絲保護。

  MSP430F437不需加裝存儲器,片內(nèi)自帶1K字節(jié)RAM及在線可擦除編程32K字節(jié)主Flash+256字節(jié)信息Flash。片內(nèi)Flash模塊包含3個控制寄存器、時序發(fā)生器、擦除/編程電壓發(fā)生器及Flash存儲器本身。其中主Flash分為每段512字節(jié)的段0~63,信息Flash分為每段128字節(jié)的段A、B。MSP430F437存儲器可存放大型數(shù)表,有高效的查表處理方法。本監(jiān)測儀安排段0~23為程序代碼區(qū)、段24為LCD顯示字型表、段25~31存放校正和補償表格、段32~63為用戶采集數(shù)據(jù)保存區(qū)、段A+B存放各類參數(shù)。

  在電路中,其他主要模塊的功能分配為:16位定時器A的比較/捕獲模塊0實現(xiàn)時分秒計時,比較/捕獲模塊1控制A/D采樣周期;16位定時器B可實現(xiàn)PWM輸出,預(yù)留作控制口; ADC12用于環(huán)境參數(shù)測量;比較器A作電池欠壓監(jiān)測;復(fù)用P3~P5口驅(qū)動LCD液晶顯示器;通用通信模塊UARST0實現(xiàn)RS485串行通信;預(yù)留JTAG接口以方便用戶對儀器更新升級。

2.2 測量轉(zhuǎn)換

??? MSP430F437的ADCl2轉(zhuǎn)換模塊具有高速通用的特點,12位的轉(zhuǎn)換精度能保證一般采樣的分辨率要求。它的8個外部模擬采樣通道可任意配置,轉(zhuǎn)換參考電平VR+和VR-來自內(nèi)部或外部,也可以是兩者的組合;內(nèi)嵌的采樣/保持電路給用戶提供了對采樣時序的各種選擇,采樣時序可以通過軟件位、3種內(nèi)部或外部信號來直接控制。ADCl2有4種工作模式??梢栽趩瓮ǖ郎蠈崿F(xiàn)單次轉(zhuǎn)換或多次轉(zhuǎn)換,在序列通道上實現(xiàn)單次轉(zhuǎn)換或重復(fù)轉(zhuǎn)換。對于序列通道轉(zhuǎn)換,采樣順序完全由用戶定義。

  ADC12轉(zhuǎn)換結(jié)果保存在16個轉(zhuǎn)換存儲寄存器ADC12MEM0~ADC12MEM15中。其值如(5)式:

  NADC=4096×(Vin-VR-)/(VR+-VR-)     (5)

  每個存儲寄存器有各自相應(yīng)的控制寄存器ADC12CTL0~ADC12CTL15,可用軟件獨立配置采樣通道號及轉(zhuǎn)換所需參考電平。

本監(jiān)測儀中,各環(huán)境參數(shù)傳感器的輸出經(jīng)U2前置放大后,送入A0~A3模擬輸入端。4路信號的轉(zhuǎn)換參考電平均取VR+=2.5V和VR-=0V。ADC12工作模式設(shè)為序列通道單次轉(zhuǎn)換,每次轉(zhuǎn)換由定時器A比較/捕獲模塊1的定時輸出OUT1啟動。序列單次轉(zhuǎn)換完成后,將置位ADC12中斷請求。

  序列通道為ADC12MEM0~ADC12MEM12,對應(yīng)的控制寄存器ADC12CTL0~ADC12CTL12中通道重復(fù)配置A0~A3。這樣等時間間隔內(nèi)每個環(huán)境參數(shù)可連續(xù)采樣3次,然后在ADC12中斷服務(wù)程序內(nèi)使用中值濾波得到轉(zhuǎn)換結(jié)果。

  需要指出的是,ADC12的轉(zhuǎn)換內(nèi)核與參考電平發(fā)生器可分別進入省電模式,為低功耗設(shè)計提供便利,而且進一步降低功耗、延長傳感元件的使用壽命。測量電路的電源設(shè)置為單獨可控,由U3的OUT2輸出供給,并通過單片機的P2.0來切合。

2.3 鍵盤顯示

  MSP430F437有6個帶復(fù)用功能的P1~P6雙向I/O口。其中P1、P2設(shè)置成輸入時,引腳上任何狀態(tài)變化都會觸發(fā)中斷。本設(shè)計將P3~P5復(fù)用于LCD驅(qū)動,P1.0~P1.4作3×2快速鍵盤。

  為讀取按鍵值,首先設(shè)置端口功能。P1.0~P1.2為輸出口,依次輸出低電平;P1.3、P1.4為輸入口,開放中斷,選定下降沿觸發(fā)。當(dāng)有鍵按下時,在P1口中斷服務(wù)程序內(nèi),完成去抖動延時、鍵值讀取等功能,得到的鍵值交后續(xù)程序處理。

片內(nèi)LCD驅(qū)動器可工作于靜態(tài)及2~4多選四種模式,最多可接4×32=128段液晶。圖1中R33、R23、R13、R03引腳設(shè)定模擬偏置電壓,提供驅(qū)動能力,典型接線為電阻分壓VR33=VCC、VR23=2/3VCC、VR13=1/3VCC、VR03=0V;S0~S31為段輸出(每段3μA);COM0~COM3為公共輸出,接LCD背極。對LCD的軟件控制極其簡單,它有一個控制寄存器LCDCTL,定義工作模式及電流消耗。20個顯示存儲器LCDM(使用16個)存放128段要顯示的狀態(tài)信息,其內(nèi)容可采用高效的尋址方式查顯示字型表獲得。

  單片機根據(jù)控制鍵的命令信息,可分別選擇儀器“測量/通信”使用方式、“單次/循環(huán)”采集類型,并可按鍵校時、設(shè)置參數(shù)、啟動采集、數(shù)據(jù)存儲確定等。LCD顯示屏可由定制、時分、超量程和電池欠電告警組成1×32段,剩余3×32為多用顯示區(qū),可依次顯示操作提示、工作狀態(tài)、環(huán)境參數(shù)測量結(jié)果,從而大大方便了用戶。

2.4 串口通信

  為了對采集到的數(shù)據(jù)進行深入處理(如統(tǒng)計分析、打印存檔、繪制曲線圖表等),需將數(shù)據(jù)從檢測儀送至計算機中。數(shù)據(jù)傳輸使用MSP430F437的標準USART通信模塊(復(fù)位SYNC=0選擇異步功能),并外接低功耗器件MAX485E,構(gòu)成一個半雙工RS485串行通信口。

  為提高通信的可靠性,便于儀器與其它智能設(shè)備組網(wǎng)實現(xiàn)控制功能,本監(jiān)測儀使用異步通信的地址位多機通信格式。異步幀由1起始位、8數(shù)據(jù)位、1地址位、1停止位組成,波特率編程為9600bps。USART通信模塊的地址位多機通信協(xié)議如圖2所示。

通信時,先置RS485處于接收狀態(tài),并置接收喚醒中斷允許位URXWIE=1(此時只有地址字符能觸發(fā)接收中斷)。當(dāng)接收到一個地址位置位的字符時,通信模塊的接收器被激活,字符送入URXBUF,同時接收中斷標志URXIFG置位。在串口接收中斷服務(wù)程序內(nèi)可以檢驗收到的地址,如果匹配,置URXWIE=0,單片機將讀取數(shù)據(jù)塊的后續(xù)數(shù)據(jù);如果地址不匹配,則等待下一地址字符的到來。

?

?

  RS485接收到主機命令后,轉(zhuǎn)入發(fā)送狀態(tài),先置控制字符地址位的TXWake=1。當(dāng)?shù)刂纷址?位數(shù)據(jù)從UTXBUF傳送至發(fā)送器時,TXWake位裝入待發(fā)送字符的地址位,每一字符發(fā)送完,TXWake位被自動清除,引起發(fā)送中斷UTXIFG。在串口發(fā)送中斷服務(wù)程序內(nèi),用戶可依次發(fā)送完數(shù)據(jù)塊,再重置RS485接收狀態(tài)。

2.5 電源控制

  本儀器采用1節(jié)3.6V/4Ah鋰離子電池。為保證多路供電及模擬信號測量的精度,設(shè)計了以ADP3302AR1雙低壓差線性電源穩(wěn)壓芯片(U3)為主的電源控制電路,完成以下功能:

  ·電源通斷。按鍵盤“ON”鍵,U3的SD1腳為高電平,OUT1腳輸出儀器所需主電源Vcc,單片機P1.5腳送來高電平互鎖信號,使“ON”鍵松開后,OUT1維持輸出;按鍵盤“OFF”鍵,單片機P1.5腳送出低電平,關(guān)斷OUT1腳輸出;U3的OUT2腳輸出模擬測量電路所需的3V,測量電源可單獨切合,由單片機P2.0腳的電平控制。

  ·電池電壓監(jiān)測。U3的加載電壓應(yīng)不低于3V,否則不能正常工作。單片機的片內(nèi)比較器A有多個基準,選擇其中之一0.5×VCC=1.5V,電池正極通過分壓電阻直連比較器輸入腳CA0。當(dāng)電池電壓低于設(shè)定值時,觸發(fā)比較器A中斷, 在中斷服務(wù)程序內(nèi),驅(qū)動LCD告警顯示,提示用戶對電池進行充電(使用外部充電適配器)。

  ·自動關(guān)機。每次測試完畢,如果不再操作,則通過定時器比較/捕獲0中斷計時;5分鐘后,單片機P1.5腳送出低電平,OUT1腳輸出0V,從而切斷儀器電源實現(xiàn)自動關(guān)機。

3 軟件設(shè)計

  檢測儀的軟件用MSP430匯編語言編制。為了方便程序調(diào)試和提高可靠性,軟件采用模塊化結(jié)構(gòu),主要由初始化程序、主程序、子程序" title="子程序">子程序、參數(shù)表格等組成。

3.1 軟件功能與特點

  單片機系統(tǒng)上電后,進入初始化程序,完成片內(nèi)各模塊的設(shè)置、清LCD存儲器、端口設(shè)定等初始化工作,然后轉(zhuǎn)入主程序,開啟中斷,循環(huán)設(shè)置低功耗模式并執(zhí)行空操作。

  本軟件設(shè)計的一大特點是采用中斷事件驅(qū)動技術(shù),其目的在于降低功耗。在主程序設(shè)置LPM0低功耗模式(55μA)后,CPU即被禁止,外圍模塊維持活動,并等待各類中斷事件。如有中斷,CPU被喚醒并執(zhí)行各種中斷服務(wù)子程序完成事件處理。

  每次執(zhí)行完中斷服務(wù)子程序返回,在主程序中又重置LPM0低功耗模式,并等待下一個中斷事件的到來。如此往復(fù),可使系統(tǒng)多數(shù)時間處于低功耗運行。

  本設(shè)計另一特點是利用MSP430F437的高效查表功能,編制了氣體濃度測量的非線性校正和濕度補償表格,極大地提高了程序運行速度和采集精度。表格的生成是在有限個數(shù)據(jù)基礎(chǔ)上,通過拉格朗日插值進行曲線擬合[3]獲得。具體步驟如下:

  (1)在濕度5%RH情況下,測量典型氣敏傳感器在不同氣體濃度點C時,ADC12轉(zhuǎn)換存儲寄存器中對應(yīng)的數(shù)字量結(jié)果NC。測試中,在10~300ppm范圍內(nèi)等距離取10個濃度點;

  (2)使用曲線擬合的方法,并結(jié)合關(guān)系式(3),擬合出5%RH時數(shù)字量NC與氣體濃度C間的連續(xù)曲線,將曲線按1ppm的間隔離散化后,存入段25中;

  (3)分別在20%RH、35%RH、50%RH、65%RH、80%RH、95%RH的濕度下,重復(fù)上述測量與數(shù)據(jù)處理過程,形成6條不同濕度下的NC~C的非線性曲線,存入段26~31中。

  需要注意:正常時采樣得到數(shù)字量NC和當(dāng)前濕度值后,先查該濕度所在范圍對應(yīng)的上下兩條曲線, 即根據(jù)NC并使用線性插值得到上下兩個氣體濃度值,再根據(jù)當(dāng)前濕度并使用線性插值得到濕度補償后的最終氣體濃度值。

3.2 軟件流程舉例

  本檢測儀的程序眾多。限于篇幅,僅介紹有特色的Flash數(shù)據(jù)保存子程序以及較為關(guān)鍵的ADC12子程序。

  MSP430F437可通過JTAG接口或片內(nèi)BOOT ROM下載調(diào)試修改程序,甚至允許用戶程序在運行中將采集處理的數(shù)據(jù)快速安全地保存到Flash存儲器中,而無須任何外接器件。數(shù)據(jù)保存采用快速的段寫入方法和寫字節(jié)序列模式,寫入電流小(3mA),寫入速度快(≤25ms/512字節(jié),遠超過串行EEPROM的頁寫速度5ms/16字節(jié)),10萬寫入次數(shù),100年數(shù)據(jù)保存。每次采集處理完畢,即將16字節(jié)/批數(shù)據(jù)“批號—時間—環(huán)境參數(shù)” 存入段32~63。圖3為16字節(jié)數(shù)據(jù)存入的程序框圖,其中Lock、Busy、SEG WRT、WRT、Wait是Flash控制寄存器內(nèi)涉及編程的各控制位或狀態(tài)位。

?

?

  ADC12子程序用于環(huán)境參數(shù)測量。當(dāng)按下測量鍵或采樣時間到,定時器A的OUT1啟動序列通道單次轉(zhuǎn)換,ADC12自行按A0~A3的采樣順序循環(huán)采集各環(huán)境參數(shù),并將轉(zhuǎn)換結(jié)果保存到存儲寄存器ADC12MEM0~ADC12MEM11中。序列轉(zhuǎn)換完成后,將置位ADC12中斷請求標志ADCIFG。

  單片機響應(yīng)中斷進入ADC12子程序后,先關(guān)閉測量電源以降低功耗,再讀取存儲寄存器ADC12MEM0~ADC12MEM11中的轉(zhuǎn)換結(jié)果,并使用中值濾波得到各環(huán)境參數(shù)對應(yīng)的測量數(shù)字值。結(jié)合關(guān)系式(1)(2)(4)依次計算溫度、濕度、光照度的最終結(jié)果;對于氣體濃度,則使用上述查表格的過程得到結(jié)果。各環(huán)境參數(shù)的測量結(jié)果緩存至RAM區(qū),查顯示字型表得顯示代碼并存入LCD存儲器,最后判定各環(huán)境參數(shù)是否超限并刷新LCD存儲器中告警部分。

?

參考文獻

1 羅 琳.一種高性能便攜式PIC單片機濕度檢測儀的研制[J].電子技術(shù)應(yīng)用.2000;26(1):30~32

2 胡大可.MSP430系列Flash型超低功耗16位單片機[M].北京:北京航空航天大學(xué)出版社,2001

3 劉愛榮.單片機在溫濕度測量中的應(yīng)用[J].水利水電機械. 2000;(6):40~42

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。