摘要:提出一種以熱敏電阻為溫度傳感器,經電阻-脈寬轉換電路將熱敏電阻的輸出轉換為脈寬信號,再由PIC16F876單片機進行處理,以實現(xiàn)多點溫度顯示的溫度測量儀。采用比較法消除了電阻-脈寬轉換電路由于器件參數變化造成的測量誤差,提高了測量精度。該多點溫度測量儀具有數字顯示溫度和以RS232串口輸出溫度的功能。
許多場合需要對多點溫度進行監(jiān)控。測量溫度的傳感器比較多,目前普遍采用的是熱電偶和熱電阻。熱電偶測量溫度范圍寬、精度高、性能穩(wěn)定,但價格高且輸出熱電動勢低,不便于使用。金屬熱電阻測量溫度范圍在幾百度以內,測量精度也較高,但是輸出靈敏度較低。半導體熱電阻即熱敏電阻,具有高輸出靈敏度的特點,且隨著加工工藝的改善,測量精度和互換性都有了很大的提高,且價格低廉。
1 測量電路的設計
多點溫度測量儀由熱敏電阻、多路轉換開關、電阻-脈寬轉換電路、單片機、顯示部分和RS232串行輸出接口組成,如圖1所示。每個熱敏電阻由單片機控制,經多路轉換開關與電阻-脈寬轉換電路相連,并被轉換成與其阻值成正比的脈寬信號,單片機對脈寬信號進行測量,從而得到熱敏電阻的阻值,再經過查表得到被測溫度。
1.1 電阻-脈寬轉換電路
電阻-脈寬轉換電路由555芯片、電阻R和電容C組成,如圖2所示。電阻-脈寬轉換電路實際上是一個單穩(wěn)態(tài)觸發(fā)電路。圖中虛線框內為555的原理電路,555電路包括一個三極管開關T1,2個電壓比較器C1和C2,一個基本RS觸發(fā)器,以及由3個阻值為5kΩ的電阻組成的分壓器[1]。
對于該單穩(wěn)觸發(fā)器,只要在其觸發(fā)端(引腳2)施加一個低電平觸發(fā)信號,它便會輸出一高電平信號,該高電平持續(xù)的時間為電容C上的電壓由零上升到2Ec/3所需的時間,而這段時間的長短是由外接電阻R和電容C 所決定的。若保持電容C不變,這段高電平時間則與外接電阻R成正比,所以根據輸出高電平的持續(xù)時間,即脈沖寬度便可知道電阻R的大小。轉換電路所輸出的高電平寬度(時間t)與外接電阻和電容的關系為t=RCln3。
這里,溫度傳感器選用的是熱敏電阻,同金屬熱電阻相比,熱敏電阻的溫度系數比較大,且阻值較高,這樣轉換電路的電容C可以選擇性能比較穩(wěn)定的小電容,以保證轉換電路長期工作的穩(wěn)定性。
1.2 單片機
單片機采用微芯公司的PIC16F876型號單片機[2]。為了準確測量電阻-脈寬轉換電路輸出的脈沖寬度,這里利用了該單片機的捕捉輸入接口。PIC16F876單片機有兩個捕捉輸入接口CCP1和CCP2,每個接口由兩個8bit寄存器構成。CCP1對應RC2引腳,CCP2對應RC1引腳。對于捕捉輸入接口CCP1,當RC2引腳每出現(xiàn)一個脈沖的上升沿或下降沿(可以設定)時,就會將單片機內部的一個16bit定時器的內容送入捕捉接口的兩個8bit寄存器中,根據這個功能,便可準確地測量電阻-脈寬轉換電路輸出的脈沖寬度。具體測量方法是:首先,單片機發(fā)出一個脈沖,觸發(fā)電阻-脈寬轉換電路,使其輸出端變?yōu)楦唠娖,同時讓單片機內部的16bit定時器開始計時,當電阻-脈寬轉換電路輸出的脈沖信號結束時,RC2的引腳上便會出現(xiàn)一個下降沿,CCP1捕捉到這個下降沿后,立即將單片機內部的16bit定時器的數據送往CCP1的兩個8bit寄存器中[3],這個數據就是電阻-脈寬轉換電路輸出的脈沖寬度。由于對下降沿的捕捉是由單片機內部硬件完成的,因此用這種方法對脈沖的寬度進行測量可以保證測量精度。
1.3 多路轉換開關電路
由于熱敏電阻是由電阻-脈寬轉換電路轉換為脈寬信號的,為了多個熱敏電阻共用一個電阻-脈寬轉換電路,采用了CD4051多路轉換開關,CD4051為8對1電子開關,具體哪一路接通,可由單片機通過三個控制端進行控制。
1.4 顯示電路
顯示電路由數碼管、三極管等元件組成,如圖3所示。為了降低成本,充分利用單片機資源,采用掃描顯示方式,即由單片機控制數碼管分時顯示。例如,單片機將要顯示的最低位轉換為7段碼后,經I/O口發(fā)送到CHa~CHg,然后再使CH1變?yōu)楦,這樣數碼管L1顯示,停留一段時間后,再使數碼管L2顯示,然后再使數碼管L3顯示。由于一個循環(huán)顯示周期很短,因此不會發(fā)生閃爍。另外可以根據顯示位數的多少,增減數碼管的個數。
1.5 RS232接口電路
所測溫度除了可以直接顯示外,還可以進行串行輸出。由于單片機的異步串行通信接口不能進行遠距離傳輸,為此,需要一個RS232接口電路,將其轉換為標準的RS232串行通信信號。RS232接口電路采用MAX232芯片,MAX232芯片內含兩套RS232接口電路,最大傳輸距離可達15m,這個傳輸距離一般可以滿足溫度測量的需求。
2 測量誤差及補償
2.1 測量誤差產生原因
由于電阻-脈寬轉換電路輸出的脈沖寬度與外接電阻和電容的關系為:t=RCln3,對于溫度測量儀,這里電阻R包括熱敏電阻Rt、連接導線電阻R導和多路轉換開關接通電阻R開。連接導線R導在長度確定后可以認為不發(fā)生變化,但多路轉換開關型號不同或溫度改變時,R開要發(fā)生變化。另外轉換電容C因型號不同或老化,電容值也是不同的,所以即使被測溫度沒有發(fā)生變化,電阻-脈寬轉換電路輸出的脈沖寬度也會發(fā)生變化,即產生溫度測量誤差。
2.2 測量誤差的補償
基于單片機的多點溫度測量儀,采用熱敏電阻為溫度傳感器,經電阻-脈寬轉換電路,再由PIC16F876單片機進行處理,實現(xiàn)了多點溫度的數字顯示,經RS232通信接口,還可將溫度數據進行遠距傳輸。采用比較法消除了電阻-脈寬轉換電路由于器件參數變化造成的測量誤差,提高了測量精度。該多點溫度測量儀具有電路簡單、無需調試、測量精度高、成本低廉等特點,具有較好的應用前景。
參考文獻
[1]康華光.電子技術基礎[M].北京:高等教育出版社,2006.
[2]劉和平.PIC16F876X單片機實用軟件與接口技術[M].北京:北京航空航天大學出版社,2002.
[3]竇振中.PIC系列單片機原理與程序設計[M].北京:北京航空航天大學出版社,1998.