如果只需要感測器一小部分的輸出範圍,那麼由一個非於線性感測器上所獲得資料是絕對足夠的。在這個情況下,可在控制器或處理器中執行一個簡單、片段與線性化的演算法。但如果想要由感測器上獲得一個較寬廣的輸出範圍,則可使用類比線性化線路來協助獲取感測器的輸出。
例如,一個電阻與一非線性熱敏電阻以串連或並聯連接時,會將感測器輸出的一部份線性化。當具有一個熱敏電阻時,這個線性部分通常會在所設計線路中心點的±25℃(10位元精確性)附近。當增加電阻值時,可調校熱敏電阻的中心點來相對應。通常這些電路技術可協助設計人員捕捉一個較寬廣(但非全部)的感測器輸出。
感測器的硬體線性化足以有效應用於大多數的應用。但是,如果這些量測的範圍仍然衝擊到系統的精確度,則可藉由使用一微控制器和可程式增益控制放大器(PGA)的可程式化特色來加入到線路的功能中。
非線性熱敏電阻
「熱敏電阻」一詞源自於THERMally Sensitive ResISTOR的描述詞句。有兩種熱敏電阻的基本型式分別是負溫度係數(NTC)和正溫度係數(PTC)。NTC熱敏電阻最適用於精準溫度量測。PTC則最適用於開關應用。在本文中,將只會討論一個NTC應用。讀者將會看到NTC熱敏電阻在三種不同模式的操作,以提供不同應用上的服務。其中一種模式使用會使用熱敏電阻的阻抗對溫度特性,另二種模式則採用熱敏電阻的電壓對電流以及電流對時間的特色。
目前為止,應用上使用第一種模式,阻抗對溫度,這也是業界最普遍的模式。與使用電壓對電流和電流對時間的特色應用不同點是,電阻對溫度電路仰賴一個「零功率」操作狀況。零功率意味著具有熱敏電阻的最小自我加熱。(圖一)顯示一個10kΩ、NTC熱敏電阻的阻抗對溫度回應圖。傳統上,對於25℃等級的個別熱敏電阻是由1kΩ到10MΩ。
![《圖一 在精準的溫度量測環境中,熱敏電阻是在「零功率」狀況下使用。》](/art/2006/12/131915591377/p1.gif)
《圖一 在精準的溫度量測環境中,熱敏電阻是在「零功率」狀況下使用。》 |
|
由於熱敏電阻是一個阻抗元件,所以就需要電流的通路。可使用一電壓或電流參考來施加電流。在圖一中的熱敏電阻性能只要在維持電源低於整組電源的消耗之下,便會以合理方式重複。一旦違反了這個熱能狀況,熱敏電阻便會自行加熱,結果將造成內部阻抗的降低而產生出較實際讀數為高的結果。
熱敏電阻會使用在許多不同應用上,像是自動監控和無線發射控制、冰點偵測、皮膚偵測、血與尿液分析、冰箱、冷凍、行動電話、基地站雷射驅動和電池模組充電等。在精確的儀器應用中,會在手持式量表和溫度計上發現溫敏電阻。
在圖一中,可在溫度變化上看見熱敏電阻屬於高度非線性元件。此非線性修正可配合使用微控制器,以查表的方式去修正熱敏電阻的非線性響應。即使可在微控制器韌體上執行這個型式的演算法,也會需要一個較高解析度的ADC轉換器。另一方面,可在數位化前,先行使用硬體線性技術以減少這非線性誤差。
一個有效的熱敏電阻線性技術就是將電阻、熱敏電阻以及電源供應器串聯。可在(圖二)中看見這種型式的線路。圖二展示一種表面上很明顯的方式來激發熱敏電阻,並測量當偵測元件以一電流源激發時所產生的阻抗改變。
![《圖二 RA與VDD串聯並線性化BC元件,NTC熱敏電阻溫度回應。》](/art/2006/12/131915591377/p2.gif)
《圖二 RA與VDD串聯並線性化BC元件,NTC熱敏電阻溫度回應。》 |
|
藉由這種激發型式,熱敏電阻電流大小會降得夠低,所以熱敏電阻的消耗常數會維持低於系統所需的精準度之下。如果MCP6S26(PGA)設定在+1V/V的增益或是由一個緩衝放大器所替代,這個線路可偵測到一個限制的溫度範圍(大約是25℃)。這個溫度範圍並非受到放大器所限制,但會受到使用Thermistor|RA組合的電壓分壓器建立的線性所限制。在較大範圍的溫度量測具有三角電壓,但太小以能精確地轉換成一數位字元,除非設計者使用一個較高解析度的AD轉換器。
以這個範例而言,來自BCcomponents的一個典型熱敏電阻溫度範圍是-40℃到125℃。會注意到在(圖三)中,在高溫時一個10°C三角的差異電阻會明顯地較低溫時的一個10℃三角為大。這個熱敏電阻在「阻抗」對「溫度」範圍上的比值不同點是,線路建立是一個棘手的類比電路問題。
![《圖三 這是在圖二中所展示Thermistor|RA組合的回應。熱敏電阻線路在±25℃範圍並且兩個電阻(NTC和RA)的周遭溫度都一樣時,具有良好的線性回應。在這個範圍內的錯誤通常會在±1%之內。》](/art/2006/12/131915591377/p3.gif)
《圖三 這是在圖二中所展示Thermistor|RA組合的回應。熱敏電阻線路在±25℃範圍並且兩個電阻(NTC和RA)的周遭溫度都一樣時,具有良好的線性回應。在這個範圍內的錯誤通常會在±1%之內。》 |
|
在這個範例中,很明顯的一個10位元AD轉換是不足以涵蓋整個溫度範圍。另一方面,像是增加AD轉換器的解析度或更換一些電阻(RA)到電路中會帶來成本的增加與電路的複雜度。第三個可能的方式是保持元件像是在圖二中並使用PGA的增益控制以帶來優點。
如果仔細檢視在圖三中的熱反應,將會注意到在高溫時所喪失的顆粒性。若在這個較高溫度時增加PGA的增益,將會把PGA的輸出信號帶回到AD轉換器可有效辨識溫度的範圍內。
![《圖四 來自微控制器SPI埠的信號到MCP6S26(PGA)上會改變這個放大器的增益》](/art/2006/12/131915591377/p4.gif)
《圖四 來自微控制器SPI埠的信號到MCP6S26(PGA)上會改變這個放大器的增益》 |
|
這個方式使用在微控制器碼上的改變而非硬體上。接著,這些對電路的調整幾乎是免費的(減掉程式設計的時間)。(圖五)顯示微控制器演算法的流程圖。
![《圖五 此流程圖容許微控制器能適切地調校PGA到適當的增益設定》](/art/2006/12/131915591377/p5.gif)
《圖五 此流程圖容許微控制器能適切地調校PGA到適當的增益設定》 |
|
PIC16F684由韌體執行一即時樣本。韌體會讀取AD轉換器的值並將它送到PGA滯後作用的例行程序中。PGA滯後作用例行程序會檢查PGA增益設定。依據PGA增益,微控制器測試具有AD轉換器值的行程點,請參考圖四。若AD轉換器的值超出一行程點的值,微控制器便會設定PGA增益到下一個更高或更低的增益設定上。一旦離開PGA滯後作用例行程序,韌體會檢查PGA增益是否改變。如果沒有改變,程式會繼續。而假設PGA增益有改變,那麼韌體會重讀AD轉換器的值。
一旦知道了PGA增益和AD轉換器的值,這些值都會送到分段式線性插入例行程序中(PwLI)。微控制器會依據PGA增益設定及參考正確的查詢表。PwLI例行程序轉換10bit ADC值到一個16位元固定十位數小數點的攝氏度數值中。這個固定的十位數小數點格式會回報出十分之一的攝氏讀數。(圖六)將這個系統的精準度列成表格。
![《圖六 在本圖具有兩曲線,曲線(1)顯示整體設計錯誤強度對熱敏電阻的影響,並具有在圖二線路中的 MCP6S26(PGA)。曲線(2)顯示整體設計錯誤強度對熱敏電阻溫度的影響,並具有緩衝放大器來取代MPC6S26(在圖二中)。來自曲線(2)的資料是假設下列的錯誤:熱敏電阻阻抗錯誤=1%、ADC DC錯誤低於±3.5LSB、PGA增益錯誤低於±0.1%、PGA輸入偏差錯誤低於±1mV。》](/art/2006/12/131915591377/p6.gif)
《圖六 在本圖具有兩曲線,曲線(1)顯示整體設計錯誤強度對熱敏電阻的影響,並具有在圖二線路中的 MCP6S26(PGA)。曲線(2)顯示整體設計錯誤強度對熱敏電阻溫度的影響,並具有緩衝放大器來取代MPC6S26(在圖二中)。來自曲線(2)的資料是假設下列的錯誤:熱敏電阻阻抗錯誤=1%、ADC DC錯誤低於±3.5LSB、PGA增益錯誤低於±0.1%、PGA輸入偏差錯誤低於±1mV。》 |
|
在十分之一度中執行分段視線性插入會提供較佳的攝氏度數解析度。在最終設計中,設計者可選擇報告上使用分數度數或採整數表示。
由一個非線性感測器獲得資料永遠都會是設計上最大的挑戰。某些感測器的線性化需要較平常更多的工作。這種情況可能不斷發生,直到處理了較廣泛、非線性回應的一感測器範圍。所以微控制器和可程式增益放大器的組合克服了在一廣泛溫度範圍距離上熱敏電阻的非線性。這項技術在熱敏電阻上作用良好,但也可用在任何顯示非線性行為的感測器上。
---作者任職於Microchip Technology---