使用溫度傳感器為 PT100,這是一種穩定性和線性都比較好的鉑絲熱電阻傳感器,可以工作在 -200℃ 至 650℃ 的范圍.本電路選擇其工作在 -19℃ 至 500℃ 范圍.
整個電路分為兩部分,一是傳感器前置放大電路,一是單片機 A/D 轉換和顯示,控制,軟件非線性校正等部分.
前置放大部分原理圖如下:
工作原理:
傳感器的接入非常簡單,從系統的 5V 供電端僅僅通過一支 3K92 的電阻就連接到 PT100 了.這種接法通常會引起嚴重的非線性問題,但是.由于有了單片機的軟件校正作為后盾,因此就簡化了傳感器的接入方式.
按照 PT100 的參數,其在 0℃ 到 500℃ 的區間內,電阻值為 100 至 280.9Ω,我們按照其串聯分壓的揭發,使用公式:Vcc/(PT100+3K92)* PT100 = 輸出電壓(mV),可以計算出其在整百℃時的輸出電壓,見下面的表格:
溫度 ℃ | PT100 阻值 Ω | 傳感兩端電壓 mV |
0 | 100.00 | 124.38 |
1 | 100.39 | 124.8 |
50 | 119.40 | 147.79 |
100 | 138.51 | 170.64 |
150 | 157.33 | 192.93 |
200 | 175.86 | 214.68 |
250 | 194.10 | 235.90 |
300 | 212.05 | 256.59 |
350 | 229.72 | 276.79 |
400 | 247.09 | 296.48 |
450 | 264.18 | 315.69 |
500 | 280.98 | 334.42 |
單片機的 10 位 A/D 在滿度量程下,最大顯示為 1023 字,為了得到 PT100 傳感器輸出電壓在顯示 500 字時的單片機 A/D 轉換輸入電壓,必須對傳感器的原始輸出電壓進行放大,計算公式為:(500/1023 * Vcc)/傳感器兩端電壓( mV/℃ ) ,(Vcc=系統供電=5V),可以得到放大倍數為 10.466 。
關于放大倍數的說明:有熱心的用戶朋友詢問,按照 (500/1023 * Vcc)/傳感器兩端電壓不能得到 10.466 的結果,而是得到 11.635的結果。實際上,500 個字的理想值是無法靠電路本身自然得到的,自然得到的數字僅僅為 450 個字,因此,公式中的 500℃ 在實際計算時的取值是 450 而不是 500 。450/1023*5/(0.33442-0.12438)≈10.47 。其實,計算的方法有多種,關鍵是要按照傳感器的 mV/℃ 為依據而不是以被測溫度值為依據,我們看看加上非線性校正系數:10.47*1.1117=11.639499 ,這樣,熱心朋友的計算結果就吻合了。
運算放大器分為兩級,后級固定放大 5 倍(原理圖中 12K/3K+1=5),前級放大為:10.465922/5=2.0931844 倍,為了防止調整時的元器件及其他偏差,使用了一只精密微調電位器對放大倍數進行細調,可以保證比較準確地調整到所需要的放大倍數(原理圖中 10K/(8K2+Rw)+1)。
通常,在溫度測量電路里,都會有一個“調零”和另一個“調滿度”電位器,以方便調整傳感器在“零度”及“滿度”時的正確顯示問題。本電路沒有采用兩只電位器是因為只要“零度”調整準確了,就可以保證整個工作范圍的正確顯示,當然也包括滿度時的最大顯示問題了。
那么,電路中對“零度”是如何處理的呢?它是由單片機程序中把這個“零度”數字直接減掉就是了,在整個工作范圍內,程序都會自動減掉“零度”值之后再作為有效數值來使用。
當供電電壓發生偏差后,是否會引起傳感器輸入的變化進而影響準確度呢?供電變化后,必然引起流過傳感器的電流發生變化,也就會使傳感器輸出電壓發生變化??墒牵源送瑫r,單片機的供電也是在同步地接受到這種供電變化的,當單片機的 A/D 基準使用供電電壓時,就意味著測量基準也在同步同方向發生變化,因此,只要參數選擇得當,系統供電的變化在 20% 之內時,就不會影響測量的準確度。(通常單片機系統并不允許供電有過大的變化,這不僅僅是在溫度測量電路中的要求。)
后級單片機電路的原理圖如下:
從傳感器前置放大電路輸出的信號,就送入到 HT46R23 的 A/D 轉換輸入端口(PB0/AN0),由單片機去進行各種必需的處理。首先是進行軟件非線性校正,把輸入信號按照不同的溫度值劃分為不同段,再根據其所在的段分別乘以不同的補償系數,令其與理論值盡量接近,經過非線性校正的數字,才被送去進行顯示,比較用戶設定的控制值等等。
各段的非線性補償系數見下列表格(僅僅列出主要段的數據,非全部表格內容):
傳感電壓 | mV/℃ | 內部AD讀數 | 校正系數 |
124.3781 | 供電電阻=3K92±1%,供電電壓=5.000V±1% | ||
124.8450 | 0.4670 | 1.00 | 1.0000 |
147.7942 | 0.4683 | 50.14 | 0.9972 |
170.6414 | 0.4626 | 99.06 | 1.0095 |
192.9326 | 0.4570 | 146.80 | 1.0218 |
214.6802 | 0.4515 | 193.36 | 1.0343 |
235.8961 | 0.4461 | 238.79 | 1.0469 |
256.5918 | 0.4407 | 283.11 | 1.0597 |
276.7898 | 0.4355 | 326.36 | 1.0724 |
296.4779 | 0.4302 | 368.52 | 1.0854 |
315.6891 | 0.4251 | 409.65 | 1.0985 |
334.4220 | 0.4201 | 449.76 | 1.1117 |
本電路還有一個特點,就是用戶可以在工作范圍內,任意設定 3 個超限控制值。當測量顯示值大于設定值的時候,對應的控制端口就會輸出高電平。利用這個高電平信號,再外接一級三極管驅動繼電器的電路,就可以實現自動控制。在某一個控制端口輸出高電平的同時,與之串聯的 LED 發光管會同時點亮,以便提示使用者是哪一個設定值在輸出控制信號。
電路中的 24C02 是電存儲器,可以把使用者設定的控制值可靠地保存起來,即使掉電也不會丟失數據。
電路圖中還有 3 只按鍵,它們分別是“設定”、“加置數”和“減置數”操作按鍵,用于使用者進行超限值的設置。使用方法如下:
按動一下設定鍵,屏幕顯示“1--”,表示現在進入第一個超限值的設置,三秒后屏幕自動跳轉到顯示“***”并閃爍(*** 代表原來電存儲器里儲存的超限數值),然后,按壓加數鍵(或減數鍵),屏幕上的最低位的數字就會加一(或減一),如果按住按鍵三秒以上不放開,屏幕上的前兩位數字就會快速進行加數(或減數)。把屏幕上的數字調整到所需要的數字后,這個超限值就設置完成了。
接著,再按動一下設定鍵屏幕顯示“2--”,表示現在進入第二個超限值的設置,三秒后屏幕自動跳轉到顯示“***”并閃爍....,接下來的操作與第一個超限值的操作完全一樣。
第三個超限值的設置與上面兩個完全一樣。
當設置好 3 個超限值之后,還必須最后按動一下設定鍵,退出設定狀態而返回正常工作狀態。如果忘記了這最后一次按動退出的操作,程序就會等待 10 秒之后,自動返回正常工作狀態。
簡易調試方法:
可以使用 100Ω 的電阻來模擬 PT100 在 0℃ 的阻值,接入傳感器輸入端,看看顯示是否 =000,如果不對,可以調整微調電位器來達到;然后用一只 281Ω 的電阻來模擬 PT100 在 500℃ 時傳感器的電阻值,顯示應該在 500 字±1字;最后,使用一只 194Ω 的電阻來代替 250℃ 傳感器電阻輸入,應該顯示 250±1 字.如果經過上面調試沒有問題,就可以接入真正的 PT100 傳感器投入使用了.(真正的傳感器也有誤差,可以微調一下前置放大的電位器來校正它。)
在實際工作中,要求電路的供電電壓為 5V±5%.如果測量顯示值大于某一個超限值,對應的控制端口就會立即輸出高電平。
如果傳感器發生開路故障,顯示就會出現"HHH",如果傳感器及其引線發生了短路,顯示就會立即出現"LLL".為了防止傳感器出現開路或者短路之后可能會引起的不良后果,這時候,3 個控制輸出端口都會優先關閉。
聯系人:陳威
手 機:18898570612
郵 箱:haodu@haodukeji-rtd.com
公 司:PT100/PT1000溫度傳感器/溫度變送器/壓力變送器__深圳市浩渡科技有限公司
地 址:深圳市龍崗區新生社區旗勝達高新科技園B棟三層