如果您打算在整個溫度范圍內均使用熱敏電阻溫度傳感器件,那么該器件的設計工作會頗具挑戰性。熱敏電阻通常為一款高阻抗、電阻性器件,因此當您需要將熱敏電阻的阻值轉換為電壓值時,該器件可以簡化其中的一個接口問題。然而更具挑戰性的接口問題是,如何利用線性ADC以數字形式捕獲熱敏電阻的非線性行為。
“熱敏電阻”一詞源于對“熱度敏感的
電阻”這一描述的概括。熱敏電阻包括兩種基本的類型,分別為正溫度系數熱敏電阻和負溫度系數熱敏電阻。負溫度系數熱敏電阻非常適用于高精度溫度測量。要確定熱敏電阻周圍的溫度,您可以借助Steinhart-Hart公式:T=1/(A0+A1(lnRT)+A3(lnRT3))來實現。其中,T為開氏溫度;RT為熱敏電阻在溫度T時的阻值;而A0、A1和A3則是由熱敏電阻生產廠商提供的常數。
熱敏電阻的阻值會隨著溫度的改變而改變,而這種改變是非線性的,Steinhart-Hart公式表明了這一點。在進行溫度測量時,需要驅動一個通過熱敏電阻的參考電流,以創建一個等效電壓,該等效電壓具有非線性的響應。您可以使用配備在微控制器上的參照表,嘗試對熱敏電阻的非線性響應進行補償。即使您可以在微控制器固件上運行此類算法,但您還是需要一個高精度轉換器用于在出現值溫度時進行數據捕獲。
另一種方法是,您可以在數字化之前使用“硬件線性化”技術和一個較低精度的ADC。其中一種技術是將一個電阻RSER與熱敏電阻RTHERM以及參考電壓或電源進行串聯(見圖1)。將PGA(可編程增益放大器)設置為1V/V,但在這樣的電路中,一個10位精度的ADC只能感應很有限的溫度范圍(大約±25°C)。
請注意,在圖1中對高溫區沒能解析。但如果在這些溫度值下增加PGA的增益,就可以將PGA的輸出信號控制在一定范圍內,在此范圍內ADC能夠提供可靠地轉換,從而對熱敏電阻的溫度進行識別。
微控制器固件的溫度傳感算法可讀取10位精度的ADC數字值,并將其傳送到PGA滯后軟件程序。PGA滯后程序會校驗PGA增益設置,并將ADC數字值與圖1顯示的電壓節點的值進行比較。如果ADC輸出超過了電壓節點的值,則微控制器會將PGA增益設置到下一個較高或較低的增益設定值上。如果有必要,微控制器會再次獲取一個新的ADC值。然后PGA增益和ADC值會被傳送到一個微控制器分段線性內插程序。
從非線性的熱敏電阻上獲取數據有時候會被看作是一項“不可能實現的任務”。您可以將一個串聯電阻、一個微控制器、一個10位ADC以及一個PGA合理的配合使用,以解決非線性熱敏電阻在超過±25°C溫度以后所帶來的測量難題。