很多新手在剛接觸熱敏電阻的時候,不會測量。本文小編舉例告訴大家熱敏電阻的測量溫度,希望在這方面的干貨知識能帶領(lǐng)大家了解相信知識點,如果不懂操作,可以請教有經(jīng)驗的人員進行指導(dǎo)。
熱敏電阻是一個電阻器件,因此根據(jù)歐姆定律,如果我們通過一個電流,它將產(chǎn)生電壓降。由于熱敏電阻是一種有源類型的傳感器,也就是說,它需要一個激勵信號用于其工作,所以溫度變化引起的電阻變化可以轉(zhuǎn)換為電壓變化。
這樣的簡單方法是使用熱敏電阻作為分壓電路的一部分。在電阻和熱敏電阻串聯(lián)電路上施加恒定電壓,并在熱敏電阻上測量輸出電壓。例如,如果我們使用10kΩ熱敏電阻和10kΩ的串聯(lián)電阻,那么在25℃的基準(zhǔn)溫度下的輸出電壓將是電源電壓的一半。
當(dāng)熱敏電阻的電阻由于溫度變化而變化時,熱敏電阻兩端的電源電壓部分也會發(fā)生變化。從而產(chǎn)生與輸出端子之間的總串聯(lián)電阻的一部分成比例的輸出電壓。其中熱敏電阻的電阻由溫度控制,所產(chǎn)生的輸出電壓與溫度成正比,所以熱敏電阻越熱,電壓越低。如果我們顛倒串聯(lián)電阻RS和熱敏電阻RTH的位置,則輸出電壓將反方向變化,即熱敏電阻變得越熱,輸出電壓就越高。
一、問題描述
首先對1.0版本溫度貼硬件做一個簡單描述:該方案的測溫方式是使用熱敏電阻NTC,采集其模擬電壓并轉(zhuǎn)換為相應(yīng)的溫度值,原理圖如圖1所示,使用單運放TLV521搭建一個橋,起初,對多片焊接完整的溫度貼線路板進行溫度準(zhǔn)確度測試,發(fā)現(xiàn)測得溫度與實際水溫偏差較大且不一致,正偏和負(fù)偏均存在,無規(guī)律可尋,由于本產(chǎn)品對測溫精度的要求為-0.1~+0.1°,所以該結(jié)果未能滿足要求,一開始想過對不同偏差的板子通過一條擬合曲線對溫度進行校準(zhǔn),但采集了多組數(shù)據(jù)后找到一條擬合曲線加進去后仍無法全部滿足要求且耗時較長,放棄了此方式校準(zhǔn),故進行了以下分析測試;
圖1
二、該問題造成的影響
正如問題描述中提到的,本產(chǎn)品對測溫精度的要求是-0.1~+0.1°,然而對30+片的溫度測試發(fā)現(xiàn),有相當(dāng)多的一部分未能滿足要求,這里說明一下,當(dāng)時的具體測試數(shù)據(jù)未能保留下來,是個疏忽。
三、對該問題的分析過程
發(fā)現(xiàn)這個問題后,由于當(dāng)時我經(jīng)驗不足,請教了一些人,尋求到一些建議,從以下方面對該問題逐一分析:1、熱敏電阻精度一致性;2、CPU的ADC采集誤差;3、外圍電路元器件精度;
1、熱敏電阻精度一致性:因熱敏電阻本身存在一定的差異,所以率先驗證該因素是否為影響測溫準(zhǔn)確度的主要因素,具體步驟為,在上述30+片溫度貼里取三片(附帶原熱敏電阻),①號溫度偏低,②號溫度接近水溫,③號溫度偏高,重新在一相對恒定水浴溫度內(nèi)測得三片裸板的對應(yīng)溫度并記錄下來,然后將三片裸板上的熱敏電阻一一取下,分別對應(yīng)a、b、c,然后彼此之間兩兩交換,并測量后記錄結(jié)果,發(fā)現(xiàn)相比之下①號總是偏低,②號接近水溫,③號溫度偏高,三輪測試之后可以基本確定,同一批次的熱敏電阻導(dǎo)致該溫度誤差的可能性已經(jīng)可以被排除;
2、CPU的ADC采集誤差:將三片裸板的TLV521取下,斷開其與CPU的連接,將ADIN接GND,讀取采集到的值轉(zhuǎn)化成電壓值,三片一致性較好,幾乎為0,故ADC的影響可以忽略;
3、外圍電路元器件精度:首先驗證橋上各個電阻阻值大小及精度對溫度準(zhǔn)確度的影響,選取上述圖1中的一組1%精度電阻值后,先后換了兩組,測試數(shù)據(jù)發(fā)現(xiàn)溫度并無大的改善,也沒變得更差,基本排除電阻值對溫度準(zhǔn)確度的影響;其次就是對TLV521的測試,可以從圖2中觀察到TLV521的電氣特性第一項Vos較大,當(dāng)前硬件設(shè)計中模擬電壓約5mV對應(yīng)0.1°,所以極有可能是因為這個特性指標(biāo)造成溫度誤差較大,接下來的測試就是針對TLV521進行,第一步,我先把當(dāng)前狀態(tài)下的三片裸板(①號溫度偏低,②號溫度接近水溫,③號溫度偏高)溫度貼再次測試一下恒溫水浴下的溫度并一一記錄數(shù)據(jù),然后將三片板子上的TLV521兩兩互換,保證其他量不變,發(fā)現(xiàn)①號的TLV521無論換到哪塊板子上,測試出的溫度始終是低的,且與其在①號上時近似,然后將②號板子上的TLV521取下放在另外兩塊板子上,發(fā)現(xiàn)測得溫度與②號板子之前的數(shù)據(jù)近似,如此操作,對下一個驗證,結(jié)論仍是如此,到此基本可以確定,TLV521的影響是造成溫度準(zhǔn)確度不夠的主要因素。
圖2
四、解決該問題的修改方案
針對以上分析的結(jié)果,已經(jīng)基本確定是TLV521的Vos電壓導(dǎo)致,所以,綜合部門總管和嵌入式軟件工程師的討論,有兩種解決辦法:a、換一個性能更好的運放,如TLV333;b、可以用ADC采集熱敏電阻阻值在30K(對應(yīng)37°)時的電壓值與標(biāo)準(zhǔn)電壓值作比較,并自動補償該差值寫入flash,之后的計算調(diào)用該值以達到校準(zhǔn)的目的;顯然,從成本和當(dāng)前情況來看,a方案是不可行的,所以采取了b方案,具體可行性分析還要經(jīng)過驗證;接下來嵌入式軟件工程師針對當(dāng)前現(xiàn)象以及討論的解決方案進行了固件改進,搭載硬件燒寫工具進行了再一次測試,前期選取的樣本仍是之前測試的三片板子,燒寫過最新修改的固件版本以后,可以讀取寫入的偏移量,初步計算后發(fā)現(xiàn)不同板子的偏移量值均處于-15.00~+15.00mV區(qū)間范圍內(nèi),然后放入恒溫水浴測試,結(jié)果發(fā)現(xiàn),三片板子測得的數(shù)據(jù)一致性較之前有很大提高,且均處在37°±0.1°范圍內(nèi),該結(jié)果已初步驗證了上述解決方案的可行性,為了確保萬無一失,我又進行了多片抽樣驗證,最終的測試結(jié)果與前三片一致,故說明定位的問題及解決方案均正確,該問題算是基本解決,但為了產(chǎn)品升級的需要,且后來發(fā)現(xiàn)一個問題,熱敏電阻的一致性僅限于每一批次,即同一批次生產(chǎn)出來的熱敏電阻我們認(rèn)為它的曲線一致性較好,但下一次批次就會有所偏差,或偏大或偏小,所以為了更好地校準(zhǔn)熱敏電阻,嵌入式軟件APP端計算好的擬合曲線沒辦法對每一批次修改升級,后期嵌入式軟件又加入了對不同批次的熱敏電阻進行抽檢預(yù)測試,即通過抽檢確定該批次的一個誤差范圍,然后將該誤差通過嵌入式軟件中分配一塊區(qū)域存儲并后期計算時調(diào)用,這樣就解決了升級卻不會修改測溫精度的問題,希望這種工程案例能對你們有所啟發(fā)和幫助。
五、最終結(jié)果
以上描述是解決溫度貼1.0版本溫度不準(zhǔn)確的一些重要步驟,當(dāng)然還有一些中間進行的操作沒有具體說明,或者說是因個人能力不夠做了一些無用功,沒能夠快速準(zhǔn)確地定位到是TLV521導(dǎo)致的,慶幸的是,在部門總管和眾人的幫助下,終于找到問題所在并成功解決,這算是我工作中的一個學(xué)習(xí)和進步。
附:
當(dāng)然,上述陳述中是前期溫度貼1.0版本存在的一個較大的問題,后期我們有發(fā)現(xiàn)了一些額外的問題:a、不同溫度狀態(tài)下,測得溫度與實際水溫存在偏差,如25~35°時偏高超出0.1°,36~39°時偏低在0.1°內(nèi),39~45°高出實際水溫0.2~0.4°;b、正確使用方式下測得的溫度偏低于人體溫度,我們欲使其偏高于準(zhǔn)確溫度0.1°,故后面又經(jīng)過了一輪新的測試;c、人體測溫時升溫速度慢;
針對上述問題a、b的現(xiàn)象,后面增加了一些測試及驗證,因懷疑不同批次的熱敏電阻存在R-T曲線誤差,所以為了解決a、b問題,我們對R-T曲線做了取舍,將原來的擬合范圍由25~45°縮小至30~40°,能夠保證在30~40°范圍內(nèi)準(zhǔn)確度在±0.1°內(nèi),然后為了使其正偏,即高于實際水溫(0,0.1)°,而且能夠適應(yīng)不同批次的熱敏電阻,嵌入式軟件工程師在flash中預(yù)留一定字節(jié)的空間來存儲校準(zhǔn)系數(shù),且經(jīng)過首輪驗證和再次驗證,成功證實了該方案的可行性,只是有些繁瑣且必要的前期測試要做,如針對每一批次的熱敏電阻抽取一定的樣本,經(jīng)過測試和驗證,確定出一條適用于該批次的溫度擬合曲線,將其系數(shù)寫入flash以得到符合既定要求的溫度數(shù)據(jù)。