鉑電阻溫度傳感器是利用其電阻和溫度成一定函數關系而制成的溫度傳感器,由于其測量準確高、測量范圍大、復現性和穩定性好等,被廣泛用于中溫(-200℃~650℃)范圍的溫度測量中。
但在這種檢測電路中,不平衡電橋中以及鉑電阻的阻值和溫度之間的非線性特性給最后的溫度測量帶來了一定的誤差。早期通常采用硬件電路來減小這種誤差。但硬件法不但增加了電路的復雜性,而且由于包括傳感器在內的各種硬件本身的缺陷和弱點,所以往往難以達到較高的指標要求。因此,在系統的設計上引入與檢測技術直接相關的數據處理算法,即軟件算法來實現線性化處理的要求,可以有效地提高系統的精度,降低成本。本測溫儀通過采用查表線性化得出溫度各點對應的A/D轉換值,并且利用軟件算法實現了電路中各參數的自適應調整選取,在盡可能提高分辨率的情況下使設計的電路在給定的溫度范圍內各點的分辨率近似相等,從而方便了硬件電路的設計和電阻的選取,也減小了鉑電阻測溫電路的非線性誤差。
1 系統結構
測溫儀的系統硬件結構框圖如圖1所示。考慮到功耗及整機的精度和價格等問題,測溫儀的單片機控制器采用ENC的8位78K0系列單片機,并啟用了看門狗功能,以提高測溫義的抗干擾性能。測溫系統采用不平衡電橋測量鉑電阻隨溫度變化的電壓信號,經過放大、A/D轉換后,送到單片機中進行處理和顯示。采集時顯示最值溫度,超過設定值則報警。本測溫儀通過USB接口與PC機連接,上位機負責設置采集開始時間、采集間隔時間等參數,并讀取下位機數據,進行數據分析和處理。
圖1 系統硬件結構框圖
2 系統硬件設計
測溫儀的測溫電路采用典型的鉑電阻電橋電路,如圖2所示。該測溫儀的測溫電路采用軟件算法中的查表線性化方法,利用軟件算法對電路參數進行自適應調整選取,在保證高分辨率的情況下,使得在給定的溫度范圍內各點的分辨率近似相等,誤差可達到0.5級儀表的要求,提高了測溫儀的整體性能。
圖2中最后輸出的U5將被送到A/D轉換器轉換為數字量,然后由微處理器讀入再進行處理。通過對溫度測量電路的數字分析可以得出,U5和Us是完全成正比的。因此,在設計中將Us設為A/D轉換過程中的參考電壓。這樣,即使Us有所變化,也不會影響A/D轉換器的轉換結果。
圖2 溫度測量電路原理圖
由于將Us設為了參考電壓,為了最大化測量的分辨率,希望U5的輸出在溫度低限時向0V靠攏,而在溫度高限時向Us靠攏。這樣,首先存在的一個問題便是運算放大器的輸出問題。通常,運算放大器的輸出并不等于電源電壓,因為存在一個飽和問題,這樣便降低了整個電路的測量分辨率。在實際設計中,使用的是Rail-to-Rail的運算放大器,即輸出上限可以達到電源電壓,而下降可以達到0V。這一點對于整個電路來講是非常關鍵的。
下面具體介紹測溫電路參數自適應調整選取的設計過程。確定參數的原則是達到盡可能高的分辨率,以及盡量消除由于鉑電阻的強非線性帶來的各個溫度段分辨率的明顯差異。整個計算和賦值過程通過軟件程序來實現。
第一步,通過輸入獲取溫度最大值和最小值,得出溫度的范圍。
第二步,通過輸入獲取電阻R1、R2、R4的阻值。
為了使節點①的電壓大于節點②的電壓(因為放大電路是單電源供電的,不可能輸出負電壓),R1的值必須大于RT在溫度測量范圍內的最大值。同時,為了保證橋路的靈敏度,R1的值僅需稍微大于(或等于)RT的最大值即可。同時明確放大電路中的要求R4=R5、R6=R7,而且為了降低功耗,它們的取值通常都大于100kΩ,作為它的臨時計算初值;取R4=R5=100kΩ。
第三步,確定剩下的參數值R6、R7。
由于橋路的要求,R3=R2,R4~R7的阻值比較大,這里可以忽略它們的影響來計算節點①和②之間的電壓差(U12)的變化范圍,從而求出R6、R7的阻值(R4阻值乘以放大倍數K)。
第四步,計算RT取最大值和最小值時刻電路的分辨率。
由于此時已知R1~R7的所有電阻阻值,因此可以計算出具備這些參數的電路的RT取最大值處的分辨率。例如當溫度為-30℃時RT取最大值,求出U5的值;然后查鉑電阻分度表得RT在-29℃時的電阻值,再次求出另一個U5的值,二者之間的絕對值即相對表示了該電路在此點的分辨率,差值越大,則分辨率越高。同理,可以求得該電路在RT最小值處的兩個輸出電壓U5之差。
第五步,迭代取優。
迭代的目標是盡量使得兩端(即RT取最大值和最小值時)的分辨率相同。如果二者不相同,則以一定的步長增加R2,直到兩端的分辨率基本相同為止。這時便可以確定R2、R3和R6、R7的值了。最后,輸出電路各給定值以及得出的所有參數值和溫度各點對應的A/D轉換數值。用來確定測量電路中各參數的程序流程圖如圖3所示。
圖3 測溫電路參數選取程序流程圖
為了給實際應用中元器件值的選擇提供參考,對溫度測量電路進行了誤差分析。當電阻值精度取0.1%時,-30℃~40℃各個整數點的相對誤差見表1。
表1 電阻精度為0.1%時各溫度點的相對誤差
由于整個儀表的誤差是按照最大誤差來計算的,所以對于0.5級的儀表來講,這樣的誤差有些偏大了。但是由于0.1%的電阻精度已經比較高了,因此單靠提高電阻精度來減小相對誤差已經不太可能。在實際生產中,為了保證一定的精度,可以對所使用的精度電阻進行進一步的篩選,將電阻分為大于標稱值和小于標稱值兩組,使用時在某個系統中使用特定組中的電阻。這樣做實際上是將電阻的精度提高了一倍,這時本系統在各個整數溫度點的系統相對誤差見表2。
表2 使用經過篩選的精度為0.1%的電阻時各溫度點的相對誤差
可以看出,此時的誤差完全滿足0.5級儀表的要求,因此建議在實際生產中使用這樣的方法來提高儀表的整體性能。
3 系統軟件
系統的軟件分為上位機即PC端軟件和下位機即單片機模塊的軟件兩部分。下位機由于采用的是NEC的78K0系列單片機,因此編譯調試環境為NEC的Project Manager和ID78K0,程序均用NEC單片機的C語言編寫;上位機使用Visual Basic語言編寫。
上位機主要負責初始參數的設置以及數據采集完以后的數據統計及保存。測溫儀初始化時,需要和上位機連接,然后通過上位機軟件來確定測溫開始時間、測溫總時間、溫度報警最大值和最小值以及采樣間隔時間等參數;測溫儀完成一次參數采集后,可以將數據傳送到上位機,通過上位機軟件來畫出溫度數據的波形,進行統計分析,然后將數據存儲在PC機中。由于測溫儀外擴了256K的EEPROM24C256,基本上可以滿足多次測溫的要求。
下位機主要負責溫度采集。首先用戶通過上位機軟件來設定溫度采集的開始時間、采集時間間隔以及報警溫度等各個參數,然后開始采集溫度數據。采集時顯示最值溫度,當溫度超出報警溫度值時,蜂鳴器發出報警信號。下位機程序的流程圖如圖4所示。
圖4 下位機程序流程圖
該測溫儀已經投入生產,應用在食品等生產運輸過程的溫度監控中。鉑電阻測溫電路的查表線性化的方法,自適應調整選取了電路參數,減少了鉑電阻的阻值和溫度之間的非線性特性以及不平衡電橋中非線性特性所引起的系統訪問,使得系統誤差達到0.5級儀表的要求,提高了測溫儀的整體性能,可以滿足一些對溫度變化比較敏感的食品加工等場合的溫度監控的需求。
責任編輯:gt
-
單片機
+關注
關注
6039文章
44583瀏覽量
636509 -
溫度傳感器
+關注
關注
48文章
2951瀏覽量
156194 -
控制器
+關注
關注
112文章
16402瀏覽量
178590
發布評論請先 登錄
相關推薦
評論