王建林
(上海禹舜電氣有限公司 研發(fā)部, 上海 200090)
熱電偶是根據(jù)熱電效應(yīng)測量溫度的傳感器,是溫度測量儀表中常用的測溫元件。將不同材料的導體A和B接成閉合回路,接觸端的一端稱測量端,另一端分開,用導線接入顯示儀表,稱為參比端。若測量端和參比端的溫度T和T0不同,則在回路A、B之間就產(chǎn)生熱電勢Eab(T,T0),這種現(xiàn)象稱為塞貝克效應(yīng)(Seebeck effect),即熱電效應(yīng)[1]。熱電勢Eab(T,T0)大小隨導體A 、B 的材料和兩端溫度T和T0不同而不同,這種回路稱為原型熱電偶。在實際使用中,傳感器往往會部署多個,數(shù)量一般多于控制器,且需要頻繁讀取各個傳感器的數(shù)值以便實時掌握環(huán)境參數(shù)。一般熱電偶具有-200~2 000 K的較大寬度測量范圍,因此在各類測試系統(tǒng)中被廣泛應(yīng)用[2]。如此廣泛應(yīng)用的傳感器信號,在現(xiàn)場安裝接線工程中,由于熱電偶既有正負極性之分,若接錯正負極性,則測量儀表將無法正確測量溫度,帶來巨大經(jīng)濟損失[3]。
出現(xiàn)熱電偶補償導線正負極與熱電偶反接有兩種原因:一是熱電偶補償導線標注不規(guī)范,難以辨認,甚至有的廠家將極性顏色標錯;二是設(shè)備安裝人員對補償導線不了解,將其當成普通導線使用。如果將熱電偶補償導線正負極與熱電偶正負極反接,而熱電偶的正負極與儀表的正負極一致,這樣的錯誤最難發(fā)現(xiàn),因為熱電偶熱端溫度變化和控制儀表的顯示的溫度是一致的。此類錯誤不但不能延長熱電偶冷端的作用,其誤差反而比使用普通導線更大[1]。如果補償導線與熱電偶正負極反接,那么熱電偶冷端溫度不僅得不到補償,反而會產(chǎn)生2倍誤差[3]。
由于熱電偶傳感器自身的溫度靈敏度較低,輸出電動勢很低,在微伏、毫伏級別計入采集裝置的二次測量儀表必須先進行信號放大,再轉(zhuǎn)換為溫度值。對微伏、毫伏級別的微弱電壓信號進行放大一般都使用運算放大器。 采用運算放大器測量時,要求接入運算放大器的傳感器信號極性必須正確,錯誤的反向接線將無法獲得正確的放大輸出信號,進而影響正確測量。目前,各類儀器儀表在現(xiàn)場施工安裝過程中,接線極性錯誤的情況時有發(fā)生。對于大型火力發(fā)電廠,僅僅鍋爐側(cè)測溫裝置就有上百臺,上千個測溫點和上千只熱電偶,如此大量的熱電偶在安裝接線時必須萬分小心,不可接反極性,否則后期還得返工查驗,糾正接線,工作量繁重復雜。更困難的是,當熱電偶冷端與熱端溫度相等時,輸出信號電壓值為0 mV,簡單使用萬用表電壓擋根本無法分辨正負極。
本文研究如何實現(xiàn)熱電偶傳感器數(shù)據(jù)多路采集的反極性自動識別,并自動進行極性交換。
首先,利用交叉開關(guān)矩陣電子開關(guān)、可編程運算放大器、A/D轉(zhuǎn)換器等搭建電路。該電路基本原理如圖1所示。圖1中,多路信號輸入先進入交叉開關(guān)矩陣電子開關(guān)K1、K2、K3,……,K30。AIN0~AIN15為模擬量輸入通道。AVDD為運算放大器工作電源正極和負極。PGA為可編程增益放大器。AVSS、ADC為模擬量和數(shù)字量轉(zhuǎn)換器。
圖1 搭建電路基本原理
正確極性(正極性)接線如圖2所示。即裝置開機初始化默認K1、K4閉合,K2、K3斷開。運算放大器輸出為正,系統(tǒng)工作正常。
圖2 正極性接線示意
錯誤極性(反極性)接線如圖3所示。即正負極性反接,裝置開機初始化默認K1、K4閉合,K2、K3斷開。此時運算放大器輸出為零或小于零,輸出負信號,AD系統(tǒng)工作異常。
圖3 反極性接線示意
此時CPU發(fā)出交叉開關(guān)矩陣電子開關(guān)切換指令,切換為K1、K4斷開,K2、K3 閉合。糾正極性后接線示意如圖4所示。
圖4 糾正極性后接線示意
首先設(shè)定或規(guī)定一個反極性判據(jù),單片機依次判據(jù)識別當前接線是否反極性。為避免錯誤判斷(如偶爾有高頻干擾信號尖峰脈沖,也可能臨時出現(xiàn)負信號等),設(shè)置判別依據(jù)基于閾值判斷規(guī)則?;趯?yīng)測量裝置閾值判斷規(guī)則包括:時間閾值判斷規(guī)則和/或數(shù)量閾值判斷規(guī)則。不能僅依賴信號正負進行判定的原因在于,低于冷端溫度的熱電偶輸出電壓值為負。本文選取熱電偶接反的閾值為-0.2 mV,軟件編程為:
……
if(AD_mV[byChannel]<-0.2)//反極性
{
if(++AD_PolarCNT[byChannel]>30)//延時10 s后執(zhí)行極性自動轉(zhuǎn)換
{
if(AIChCfg[byChannel].ChPolar==0)
{AIChCfg[byChannel].ChPolar=1;}//需要極性交換標志位置1;
else
{
AIChCfg[byChannel].ChPolar=0;}
AD7124_PolarCNT[byChannel]=0;
FDH_Changed=1;
}
}
else
……
程序中,AD_mV[n]為A/D 通道n的采樣值;PolarCNT[n]為通道n的采樣計數(shù)器;AIChCfg[n].ChPolar為通道n的極性值。
基于對應(yīng)測量裝置在一時間閾值內(nèi)的各數(shù)字信號,判斷所述運算放大器輸出放大模擬信號為負的個數(shù)是否符合設(shè)定閾值,來識別對應(yīng)測量裝置的正負極是否為反接。若符合設(shè)定閾值,則識別對應(yīng)測量裝置的正負極為反接;若不符合閾值,則識別對應(yīng)測量裝置的正負極不為反接。時間閾值判據(jù)的作用主要是為了避免出現(xiàn)雷擊浪涌等干擾時,可能出現(xiàn)的負的尖峰脈沖干擾而導致的極性誤判。軟件編程為:
if(++AD_PolarCNT[byChannel]>30)//延時10 s后執(zhí)行極性自動轉(zhuǎn)換
{
if(AIChCfg[byChannel].ChPolar==0)
{AIChCfg[byChannel].ChPolar=1;}//需要極性交換標志位置1;
……
基于對應(yīng)測量裝置的各數(shù)字信號,判斷所述運算放大器在輸出放大模擬信號為負的個數(shù)是否超過設(shè)定數(shù)量閾值,來識別對應(yīng)測量裝置的正負極是否為反接。若超過設(shè)定數(shù)量閾值,則識別對應(yīng)測量裝置的正負極為反接;若不超過設(shè)定數(shù)量閾值,則識別對應(yīng)測量裝置的正負極不為反接。舉例來說,當連續(xù)10 s以內(nèi),CPU經(jīng)多次采樣都采樣到負信號,則判為信號接反,開始啟動極性交換任務(wù)進行極性交換。
當CPU連續(xù)多次采樣均為負值(本例選取采樣次數(shù)為30次),聲明一個變量名為AD_PolarCNT的變量,對采樣次數(shù)進行計數(shù),程序為:
if(++AD_PolarCNT[byChannel]>30)//延時10s后執(zhí)行極性自動轉(zhuǎn)換
執(zhí)行極性交換就是向A/D芯片發(fā)出配置指令,令A(yù)/D芯片內(nèi)部的交叉矩陣開關(guān)執(zhí)行規(guī)定的開閉從而實現(xiàn)極性交換。本例采用SPI總線發(fā)送配置指令給A/D芯片完成極性轉(zhuǎn)換,軟件編程為:
Void AD_rebuild_regs(uint8 Start_CH_NUM)
{ uint8i,k;
for(i= Start_CH_NUM;i< Start_CH_NUM + 8;i++)
{
if(AIChCfg[i].ChPolar==0)
{
k=(i%8)*2+1;
AD_slave_regs[AD_Channel_0+i%8].value=AD_ChannelP[i%8];//熱電偶正極性
}
else
{
k=(i%8)*2;
AD_slave_regs[AD_Channel_0+i%8].value=AD_ChannelN[i%8];//熱電偶反極性
}
AD_SPI_Setup(&ADdev[0],AD_SLAVE1_ID,(AD_st_reg *)&AD_slave_regs[0]);//完成極性交換配置
}
}
程序中:AD_rebuild_regs為A/D芯片的配置寄存器控制字生成子程序;AD_slave_regs[n].value為通道n的配置控制字;AD_SPI_Setup()為SPI總線下發(fā)配置指令子程序;AD_SLAVE1_ID為A/D芯片的ID號,范圍1~3。
當熱電偶接線正確但熱端溫度低于冷端溫度時,也會出現(xiàn)負信號,這時就不能判為反極性,而是要基于幅值判據(jù)進行判別。極性交換程序流程如圖5所示。
圖5 極性交換程序流程
在識別對應(yīng)測量裝置的正負極為反接的情況下,向與該測量裝置對應(yīng)的矩陣開關(guān)單元發(fā)送狀態(tài)切換指令,以供控制所述矩陣開關(guān)單元切換為極性切換狀態(tài);在識別對應(yīng)測量裝置的正負極為非反接的情況下,向與該測量裝置對應(yīng)的矩陣開關(guān)單元發(fā)送極性正常指令,以供控制所述矩陣開關(guān)單元為極性正常狀態(tài)。開關(guān)矩陣與CPU之間并非孤立,還必須設(shè)計控制反饋回路方能執(zhí)行來自CPU的機芯交換指令。矩陣開關(guān)控制示意如圖6所示。
圖6 矩陣開關(guān)控制示意
綜上所述,本文所設(shè)計的基于正負極自動識別與切換的電氣儀表裝置,通過依次串聯(lián)連接的矩陣開關(guān)模塊、運算放大器、A/D轉(zhuǎn)換器以及處理模塊、控制反饋模塊,實現(xiàn)了對來自各測量裝置的多路傳感器信號進行正負極自動識別與切換。該電路拋棄傳統(tǒng)區(qū)分正負極性極限方法,后端儀表自動檢測正負極性,并在發(fā)現(xiàn)某測量裝置極性反接后自動將極性進行物理交換后再接入放大器進行后部處理,大大減化了現(xiàn)場安裝工作,具有較高產(chǎn)業(yè)利用價值。
(1) 離散型設(shè)計 指外置交叉開關(guān)矩陣是獨立一顆芯片,外置獨立運算放大器是另一顆芯片,獨立A/D轉(zhuǎn)換器又是另外一顆芯片。相結(jié)合的交叉開關(guān)矩陣、獨立運算放大器以及獨立A/D轉(zhuǎn)換器等均外置獨立。
(2) 半集成設(shè)計 指以上三者任選其二集成在一顆芯片內(nèi)。
(3) 全集成設(shè)計 指將交叉開關(guān)矩陣、運算放大器、A/D轉(zhuǎn)換器三者集成在一顆芯片內(nèi),是一顆集成度比較高的全功能A/D轉(zhuǎn)換芯片。其與CPU之間通過并行口或者SPI、ICE總線相連。CPU通過并行口或者SPI、I2C總線發(fā)送極性交換指令等。
本文采用全集成設(shè)計,采用將交叉開關(guān)矩陣、可編程運算放大器、A/D轉(zhuǎn)換器三者集成在一顆芯片內(nèi)的多功能一體化16通道A/D。印制電路板(Printed Circuit Boards,PCB)占地面積5 mm×5 mm。硬件原理框圖如圖7所示。
圖7 硬件原理框圖
依照以上設(shè)計思路,研制24通道智慧遠程信號輸入、輸出裝置,安裝于某發(fā)電廠用于鍋爐壁溫監(jiān)測,要求現(xiàn)場不分正負極,隨意亂接線。PCB設(shè)計圖如圖8所示。其中,主控CPU板,24通道板大小為8 cm×11 cm。
圖8 PCB設(shè)計圖
現(xiàn)場裝置實際安裝接線如圖9所示。
圖9 現(xiàn)場裝置實際安裝接線示意
對24通道的K型熱電偶,隨機選中第17通道,使用Fluke 754 PLUS 多功能過程校驗儀分別對第17通道施加不同量程大小的電壓,對儀表的測量精度、正負極型轉(zhuǎn)換時間、回差絕對值等進行統(tǒng)計匯總。統(tǒng)計結(jié)果如表1所示。
為提高表格內(nèi)溫度測量精度消除非線性誤差并進行冷端溫度補償,根據(jù)美國國家標準與技術(shù)研究院(NIST)公布的ITS-90熱電偶多項式進行計算[4],計算公式為
(1)
式中:E——熱電偶的輸出,mV;
n——多項式的最大階數(shù);
Ci——多項式系數(shù);
T90——熱電偶的熱端溫度,℃;
a0、a——常數(shù)。
對于K型熱電偶n=10,在不同的溫區(qū),式(1)的多項式系數(shù)Ci不同。
K型熱電偶的NIST多項式系數(shù)如表2所示[4]。
例如,當儀表測得的毫伏電壓是16.397 mV,則C0~C9系數(shù)分別等于表2中0~1 372 ℃溫區(qū)對應(yīng)的各系數(shù),E=16.397,代入式(1),采用牛頓迭代法解方程得到溫度值T90=400 ℃。
式(1)為復合函數(shù)方程,要對冷端進行補償,還需根據(jù)冷端溫度求解復合函數(shù)方程得到毫伏電壓。這里采用牛頓迭代法,第n次的迭代公式為
(2)
式中:Xn、Xn+1——第n、n+1次的迭代值;
f(xn)——式(1)在xn的函數(shù)值;
f′(xn)——式(1)在xn的導數(shù)。
實驗結(jié)果表明,該方案可行,達到了預(yù)期設(shè)計目標。
本文所設(shè)計的電路大大降低了現(xiàn)場接線盒工作量,該方法同樣適用于其他所有具有正負極性的傳感器、變送器等。該方法通過制定適當?shù)拈撝?、幅值判?jù)進行自動極性識別和轉(zhuǎn)換,使得智能儀表更加智能化和智慧化。