李遠(yuǎn)哲, 賀海文, 萬 麗, 劉慧豐, 易 兵
(1.中國(guó)人民解放軍32184部隊(duì),北京 100093; 2.中國(guó)人民解放軍63966部隊(duì),北京 100072; 3.中國(guó)人民解放軍32183部隊(duì),遼寧 錦州 121000)
裝甲車輛試驗(yàn)鑒定需要對(duì)諸多參數(shù)進(jìn)行長(zhǎng)期連續(xù)測(cè)試[1],溫度參數(shù)在直觀表征被測(cè)對(duì)象技術(shù)狀態(tài)的同時(shí),也與壓力、流速、扭矩等參數(shù)有著強(qiáng)相互關(guān)系,是對(duì)被測(cè)對(duì)象進(jìn)行分析評(píng)估的基本參數(shù),也是實(shí)現(xiàn)過程控制、故障診斷、狀態(tài)監(jiān)測(cè)以及健康管理(PHM)、視情維修等必選的參數(shù)。因此,應(yīng)對(duì)裝甲車輛不同分系統(tǒng)的多路溫度參數(shù)進(jìn)行測(cè)量。
在多個(gè)文獻(xiàn)中都有關(guān)于多路溫度測(cè)量的研究[2-4],提出了多種解決途徑,較好地滿足了使用環(huán)境相對(duì)較好的場(chǎng)合的需要。由于裝甲車輛試驗(yàn)鑒定過程是一個(gè)長(zhǎng)期持續(xù)的過程,且對(duì)測(cè)量系統(tǒng)適應(yīng)沖擊振動(dòng)、寬溫等惡劣環(huán)境要求苛刻,同時(shí)不同被測(cè)對(duì)象在通道數(shù)上存在差異,故要求測(cè)量系統(tǒng)具有良好的擴(kuò)展性設(shè)計(jì)。目前所查詢到的方案存在著環(huán)境適應(yīng)性、擴(kuò)展性、經(jīng)濟(jì)性、可靠性等方面的不足,因此,應(yīng)設(shè)計(jì)適應(yīng)惡劣工作環(huán)境的柔性可擴(kuò)展的多路溫度測(cè)量系統(tǒng),從而滿足裝甲車輛以及其他相關(guān)領(lǐng)域需要長(zhǎng)期車載持續(xù)測(cè)量的迫切需要。
在工業(yè)、軍工等測(cè)量領(lǐng)域,目前多用鉑電阻傳感器作為溫度傳感器。鉑電阻傳感器是利用金屬鉑(Pt)的電阻值隨溫度變化的物理特性而制成的溫度傳感器。鉑電阻溫度傳感器有Pt1000和Pt100兩種,溫度每變化1 ℃,Pt1000和Pt100熱電阻分別增加或減小約3.8 Ω和0.38 Ω,由于阻值變化區(qū)間不同,相比之下Pt1000靈敏度更高。根據(jù)鉑電阻分度表或者其溫度電阻特性公式即可獲得對(duì)應(yīng)的溫度值。顯然,電阻值的精確測(cè)量是實(shí)現(xiàn)溫度值測(cè)量的關(guān)鍵。測(cè)量電阻有二線制、三線制和四線制等不同接法,為保證精度,一般多采用三線制或四線制方法。
四線制能夠嚴(yán)格消除線路電阻的影響。其原理是4根線中2根通電流(r1、r4,常稱電流線),另外2根作為電壓測(cè)量的引線(r2、r3,常稱電壓線或補(bǔ)償線),這2根線上流過的電流非常小,可以忽略不計(jì),也就是說線路上沒有壓降,這樣測(cè)量到的就是兩端的真實(shí)電壓,反映的是真實(shí)的電阻。若4根線的線型一樣、長(zhǎng)度一樣,接觸電阻可以忽略不計(jì)。四線制需要從熱電阻Rt兩端引出4根導(dǎo)線,其優(yōu)點(diǎn)是測(cè)量精度高,缺點(diǎn)是需要導(dǎo)線多。如圖1(a)所示,I為恒流激勵(lì)源,r1,r2,r3,r4分別為近似相等的傳感器引線電阻,Rt為鉑電阻,AIN1,AIN2為A/D轉(zhuǎn)換器的兩個(gè)差分輸入端,對(duì)電流的分流可忽略不計(jì),得到的鉑電阻上的電壓U,即U=I×(Rt+ΔR)。
采用三線制,將導(dǎo)線一根接到電橋的電源端,其余2根分別接到熱電阻所在的橋臂及與其相鄰的橋臂上,這樣消除了導(dǎo)線線路電阻帶來的測(cè)量誤差。如圖1(b)所示,圖中為恒流激勵(lì)電流源,Rt為鉑電阻,r1,r2,r3為近似相等的引線電阻,AIN1,AIN2為A/D轉(zhuǎn)換器的兩個(gè)差分輸入端。若引線電阻隨溫度變化的阻值為Δr,則其測(cè)量電壓誤差為Uerr=I×Δr。
與四線制接法電路相比,由于環(huán)境、激勵(lì)電流等因素造成引線電阻的變化會(huì)造成測(cè)量電壓的誤差,使得測(cè)量精度下降。在實(shí)際的應(yīng)用中,出于性價(jià)比的考慮,三線制熱電阻測(cè)量溫度的方式更加常用,但對(duì)于同時(shí)要求測(cè)量精度較高的場(chǎng)合,圖1(b)所示的三線制接法將無法滿足。為提高三線制接法的測(cè)量精度,使用兩路恒流源I1,I2作為激勵(lì),即改進(jìn)的三線制,如圖1(c)所示,則測(cè)量電壓誤差為Uerr=2×(I1-I2)×Δr。可以看出,減小I1,I2的差值即可減小測(cè)量電壓誤差,如果I1=I2,將可完全消除引線電阻引入的測(cè)量電壓誤差。
圖1 溫度傳感器測(cè)溫電路原理示意圖
通過上述分析,改進(jìn)的三線制采用雙恒流激勵(lì)源的方式,既避免了四線制方式導(dǎo)線過多的缺點(diǎn)也能保證測(cè)量精度。
為滿足上述精度、環(huán)境適應(yīng)性、可靠性、擴(kuò)展性等多方面的要求,系統(tǒng)設(shè)計(jì)按照“模塊化、可級(jí)聯(lián)”的思想,提出以飛思卡爾的MC9S12DT128單片機(jī)為控制單元、以AD7794為核心轉(zhuǎn)換單元、以CAN總線為擴(kuò)展通信總線的設(shè)計(jì)方案,形成單個(gè)模塊具有6路溫度通道、可通過CAN總線擴(kuò)展的溫度測(cè)量系統(tǒng)。系統(tǒng)邏輯架構(gòu)如圖2所示,主要由溫度采集單元、數(shù)據(jù)采集單元、數(shù)據(jù)處理系統(tǒng)和CAN總線組成。
圖2 系統(tǒng)邏輯架構(gòu)示意圖
在數(shù)據(jù)處理系統(tǒng)(上位機(jī)軟件)的集控下,通過數(shù)據(jù)采集單元及其嵌入式系統(tǒng)軟件完成對(duì)各溫度采集單元進(jìn)行地址編址、初始標(biāo)定、數(shù)據(jù)接收和存儲(chǔ)等。系統(tǒng)通過CAN總線實(shí)現(xiàn)數(shù)據(jù)傳輸和單元級(jí)通道擴(kuò)展,可形成柔性組合的多模塊、分布式采集系統(tǒng),滿足多通道、高精度、惡劣環(huán)境下長(zhǎng)期持續(xù)使用的需要。
如前所述,MC9S12DT128型單片機(jī)和AD7794芯片為核心器件的該測(cè)量系統(tǒng)的核心。
MC9S12DT128型單片機(jī)成本低、功耗小、資源豐富,工作溫度達(dá)到-40~125 ℃,其內(nèi)部集成了3個(gè)CAN總線接口、2個(gè)SPI接口和定時(shí)器等多種資源,以該單片機(jī)為MCU進(jìn)行設(shè)計(jì)不需要額外設(shè)計(jì)CAN總線接口、SPI接口資源等,對(duì)于CAN總線接口通信只需增加收發(fā)器(如82C251)通過軟件配置即可實(shí)現(xiàn),操作簡(jiǎn)單方便,滿足了溫度采集單元模塊及擴(kuò)展和AD7794控制的需要。
AD7794是ADI公司生產(chǎn)的一款低功耗24位∑-Δ模數(shù)轉(zhuǎn)換器,采用2.7~5.25 V單電源供電,功耗電流僅400 μA,同時(shí)噪聲只有40 nVrms,非常適合于低功耗且高精度的測(cè)量。它集成了6個(gè)差分傳感通道的24位ADC,片上還有低噪聲的儀用放大器,這意味著幅度比較小的信號(hào)可以直接輸入到ADC。另外,它還具有兩路可編程恒流源輸出(10 μA,210 μA,1 mA),可以為電阻類型的傳感器提供電流,并且兩路恒流源匹配誤差為±0.5%,保證了采用改進(jìn)的三線制溫度傳感器的測(cè)量精度。同時(shí)其基準(zhǔn)電壓可通過內(nèi)部寄存器選擇,數(shù)據(jù)輸出速度可以通過編程設(shè)置為4~500 Hz,在16.6 Hz條件下它們能夠提供同步抑制50 Hz和60 Hz干擾信號(hào)的功能。
綜上所述,MC9S12DT128單片機(jī)的資源配合AD7794提供的恒流源、基準(zhǔn)電壓控制、數(shù)模轉(zhuǎn)換等功能,能夠很好地滿足溫度測(cè)量的需要。為提高測(cè)量的精度和穩(wěn)定性,AD7794的基準(zhǔn)電壓采用了外部比率式設(shè)計(jì),即采用其自身的恒流源與定制的低溫漂電阻產(chǎn)生的電壓作為外部基準(zhǔn)電壓,以消除恒流源的變化而引起的測(cè)量誤差。由于AD7794提供了兩個(gè)外部基準(zhǔn)電壓選擇,若不采用通道切換方法,單片AD7794只能測(cè)量?jī)陕窚囟?。因此?shí)現(xiàn)6路溫度參數(shù)的測(cè)量,可以有“3片AD7794”和“1片AD7794+4片ADG608”兩種方法實(shí)現(xiàn)。綜合考慮經(jīng)濟(jì)性和可靠性,在不大于6通道時(shí)采用“3片AD7794”的方法來完成更適宜。
系統(tǒng)設(shè)計(jì)中,使用MC9S12DT128單片機(jī)內(nèi)嵌的CAN總線通信模塊和強(qiáng)大的數(shù)據(jù)處理功能,通過對(duì)AD7794的控制,讀取AD7794轉(zhuǎn)換獲得的前端鉑電阻溫度傳感器的輸出信號(hào),根據(jù)標(biāo)定系數(shù)轉(zhuǎn)換為實(shí)測(cè)的鉑電阻的電阻值,然后經(jīng)過查詢“電阻-溫度”對(duì)照表,獲得對(duì)應(yīng)的溫度值。
圖3給出了單個(gè)AD7794芯片實(shí)現(xiàn)兩路三線制溫度傳感器的溫度采集電路。溫度采集電路大體上又分為信號(hào)調(diào)理和A/D轉(zhuǎn)換兩大部分。信號(hào)調(diào)理部分所要完成的任務(wù)是把非電量的信號(hào)轉(zhuǎn)化電壓類型。采用改進(jìn)的三線制溫度測(cè)量電路,T1-、T1+和T2-、T2+分別經(jīng)RC濾波后為AD7794提供測(cè)量電壓信號(hào),通過AD7794內(nèi)部控制打開恒流源,IOUT1從TI1流出,IOUT2從TI2流出,經(jīng)Ref1和Ref2兩個(gè)低溫漂高精度電阻為AD7794提供基準(zhǔn)電壓,同時(shí)TI1、TI2也分別作為通道1和通道2的Pt1000溫度傳感器的激勵(lì)電流,以產(chǎn)生測(cè)量電壓。由于采用同一恒流源產(chǎn)生基準(zhǔn)電壓和測(cè)量電壓,實(shí)現(xiàn)了外部比率式基準(zhǔn)電壓,消除了由于恒流源的變化而產(chǎn)生的誤差。
圖3 溫度采集電路的設(shè)計(jì)
輸入信號(hào)通過低通濾波、開關(guān)選通、濾波消噪等單元后再進(jìn)入相應(yīng)的AD7794的模擬輸入端。為保證測(cè)量精度,引線電阻和AD7794的基準(zhǔn)電壓是必須要考慮的因素。測(cè)量信號(hào)經(jīng)過消噪處理后,進(jìn)入AD7794的AIN1、AIN2兩個(gè)差分輸入端。通過MC9S12DT128單片機(jī)的SPI1口實(shí)現(xiàn)對(duì)AD7794的控制操作,主要包括模式設(shè)置、配置設(shè)置,從而完成采集模式、放大倍數(shù)、基準(zhǔn)電壓、通道等的設(shè)置和選擇。其主要的初始化模塊AD7794_SPI_Init和讀寫模塊AD7794_SPI_WR_Byte代碼如下:
#define AD7794_SPI &SPI1CR1
#define AD7794_SPI_CS_DDR DDRP_DDRP3
#define AD7794_SPI_CS PTP_PTP3
static byte *AD7794_SPISR;
static byte *AD7794_SPIDR;
void AD7794_SPI_Init(void)
{
*AD7794_SPI=0x5C;//分別設(shè)置LSBF、SSOE、CPHA、CPOL、MSTR、SPTIE、SPE、SPIE
*(AD7794_SPI+1)=0x00;//設(shè)置SPI1CR2,AD7794最大5M
AD7794_SPI_CS_DDR=1;
AD7794_SPI_CS=0;
AD7794_SPISR=AD7794_SPI+3;
AD7794_SPIDR=AD7794_SPI+5;
*(AD7794_SPISR);//SPISR;
*(AD7794_SPIDR);//SPIDR;
}
static byte AD7794_SPI_WR_Byte(byte SendData)
{
while(!((*AD7794_SPISR)&0x20));//等待.SPTEF為1,才能寫入數(shù)據(jù)
*AD7794_SPIDR=SendData;
while(!((*AD7794_SPISR)&0x80));//等待接收完成
return (*AD7794_SPIDR);
}
為操作方便,可在軟件設(shè)計(jì)中根據(jù)模式寄存器與配置寄存器的定義建立兩個(gè)聯(lián)合AD7794_MOD、AD7794_CFG,定義如下:
typedef union
{
unsigned short regValue;
struct
{
byte MR8 :1;//Bit8:必須為0
byte AMP_CM :1;//Bit9:儀表共模位
byte MR10 :2;//Bit10-11:必須為0
byte PSW :1;//Bit12:電源開關(guān)控制位
byte MOD :3;//Bit13-15:模式選擇位
byte FS :4;//Bit0-3:濾波器更新選擇
byte CHOP_DIS:1;//Bit4:斬波使能位
byte MR5 :1;//Bit5:必須為0
byte CLK_SEL :2;//Bit6-7:選擇時(shí)鐘源
}DATA;
}AD7794_MOD;
typedef union
{
unsigned short regValue;
struct
{
byte Gain :3;//Bit8-10:增益選擇
byte BOOST :1;//Bit11:必須為0
byte Psolar :1;//Bit12:極性選擇位
byte BO :1;//Bit13:熔斷電流使能
byte VBIAS :2;//Bit14-15:偏置電壓
byte Channel:4;//Bit0-3:通道選擇
byte BUF :1;//Bit4:緩沖模式
byte RFE_DET:1;//Bit5:基準(zhǔn)電壓檢測(cè)
byte REF_SEL:2;//Bit6-7:基準(zhǔn)電壓選擇
}DATA;
}AD7794_CFG;
單片AD7794可支持兩路溫度信號(hào)的采集,在采集過程中需要修改AD7794的模式寄存器和配置寄存器以完成采集模式、放大倍數(shù)、基準(zhǔn)電壓、通道等的設(shè)置和選擇等操作,其典型操作流程如圖4所示。
圖4 AD7794典型操作流程圖
嵌入式系統(tǒng)軟件主要包括主程序模塊、AD7794設(shè)置模塊、溫度標(biāo)定模塊、溫度采集轉(zhuǎn)換模塊、CAN總線初始化模塊、CAN總線接收模塊、FM25640鐵電隨機(jī)存儲(chǔ)器模塊和開發(fā)系統(tǒng)支撐單元等。為克服鉑電阻的非線性帶來的計(jì)算難度,測(cè)量系統(tǒng)采用查分度表和線性差值的方式獲得最終的溫度測(cè)試值。為此,通過“標(biāo)定”建立“碼值-阻值”之間的線性關(guān)系,即
R測(cè)=ADCode×A+B
式中,R測(cè)為測(cè)量電阻值;A,B為轉(zhuǎn)換系數(shù);ADCode為AD7794輸出碼值。
由此,可以計(jì)算實(shí)際的測(cè)量阻值。但這樣的一種對(duì)應(yīng)關(guān)系由于硬件設(shè)計(jì)和電子元器件等因素,對(duì)于不同的通道,其A,B并不相同,因此在軟件設(shè)計(jì)中,提供了溫度標(biāo)定模塊,用于實(shí)現(xiàn)對(duì)每個(gè)通道進(jìn)行標(biāo)定。大體的過程是通過標(biāo)準(zhǔn)電阻提供兩個(gè)標(biāo)準(zhǔn)電阻值(894 Ω、1385 Ω),計(jì)算出當(dāng)前通道的標(biāo)定系數(shù),并保存至FM25640中,使得該系數(shù)能夠掉電不丟失且可以多次標(biāo)定,方便后續(xù)計(jì)量標(biāo)校。
“阻值-溫度”對(duì)照表按鉑電阻分度表給出,并將對(duì)應(yīng)的溫度值放大10倍表示,以保證測(cè)試結(jié)果的分辨率,同時(shí),為表示負(fù)溫度值的方便,采用了測(cè)量值加上500的處理方法,使得最終顯示的測(cè)量結(jié)果在0~2000之內(nèi),以方便CAN總線傳輸。溫度采集執(zhí)行流程如圖5所示。
圖5 溫度采集流程圖
為了增強(qiáng)抗干擾能力和容錯(cuò)性,電路中采用了多種軟、硬抗干擾措施。從硬件設(shè)計(jì)上分析,主要的干擾源在高頻時(shí)鐘,主要的傳播路徑是導(dǎo)線傳導(dǎo),由此可能造成恒流源的變化,所以在硬件設(shè)計(jì)上,采用電源接地抗干擾、電路板每個(gè)IC并接一個(gè)0.01~0.1 μF的高頻電容,以減少對(duì)電源的影響,同時(shí)注意布線的合理性,連線盡量靠近電源端并盡量粗短等抗干擾措施[5-6]。在軟件計(jì)上,采用去極值滑動(dòng)平均濾波抑制疊加在模擬輸入信號(hào)上的噪聲[7];采取軟件攔截技術(shù)、軟件看門狗技術(shù)等措施使受到干擾而“跑飛”的程序回到正常的軌道上來,有效地提高了系統(tǒng)的可靠性。
為驗(yàn)證系統(tǒng)的環(huán)境適應(yīng)性和測(cè)量精度,利用ZX21型旋轉(zhuǎn)式電阻箱提供標(biāo)準(zhǔn)電阻值模擬Pt1000溫度傳感器,進(jìn)行了常溫、低溫(-43 ℃)、高溫(+110 ℃)等環(huán)境條件下的實(shí)驗(yàn)測(cè)試,并與分度表標(biāo)準(zhǔn)值進(jìn)行對(duì)比分析,結(jié)果如表1所示。
實(shí)驗(yàn)結(jié)果表明,在-48~350 ℃范圍內(nèi)溫度點(diǎn)的測(cè)量偏差在±0.1 ℃以內(nèi),完全滿足常見過程管理、狀態(tài)監(jiān)測(cè)、健康管理等領(lǐng)域的測(cè)量要求。
通過合理運(yùn)用MC9S12DT128單片機(jī)和AD7794芯片資源,結(jié)合軟件設(shè)計(jì)實(shí)現(xiàn)了可通過CAN總線擴(kuò)展的模塊化多路溫度測(cè)量[8-9]。該測(cè)量系統(tǒng)在多型裝備試驗(yàn)鑒定過程中得到普遍應(yīng)用,隨車完成了長(zhǎng)期持續(xù)數(shù)據(jù)采集,為裝備狀態(tài)監(jiān)測(cè)、故障分析等提供了高精度的測(cè)量數(shù)據(jù),保障了裝備的鑒定定型。實(shí)踐證明,該測(cè)量系統(tǒng)精度高、適應(yīng)性好、擴(kuò)展性強(qiáng)、經(jīng)濟(jì)性好、使用方便,可廣泛應(yīng)用于其他相關(guān)領(lǐng)域的溫度測(cè)量,推廣應(yīng)用前景廣闊。
表1 實(shí)驗(yàn)數(shù)據(jù)對(duì)比