陸 英
智能變送器具有檢測某種變量如壓力、溫度等,以及把檢測結果傳送出去的功能。自1983年Honeywell推出智能儀表-Smar變送器之后,世界各廠家相繼推出各有特色的智能儀表。如 Rosemount的 1152Smart,Moore產品公司的Mycro XTC,Lee Engineering公司的Smar LD301等產品[1]。
經過20年的發(fā)展,智能變送器的發(fā)展更趨完善,功能增強和多樣化,他們具有變送、控制、故障診斷及過程報警等功能。隨著單片機、集成電路等各項電子和通訊行業(yè)的發(fā)展,智能變送器將向著更智能化、小型化方向發(fā)展。
為了實現溫度變送器低成本,高效率使用,設計了基于MSP430F169芯片的智能全輸入式溫度變送器,使用6通道24位采樣轉換芯片AD7794,在保證0.1%FS精度的同時,通過對AD寄存器設置實現不同小信號的放大增益,實現多分度號多通道輸入功能及冷度溫度補償功能。由于全輸入式溫度變送器的輸入信號基本包括所有常見分度號、并且具有雙通道輸入、溫度補償等功能,操作簡單、功能強大,在軟件處理方面進行了改進,使系統(tǒng)的實時性,精確度更高。目前該產品已投入大量生產,在冶金、石油、化工、電力、輕工、紡織、食品等許多行業(yè)得到廣泛應用。
1)多分度號選擇:包括傳感器類型(B、S、K、T、E、J、K、N 共8種熱電偶(TC),CU50、PT100、PT1000等熱電阻(RTD)及 10~100mV 信號)。
2)多輸入通道選擇:采用CD4052多路模擬選擇開關芯片對采樣通道數進行選擇??蓽y量任一輸入通道或同時測量二路輸入通道。
3)信號放大及采樣:AD7794芯片對輸入小信號進行放大、采樣,并將A/D轉換結果送給單片機,其放大倍數包括1、2、4、8、16、32、64、128。
4)線性校正:軟件用差分原理,通過查表方法對不同分度號熱電偶,熱電阻進行非線性校正,其誤差小,精度高。
5)溫度補償:測量時,冷端的(環(huán)境)溫度變化,將影響嚴重測量的準確性。在冷端采取一定措施補償由于冷端溫度變化造成的影響稱為熱電偶的冷端補償。用戶可根據需要進行自動溫度補償或者手動溫度補償。
6)遠程監(jiān)控:變送器與上位機之間通過 RS232實現數據雙向通訊,上位機可遠程修改現場變送器儀表參數,現場變送器可隨時向上位機發(fā)送當前全部數據以供上位機系統(tǒng)數據管理。設置參數包括傳感器類型;輸入通道數;切換單位(mV、?、%、攝氏度);精度位數;報警上下限;量程上下限等。
控制電路采用MSP430F169單片機,使用內部EEPROM存儲器,用于存儲固定程序、分度號和設定參數,根據設定參數來確定儀表測量范圍的上下限,小信號的放大倍數和其他工作狀態(tài)。配合熱電偶和熱電阻檢測現場溫度,采用集成溫度傳感器檢測熱電偶冷端溫度。將毫伏信號、熱電偶或熱電阻檢測現場溫度的信號送到CD4052模擬開關,單片機控制通道的通斷,各信號被分時選通,再通過模數轉換器處理,單片機以查詢方式采集AD轉換器輸出信號然后進行數據處理、熱電偶冷端補償處理、線性化處理等,并將輸出數據通過光電耦合器送入D/A轉換器,同時輸出 1~5V.DC和4~20mA.DC信號。硬件電路原理圖,如圖1所示:
圖1 智能溫度變送器原理圖
智能溫度變送器擁有雙通道測量功能,需要選擇一個擁有多通道選擇開關芯片對選擇一路通道/兩路通道進行選擇。CD4052是雙四選一模擬開關,每組四選一模擬開關分別有2個二進制控制輸入。這兩位二進制信號可將4個模擬通道中任一個置為導通狀態(tài)[3]。使用真值表對通道選擇進行控制。
在本系統(tǒng)中,AD7794的IOUT1、IOUT2兩位對X/Y通道的輸入、輸出進行設置,取得所選中的電壓、電阻等信號。MCU根據所選上位機設置通道,通過MUX_A,MUX_B向模擬開關送兩位地址信號。RTD1A-RTD1B為第一路信號輸入通道,可輸入范圍包括熱電偶或熱電阻、小電壓信號;RTD2A-RTD2B 為第二路信號輸入通道,輸入范圍同第一路輸入通道;RTD_SURA-RTD_SURB為冷端溫度補償通道,僅在輸入信號為熱電偶信號時,同時接入,可進行環(huán)境溫度補償。CD4052電路控制狀態(tài),如圖2所示:
圖2 CD4052輸入、輸出狀態(tài)
傳統(tǒng)設計方式是在A/D前端設置信號調理電路,現代微電子技術的發(fā)展使諸如濾波、零點校正、線性化處理、量程切換、溫度補償等原屬信號調理電路完成的工作都可用軟件實現,大大簡化了電路設計。因此,越來越多的嵌入式設計只需側重考量放大電路本身的信號放大功能、阻抗和精度。本設計中,采用6通道24位Σ-Δ模數轉換芯片AD7794的片內儀表放大器對輸入電壓進行放大,可將其增益調節(jié)為1~128倍,8檔放大倍數。根據不同的量程,設置AD7794可編程輸入緩沖器的放大倍數,對輸入信號進行進一步放大。
由于上位機系統(tǒng)需要實時更新AD7794的采樣碼值,并根據采樣值進行處理,將結果傳送至LCD和上位機系統(tǒng)。所以軟件為了確保系統(tǒng)實時性,將數據的處理過程放在AD采樣后進行處理。當AD7794根據當前通道采樣數據后,標定數據,將其轉換為mV值或歐姆值,根據軟件設計好的傳感器線性化處理計算表,計算出對應的溫度值。最后對熱電偶進行溫度補償。
由于AD采樣是一個周期對一個通道進行采樣,所以在程序中采用先對中斷前設置的通道進行采樣,采樣處理完畢后進行顯示,最后設置下一次進入中斷的通道序列號的設計方法。由此可知每一個通道第一次采樣時,得到的AD采樣值為前次通道的采樣值,故在程序中丟棄每個通道的第一個采樣值,采用第二次及以后的采樣值進行計算處理。這種方法適用于采用AD7794芯片24位采樣精度的測溫系統(tǒng)。經過實驗及計算,可以發(fā)現每次采樣值只有后4位會發(fā)生變化,通過計算(24/224=0.0000009536)可以知道AD芯片后4位數據變化不會影響采樣精度0.1%。運用此種方法,不需要對采樣值進行多次采樣另外進行軟件濾波處理。
由通道傳送過來的信號經過AD采樣值標定將AD模擬量還原為輸入信號,輸入信號經過線性化處理和溫度補償后轉換為溫度值,通過LCD或者RS232向上位機發(fā)送數據顯示。AD中斷流程圖,如圖3所示:
圖3 AD中斷流程圖
2.2.1.1 數據采樣標定計算公式的改進
當得到系統(tǒng)的零度滿度標定值時,常用的標定點計算公式為:
由于在 AD采樣處理函數中會頻繁采樣并且調用此標定計算公式,除法計算會影響MCU處理速度,所以對處理公式作出改進:
其中:
Value_X 表示采樣AD碼值轉換的測量值(電壓值/電阻值);
ad_real 表示實際采樣的AD碼值;
Value_H 表示最大測量點(量程上限值),如PT100的Value_H 為300?;
Value_L 表示最小測量點(量程下限值),如PT100的Value_L 為100?;
ad_H 表示當前分度號滿度標定值,如PT100測量電阻為300?時的ad碼值為aeaf94H(11448212);
ad_L 表示當前分度號零度標定值,如PT100測量電阻為100?時的ad碼值為8f90dfH(9408735);
公式(3)和公式(4)僅在通道切換時進行調用,在分度號不改變的情況下,當前后測量通道有變化時,Main_Cal_k和Main_Cal _ b 參數此次切換時已經進行計算并保存;下次測量為同一通道時,將直接使用公式(1)和公式(2)已得到的數據,后面的采樣計算時將直接調用公式(2)。
以PT100為例,ad_real 測得10428473,使用公式(1)計算可得:
使用公式(2)(3)(4)計算可得:
由以上計算可知,第二種算法的結果與常用標定的計算結果幾乎沒有差別,因此可以保證計算的正確性與準確度,同時滿足系統(tǒng)實時性的要求。
2.2.1.2 傳感器線性化處理計算方法
由于溫度與 A/D轉換值之間的關系(非線性),需要對其進行非線性補償時,主要采用查表法與計算法結合在一起的插值法。
溫度T被分成多個均勻的區(qū)間,每個區(qū)間的端點A/D轉換值Nk都對應一個Tk,當A/D轉換值為Ni時,實際測量溫度值Ti一定會落在某個區(qū)間(Ti,Ti+1),采用線性插值法
溫范圍、輸出類型的變量可通過RS232存入flash,當上位機或手操器終端設備對該flash進行改寫時,智能溫度變送器可工作在用戶所需的測量類型和輸出類型。進行插值,用通過(Nk,Tk)和(Nk+1,Tk+1)兩點的直線近似代替原特性。
非線性校正處理采用一次差分原理,其公式為:
公式(5)中:
Vx、Tx:當前電壓值、溫度值
Vn+1、Vn:分別表示n+1點、n點的電壓值;
Tn+1、Tn:分別表示n+1點、n點的溫度值;
由以上公式可看出,線性化的精度由折線的段數決定,分段越多,精度和準確度越高。有時為了提高精度,也可采用拋物線插值[3]。
2.2.2.1 熱電偶的處理步驟
由于熱電偶需要溫度補償,所以在溫度變送器系統(tǒng)中,用戶通過上位機選擇自動/手動補償功能,MSP430系統(tǒng)對這一部分進行處理,實現溫度補償,具體實現步驟如下:
a)自動溫度補償:
1)AD7794對熱電偶通道采樣;
2)對采樣值進行標定,得到當前測量端熱電偶的輸出電壓E1;
3)AD7794對冷端補償通道采樣;
4)對采樣值進行標定,得到當前冷端電阻(PT100)的輸出電阻R0;
5)根據熱電阻的分度表,查分度表得到 R0對應的溫度T0,T0就是冷端溫度。
6)根據冷端溫度T0查熱電偶的分度表,將T0折算成對應的熱電勢(電壓)E0;
7)將E1和E0相加得到電勢E,查分度表得到E對應的溫度T,T就是測量端的實際溫度[4]。
b)手動溫度補償:
1)AD7794對當前通道采樣;
2)對采樣值進行標定,得到當前測量端熱電偶的輸出電壓E1;
3)上位機輸入的溫度值為補償溫度T0;
4)根據補償溫度T0查對應電偶的分度表,將T0折算為對應的熱電勢(電壓)E0;
5)將E1和E0相加得到電勢E,查分度表得到E對應的溫度T,T就是測量端的實際溫度。
手動溫度補償通過用戶在上位機設置當前環(huán)境溫度,此時溫度變送器電路將不會測量熱電偶兩端的冷端溫度,并將輸入溫度代替冷端溫度。
2.2.2.2 熱電阻的處理步驟
1.AD7794對當前通道采樣;
2.對采樣值進行標定,得到當前測量端熱電阻的電阻值R;
3.根據熱電阻的分度表,查分度表得到R對應的溫度T,T就是測量端的實際溫度。
處理完畢后的溫度值通過MCU和RS232接口的通訊,將其傳送給上位機并且顯示。實現智能編程接入,由于MSP430F169內置60KB flash,決定變送器當前測量類型、測
3.1 實驗結果
表1為本系統(tǒng)應用中PT100的溫度電阻理論測量值和實際測量值,實驗結果表明,在不影響精度和性能的基礎上,改進的軟件設計大大優(yōu)化了系統(tǒng)、并且使系統(tǒng)擁有良好的穩(wěn)定性、實時性。通過對新方法的實驗,觀察實驗結果,可以證明本文所提出的方法能夠提高系統(tǒng)的采樣精度,如表1所示:
表1 PT100測量結果
本文提出的全輸入型智能溫度變送器,使用AD7794轉換芯片對輸入信號進行放大增益,取消常用的信號放大模擬單元,對輸入信號的標定、非線性化處理,使少量的存儲空間可以實現復雜的算法,能夠滿足工業(yè)過程控制中的精度要求。經實際應用,本產品可穩(wěn)定應用于工業(yè)過程控制場合,在全國多家企業(yè)中得到廣泛應用。
[1]admin,基于 HART協(xié)議的智能變送器設計[DB/OL],中國自動化儀表網,[2008-02-20],http://www.ca18.net/news/content-102393.htm
[2]CD4052芯片中文資料
[3]張雷杰,章潔平,寬量程高精度鉑電阻溫度變送器設計[J],導彈與航天運載技術,2010,(4):57.
[4]白鳳山,熱電偶冷端溫度補償的說明[DB/OL],中國工控網,[2010.09]http://www.cheminfo.gov.cn/HezuoPage/gongkong.aspx?code=cheminfo&action=detail&type=Paper&infoId=201 0093014022700002