耳溫槍,為啥能測準體溫?(硬件解析)

一、原理
網絡上有些人對額溫槍是否有輻射,是否對人體產生危害提出了質疑。我可以很認真的對他說:有輻射,但是你在輻射,它只是吸收你輻射的能量而已。


各種形式的物質只要溫度高於絕對零度(-273.15°C),都會發射紅外輻射,稱為特徵輻射。輻射的原因在於內部分子的機械運動。這種運動的強度取決於物體的溫度。由於分子運動代表電荷位移,這種輻射是電磁輻射(光子粒子)。這些光子以光速運動,且運行規律符合已知的光學原理。它們可以被偏轉,用透鏡聚焦或被反射表面反射。這種輻射的光譜範圍可以從0.7um 到1000μm。因此,這種輻射通常用肉眼看不到。

額溫槍/耳溫槍,為啥能測準體溫?(硬件解析)


Stephen 和 Boltzmann 於 1879 年發現,一個黑體表面單位面積在單位時間內輻射出的總功率(稱為物體的輻射度或能量通量密度)與黑體本身的熱力學溫度T (又稱絕對溫度)的四次方成正比。這稱為Stephen-Boltzmann law。Wien在1893年又進一步揭示了黑體熱輻射規律,即黑體輻射公式和Wien''s displacement Law(因此獲得了諾貝爾獎): 隨著溫度的升高,物體的輻射量最大值將向短波方向移動。從圖3中可以看出,隨著目標溫度的升高,最大輻射量逐漸向波段較短的區域移動,從輻射能量隨輻射光波長的關係看,光譜中人眼不可見部分所包含的能量最高是可見部分的100000 倍。這正是紅外測量技術的理論依據。

額溫槍/耳溫槍,為啥能測準體溫?(硬件解析)


理論上利用黑體輻射原理測量溫度時,儘可能在最寬的波長範圍內設置紅外溫度計,以獲取最多的能量(對應於曲線下方的區域)或者目標發出的信號。然而,在某些情況下,這種做法並不總是有效的。例如在上圖中,當溫度比較高時,輻射強度在 2 µm 處增加量遠遠高於在 10 µm 處的,這樣在2µm處每單位溫差下的輻射差異越大,紅外溫度計的測量精度便越高。同樣,在低溫環境下,在 2 µm 處工作的紅外溫度計將在溫度低於 600°C 時由於輻射能量太少而幾乎看不到任何東西,從而停止工作。
實際中被測物體與黑體模型也有出入。黑體是理想模型,沒有透射,發射率等於1。灰體的輻射發射率小於1。而非灰體的發射率不僅小於1,而且在不同的波長髮射率也會變化。
基於以上分析,用於測量人體溫度範圍的傳感器一般波長範圍在5µm-15µm左右。
使用的傳感器則利用了熱電效應(Seeback)製作的熱電堆(熱電偶),即,使用兩種不同的半導體或金屬導體連接起來,兩種材料處於有溫度差的情況時,會產生電勢差。紅外熱電偶就是把被測物輻射的能量照射到這個熱電偶的熱端,通過NTC測出熱電偶的冷端溫度,再根據Stephen-Boltzmann law來得到被測物的實際溫度。


二、硬件框圖

額溫槍/耳溫槍,為啥能測準體溫?(硬件解析)


上圖上部的電路是使用MCU內部ADC,這時需要使用低溫漂,低失調電壓,低偏置電流的運放來調理傳感器信號。推薦使用AD8538,AD8539,ADA4051, AD4528,AD8638,AD8628,AD8571,AD8551,AD8552,LTC2063,LTC2066等;參考源要使用低溫漂的ADR3530,ADR4530。
上圖下部是使用集成度比較高的AFE,AD7191有兩個ADC通道,內部集成了PGA,24bit高精度ADC,還有精密電流源方便與NTC電阻接口。參考源推薦ADR3530,ADR4530。還可以選擇AD7124-4,其內部集成了10ppm/C的參考源。


三、計算
Vout = K*e*(Tobj^4 - Ts^4) + Voffset
1.Voffset是當被測目標與環境溫度相同時,熱電堆輸出的電壓(實際上還有ADC及其前方的運算放大器產生的失調電壓誤差)。這個值可以如下方法測得:
● 將整個電路置於環境中足夠長時間,傳感器內部熱電堆與環境溫度達到熱平衡。這時單片機採樣的ADC數值就是Voffset。
● 如果選用的熱電堆傳感器批次的電壓溫度傳遞函數一致性很好,可以認為這一批的Voffset都一樣;如果一致性比較差,那麼生產時要對每一個產品進行此測試,求出正確的Voffset。
2. K是常數,e是被測目標表面的輻射發射率(人體額頭表面可以認為是灰體,e<1,具體要根據實際測量經驗確定),實際操作中,可以把K*e當作一個常數對待。就相當於增益G。可以使用如下步驟測得:
● 已知環境溫度Ts,測溫槍放到環境中足夠長時間,傳感器和環境達到熱平衡
● 測試已知溫度的目標(圖6黑體就可以幹這個事),已知Tobj,讀取ADC的電壓Vout;
● 根據上述1,2步得到的Voffset,Ts,Tobj和Vout可以算出K*e,即增益G。
3. 通過以上幾步,我們已經知道了被測目標溫度Tobj與傳感器輸出電壓Vout的關係,即:
Tobj = (Vout/G+Ts^4)^(1/4)
實際使用時,MCU通過讀取Vout和Ts,就可以反算出Tobj了。Ts的計算如下:

Ts是傳感器內部熱電堆冷端溫度,可以用傳感器內部的NTC電阻大小來測量。可以使用傳感器廠家給的數據線性擬合,或者把這些數據放到單片機內,通過查找表插值等方法計算出來;

額溫槍/耳溫槍,為啥能測準體溫?(硬件解析)


4. 需要注意的是以上公式中,各個參數的單位換算。
● Tobj,Ts溫度單位是熱力學溫度,也即開氏溫度。它與我們常用的攝氏溫度換算關係是:T(K)=273.15+t(℃)


● Vout,Voffset單位很靈活,但要注意必須統一使用一樣的單位。我們可以把ADC的讀數直接用。
5. 最後,我們採用的公式1的模型如果達不到溫度精度,還需要通過實驗來擬合出比較合適的模型。


分享到:


相關文章: