摘 要:提高測控精度是對溫控器的一個永恒要求。為此,要不斷地在設(shè)計中引入新技術(shù)。本文論述通過用嵌套乘法計算熱電偶的分度函數(shù)(溫度到電壓)及反函數(shù)(電壓到溫度)多項來進行溫度補償和測量。此法比之常規(guī)的查分度表或在表中做線性插值的方法,精度又有提高,可達0.01℃。ARM Cortex-3結(jié)構(gòu)的高性能32位微處理器STM32F103則能保證很好地完成這種計算(保持14位有效數(shù)字)。重點是講述此測溫方法在STM32F103上編程實現(xiàn),包括算法。
關(guān)鍵詞:溫控器;高精度測溫;熱電偶;函數(shù)及反函數(shù);冷端補償;嵌套乘法;STM32F103;算法與編程
0 引言
常規(guī)的熱電偶(簡稱TC)測溫方法是由電壓直接查分度表(電壓-溫度表)(精度最低)或在表中進行線性插值(要高一些)得到溫度值。前者分辨率不高于1 ℃,此法可用在精度要求不高的場合;后者可把分辨率提高一個數(shù)量級或更多,且線性插值的密度越高,測溫精度也越高,但同時程序量加大很多。熱電偶的國家標(biāo)準(zhǔn)[1]是標(biāo)準(zhǔn)[2]的替代,其中[1]首次提到熱電偶函數(shù)多項式計算的嵌套乘法。該算法的提出,有較大實際意義,它為日后TC高精度測溫的普及,提供了一種簡便實用的方法。
2 TC高精度測溫流程
如圖1所示。
2.1 冷端補償
補償方法可參見文獻[3]。
1)選擇測溫芯片
對于高精度測溫,選用冷端[1](也稱參比)溫度測量芯片也是一個關(guān)鍵,要用高于你要求的精度的芯片,如可用Si705[2],分辨率可達0.1 ℃。也可用精度更高的TMP275 (最高可達0.065 ℃)[4]和ADT7410 (0.007 8 ℃)[5]。
2)要有流程中的第2、4步,是因為熱電偶的函數(shù)關(guān)系式(1)是非線性的,所以不能簡單地取消2、4步,而直接把Tcj加到最后一步的t中,完成補償[3](這樣也可以,但精度降低)。
2.2 T C電壓測量
這個測量也必須是高精度的:①選擇允差最高級別的熱電偶;②選擇分辨率高的ADC,可選LTC2486(17位)。
3 編程實現(xiàn)
3.1編程環(huán)境
在IAR 7.20.5.624版下進行,用最新在2011年發(fā)布的3.5.0版庫函數(shù),語言為C。
熱電偶函數(shù)或反函數(shù)的多項式系數(shù)大多都很小,如K型,d9=-1.0527551-35。[1]為適應(yīng)這種情況,計算多項式時,必須采用C中最高精度的數(shù)據(jù)類型double(8個字節(jié)表示一個數(shù))。在STM32F103中,當(dāng)用double類型且為科學(xué)計數(shù)法表示一個數(shù)時,會如表1所示。
從表中可以看到STM32F103當(dāng)數(shù)字≥0.9時,可以保證15位有效數(shù)字的精度,在15位后,開始產(chǎn)生舍入誤差;當(dāng)數(shù)字<0.9時,可以保證14位有效數(shù)字的精度。這對于0.01 ℃分辨率的要求已足夠。對于8位的MCU,在進行此類雙精度運算時,則要注意能否保證精度要求。
3.2 編程
編程時,要同時熟悉文獻[1],它是編程的對象。下面以E型熱
電偶為例。
3.2.1 函數(shù)式(1)的編程。
1)函數(shù)名double TC_TemperatureToVoltage (double t).入口參數(shù)為溫度t(℃);出口參數(shù)是電壓E(mV)。
2)算法
3)程序
編程不復(fù)雜,略。
3.2.2 反函數(shù)式(3)編程。
函數(shù)名 double TC_VoltageToTemperature(double v);
算法和程序略,類似計算函數(shù)式(1)。
3.2.3 熱電偶高精度測溫編程。
1)函數(shù)名float TC_MeasurementTemperature(void)
2)算法
4 結(jié)論
直接用熱電偶函數(shù)及反函數(shù)來做測溫計算,從源頭上解決了TC的函數(shù)關(guān)系的非線性、查分度表或在表中做線性插值給測溫帶來的誤差。以E型熱電偶為例,在-200~1 000 ℃的范圍內(nèi),最大分辨率可達0.01 ℃,最小也可達0.022[1]使用該方法的高精度測溫記錄如圖2和表2所示,數(shù)據(jù)與理論分析基本一致。圖2和表2測量的為室內(nèi)環(huán)境溫度。當(dāng)然,這樣的結(jié)果要求相關(guān)的測溫硬件電路也必須是高精度的。測試說明:測試時,為保持環(huán)境溫度相對穩(wěn)定,要減少空氣流動,減少熱源。所以關(guān)閉門窗(只留小縫隙)和電腦等。并在溫度穩(wěn)定后(約10~15 min),開始測量。
5 結(jié)語
近2年本實驗室對溫控器高精度測溫做了一些技術(shù)性探索總結(jié)且已成文。下一個目標(biāo),將是高精度控溫,向0.5%FS乃至0.1%FS控制精度前行。
最后,要特別感謝國標(biāo)《GB∕T 16839.1-2018熱電偶第1部分:電動勢規(guī)范和允差》的相關(guān)單位和個人。此國標(biāo)有最重要的指導(dǎo)作用,是對我國的熱電偶測溫事業(yè)的重大貢獻。
參考文獻:
[1] 中國國家標(biāo)準(zhǔn)管理委員會,GB∕T 16839.1-2018 熱電偶第
1部分:電動勢規(guī)范和允差[S],北京,中國標(biāo)準(zhǔn)出版社.2018:3,2,64, 5,67,1,67.
[2] 中國國家標(biāo)準(zhǔn)管理委員會,GB∕T 16839.1-1997 熱電偶第1部分:分度表[S],北京,中國標(biāo)準(zhǔn)出版社.1997.
[3] 王昌世.高精度溫度芯片Si7051在熱電偶補償中的應(yīng)用[J].電子產(chǎn)品世界,2020,27(1):69-73。
[4] TMP275±0.5°C Temperature Sensor With I 2C and SMBus Interface in Industry Standard LM75 Form Factor and Pinout [M/OL].Texsas Instrsments,2014-11:1[2019-10-8]. https:// www.ti.com/lit/ds/sbos363f/sbos363f.pdf ts=1600335313639& ref_url=https%253A%252F%252F www.google.com%252F.
[5] ±0.5°C Accurate, 16-Bit Digital I 2 C Temperature Sensor [M/OL].Analog Device Incorporation,2014-11:1[2019-10-8]. https://www.analog.com/media/en/technicaldocumentation/data-sheets/ADT7410.pdf.