鉑電阻測溫儀的設(shè)計與實現(xiàn)
摘 要:介紹了鉑電阻測溫儀的硬件及軟件設(shè)計,并針對不平衡電橋中以及鉑電阻的阻值和溫度之間的非線性特性給溫度測量帶來一定的誤差這一缺點,給出一種查表線性化的方法,實現(xiàn)了電路參數(shù)的自適應(yīng)選取,使得誤差達到了0.5級儀表的要求。 關(guān)鍵詞:鉑電阻 查表線性化 測溫儀 參數(shù)自適應(yīng) 鉑電阻溫度傳感器[1]是利用其電阻和溫度成一定函數(shù)關(guān)系而制成的溫度傳感器,由于其測量準(zhǔn)確度高、測量范圍大、復(fù)現(xiàn)性和穩(wěn)定性好等,被廣泛用于中溫(-200°C~650°C)范圍的溫度測量中。 但在這種檢測電路中,不平衡電橋中以及鉑電阻的阻值和溫度之間的非線性特性給最后的溫度測量來了一定的誤差,不但增加了電路的復(fù)雜性, 而且由于包括傳感器在內(nèi)的各種硬件本身的缺陷和弱點, 所以往往難以達到較高的指標(biāo)要求。因此, 在系統(tǒng)的設(shè)計上引入與檢測技術(shù)直接相關(guān)的數(shù)據(jù)處理算法, 即軟件算法來實現(xiàn)線性化處理的要求, 可以有效地提高系統(tǒng)的精度, 降低成本。本測溫儀通過采用查表線性化法得出溫度各點對應(yīng)的A/D轉(zhuǎn)換值,并且利用軟件算法實現(xiàn)了電路中各參數(shù)的自適應(yīng)調(diào)整選取,在盡可能提高分辨率的情況下使設(shè)計的電路在給定的溫度范圍內(nèi)各點的分辨率近似相等,從而方便了硬件電路的設(shè)計和電阻的選取,也減小了鉑電阻測溫電路的非線性誤差。 1 系統(tǒng)結(jié)構(gòu) 測溫儀的系統(tǒng)硬件結(jié)構(gòu)框圖如圖1所示??紤]到功耗及整機的精度和價格等問題,測溫儀的單片機控制器采用NEC的8位78K0系列單片機,并啟用了看門狗功能,以提高測溫儀的抗干擾性能。測溫系統(tǒng)采用不平衡電橋測量鉑電阻隨溫度變化的電壓信號,經(jīng)過放大、A/D轉(zhuǎn)換后,送到單片機中進行處理和顯示。采集時顯示最值溫度,超過設(shè)定值則報警。本測溫儀通過USB接口與PC機連接,上位機負責(zé)設(shè)置采集開始時間、采集間隔時間等參數(shù),并讀取下位機數(shù)據(jù),進行數(shù)據(jù)分析和處理。
2 系統(tǒng)硬件設(shè)計 測溫儀的測溫電路采用典型的鉑電阻電橋電路,如圖2所示。該測溫儀的測溫電路采用軟件算法中的查表線性化方法,利用軟件算法對電路參數(shù)進行自適應(yīng)調(diào)整選取,在保證高分辨率的情況下,使得在給定的溫度范圍內(nèi)各點的分辨率近似相等,誤差可達到0.5級儀表的要求,提高了測溫儀的整體性能。 由于將Us設(shè)為了參考電壓,為了******化測量的分辨率,希望U5的輸出在溫度低限時向0V靠攏,而在溫度高限時向Us靠攏。這樣,首先存在的一個問題便是運算放大器的輸出問題。通常,運算放大器的輸出并不等于電源電壓,因為存在一個飽和問題,這樣便降低了整個電路的測量分辨率。在實際設(shè)計中,使用的是Rail-to-Rail的運算放大器,即輸出上限可以達到電源電壓,而下限可以達到0V。這一點對于整個電路來講是非常關(guān)鍵的。 下面具體介紹測溫電路參數(shù)自適應(yīng)調(diào)整選取的設(shè)計過程。 為了使節(jié)點①的電壓大于節(jié)點②的電壓(因為放大電路是單電源供電的,不可以輸出負電壓),R1的值必須大于RT在溫度測量范圍內(nèi)的******值。同時,為了保證橋路的靈敏度,R1的值僅需稍微大于(或等于)RT的******值即可。同時明確放大電路中的要求R4=R5、R6=R7,而且為了降低功耗,它們的取值通常都大于100kΩ。本設(shè)計中取R2=100kΩ,作為它的臨時計算初值;取R4=R5=100kΩ。 第三步,確定剩下的參數(shù)值R6、R7。 第四步,計算RT取******值和最小值時該電路的分辨率。 由于此時已知R1~R7的所有電阻阻值,因此可以計算出具備這些參數(shù)的電路在RT取******值處的分辨率。例如當(dāng)溫度為-30°C時RT取******值,求出U5的值;然后查鉑電阻分度表得RT在-29°C時的電阻值,再次求出另一個U5的值,二者之差的絕對值即相對表示了該電路在此點的分辨率,差值越大,則分辨率越高。同理,可以求得該電路在RT最小值處的兩個輸出電壓U5之差。 第五步,迭代[3]取優(yōu)。 迭代的目標(biāo)是盡量使得兩端(即RT取******值和最小值時)的分辨率相同。如果二者不相同,則以一定的步長增加R2,直到兩端的分辨率基本相同為止。這時便可以確定R2、R3和R6、R7的值了。 最后,輸出電路各給定值以及得出的所有參數(shù)值和溫度各點對應(yīng)的A/D轉(zhuǎn)換數(shù)值。用來確定測量電路中各參數(shù)的程序流程圖如圖3所示。
為了給實際應(yīng)用中元器件值的選擇提供參考,對溫度測量電路進行了誤差分析。當(dāng)電阻值精度取0.1%時,-30°C~40°C各個整數(shù)點的相對誤差見表1。 表1 電阻精度為0.1%時各溫度點的相對誤差 0.141% 0.187% 0.251% 0.325% 0.400% 0.470% 0.528% 0.574% 表2 使用經(jīng)過篩選的精度為0.1%的電阻時各溫度點的相對誤差 由于整個儀表的誤差是按照******誤差來計算的,所以對于0.5級的儀表來講,這樣的誤差有些偏大了。但是由于0.1%的電阻精度已經(jīng)比較高了,因此單靠提高電阻精度來減小相對誤差已經(jīng)不太可能。在實際生產(chǎn)中,為了保證一定的精度,可以對所使用的精密電阻進行進一步的篩選,將電阻分為大于標(biāo)稱值和小于標(biāo)稱值兩組,使用時在某個系統(tǒng)中使用特定組中的電阻。這樣做實際上是將電阻的精度提高了一倍,這時本系統(tǒng)在各個整數(shù)溫度點的系統(tǒng)相對誤差見表2。 可以看出,此時的誤差完全滿足0.5級儀表的要求,因此建議在實際生產(chǎn)中使用這樣的方法來提高儀表的整體性能。 3 系統(tǒng)軟件 系統(tǒng)的軟件分為上位機即PC端軟件和下位機即單片機模塊的軟件兩部分。下位機由于采用的是NEC的78K0系列單片機,因此編譯調(diào)試環(huán)境為NEC的Project Manager和ID78K0,程序均用NEC單片機的C語言編寫;上位機使用Visual Basic語言編寫。 上位機主要負責(zé)初始參數(shù)的設(shè)置以及數(shù)據(jù)采集完以后的數(shù)據(jù)統(tǒng)計及保存。 下位機主要負責(zé)溫度采集。首先用戶通過上位機軟件來設(shè)定溫度采集的開始時間、采集時間間隔以及報警溫度等各個參數(shù),然后開始采集溫度數(shù)據(jù)。采集時顯示最值溫度,當(dāng)溫度超出報警溫度值時,蜂鳴器發(fā)出報警信號。下位機程序的流程圖如圖4所示。
該測溫儀已經(jīng)投入生產(chǎn),應(yīng)用在食品等生產(chǎn)運輸過程的溫度監(jiān)控中。鉑電阻測溫電路的查表線性化的方法,自適應(yīng)調(diào)整選取了電路參數(shù),減小了鉑電阻的阻值和溫度之間的非線性特性以及不平衡電橋中非線性特性所引起的系統(tǒng)誤差,使得系統(tǒng)誤差達到0.5級儀表的要求,提高了測溫儀的整體性能,可以滿足一些對溫度變化比較敏感的食品加工等場合的溫度監(jiān)控的需求。 |