《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > MSP430單片機(jī)的熱敏電阻溫度測量
MSP430單片機(jī)的熱敏電阻溫度測量
湖北師范學(xué)院 黃勁松 田開坤
摘要: 傳統(tǒng)的數(shù)字式測量電阻的方法是先將電阻值轉(zhuǎn)換為電信號(hào)(如電壓),再用A/D轉(zhuǎn)換器將其轉(zhuǎn)換為數(shù)字信號(hào),因此電路復(fù)雜,,費(fèi)用高,。本文介紹一種類R—F轉(zhuǎn)換頻率測量溫度的方法。直接把熱敏電阻Rt接到由RC構(gòu)成的多諧振蕩器電路中,,用MSP430單片機(jī)的捕獲功能來獲得多諧振蕩器輸出信號(hào)高低電平的脈寬并同時(shí)計(jì)數(shù),,則熱敏電阻Rt與捕獲高低電平時(shí)的計(jì)數(shù)值的差值成正比關(guān)系,查表可得溫度值,。
Abstract:
Key words :

    測量溫度一般采用熱敏電阻做傳感器,測量的方法有R—V轉(zhuǎn)換電壓測量法和R—F轉(zhuǎn)換頻率測量法,。這兩種方法的電路復(fù)雜且成本高,,電路中很多元器件直接影響測量精度。本文論述一種類R—F轉(zhuǎn)換頻率的測量法,,用NE555定時(shí)器和熱敏電阻等器件構(gòu)成振蕩器,,由MSP430單片機(jī)的捕獲功能來捕獲多諧振蕩器輸出信號(hào)的高低電平并計(jì)數(shù),熱敏電阻Rt與捕獲高低電平時(shí)的計(jì)數(shù)值的差值成正比關(guān)系,。該方法電路簡單,、成本低,系統(tǒng)流程框圖如圖1所示,。

1 負(fù)溫?zé)崦綦娮?br />     PT一25E2熱敏電阻溫度阻值變化曲線如圖2所示,。PSB型負(fù)溫?zé)崦綦娮栌蒀o、Mn,、Ni等過渡金屬元素的氧化物組成,,經(jīng)高溫?zé)砂胩沾桑冒雽?dǎo)體毫微米的精密加工工藝,,采用玻璃管封裝,,耐溫性好,可靠性高,,反應(yīng)速度快且靈敏度高,。它采用軸向型結(jié)構(gòu),便于安裝,,能承受更高溫度,,且玻璃封裝耐高低溫(一50~350℃)。


2 MSP430單片機(jī)計(jì)數(shù)法測溫原理
    以NE555定時(shí)器為核心組成典型的多諧振蕩器,,把被測熱敏電阻Rt作為定時(shí)元件之一接入電路中,,NE555定時(shí)器輸出引腳接MSP430單片機(jī)的P1.2腳(Timer_A:捕獲、CCIlA輸入引腳),。系統(tǒng)電路如圖3所示,。

    由NE555工作原理可知,多諧振蕩器輸出信號(hào)(周期性矩形波)的高電平時(shí)間(1個(gè)周期內(nèi))為:

    

若控制MSP430單片機(jī)的定時(shí)器A計(jì)數(shù)時(shí)鐘的頻率設(shè)置為f,則捕獲到高電平時(shí)間內(nèi)的計(jì)數(shù)值為NH,,捕獲到低電平時(shí)間內(nèi)的計(jì)數(shù)值為NL,,所以有:


 

       
    因?yàn)閒、C1,、R1均為定值,,所以Rt與N成正比,且增大f還可以提高測量精度,。查表可得溫度值,。
    由上述測量原理可知,誤差主要來源為:R1,、R2精度,,單片機(jī)的定時(shí)器和電容器的精度以及穩(wěn)定度。這里選用高精度(士O.001%),、溫度系數(shù)小于土O.3×10-6/℃的精密金屬箔電阻器,。因此當(dāng)選用高精度、高穩(wěn)定度的電容器,,且單片機(jī)的工作頻率足夠高,,就可以得到較好的測溫精度。


3 MSP430單片機(jī)捕獲原理
    捕獲計(jì)數(shù)法的原理如圖4所示,。通過MSP430單片機(jī)TACTL寄存器給定時(shí)器A設(shè)置一個(gè)固定的時(shí)鐘頻率f和計(jì)數(shù)模式(本系統(tǒng)設(shè)為連續(xù)模式),。又知Timer A工作在連續(xù)計(jì)數(shù)模式時(shí),TAR(16位)計(jì)數(shù)范圍是0一FFFFH值,。定時(shí)器A連續(xù)模式計(jì)數(shù)啟動(dòng)后,,TAR的值開始從O—FFFFH一O—FFFFH……不斷重復(fù)計(jì)數(shù),直至軟件控制其停止計(jì)數(shù)為止,;同時(shí)設(shè)置TACCTL寄存器的CMx,、CAP、CCIE位,,在多諧振蕩器輸出方波的上升沿和下降沿都觸發(fā)捕捉并中斷,。這樣當(dāng)每次沿到來,進(jìn)入中斷并捕獲上升沿和下降沿時(shí)刻的值(如TACCRla,、TACCRlb,、TAC—CRlc、TACCRld……),,然后用此次捕獲的值減去上次捕獲的值即可得高或低電平時(shí)間內(nèi)的計(jì)數(shù)值NH,、NL。例如:NH=TACCRlb一TACCRla,、NL=TACCRlc一TACCRlb,,代入式4,、式5便可得出R的值,查表即得溫度值,。

   MSP430F1X定時(shí)器初始化所涉及的寄存器配置如下:

    TASSELx:4種時(shí)鐘源供選擇,。
    IDx:4種預(yù)分頻選擇。
    MCx:TAR計(jì)數(shù)模式選擇,,MCx=11,,上升沿和下降沿都捕獲。
    TAIE:Timer_A中斷使能,,為“1”中斷使能,。
    CMx:捕獲觸發(fā)信號(hào)選擇。
    SCS:捕獲同步或異步選擇,,“O”同步,、“1”異步。
    CAP:捕獲模式選擇,,“O”比較、“1”捕獲,。
    CCIE:捕獲/比較中斷選擇,,為“1”中斷使能。


4 軟件設(shè)計(jì)
    基于MSP430單片機(jī)捕獲中斷測溫程序流程如圖5,、圖6所示,,包括主程序流程、捕獲中斷和溢出中斷流程,。

    Timer_A初始化代碼如下


    捕獲中斷和溢出中斷函數(shù)代碼如下:

    代入常量f,、C1、R2的值,,即可得熱敏電阻阻值,,通過查表可得溫度值。查表溫度間隔一般為1℃,,如果忽略熱敏電阻1℃以內(nèi)的非線性誤差,,可以將兩攝氏度之間取線性計(jì)算,這樣可以得到O.01℃的分辨率,。


結(jié) 語
    由測量原理知:被測電阻的阻值越大,,測量誤差越小。筆者已應(yīng)用該方法設(shè)計(jì)出一款溫度計(jì),,測量范圍為一10~80℃,,分辨率達(dá)到O.01℃,誤差在O.3℃以內(nèi),。該設(shè)計(jì)充分利用了MSP430單片機(jī)的捕獲功能和低功耗功能,,使得電路功耗低,、電路簡潔、價(jià)格低廉,、精度高,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。