章 恒,竇銀科,馬春燕,左廣宇,楊望笑,張虎嘯,王煜塵
(太原理工大學電氣與動力工程學院,太原 030024)
極地作為地球上最大冷源,其冰蓋或海冰熱力學的變化對全球大氣環(huán)流、氣候變化和海平面變化有極大影響,極地淺層冰蓋和海冰溫度場的變化直接反映了溫度變化與極地冰雪熱動力學直接相關,是研究全球氣候變化的指示劑[1],所以極地冰雪多點連續(xù)溫度場的精確檢測非常重要。國內大連理工大學的李志軍教授曾設計了用于觀測海冰溫度場的多點溫度觀測裝置。每個層位的測溫鉑電阻需一根獨立的信號線纜直接與數據采集盒連接,不足之處是隨測量層位的增多,會導致導線越多。國外,蘇格蘭海洋協會開發(fā)了基于半導體溫度傳感器DS28EA00的多點測溫的溫度鏈,該產品的靈活性較高,多用于測量海、冰、氣溫度剖面,來計算海冰厚度,但是由于所使用的DS28EA00溫度傳感器具有測溫精度較低的缺陷,使得該產品無法滿足高精度測量極地溫度場的需求。
常見的電學測溫主要有熱敏電阻、熱電偶和半導體等方法。其中熱敏電阻的阻值與溫度關系的非線性誤差較大,元件的一致性差,易老化不穩(wěn)定,且絕大多數熱敏電阻僅適合0~150 ℃的測溫范圍。熱電偶的測量溫度范圍廣,但是精度低。半導體測溫受溫漂影響較大,尤其在低溫下精度會大幅度下降,并不適合在極地極低溫環(huán)境中使用。在多點測溫系統中較為成熟的單總線溫度傳感器為DS18B20[2-5],該傳感器以64位序列號作為唯一的地址,可以實現一根總線上鏈接多個溫度傳感器,但仍然具有測量精度低和低溫性能不佳的劣勢,不適用于極地冰蓋溫度場的高精度觀測。文獻[6-10]采用鉑電阻測溫,但是不具有鏈接功能。文獻[11]為多通道鉑電阻測溫的相關研究,但是采用的方法是通過模擬開關CD4052進行多路選擇,不僅測量點數數量有限,而且這種測量方法當測量點數較多距離較遠時就需要大量的導線,因為每路鉑電阻都需要單獨一對導線。針對以上問題,本文設計多點測溫系統使用多機通訊方式,從機采用低功耗單片機MSP430G2553、24位高精度AD轉換芯片和鉑電阻,既保證了較高的測量精度又實現了每個從機可以設置自己獨有的地址,無需增加額外的線纜。主機和從機采用RS485總線的通訊方式,主機與50個從機共同鏈接在485總線上,而且從機個數可以視測量深度和點數進行相應變動,具有極大的靈活性。對本測溫系統進行了野外現場試驗,驗證了溫度鏈在極地低溫環(huán)境的適用性。
本文以Pt1000鉑電阻作為敏感元件進行精確的單點溫度測量。鉑電阻測溫工作原理為:鉑金屬材料在不同的溫度下電導率不同,鉑絲的電導率與溫度之間大致成正比的關系,其可測量的溫度范圍大致在-200 ℃~600 ℃。Pt1000溫度傳感器還具有抗振動、穩(wěn)定、測溫精度高、耐高壓、壽命較長等優(yōu)點[12]。
Pt1000在0 ℃下阻值R0=1 000 Ω,以0 ℃為分界線,鉑電阻阻值與溫度關系可以分為兩個溫度段,具體關系式為[13]:
溫度在-200 ℃~0 ℃之間時:
RPt=R0[1+At+Bt2+C(t-100)t3]
(1)
在0~650 ℃之間時:
RPt=R0(1+At+Bt2)
(2)
式中:t為溫度(℃);RPt為鉑電阻在t℃的阻值(Ω);R0為鉑電阻在0 ℃的阻值(Ω);A、B、C的值分別為A=3.908 02×10-3℃-1、B=-5.801 95×10-7℃-2、C=-4.273 50×10-12℃-3。
非平衡電橋在信號調理電路中應用極為廣泛[14],利用非平衡電橋可以測量連續(xù)變化物理量的優(yōu)勢測出鉑電阻阻值,再根據阻值計算出溫度。
本文設計的多點測溫的溫度鏈結構如圖1所示,外部設備擁有最高控制權,能夠通過任何帶串口的設備對主機發(fā)送指令,比如計算機、工控機、單片機等;主機根據接收的指令執(zhí)行相應的命令,并把必要的消息傳達給相應的從機;從機主要任務精確測量當前溫度點的溫度,當沒有任務時處于待機休眠狀態(tài),接收到主機發(fā)送的指令就立刻退出休眠,判斷要執(zhí)行的任務,即刻進行處理并回復消息。
圖1 溫度鏈結構圖
圖2 柔性溫度鏈實物圖
本文所設計的溫度鏈主要用于測量極地冰蓋或海冰不同深度冰層或冰水層的溫度場,故而溫度鏈需要有防水、耐低溫的功能。為防止海水侵蝕對溫度鏈進行硫化處理,為保證溫度鏈在低溫條件下正常工作,在元件選型時選用耐低溫元件。溫度鏈主要分為三部分,主機、從機、硬質和柔性電路板。主機既要保證其與從機的數據交互準確又要確保其與外界通訊順利。從機要保證功耗低、精度高、響應快。為了防止極地條件下冰層的擠壓使溫度鏈發(fā)生破壞性的形變,所以在設計中采用柔性電路板與硬質電路板相結合的方式,這樣設計出的溫度鏈既可以彎曲且有一定的柔韌性,方便運輸攜帶,還可以抗拒一定的外力影響。溫度鏈實物如圖2所示。
溫度鏈的主機和從機均采用硬質電路板,保證了電子元器件的穩(wěn)定性,從機之間的鏈接采用柔性電路板,柔性電路板上僅布有4根線分別用于供電和通訊,通過提前預留的焊盤與柔性電路板焊接到一起。從機的硬質PCB電路板長度為2.5 cm,考慮到柔性電路板有足夠的彎曲空間,所以各個溫度點之間的最小間距設定為3 cm。溫度鏈經過防水處理后,寬度約為22 mm。溫度鏈系統圖如圖3所示。
圖3 溫度鏈系統圖
主機與從機之間通訊方式選用RS485總線標準,采用具有八分之一負載阻抗的MAX1483ESA芯片,通訊傳輸距離可達1.2 km,數據傳輸速率高達2.5 Mbyte/s,可以滿足千米級溫度鏈的需求。
從機選用的主控芯片為MSP430G2553單片機,此芯片由TI公司生產,正常運行程序時主頻設置為1 MHz、2.2 V供電情況下電流為230 μA,待機模式下電流為0.5 μA,從待機模式中喚醒的時間小于1 μs。高精度模擬量采集芯片選用TI公司生產的精密24位模數轉換芯片ADS1232,其高度集成的24位ADC電路,包含多路輸入、低噪聲PGA、三階的調制器及四階的數字濾波器。ADS1232還具有低功耗待機模式或完全斷電模式,可降低從機功耗。
從機電路主要考慮的是測溫精度高,體積小,功耗低,方便集成至柔性電路板,為減小從機體積,模數轉換芯片ADS1232使用內部振蕩器。由于AD模塊與鉑電阻距離極短,線路電阻可以忽略,所以信號調理電路使用非平衡電橋法,可以獲取較高精度的鉑電阻阻值。從機電路圖如圖4所示。
圖4 從機電路圖
圖4中的組成主要有電橋、模數轉換芯片ADS1232、單片機MSP430G2553、串口TTL電平與485電平轉換芯片MAX1483。根據芯片的數據手冊對從機的硬件電路進行設計。從機電源電壓等級有3.3 V和5 V,使用3.3 V為單片機MSP430G2553和ADS1232的數字供電口供電。為了減小數字信號對模擬信號的影響,分別獨立設計5 V的模擬電源AVCC和數字電源DVCC兩種,電橋和ADS1232模擬供電口均采用5V電壓供電。
單片機MSP430G2553與ADS1232之間通訊使用簡單的串行數字接口,當一次模數轉換結束后,DOUT引腳會由高電平變?yōu)榈碗娖?單片機MSP430G2553的P2.3引腳檢測到該電平的變化后由P2.4引腳向ADS1232的SCLK引腳發(fā)出時鐘信號,每當SCLK接收到上升沿時,ADS1232將數據通過DOUT引腳從高位到低位逐一輸出。PDWN引腳用于控制ADS1232是否進入低功耗,進入低功耗模式時其功耗接近于零。
電橋兩端輸入電壓UAC作為ADS1232的參考電壓VREF,即UAC=VREF,電橋的輸出電壓ΔUo作為ADS1232的測量電壓,其中參考電壓VREF=VREFP-VREFN,輸出電壓ΔUo為:
(3)
由ADS1232數據手冊得知AD轉換得到的數據ADCX為:
(4)
由式(4)可知,ADCX的值與ΔUo/VREF值成正比,由式(3)可知當R1、R2、R3為定值時,ΔUo/VREF僅與電阻RPt阻值有關,聯立式(3)、式(4)可知所測鉑電阻阻值RPt僅與增益G和ADCX有關。所以溫度一定的情況下,這種測量阻值方法不受輸入電壓波動的影響。即在溫度一定的情況下,即使電橋兩端輸入電壓UAC發(fā)生改變,ΔUo與VREF比值不變,ADCX的值不會受到系統電壓的影響,從而可以更精確的計算出鉑電阻阻值。
為了方便計算,在設計電橋時選用R3=1 kΩ,且令R1=R2。由ADS1232數據手冊查知ADCX的變化范圍是-223~223-1,在測量溫度范圍一定時,即鉑電阻阻值RPt變化范圍一定時,由式(5)可知此時增益G越大橋臂電阻R1和R2的值就越大。ADS1232的低噪聲可編程增益有1、2、64、128。本文選用了較大的增益為64,可以在一定程度上增大橋臂電阻R1和R2,從而減小產生電阻發(fā)熱的影響,從而提高了測量精度。最終橋臂電阻阻值選取為R1=R2=47 kΩ,R3=1 kΩ,計算得可測得溫度范圍約為-100 ℃~+100 ℃,在此溫度范圍內鉑電阻阻值范圍是602.6 Ω~1385.1 Ω,計算可得流過Pt1000的電流范圍為67.9 μA~69.4 μA,滿足極地條件下的測溫需求。
當G=64,R1=R2=47 kΩ,R3=1 kΩ時,由式(3)和式(4)得RPt為:
(5)
由于ADS1232的測量電壓可以是雙極性的,可以通過識別ADCX的符號位來判斷溫度的正負值。由式(5)可知,鉑電阻的測量精度僅與橋臂電阻和AD轉換模塊精度有關。橋臂電阻使用高精度電阻并可通過單片機中的算法進行校準補償。模數轉換芯片ADS1232為24位高精度轉換模塊,非線性度典型值為±0.000 2%,所以測溫單元具有較高的測量精度。
主機單片機選用STC15W4K56S4,這款單片機的主頻30 MHz,具有四個串口,滿足通訊的需求。主機電路結構較為簡單,主要由51單片機、場效應管、MAX1483組成。其結構圖如圖5所示。
圖5 主機結構圖
溫度鏈采用RS485通訊方式,一主多從的通訊結構,即各個從機只能與主機進行通訊,從機之間不能通訊。使用這種通訊結構,總線中的主機發(fā)送指令,所有的從機均能收到指令,因此主機可以進行廣播通訊,發(fā)出指令使所有的從機在同一時刻采集溫度,主機再分別在從機處逐一讀取回溫度數據。采用這種方式可以保證溫度鏈能同時采得所有溫度點的溫度值。主機與從機的通訊協議是溫度數據能夠正確傳輸的保障,為滿足通訊要求,制定了溫度鏈主機與從機之間的通訊協議[15],其幀格式如圖6所示。
圖6 通訊協議幀格式
溫度鏈內部主從機之間通訊協議中每一個數據包中含有幀頭、長度、目標地址、源地址、指令、數據、CRC校驗。其中指令即為要執(zhí)行的命令,從機指令中包括寫地址、讀地址、測量溫度、讀取溫度、溫度校準等。主機指令中包括寫地址、讀地址、設置采樣間隔、獲取采樣間隔、設置從機個數、獲取從機個數、上傳溫度數據、設置采樣模式等。本通訊協議中,所有的從機不僅有自己單獨的地址而且有一個公共地址0xFFFF。設置公共地址的目的是為了方便主機進行廣播通訊,設置單獨的地址是為了主機能夠逐個獲取從機采集到的溫度數據,以防通訊紊亂。
由于溫度鏈從機個數較多,降低從機功耗可以有效的控制溫度鏈功耗。在程序設計中,從機在空閑狀態(tài)下單片機控制ADS1232芯片進入待機模式,并且單片機進入低功耗模式LPM3,而MAX1483芯片由于需要時刻等待RS485總線上的數據保持接收狀態(tài)所以不能進入低功耗模式,此時的功耗主要集中在MAX1483上,這時便是溫度鏈的最低功耗。當從機需要執(zhí)行命令時,主機會通過RS485總線向從機發(fā)出數據包,從機接收到數據包后進行判斷,當數據包中的目標地址與從機地址相同時,通過單片機的串口中斷程序退出低功耗模式并執(zhí)行相應的命令,工作完之后立即進入低功耗模式LPM3。
對溫度鏈中的單個從機和主機進行功耗測試,使用Agilent E3632A電源調至5.000 V進行供電、Agilent34401A數字萬用表測量電流,功耗即為電壓與電流的乘積,測得的數據如表1、表2所示。
表1 從機功耗
表2 主機功耗
在睡眠時主機單片機控制場效應管關斷所有溫度點電源,所以整條溫度鏈睡眠電流為 0.03 mA。測量溫度時最大工作電流為(5.98+2.8×n)mA,其中n為測量的溫度點數,實際測試50個點的溫度鏈的最大電流157 mA,低功耗模式下最小電流為0.033 mA,在極地的實際使用中,滿足極地的低功耗需求。
由于本溫度鏈的各溫度單元相互獨立,鉑電阻在測溫單元的引出線只有幾毫米,引線電阻可以忽略,測得的電阻即可認為是為鉑電阻阻值。橋臂電阻所采用的電阻精度為0.01%、溫漂為5×10-6;24位高精度模數轉換芯片ADS1232非線性度典型值為±0.000 2%。在不考慮老化的情況下,每個測溫單元在同一溫度下的橋臂電阻阻值是一定的,雖然使用的電阻精度是0.01%,但是可以通過在不同溫度下的校準來補償電阻產生的誤差。
通過把從機放在溫度箱中,每隔10 ℃對測溫單元進行一次校準,來消除主要由溫漂帶來的誤差。在測量溫度時自動讀取校準值來進行擬合,通過算法的跟蹤補償校準,使得本溫度鏈各測溫單元具有較高的測溫精度。
隨機取出一個從機,為了測試精度方便,在常溫下使用電阻箱對測溫電路的精度進行間接測試。使用電阻箱代替鉑電阻,在不同的阻值下使用測溫電路對其進行阻值測試,測量電路的誤差,實驗測得的數據見表3。
表3 實驗數據誤差分析
表3中實測平均值為使用測溫電路對電阻箱的阻值測量10次后取得的平均值,理論溫度和實測溫度分別為電阻箱阻值和實測平均值根據式(1)、式(2)計算出的理論溫度值。從表3中可知測溫電路測得的電阻最大相對誤差為0.002 7%,計算的測量溫度最大誤差為0.006 9 ℃,滿足極地條件下的溫度采集需求。
2017年1月31日~2018年2月27日冬季于內蒙古烏梁素海對溫度鏈進行測試,安裝時間:2018年1月31日,安裝位置:40°57.369 8′ N,108°56.121 0′ E,安裝時冰厚:37.8 cm,安裝時水深:140 cm,第23個測溫點位于冰面位置,第50個測溫點位于冰面下1.3 m位置處,安裝時照片如圖7所示。
圖7 安裝時照片
本次實驗制作了一條50個測溫點的溫度鏈、測溫點之間間隔5 cm,總長2.5 m。在第37個點安裝一支精度為0.01 ℃的溫度探頭。
讀取2018年2月1日的溫度鏈實測數據,繪制溫度鏈不同點溫度值如圖8所示。
圖8 溫度鏈實測數據
由圖8分析可知,可以明顯看出空氣、冰和水之間的溫度差異。第23個點為空氣與冰的分界面,約在溫度鏈的第31個點為冰水分界面。溫度鏈的第37個點,位于冰下約0.7 m處,與放置此處的精度為0.01 ℃溫度探頭進行對比,誤差分析如圖9所示。
圖9 誤差分析
圖9中的最大標準差約為0.14 ℃,標準差較大的原因可能是因為溫度鏈經過了硫化處理,具有一定的隔熱作用導致溫度不能及時的傳導至溫度敏感單元。白天6:00~18:00受光照和天氣的影響,溫度變化較快,所以白天的誤差較大,而晚上18:00~6:00不受陽光影響,溫度變化慢,此階段的最大標準差約為0.07 ℃,最小標準差為0.00 ℃。
在一天內每10 min采集一次溫度數據,選取2018年2月1日三個層位的實測數據,溫度鏈不同測溫點溫度數據與時間的關系如圖10所示。
圖10 不同點溫度與時間關系
由圖10可知,空氣、冰和水在一天內的溫度變化情況明顯不同,第1個測溫點溫度變化曲線即為空氣溫度變化曲線,空氣溫度受氣流和光照影響較大,所以一天內的溫度變化范圍較大。第30個測溫點和第50個測溫點溫度變化曲線變化范圍較小,對其進行縱坐標放大,如圖11、圖12所示。
圖11 第30個點溫度變化曲線
圖12 第50個點溫度變化曲線
圖11為第30個點測得冰的溫度變化曲線,變化范圍約為0.6 ℃,圖12為第50個點測得水的溫度變化曲線,變化范圍約為0.07 ℃,通過與第1個測溫點溫度變化曲線對比,三者變化趨勢大致相同,證明溫度鏈可檢測到水和冰溫度的變化。由于在數據傳輸過程中為了減少數據量,測量的溫度值僅保留兩位有效數字,滿足極地測溫需求。
多點低溫低功耗高精度鉑電阻溫度鏈,不僅具有較高測量精度、較低的功耗,而且使用RS485總線通訊的方式,理論上可以鏈接數百個溫度傳感器,每個傳感器均具有各自可以更改的16位地址。測溫單元測溫范圍為-100 ℃~100 ℃,理論分辨率為0.000 33 ℃,使用電阻箱實測其最大測量誤差為0.006 9 ℃。采用的24位模數轉換芯片ADS1232,用其直接測量電橋輸出電壓與電橋輸入電壓比值的方法,使測量精度不受外部供電電壓波動的影響。通過溫度補償,降低了橋臂電阻精度和ADS1232模數轉換精度影響。經過實驗室低溫柜低溫實驗表明溫度鏈在-70 ℃的環(huán)境下可以正常工作,工作范圍和精度已超過一般半導體溫度傳感器,本文設計的基于Pt1000高精度溫度傳感器有明顯的優(yōu)勢。