《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ARM及溫度補(bǔ)償?shù)闹悄茏兯推髟O(shè)計(jì)
基于ARM及溫度補(bǔ)償?shù)闹悄茏兯推髟O(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2011年第9期
喬愛(ài)民1, 張 煒2
(1.蚌埠學(xué)院, 安徽 蚌埠 233000; 2. 蚌埠傳感器系統(tǒng)工程有限公司, 安徽 蚌埠 233
摘要: 介紹了一種基于ARM7TDMI內(nèi)核的高精度模擬微控制器ADUC7061的智能變送器,并給出了智能變送器的硬件電路設(shè)計(jì)和軟件設(shè)計(jì)流程。該智能變送器能輸出電流變送信號(hào)并通過(guò)RS485傳輸數(shù)字信號(hào),具有對(duì)傳感器的溫度誤差補(bǔ)償、系統(tǒng)參數(shù)設(shè)定保存、自校準(zhǔn)、配置電流變送信號(hào)輸出類型等功能。實(shí)際工程應(yīng)用表明,該智能變送器具有寬電壓電源輸入范圍、測(cè)量精度高、工作穩(wěn)定可靠、適用范圍廣等優(yōu)點(diǎn)。
中圖分類號(hào): TH823
文獻(xiàn)標(biāo)識(shí)碼: B
文章編號(hào): 0258-7998(2011)09-088-04
Design of smart transmitter based on ARM and temperature error compensation
Qiao Aimin1, Zhang Wei2
1.Bengbu College, Bengbu 233000, China; 2.Bengbu Sensor System Co.,Ltd. , Bengbu 233030,China
Abstract: A smart transmitter based on ADUC7061 and temperature compensation was introduced. Both hardware circuit and gross software design were presented. Adjustable current transmission signal and digital signal transferred by RS485 were got. Function such as error compensation, system parameter holding, software calibration and several kinds of current signal output configuration were added to the smart transmitter. Many advantages such as high accuracy, wide range of input power and high reliability etc.were shown for the smart transmitter by practical application.
Key words : ARM; RS485 communication; temperature error compensation; smart transmitter


    傳感器是組建自動(dòng)檢測(cè)與控制系統(tǒng)的重要環(huán)節(jié)。隨著自動(dòng)檢測(cè)與控制技術(shù)的不斷發(fā)展,對(duì)傳感器的測(cè)量精度、傳感器信號(hào)傳輸距離、傳感器輸出信號(hào)的多元化等提出了更高的要求。針對(duì)傳統(tǒng)的模擬變送器的缺點(diǎn),設(shè)計(jì)了一種基于精密模擬微控制器ADUC7061及具有溫度補(bǔ)償?shù)?a class="innerlink" href="http://ihrv.cn/tags/智能變送器" title="智能變送器" target="_blank">智能變送器。該智能變送器具有溫度補(bǔ)償、軟件校準(zhǔn)、模擬變送信號(hào)和數(shù)字信號(hào)雙重輸出、數(shù)字信號(hào)及模擬變送信號(hào)可在線重新配置等功能。該變送器具有智能化、結(jié)構(gòu)緊湊、適用范圍廣、工作可靠、數(shù)字信號(hào)傳輸距離遠(yuǎn)、精度高、較寬電壓電源輸入范圍等優(yōu)點(diǎn)。
1 智能變送器的硬件設(shè)計(jì)
 智能變送器由傳感器信號(hào)調(diào)理、電源電壓輸入調(diào)節(jié)電路、主控制電路、電流變送信號(hào)電路、RS485通信電路等模塊組成。其中的信號(hào)調(diào)理模塊對(duì)傳感器的毫伏級(jí)輸入信號(hào)進(jìn)行濾波;主控制電路采用精密微控制器ADUC7061對(duì)濾波后的傳感器信號(hào)直接進(jìn)行放大、A/D轉(zhuǎn)換等處理并對(duì)外圍器件進(jìn)行控制;電源電壓輸入調(diào)節(jié)電路對(duì)12~36 V輸入的直流電源進(jìn)行調(diào)節(jié);電流變送信號(hào)電路受控于主控制電路,通過(guò)在線配置可產(chǎn)生4~20 mA、0~20 mA、0~24 mA等變送信號(hào);RS485通信電路用于數(shù)字信號(hào)的傳輸和實(shí)現(xiàn)智能變送器與上位機(jī)之間的數(shù)據(jù)交互。智能變送器的硬件電路框圖如圖1所示。

 

 

1.1 信號(hào)調(diào)理電路設(shè)計(jì)
     傳感器輸出信號(hào)一般為毫伏級(jí),傳統(tǒng)的信號(hào)調(diào)理電路一般要用精密線性放大器對(duì)之進(jìn)行放大后再進(jìn)行A/D轉(zhuǎn)換。由于精密微控制器ADUC7061內(nèi)部集成了精密的1~512倍程控增益放大器(PGA)和可編程的數(shù)字濾波器,所以該信號(hào)調(diào)理電路只需設(shè)計(jì)簡(jiǎn)單的低通濾波和EMI抑制,大大簡(jiǎn)化了電路結(jié)構(gòu)。電路圖如圖2所示。傳感器信號(hào)一般為差分毫伏級(jí)信號(hào),圖中的Bead1、Bead2為貼片磁珠,可作為簡(jiǎn)單有效的EMI濾波器,R1、R5、C2、C3、C4構(gòu)成簡(jiǎn)單的低通濾波,傳感器信號(hào)SIG+和SIG-經(jīng)濾波后輸入ADUC7061的差分模擬信號(hào)輸入通道。

1.2 電源調(diào)節(jié)電路設(shè)計(jì)
 傳統(tǒng)的變送器輸入電源調(diào)節(jié)采用三端穩(wěn)壓器件,如78系列,效率低,三端穩(wěn)壓器件的輸入輸出電壓差不能太大。該智能變送器可以接受12~36 V直流電源電壓輸入,電源調(diào)節(jié)電路如圖3所示。電源主調(diào)節(jié)芯片采用德州儀器公司的TPS5430。TPS5430是一款低靜態(tài)電流、高效率、高峰值輸出電流(3 A)的集成開(kāi)關(guān)型降壓穩(wěn)壓器,使用時(shí)無(wú)需增加額外的散熱裝置。12~36 V的直流電源電壓輸入首先經(jīng)TPS5430獲得3.3 V的電源供給智能變送器中要求3.3 V供電的芯片,3.3 V的電壓通過(guò)R15和R17匹配獲得,然后再通過(guò)LDO芯片HT7325獲得2.5 V的電源供ADUC7061和傳感器(在實(shí)際調(diào)試時(shí),采用3.3 V給傳感器供電同樣可以得到較好的效果)。如果供電電源電壓更寬,則可以采用TPS54160來(lái)代替TPS5430。

1.3 主控制電路設(shè)計(jì)
     智能變送器主控制器采用16/32位微控制器ADUC7061,ADUC7061是美國(guó)ADI公司推出的基于ARM7TDMI內(nèi)核的低成本、精密模擬微控制器,片內(nèi)資源十分豐富,具有很高的性價(jià)比。片內(nèi)集成了雙Σ-Δ型24位ADC、單端和差分模擬信號(hào)輸入通道、1~512倍的內(nèi)部高精度可編程增益放大器(PGA)、片內(nèi)精準(zhǔn)時(shí)鐘、精密1.2 V電壓參考源、16位/32位RISC架構(gòu)ARM7TDMI內(nèi)核、SPI、UART、32 KB可在線編程Flash存儲(chǔ)器、4 KB的SRAM等片內(nèi)外設(shè),使之成為理想的單芯片高精度數(shù)據(jù)采集方案。所有的數(shù)字I/O口都兼容3.3 V電平,采用32腳的LFCSP封裝,體積小,代碼下載和調(diào)試可通過(guò)JTAG 端口實(shí)現(xiàn)。智能變送器的主控制電路如圖4所示。圖中的ADUC7061的數(shù)字電源和模擬電源用0 Ω電阻隔離,電壓均為2.5 V。實(shí)際使用時(shí)采用內(nèi)部電壓基準(zhǔn)和內(nèi)部精準(zhǔn)時(shí)鐘,利用內(nèi)部可在線編程的Flash空余扇區(qū)保存系統(tǒng)參數(shù),JTAG接口采用自定義的6芯接口實(shí)現(xiàn)在線調(diào)試和程序下載。DS18B20為數(shù)字溫度傳感器,用于測(cè)量傳感器的環(huán)境溫度,為傳感器的溫度補(bǔ)償提供環(huán)境溫度參數(shù)。

1.4 智能變送器信號(hào)輸出電路
    智能變送器能輸出兩種信號(hào):模擬電流變送信號(hào)和數(shù)字信號(hào)。模擬信號(hào)采用內(nèi)置16位 DAC的V/I轉(zhuǎn)換芯片AD5420產(chǎn)生。數(shù)字信號(hào)通過(guò)RS485實(shí)現(xiàn)遠(yuǎn)傳,RS485通信芯片采用半雙工的MAX3485。智能變送器信號(hào)輸出電路如圖5所示。

    AD5420是ADI公司推出的采用SPI接口輸入、內(nèi)置16位DAC的高精度低成本4~20 mA輸出的V/I轉(zhuǎn)換芯片,電流輸出可配置為0~20 mA、4~20 mA、0~24 mA中的一種,總體誤差為0.01/FSR,具有能調(diào)節(jié)40 V輸入電壓的功能。圖中的R18為電流設(shè)置電阻,采用低溫漂金屬膜電阻。R13為限流電阻,防止外接負(fù)載很小時(shí)對(duì)AD5420的損害。
2 智能變送器的軟件設(shè)計(jì)
    智能變送器的軟件設(shè)計(jì)部分主要包括ADUC7061的啟動(dòng)代碼和初始化、A/D轉(zhuǎn)換結(jié)果的相關(guān)濾波、數(shù)據(jù)轉(zhuǎn)換等數(shù)據(jù)處理、零點(diǎn)校準(zhǔn)和滿度校準(zhǔn)、模擬電流變送信號(hào)輸出控制程序、溫度補(bǔ)償單元和串行RS485通信程序等。由于基于ARM7TDMI內(nèi)核的AUDU7060內(nèi)部集成了高精度的24 bit Σ-Δ型ADC和其他的模擬外設(shè),同時(shí)支持零點(diǎn)校準(zhǔn)、滿度校準(zhǔn)等系統(tǒng)校準(zhǔn)功能,所以A/D校準(zhǔn)和轉(zhuǎn)換值的獲取可以很方便實(shí)現(xiàn);模擬電流變送信號(hào)輸出由ADUC7061控制AD5420產(chǎn)生,線性受控于輸出的數(shù)字信號(hào)。
 2.1 溫度補(bǔ)償單元
     傳感器的輸入輸出關(guān)系隨著環(huán)境溫度的變化而變化。設(shè)傳感器的被測(cè)量為x,輸出量為y,t為環(huán)境溫度??紤]環(huán)境溫度因素,傳感器靜態(tài)特性為:y=f(x,t),常表現(xiàn)為隨溫度變化的非線性特性,這與傳感器的理想輸入輸出關(guān)系y=kx相比,存在著線性誤差和溫度誤差。將y=f(x,t)按級(jí)數(shù)展開(kāi)得:

    由此可見(jiàn),溫度變化必然帶來(lái)傳感器的零點(diǎn)漂移和溫度誤差,為提高測(cè)量精度,需要對(duì)傳感器的溫度誤差進(jìn)行補(bǔ)償。
    目前對(duì)傳感器的誤差軟件補(bǔ)償?shù)姆椒ê芏啵篌w上分為兩大類:線性插值擬合和非線性插值擬合。線性插值和擬合方法簡(jiǎn)單易操作,但實(shí)際補(bǔ)償精度不夠理想,本智能變送器對(duì)傳感器的誤差補(bǔ)償采用三次樣條曲線插值補(bǔ)償,實(shí)際應(yīng)用表明可以很好地補(bǔ)償傳感器的非線性誤差及溫度誤差。

    圖6中的橫坐標(biāo)為傳感器的實(shí)際A/D轉(zhuǎn)換輸出值,縱坐標(biāo)為經(jīng)過(guò)折線計(jì)算后的補(bǔ)償修正值,兩者之間的函數(shù)關(guān)系通過(guò)各個(gè)溫度區(qū)間上的三次樣條曲線插值計(jì)算方法可得:

    式(3)中的C(i)為傳感器加載后經(jīng)A/D轉(zhuǎn)換值,根據(jù)每個(gè)溫度區(qū)間內(nèi)x在具體的坐標(biāo)區(qū)間計(jì)算出修正值Si(x),當(dāng)使用軟件補(bǔ)償單元時(shí),該修正值即為智能變送器數(shù)字信號(hào)輸出值。
2.2 RS485通信程序
       通信程序采用半雙工的RS485通信模式,通信協(xié)議自定義,實(shí)現(xiàn)與上位機(jī)的數(shù)據(jù)交互。智能變送器可以接受上位機(jī)發(fā)出的命令實(shí)現(xiàn)智能變送器的系統(tǒng)參數(shù)修改、零點(diǎn)校準(zhǔn)和滿度校準(zhǔn)、輸出模擬信號(hào)類型、傳感器補(bǔ)償單元的使用與否等設(shè)置。RS485通信接口將智能變送器對(duì)傳感器的信號(hào)轉(zhuǎn)換結(jié)果上傳給上位機(jī)。
2.3 智能變送器程序流程圖
 具體的智能變送器主控程序流程圖如圖7所示。

    智能變送器的串口接收采用中斷接收模式,可以實(shí)時(shí)響應(yīng)上位機(jī)發(fā)出的命令。
3 試驗(yàn)結(jié)果分析
 對(duì)智能壓力變送器實(shí)驗(yàn)時(shí)選用了一款系統(tǒng)綜合精度為0.3/FSR、量程為100 kg的力敏傳感器,實(shí)驗(yàn)標(biāo)定設(shè)備系統(tǒng)精度為0.03%,實(shí)驗(yàn)測(cè)得的數(shù)據(jù)見(jiàn)表1和表2。表中列出了溫度補(bǔ)償前后的正行程數(shù)字信號(hào)輸出數(shù)據(jù),因模擬電流變送信號(hào)受控于數(shù)字輸出信號(hào),表中未列出電流變送信號(hào)。

    補(bǔ)償前后變送器數(shù)字輸出信號(hào)在-20℃~70℃范圍內(nèi)的測(cè)試曲線如圖8和圖9所示。

    由圖8可知,經(jīng)過(guò)溫度補(bǔ)償后在全測(cè)試溫度范圍內(nèi)的變送器輸出幾乎與理想輸出曲線重合,而未進(jìn)行溫度補(bǔ)償?shù)妮敵鲭S溫度變化變送器的輸出存在明顯的偏移,且變送器的輸出變小。
 由圖9可知,經(jīng)過(guò)溫度補(bǔ)償后的變送器輸出在全測(cè)試溫度范圍內(nèi)的絕對(duì)誤差較小,非線性誤差得到較好的改善,并且由于在每個(gè)溫度區(qū)間可進(jìn)行零點(diǎn)校準(zhǔn),在空載時(shí)可以得到接近0測(cè)量誤差的效果。而未經(jīng)過(guò)溫度補(bǔ)償?shù)淖兯推鬏敵鲈谌珳y(cè)試溫度范圍內(nèi)誤差呈現(xiàn)較大的離散性,在高低溫兩端測(cè)量誤差較大。
 當(dāng)對(duì)傳感器的誤差進(jìn)行補(bǔ)償時(shí),如采用較多的插值點(diǎn)及較小的溫度區(qū)間,可以獲得更好的誤差補(bǔ)償效果。
    基于ARM7TDMI內(nèi)核的ADUC7061和AD5420的智能變送器,充分利用高精度高性價(jià)比精密模擬微控制器ADUC7061的片內(nèi)模擬外設(shè),結(jié)合高精度低成本的V/I轉(zhuǎn)換芯片AD5420及寬電壓電源調(diào)理電路,具有寬電壓電源輸入、誤差補(bǔ)償、軟件校準(zhǔn)、模擬變送信號(hào)和數(shù)字信號(hào)雙重輸出、輸出數(shù)字信號(hào)及模擬變送信號(hào)可在線重新配置等功能,克服了傳統(tǒng)模擬變送器非智能化、應(yīng)用現(xiàn)場(chǎng)不便于調(diào)節(jié)、不便于與上位機(jī)直接通信、傳統(tǒng)數(shù)字變送器輸出信號(hào)單一、非線性誤差無(wú)補(bǔ)償?shù)热秉c(diǎn)。本智能變送器目前已經(jīng)應(yīng)用于油田數(shù)據(jù)采集領(lǐng)域,可靠穩(wěn)定,使用方便。
參考文獻(xiàn)
[1] 孫志忠,袁慰平,聞?wù)鸪? 數(shù)值分析[M].南京:東南大學(xué)出版社,2001.
[2] 田澤. 嵌入式系統(tǒng)開(kāi)發(fā)與應(yīng)用[M]. 北京:北京航空航天大學(xué),2005.
[3] 周立功. ARM微控制器基礎(chǔ)與實(shí)戰(zhàn)[M]. 北京:北京航空航天大學(xué),2003.
[4] ADUC7060/ADUC7061 Datasheet[EB/OL]. http://www.analog.com, 2010.
[5] AD5410/5420 Datasheet[EB/OL]. http://www.analog.com,2010.
[6] 曹恒,李帥,奚云輝,等. 基于MSP430的高精度智能變送器研究與設(shè)計(jì)[J].振動(dòng)、測(cè)試與診斷,2006,1(26),29-32.
[7] 劉忠鵬,張海艷. 智能變送器的供電和阻抗匹配探討[J].自動(dòng)化儀表,2009,10(30):76-78.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。