基于MSP430的低功耗便攜式測溫儀設(shè)計(jì)
0引言
本文引用地址:http://cafeforensic.com/article/82351.htm便攜式測溫儀采用16位超低功耗單片機(jī)MSP430F435和熱電阻傳感器鉑1000實(shí)現(xiàn)溫度的信號(hào)處理和采集。采用MSP430系列單片機(jī)的一個(gè)最大優(yōu)勢是它具有低功耗和高集成度,非常適合于電池供電和空間受限的工作環(huán)境以及便攜式應(yīng)用場合。作為一個(gè)便攜式應(yīng)用系統(tǒng),功耗是整個(gè)系統(tǒng)的功耗,不僅是處理器的功耗。比如處理器輸入端口的漏電流對(duì)系統(tǒng)的耗電影響就較大,MSP430單片機(jī)輸入端口的漏電流最大為50 nA,遠(yuǎn)低于其他系列單片機(jī)(一般為1 μA~10μA)。該測溫儀適合高爐熱負(fù)荷水溫測量,或者需要連續(xù)測量多點(diǎn)溫度和溫差的測量場合。
1系統(tǒng)硬件設(shè)計(jì)
便攜式測溫儀主要由處理器、傳感器接口、鍵盤、LCD(液晶顯示器)、數(shù)據(jù)存儲(chǔ)、打印和電源等模塊組成。系統(tǒng)硬件組成框圖如圖1所示。
1.1處理器模塊
MSP430F435是測溫儀的控制中心,完成傳感器數(shù)據(jù)結(jié)果處理、鍵盤的識(shí)別、串口通信的管理等。美國得州儀器(TI)公司的MSP430F435單片機(jī)是Flash類型單片機(jī),內(nèi)嵌16 kB Flash程序存儲(chǔ)器和512 B數(shù)據(jù)存儲(chǔ)器。其主要特點(diǎn)是:超低功耗、16位指令、內(nèi)置A/D轉(zhuǎn)換器、串行通信接口、硬件乘法器、LCD驅(qū)動(dòng)器及高抗干擾能力等。因此,MSP430單片機(jī)特別適合應(yīng)用在智能儀表、防盜系統(tǒng)、智能家電、電池供電便攜式設(shè)備等產(chǎn)品中。該芯片性能特點(diǎn)如下:低工作電壓(1.8 V~3.6 V);超低功耗(工作模式4下耗電僅為0.1μA);16位RISC(精簡指令集計(jì)算機(jī)結(jié)構(gòu));150 ns指令周期。
1.2電源模塊
整個(gè)電路由1個(gè)AA電池供電,通過電壓轉(zhuǎn)換芯片獲得處理器和外圍電路所需電源。為保證測溫儀正常工作,電源電路中還配有電池電量檢測裝置,在電池電量比較低、可能會(huì)影響到測溫儀正常工作的情況下及時(shí)報(bào)警,提醒更換電池。采用MSP430F435內(nèi)置比較器模塊,無須外加專門的電池檢測芯片,只需2個(gè)電阻就可以完成此功能。
1.3傳感器接口模塊
傳感器接口模塊電路見圖2。傳感器輸出毫伏級(jí)的應(yīng)變信號(hào),通過高穩(wěn)定度電橋變換,經(jīng)由運(yùn)算放大器MAX492組成的減法放大電路,然后經(jīng)調(diào)零、濾波處理后,送至NSP430F435的A/D轉(zhuǎn)換接口ADC0,實(shí)現(xiàn)對(duì)溫度信號(hào)的檢測。單片機(jī)根據(jù)處理結(jié)果的值和范圍進(jìn)行查表,實(shí)現(xiàn)分段線性化,將傳感器信號(hào)與溫度對(duì)應(yīng)。
系統(tǒng)所采用的傳感器是熱電阻傳感器鉑1000。鉑電阻是目前廣泛使用的精度高、穩(wěn)定性好、性能可靠的測溫元件。但是,鉑電阻溫度傳感器使用時(shí)也有不便之處,比如,輸出信號(hào)非線性、信號(hào)弱、正負(fù)溫度的分辨率不同、模擬量輸出不能與單片機(jī)直接相連等。由于鉑電阻的非線性,在應(yīng)用時(shí)必須考慮非線性校正;由于儀表工作在小信號(hào)狀態(tài),抗干擾措施和合理電路工藝設(shè)計(jì)對(duì)整個(gè)儀表精度影響較大。設(shè)計(jì)時(shí),嚴(yán)格將數(shù)字地與模擬地分開連接,再選一點(diǎn)共地,適當(dāng)?shù)卦黾訑?shù)字濾波,這樣可以提高抗干擾能力。
1.4顯示、鍵盤模塊
LCD和鍵盤顯示是進(jìn)行人機(jī)交互的重要手段。MSP430內(nèi)部有LCD驅(qū)動(dòng)模塊,最大可驅(qū)動(dòng)160段的LCD。采用4位8段低功耗模塊,這種LCD非常適合于要求功耗低的儀表(如電子水表、電表、煤氣表等)以及便攜式系統(tǒng)中。測溫儀面板上設(shè)置有2個(gè)手動(dòng)鍵,1個(gè)功能鍵,1個(gè)確認(rèn)鍵,以完成實(shí)時(shí)顯示、保存測量值和打印等功能。在按功能鍵的同時(shí),LCD會(huì)有相應(yīng)的數(shù)值顯示,用戶可以讀出相關(guān)的信息,或者按確認(rèn)鍵執(zhí)行相應(yīng)的功能。
1.5數(shù)據(jù)存儲(chǔ)模塊
MSP430F435外擴(kuò)了2 kB的E2PROM,E2PROM通過I2C總線與單片機(jī)連接,用于保存采集的溫度值,以備打印機(jī)打印。
1.6打印機(jī)模塊
打印機(jī)選用北京煒煌科技的漢字微型打印機(jī),與單片機(jī)串口直接相連,接口電路相對(duì)簡單,通過用軟件使其按指定的格式打印出溫度值。
1.7鍵盤模塊
便攜式測溫儀面板上設(shè)置了2個(gè)鍵,以完成實(shí)時(shí)顯示測量值和打印等功能。使用按鍵與單片機(jī)的I/O口線直接連接的方法構(gòu)成,采用查詢方式獲得按鍵值。
2系統(tǒng)軟件設(shè)計(jì)
整個(gè)系統(tǒng)軟件設(shè)計(jì)主要由溫度采集、低功耗設(shè)計(jì)、LCD顯示、讀寫E2PROM和打印處理5部分組成。本系統(tǒng)的工作流程圖如圖3所示。
硬件初始化后,開始采集當(dāng)前溫度值,檢測是否有按鍵按下。如果有按鍵按下,則執(zhí)行按鍵相對(duì)應(yīng)的功能,然后由LCD顯示程序顯示不同功能所對(duì)應(yīng)的信息。如果沒有任何按鍵按下,則顯示當(dāng)前實(shí)測溫度值,等待用戶的下一步操作。如需打印測得的數(shù)據(jù),則進(jìn)入打印處理程序。
2.1溫度采集
溫度數(shù)據(jù)采集采用單片機(jī)MSP430F435自帶的A/D轉(zhuǎn)換器,A/D轉(zhuǎn)換的精度可達(dá)12位。MSP430單片機(jī)內(nèi)部提供了方便的A/D轉(zhuǎn)換器初始化寄存器,只需簡單地設(shè)置幾個(gè)A/D轉(zhuǎn)換器控制寄存器,就可完成對(duì)A/D轉(zhuǎn)換器的初始化。軟件設(shè)計(jì)的重點(diǎn)是溫度與熱電勢間非線性關(guān)系的線性化標(biāo)度變換算法和關(guān)于傳感器溫度數(shù)據(jù)噪聲干擾的濾波算法。其中標(biāo)度變換采用分段(每10 ℃分段)線性化的方法,提高了系統(tǒng)的測溫精度;而濾波采用中位值濾波算法。算法的具體實(shí)現(xiàn)過程是:首先連續(xù)采集15次,然后把15個(gè)溫度數(shù)據(jù)按由小到大的順序排列,取中位值作為本次采樣值。中位值濾波能有效地克服因偶然因素引起的波動(dòng)干擾。對(duì)溫度、液位等緩慢變化的被測參數(shù),采用此方法能收到良好的濾波效果。實(shí)際使用證明這樣的濾波算法可保證小數(shù)點(diǎn)后1位數(shù)據(jù)保持穩(wěn)定。
2.2低功耗
對(duì)于便攜式設(shè)備,設(shè)計(jì)時(shí)應(yīng)盡量降低功耗,使系統(tǒng)盡可能長時(shí)間停留在低功耗狀態(tài)。因此,考慮設(shè)備在適當(dāng)?shù)臅r(shí)候自動(dòng)關(guān)機(jī)。這里采用了一個(gè)定時(shí)器。當(dāng)定時(shí)器大于0時(shí),系統(tǒng)處于開機(jī)狀態(tài);當(dāng)定時(shí)器倒數(shù)到0時(shí),系統(tǒng)進(jìn)入休眠狀態(tài)并且關(guān)掉LCD模塊和A/D模塊。當(dāng)處理器處于休眠狀態(tài)時(shí),鍵盤程序就不好用了,處理器不會(huì)主動(dòng)去掃描鍵盤。而鍵盤接在P1口,P1口具有外部中斷的功能,當(dāng)處理器進(jìn)入休眠狀態(tài)時(shí)打開按鍵中斷。當(dāng)有按鍵按下時(shí),CPU響應(yīng)外部中斷,系統(tǒng)被喚醒,回到正常工作模式。具體操作是:開機(jī)時(shí),對(duì)定時(shí)器初始化一個(gè)大于0的值,并且在每按一次有效鍵時(shí),系統(tǒng)重新初始化這個(gè)值。因此,當(dāng)沒有按任何有效鍵時(shí),3 min后就會(huì)自動(dòng)關(guān)機(jī),從而實(shí)現(xiàn)降低功耗的目的。
2.3 LCD顯示
LCD顯示部分的實(shí)現(xiàn)要與鍵盤處理程序相配合,根據(jù)不同功能顯示不同的信息。要實(shí)現(xiàn)LCD的正常顯示至少需要下面幾個(gè)重要步驟:選擇LCD驅(qū)動(dòng)模式、制定相應(yīng)驅(qū)動(dòng)模式下LCD的BCD碼顯示存儲(chǔ)表、設(shè)置LCD時(shí)鐘、設(shè)置通用I/O端口屬性和更新LCD顯示緩存區(qū)。本儀表選擇靜態(tài)LCD驅(qū)動(dòng)模式,制定了0~F的BCD碼顯示存儲(chǔ)表,采用1 024 Hz的時(shí)鐘頻率,設(shè)置通用I/O口屬性為輸出,根據(jù)不同功能實(shí)時(shí)更新LCD顯示緩存區(qū)的內(nèi)容。
2.4其他部分
E2PROM模塊用于保存測量的溫度值和測量點(diǎn)。串行通信模塊用于實(shí)現(xiàn)測溫儀與打印機(jī)連接,打印測量的溫度值。這兩部分程序較簡單,這里不再敘述。 3測溫儀功能及主要技術(shù)性能
測溫儀功能如表1所示。當(dāng)功能號(hào)為0、1時(shí),用于確認(rèn)保存當(dāng)前測量點(diǎn)溫度值,然后自動(dòng)轉(zhuǎn)到下一個(gè)測量點(diǎn)位置測量;當(dāng)功能號(hào)為2時(shí),用于顯示和保存記錄已經(jīng)測量的測量點(diǎn)位置;當(dāng)功能號(hào)為3時(shí),用于顯示已經(jīng)測量的測量點(diǎn)位置和清除上次測量的記錄;當(dāng)功能號(hào)為4時(shí),用于確認(rèn)打印。
儀表分辨率可達(dá)0.1℃,測量誤差小于±0.1℃。MSP430系列單片機(jī)均為工業(yè)級(jí)器件,運(yùn)行環(huán)境溫度為-40℃~85℃運(yùn)行穩(wěn)定,可靠性高,所設(shè)計(jì)的產(chǎn)品適用于各種民用和工業(yè)環(huán)境。所以該測溫儀可以用于測量高爐熱負(fù)荷水溫差測量,或者需要對(duì)連續(xù)多點(diǎn)的溫度測量場合。
4結(jié)束語
本文研制的便攜式低功耗便攜式測溫系統(tǒng)克服了傳統(tǒng)測量系統(tǒng)存在的不足,具有結(jié)構(gòu)簡單、工作穩(wěn)定可靠、測量精度高、功耗低、便攜性好、功能齊全、適用場合廣泛等優(yōu)點(diǎn)。與其他測溫儀的突出不同之處在于,本系統(tǒng)采用新型低功耗16位單片機(jī)MSP430 F435作為整個(gè)系統(tǒng)的控制核心。由于采用了功能強(qiáng)大的MSP430單片機(jī),本系統(tǒng)設(shè)計(jì)的硬件電路與以往有較大差異。MSP430 F435有著豐富的外圍模塊,因此比較容易實(shí)現(xiàn)溫度信號(hào)的采集、處理、顯示、存儲(chǔ)及打印,從而使整個(gè)硬件電路得到極大的簡化。實(shí)際使用證明該測溫儀完全符合工廠應(yīng)用的需要,性能穩(wěn)定,可靠性高,設(shè)備操作簡單方便。
評(píng)論