田海軍,張 鋆,王 健,張 鑫
(1.東北電力大學(xué) 自動化工程學(xué)院,吉林 132012;2.國電南瑞(北京)控制系統(tǒng)有限公司 開發(fā)部,北京 100193)
溫度測量,在工業(yè)、醫(yī)療、軍事等方面具有重要意義。溫度測量分為接觸式測量和非接觸式測量[1]。目前電廠等工業(yè)現(xiàn)場中大都采用熱電偶和熱電阻作為溫度傳感器,然后通過儀表測量熱電偶的電勢值或熱電阻的電阻值,再結(jié)合相應(yīng)的分度表,通過查表的方式,得到溫度測量值。這種方法十分不方便,降低了現(xiàn)場人員的工作效率。隨著集成電路快速發(fā)展,出現(xiàn)了三線制和四線制的熱電阻恒流源測量方法[2],減小了引線電阻對溫度測量的影響。但是這種電路中需要自己搭建恒流源電路和調(diào)理電路[3,4],不但引入了寄生電阻,而且降低了穩(wěn)定性和精度。工業(yè)上常用的HART接口形式為兩線制。兩線制即環(huán)路供電方式,對整機(jī)的功耗有很高的要求,靜態(tài)功耗必須小于3.4mA[5]。為了解決上述問題,采用基于電阻數(shù)字轉(zhuǎn)換的方法,進(jìn)行電阻的高精度測量,然后對測量結(jié)果進(jìn)行數(shù)據(jù)分析和擬合,得到實時溫度,最后通過三線制DA轉(zhuǎn)換芯片輸出4mA~20mA工業(yè)標(biāo)準(zhǔn)信號。溫度變送器實現(xiàn)了無功耗限制的三線制HART協(xié)議,通過HART手持器或者上位機(jī),可以方便的實現(xiàn)溫度測量系統(tǒng)上下限修改和變送器校準(zhǔn)等功能。
高精度智能溫度測量系統(tǒng)由電源系統(tǒng)、溫度傳感器、高精度電阻測量電路、STM32F103C8T6單片機(jī)、故障處理單元、4mA~20mA輸出、HART協(xié)議通信單元。智能溫度測量系總體設(shè)計框圖如圖1所示。
圖1 智能溫度測量系統(tǒng)總體設(shè)計框圖
電源系統(tǒng)采用B2405-3W芯片和AMS1117-3.3V芯片,將24V電壓轉(zhuǎn)換成3.3V電壓,為各個芯片提供供電電壓。系統(tǒng)帶有自檢功能,系統(tǒng)初始化或者通過HART手持器可以進(jìn)入自檢程序,檢測到系統(tǒng)發(fā)生故障時,對應(yīng)的故障指示燈亮起,蜂鳴器報警提示現(xiàn)場人員。溫度傳感器將溫度信號轉(zhuǎn)換成PT1000對應(yīng)的電阻值,高精度電阻測量電路完成電阻值的精準(zhǔn)測量。STM32單片機(jī)通過SPI接口通訊方式讀取電阻值,經(jīng)過數(shù)據(jù)處理之后,得到實時的溫度值。然后經(jīng)16位高精度DA轉(zhuǎn)換器AD5420轉(zhuǎn)換成連續(xù)的4mA~20mA電流信號。溫度測量系統(tǒng)支持HART協(xié)議,由于HART手持器價格昂貴,本文采用USB-HART調(diào)制解調(diào)器和上位機(jī)軟件,實現(xiàn)對溫度測量系統(tǒng)的校準(zhǔn)、參數(shù)訪問和組態(tài)。
溫度傳感器結(jié)構(gòu)如圖2所示。
圖2 溫度傳感器結(jié)構(gòu)
溫度傳感器采用德國賀利氏薄膜鉑電阻PT1000芯片,為了使芯片受熱均勻,在芯片周圍填充了進(jìn)口的導(dǎo)熱硅脂,芯片兩引腳采用銀焊技術(shù)與純銀的導(dǎo)線的連接,大大降低了引線電阻的同時,可以承受高溫,為了使兩根引線絕緣,將其置于雙孔的陶瓷套管中,外殼采用316不銹鋼材質(zhì),有很好的耐腐蝕性能,PCB電路板置于防水的接線盒中,采用接線端子與引線連接,便于安裝和拆卸。傳感器帶有固定螺紋和法蘭,便于傳感器安裝。
高精度電阻測量電路采用德國ACAM公司的PCaP01芯片,帶有標(biāo)準(zhǔn)固件03.01.02,支持溫度測量。利用該芯片和PT1000測量溫度,精度可以達(dá)到0.005k。PCap01芯片電容測量單元原理圖如圖3所示。
圖3 PCap01芯片電阻測量原理
PCap01芯片電阻測量原理如圖3所示:PCap01芯片基于電容充放電原理測量電阻[6]。芯片內(nèi)部集成了RC充放電電路,為了使電容充分充電,電容充放電周期的設(shè)置十分重要,通過配置和參數(shù)寄存器可以設(shè)置為140us或280us,本文設(shè)置為280us。
PT1000被測電阻和基準(zhǔn)電阻連接在同一個33Pf的充放電電容上,芯片提供了兩個基準(zhǔn)電阻可供選擇,內(nèi)部的多晶硅電阻和外部參考電阻,基準(zhǔn)電阻必須具有接近0的溫度漂移系數(shù),芯片內(nèi)部的多晶硅電阻阻值大小為1KΩ,溫度漂移系數(shù)為-1.1ppm/K。高精度的TDC時間數(shù)字轉(zhuǎn)換單元可以把電容放電時間準(zhǔn)確的記錄下來,精度可以達(dá)到2us。根據(jù)公式:
式中TN為被測電阻放電時間,Tref為參考電阻放電時間,Rref為參考電阻值,RN為被測電阻值。然后通過DSP數(shù)字處理器處理,根據(jù)放電時間的比值可以求得電阻比率,并存儲在結(jié)果寄存器中。STM32單片機(jī)通過SPI通信接口讀取測量結(jié)果[7]。
根據(jù)補(bǔ)償公式可以得到對應(yīng)的溫度:
其中R_Ratio為電阻比率。
由于采用單芯片溫度測量方案,避免了搭建傳統(tǒng)的恒流源電路和調(diào)理電路,提高了電路的穩(wěn)定性和精度,而且由于被測電阻和基準(zhǔn)電阻連接在同一個充放電電容上,克服了溫度漂移對電阻測量的影響,實現(xiàn)了電阻的高精度測量。
HART協(xié)議是在4mA~20mA模擬信號上疊加數(shù)字信號,實現(xiàn)模擬信號和數(shù)字信號的同時傳輸,是一種從模擬信號像數(shù)字信號過渡的一種通訊協(xié)議[8],可以兼容4mA~20mA的傳統(tǒng)工業(yè)信號,被工業(yè)界廣泛采用。工業(yè)上常用的HART接口形式為兩線制和三線制[9]。兩線制即環(huán)路供電方式,對整機(jī)的功耗有很高的要求,靜態(tài)功耗必須小于3.4mA。必須采用專用的單片機(jī)和芯片,對于市面上常規(guī)的單片機(jī)和芯片不能滿足要求。本文采用三線制方式,克服了兩線制方式對功耗要求限制。
HART通訊單元采用ADI公司的AD5420和AD5700-1芯片,AD5420為三線制的16位高精度4mA~20mA轉(zhuǎn)換芯片,外部不需要MOSFET管,提高了電路的穩(wěn)定性,AD5700-1為市面上尺寸最小的HART調(diào)制解調(diào)芯片,內(nèi)部集成了振蕩器,不再需要外部晶振,進(jìn)一步節(jié)省了布板空間。
HART通信單元電路如圖4所示。
系統(tǒng)采用24V電源供電,A V D D引腳與+2 4 V相連,AD5420的LATCH、SCLK、SDIN、SDO引腳,分別于STM32單片機(jī)的PB2-PB5相連,采用IO模擬SPI方式與單片機(jī)進(jìn)行通訊。DVCC_SELECT引腳連接到GND,采用外部3.3V電源給AD5420供電。CAP1引腳接4.7nF的濾波電容,CAP2引腳懸空,為了是系統(tǒng)的電源穩(wěn)定,都采用了10uF和0.1uF的電容進(jìn)行濾波,工業(yè)現(xiàn)場情況惡劣,為了防止浪涌電壓,AVDD引腳和IOUT引腳接有穩(wěn)壓管。+24V、GND、IOUT構(gòu)成4mA~20mA三線制接法。
AD5700-1芯片的REF引腳通過1uF電容連接到GND,采用外部3.3V電源供電,REF_EN引腳接高電平,使能內(nèi)部基準(zhǔn)電壓源,REF引腳輸出1.5V,R6和R11分壓為HART信號提供偏置電壓。RST引腳與單片機(jī)的PA12引腳相連,通過編程輸出高低電平來控制AD5700-1芯片處于調(diào)制或解調(diào)模式。TXD引腳和RXD引腳分別與STM32單片機(jī)的USART1引腳PA9(發(fā)送)和PA10(接收)對應(yīng)連接。通過XTAL_EN、CLK_CFG1連接到3.3V,CLK_CFG0連接到GND,使能內(nèi)部晶振。FILTER_SEL引腳接GND,需要采用外部帶通濾波器,C13、C14、R9配合AD5420內(nèi)部電路,組成>10khz和<500HZ的帶通濾波器,將HART信號從4mA~20mA信號中提取出來。為了滿足工業(yè)現(xiàn)場的要求,需要將AD5700-1與環(huán)路電源隔離開,電路需要串聯(lián)限流電阻R9。經(jīng)過AD5700-1芯片調(diào)制后的HART信號,通過HARTOUT引腳經(jīng)過R7、C8衰減之后,耦合到AD5420芯片的RSET引腳。RSET需要連接高精度低溫漂電阻R3。
圖4 HART通信單元電路
軟件設(shè)計分為兩個部分,一部分是溫度測量程序設(shè)計,另一部分是HART協(xié)議通信程序設(shè)計。
圖5 溫度測量程序流程圖
溫度測量程序流程圖如圖5所示,首先對系統(tǒng)進(jìn)行初始化,首先對STM32單片機(jī)進(jìn)行初始化,包括初始化IO外設(shè),設(shè)置SPI1和USART1通訊參數(shù)、配置獨立看門狗等。然后初始化PCap01芯片,通過SPI通訊方式,向PCap01芯片發(fā)送復(fù)位信號,使PCap01芯片復(fù)位一次,然后設(shè)置配置寄存器參數(shù),選擇內(nèi)部多晶硅電阻作為基準(zhǔn)電阻,并設(shè)置充放電周期為280us。通過模擬SPI的方式設(shè)置AD5420控制寄存器參數(shù),使其工作方式為4mA~20mA。然后進(jìn)入自檢程序(也可以通過HART手持器觸發(fā)自檢程序),單片機(jī)向PCap01芯片發(fā)送測量電阻命令,完成一次電阻測量,并將結(jié)果讀出。進(jìn)而向AD5420數(shù)據(jù)寄存器中寫入數(shù)值,并讀出比較。如果不能讀出電阻測量結(jié)果,或者寫入AD5420數(shù)據(jù)寄存器的數(shù)值和讀出的不一致,對應(yīng)的故障指示燈亮起,蜂鳴器報警,并將錯誤碼存儲在FLASH中,供HART手持器或者上位機(jī)讀取。如果自檢通過,讀取存儲在FLASH中的系統(tǒng)參數(shù),包括量程上下限和校準(zhǔn)數(shù)據(jù)、前導(dǎo)碼個數(shù)等,完成系統(tǒng)參數(shù)初始化之后,進(jìn)入溫度測量程序,STM32將PCap01芯片測得的PT1000與基準(zhǔn)電阻的比率,經(jīng)過數(shù)據(jù)處理得到實時的溫度之后,轉(zhuǎn)化為16位的數(shù)字量,傳輸給AD5420輸出4mA~20mA電流信號。
圖6 HART協(xié)議通信程序流程圖
HART協(xié)議通信程序流程圖如圖6所示,完成了HART協(xié)議數(shù)據(jù)鏈路層、應(yīng)用層以及層間接口的程序設(shè)計,實現(xiàn)了HART信號的接收、解析、響應(yīng)和發(fā)送。首先初始化USART1通訊參數(shù),1位起始位,8位數(shù)據(jù)位,1位停止位,1位奇校驗位,波特率位1200bps/s,并開啟USART1接收中斷,PA12引腳設(shè)置為高電平,使AD5700-1芯片處于接收狀態(tài)[10]。當(dāng)AD5700-1芯片接收到HART信號,將其解調(diào)成0、1數(shù)字信號,然后通過USART1傳送給單片機(jī),單片機(jī)接收到數(shù)據(jù)后,進(jìn)入串口接收中斷,接收命令幀。進(jìn)而對除前導(dǎo)碼之外的命令幀進(jìn)行橫向奇校驗,與接收到的校驗碼進(jìn)行比對,如果一致,則按照HART協(xié)議的通信幀格式,解析命令幀,根據(jù)相應(yīng)的命令請求生成應(yīng)答幀,然后將PA12引腳設(shè)置為低電平,使AD5700-1芯片處于發(fā)送HART信號狀態(tài),單片機(jī)通過USART1將應(yīng)答幀傳送給AD5700-1芯片,經(jīng)AD5700-1芯片調(diào)制成FSK信號之后加載到4mA~20mA環(huán)路中。當(dāng)發(fā)送完成之后,再次進(jìn)入接收狀態(tài),等待下一條命令。
采用CRJ系列智能熱工自動檢定系統(tǒng)對溫度測量系統(tǒng)進(jìn)行校驗。CRJ系列智能熱工自動檢定系統(tǒng)由主控箱、微機(jī)系統(tǒng)、HTS-300A標(biāo)準(zhǔn)油槽、冰點器以及測量導(dǎo)線和通訊導(dǎo)線組成。HTS-300A標(biāo)準(zhǔn)油槽一種高精度自控式溫度計檢定裝置,微機(jī)系統(tǒng)實時顯示油槽的控溫曲線、溫度數(shù)值、以及檢定時間等參數(shù)。參照《JJG 229-2010工業(yè)鉑、銅熱電阻檢定規(guī)程》,首先進(jìn)行油槽溫場測試,測試步驟詳見說明書,此處不再贅述,測得油槽的溫度均勻度為0.005℃。然后進(jìn)行重復(fù)性測試,在冰點器和油槽中分別測試0℃、100℃兩個檢點。重復(fù)檢測5次,每個點每次操作約為60分鐘,當(dāng)油槽溫度波動0.04℃/30min時,記錄 智能溫度測量系統(tǒng)所測溫度,并用仿真器讀出電阻率,換算成對應(yīng)電阻值。測量結(jié)果如表1所示。
根據(jù)公式:
求得Δα分別為-6.0×10-7、-5.6×10-7、-1.2×10-7、-4.1×10-7、-5.8×10-7,滿足Δα為±6×10-6范圍的規(guī)定, 滿足工業(yè)標(biāo)準(zhǔn),最大測量誤差僅為0.006℃。
表1 溫度測量結(jié)果
在4mA~20mA電流環(huán)路中,串入300Ω左右的通信電阻,將USB-HART調(diào)制解調(diào)器的兩個無極性測試鉤,勾在電阻兩端,通過上位機(jī)軟件和和智能溫度測量系統(tǒng)通信,完成HART通信測試,結(jié)果表明HART通信單元實現(xiàn)了量程上下限調(diào)整,溫度傳感器校準(zhǔn)和對溫度值、電阻等變量的實時監(jiān)測等功能。
該智能溫度測量系統(tǒng),采用基于電阻數(shù)字轉(zhuǎn)換的方法,實現(xiàn)了電阻的高精度測量,不需要恒流源芯片和調(diào)理電路,實現(xiàn)了電路的微型化,帶有自檢功能并支持HART協(xié)議,實現(xiàn)了智能化。符合工業(yè)標(biāo)準(zhǔn),可用于大量程比智能溫度變送器、超聲波熱量表等設(shè)計中。
[1] 張玉東.超低功耗智能便攜式溫度測量儀的研究[D].上海:華東師范大學(xué),2010.
[2] 李殊驍,郝赤,龔蘭芳,等.高精度三線制熱電阻檢測方法研究[J].儀器儀表學(xué)報,2008,(1):135-139.
[3] 張修太,胡雪惠,翟亞芳,等.基于PT100的高精度溫度采集系統(tǒng)設(shè)計與實驗研究[J].傳感技術(shù)學(xué)報,2010,(6):812-815.
[4] 譚長森.基于PT100型鉑熱電阻的測溫裝置設(shè)計[J].工礦自動化,2012,(3):89-91.
[5] 崔龍.基于HART總線的氣體報警儀的硬件實現(xiàn)[D].杭州: 杭州電子科技大學(xué),2014.
[6] 田海軍,張鋆,張鑫.基于PCap01的智能多段式電容汽包水位計設(shè)計[J].制造業(yè)自動化,2015,(5):126-128.
[7] 鄧國榮.基于STM32 SPI接口的M25P80 FLASH的驅(qū)動設(shè)計與實現(xiàn)[J].機(jī)電信息,2013,(6):144-145.
[8] 孔祥偉,周杏鵬.基于HART協(xié)議的智能壓力變送器的設(shè)計與實現(xiàn)[J].儀表技術(shù)與傳感器,2010,(2):15-17.
[9] 廖瑋.基于HART協(xié)議的智能定位閥控制系統(tǒng)的研制和開發(fā)[D].天津:天津大學(xué),2009.
[10] 姜祥真,陳俊杰,操永波.HART主機(jī)數(shù)據(jù)鏈路層的實現(xiàn)[J].自動化儀表,2010,31(6):1-4.