測(cè)量溫度一般采用熱敏電阻做傳感器,測(cè)量的方法有R—V轉(zhuǎn)換電壓測(cè)量法和R—F轉(zhuǎn)換頻率測(cè)量法。這兩種方法的電路復(fù)雜且成本高,電路中很多元器件直接影響測(cè)量精度。本文論述一種類(lèi)R—F轉(zhuǎn)換頻率的測(cè)量法,用NE555定時(shí)器和熱敏電阻等器件構(gòu)成振蕩器,由MSP430單片機(jī)的捕獲功能來(lái)捕獲多諧振蕩器輸出信號(hào)的高低電平并計(jì)數(shù),熱敏電阻Rt與捕獲高低電平時(shí)的計(jì)數(shù)值的差值成正比關(guān)系。該方法電路簡(jiǎn)單、成本低,系統(tǒng)流程框圖如圖1所示。![]() 1 負(fù)溫?zé)崦綦娮?/strong> PT-25E2熱敏電阻溫度阻值變化曲線如圖2所示。PSB型負(fù)溫?zé)崦綦娮栌蒀o、Mn、Ni等過(guò)渡金屬元素的氧化物組成,經(jīng)高溫?zé)砂胩沾桑?a href="http://m.qingdxww.cn/keyword/半導(dǎo)體" target="_blank" class="relatedlink">半導(dǎo)體毫微米的精密加工工藝,采用玻璃管封裝,耐溫性好,可靠性高,反應(yīng)速度快且靈敏度高。它采用軸向型結(jié)構(gòu),便于安裝,能承受更高溫度,且玻璃封裝耐高低溫(-50~350℃)。 ![]() 2 MSP430單片機(jī)計(jì)數(shù)法測(cè)溫原理 以NE555定時(shí)器為核心組成典型的多諧振蕩器,把被測(cè)熱敏電阻Rt作為定時(shí)元件之一接入電路中,NE555定時(shí)器輸出引腳接MSP430單片機(jī)的P1.2腳(Timer_A:捕獲、CCI1A輸入引腳)。系統(tǒng)電路如圖3所示。 ![]() 由NE555工作原理可知,多諧振蕩器輸出信號(hào)(周期性矩形波)的高電平時(shí)間(1個(gè)周期內(nèi))為: ![]() 由上述測(cè)量原理可知,誤差主要來(lái)源為:R1、R2精度,單片機(jī)的定時(shí)器和電容器的精度以及穩(wěn)定度。這里選用高精度(±0.001%)、溫度系數(shù)小于±0.3×10-6/℃的精密金屬箔電阻器。因此當(dāng)選用高精度、高穩(wěn)定度的電容器,且單片機(jī)的工作頻率足夠高,就可以得到較好的測(cè)溫精度。 3 MSP430單片機(jī)捕獲原理 捕獲計(jì)數(shù)法的原理如圖4所示。通過(guò) MSP4.30單片機(jī)TACTL寄存器給定時(shí)器A設(shè)置一個(gè)固定的時(shí)鐘頻率,和計(jì)數(shù)模式(本系統(tǒng)設(shè)為連續(xù)模式)。又知Timer A工作在連續(xù)計(jì)數(shù)模式時(shí),TAR(16位)計(jì)數(shù)范圍是O-FFFFH值。定時(shí)器A連續(xù)模式計(jì)數(shù)啟動(dòng)后,TAR的值開(kāi)始從0-FFFFH—O— FFFFH……不斷重復(fù)計(jì)數(shù),直至軟件控制其停止計(jì)數(shù)為止;同時(shí)設(shè)置TACCTL寄存器的CMx、CAP、CCIE位,在多諧振蕩器輸出方波的上升沿和下降沿都觸發(fā)捕捉并中斷。這樣當(dāng)每次沿到來(lái),進(jìn)入中斷并捕獲上升沿和下降沿時(shí)刻的值(如TACCRla、ACCR1b、TAC—CRlc、 TACCR1d......),然后用此次捕獲的值減去上次捕獲的值即可得高或低電平時(shí)間內(nèi)的計(jì)數(shù)值NH、NL。例如:NH=TACCR1b- TACCRla、NL=TACCR1c-TACCR1b,代入式4、式5便可得出Rt的值,查表即得溫度值。 ![]() TASSELx:4種時(shí)鐘源供選擇。 IDx:4種預(yù)分頻選擇。 MCx:TAR計(jì)數(shù)模式選擇,MCx=11,上升沿和下降沿都捕獲。 TAIE:Timer_A中斷使能,為“1”中斷使能。 CMx:捕獲觸發(fā)信號(hào)選擇。 SCS:捕獲同步或異步選擇,“0”同步、“1”異步。 CAP:捕獲模式選擇,“0”比較、“1”捕獲。 CCIE:捕獲/比較中斷選擇,為“1”中斷使能。 4 軟件設(shè)計(jì) 基于MSP430單片機(jī)捕獲中斷測(cè)溫程序流程如圖5、圖 6所示,包括主程序流程、捕獲中斷和溢出中斷流程。 Timer_A初始化代碼如下(MSP430F149): ![]() ![]() 捕獲終端和溢出中斷函數(shù)代碼如下: ![]() 代入常量f、C1、R2的值,即可得熱敏電阻阻值,通過(guò)查表可得溫度值。查表溫度間隔一般為1℃,如果忽略熱敏電阻1℃以?xún)?nèi)的非線性誤差,可以將兩攝氏度之間取線性計(jì)算,這樣可以得到0.01℃的分辨率。 結(jié)語(yǔ) 由測(cè)量原理知:被測(cè)電阻的阻值越大,測(cè)量誤差越小。筆者已應(yīng)用該方法設(shè)計(jì)出一款溫度計(jì),測(cè)量范圍為—0~80℃,分辨率達(dá)到0.01℃,誤差在0.3℃以?xún)?nèi)。該設(shè)計(jì) 充分利用了MSP430單片機(jī)的捕獲功能和低功耗功能,使得電路功耗低、電路簡(jiǎn)潔、價(jià)格低廉、精度高。 參考文獻(xiàn) 1. 謝興紅.林凡強(qiáng).吳雄英 MSP430 單片機(jī)基礎(chǔ)與實(shí)踐 2008 2. 芝浦電子 PT -25E2 -H1 Data sheet 2000 3. 揚(yáng)兆選 NE555 定時(shí)器原理及實(shí)用電路集錦 1989 4. 田開(kāi)坤 基于AVR 單片機(jī)捕獲中斷和熱敏電阻的溫度測(cè)量 2008(3) 5. 胡大可 MSP430 系列超低功耗16位單片機(jī)原理與應(yīng)用 2000 作者:湖北師范學(xué)院 黃勁松 田開(kāi)坤 來(lái)源:?jiǎn)纹瑱C(jī)與嵌入式系統(tǒng)應(yīng)用 2009 (4) |