文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.170747
中文引用格式: 張強(qiáng)慶,,張夢翔,張霞,,等. 基于Profibus-DP總線的位移傳感器設(shè)計(jì)[J].電子技術(shù)應(yīng)用,,2017,43(10):70-73,,77.
英文引用格式: Zhang Qiangqing,,Zhang Mengxiang,Zhang Xia,,et al. Design of displacement transducer based on Profibus-DP[J].Application of Electronic Technique,,2017,43(10):70-73,,77.
0 引言
測量技術(shù)是現(xiàn)代工業(yè)生產(chǎn)和科學(xué)研究中必不可少的一項(xiàng)技術(shù),,其中基于磁致伸縮效應(yīng)的位移測量技術(shù)因其穩(wěn)定性好,、量程大以及便于安裝維護(hù)等優(yōu)點(diǎn),被廣泛應(yīng)用于各種民用和軍用領(lǐng)域,。同時(shí),,隨著信息技術(shù)的發(fā)展,工業(yè)控制系統(tǒng)正朝網(wǎng)絡(luò)化、分散化和智能化方向發(fā)展,,現(xiàn)場總線因其所具有的抗干擾能力,、數(shù)字通信、高環(huán)境適應(yīng)性等特點(diǎn),,良好地滿足了此趨勢要求,。
Profibus總線技術(shù)由德國SIEMENS公司于1987年提出,具有統(tǒng)一總線標(biāo)準(zhǔn),、傳輸速度快,、對復(fù)雜系統(tǒng)適應(yīng)性強(qiáng)以及應(yīng)用廣、可實(shí)現(xiàn)“即插即用”的特點(diǎn),。其中ProfibusDP是一種高速的低成本通信連接,,用于設(shè)備及控制系統(tǒng)與分散式I/O設(shè)備間的通信,,在工業(yè)現(xiàn)場應(yīng)用最廣泛[1],。
本文設(shè)計(jì)了一種基于Profibus-DP協(xié)議的位移傳感器,采用ARM+FPGA架構(gòu),,實(shí)現(xiàn)了基于磁致伸縮原理的位移測量,,并通過Profibus-DP協(xié)議與主站進(jìn)行位移數(shù)據(jù)傳輸。
1 系統(tǒng)設(shè)計(jì)
本文所設(shè)計(jì)的位移傳感器基于磁致伸縮原理,,系統(tǒng)通過產(chǎn)生一定周期的激勵(lì)脈沖激勵(lì)波導(dǎo)絲,,當(dāng)激勵(lì)波遇到位移測量處的永久磁鐵的磁場時(shí)將產(chǎn)生磁致伸縮效應(yīng),所產(chǎn)生的扭轉(zhuǎn)波將沿著波導(dǎo)絲以固定的速度傳播,,通過在近端檢測扭轉(zhuǎn)波和激勵(lì)波的時(shí)間差即可以實(shí)現(xiàn)位移的測量[2],。磁致伸縮位移測量系統(tǒng)工作原理如圖1所示。
本文設(shè)計(jì)的傳感器電路主要包括激勵(lì)脈沖發(fā)生模塊,、回波接收模塊,、回波檢測和測量模塊、位移計(jì)算和補(bǔ)償模塊,、Profibus-DP總線通信模塊,、主控模塊等。其中主控處理器選用ST公司的基于ARM Cortex-M3[3]內(nèi)核的STM32F103CB完成系統(tǒng)主控,、位移計(jì)算和補(bǔ)償?shù)裙δ?;Actel公司的A3P060 FPGA作為高速單元實(shí)現(xiàn)高精度的回波檢測和測量;Profichip公司的VPC3+S作為總線協(xié)議芯片實(shí)現(xiàn)基于Profibus-DP總線協(xié)議的位移數(shù)據(jù)傳輸,。位移傳感器系統(tǒng)框圖如圖2所示,。
系統(tǒng)工作時(shí),A3P060按照設(shè)定的周期T控制激勵(lì)脈沖發(fā)生模塊產(chǎn)生激勵(lì)脈沖,,激勵(lì)脈沖電流將產(chǎn)生環(huán)向磁場并沿著波導(dǎo)絲傳播,,遇到待測量位置磁鐵的磁場時(shí),產(chǎn)生磁致伸縮效應(yīng),波導(dǎo)絲將產(chǎn)生機(jī)械扭轉(zhuǎn),,從而形成扭轉(zhuǎn)波沿波導(dǎo)絲傳播,,在近端被回波檢測裝置轉(zhuǎn)換為電信號(hào)送入回波接收模塊中處理?;夭ń邮漳K會(huì)對信號(hào)進(jìn)行濾波和放大處理后送入比較器,,并由A3P060完成回波信號(hào)的時(shí)間檢測。A3P060將檢測得到的時(shí)間信息通過SPI接口發(fā)送至處理器STM32F103CB,,STM32F103CB利用數(shù)據(jù)處理和位移計(jì)算算法對采集到的時(shí)間信息進(jìn)行位移計(jì)算,、溫度補(bǔ)償以及位移非線性補(bǔ)償處理后,最后將計(jì)算的位移經(jīng)SPI接口傳送至Profibus-DP通信模塊VPC3+S,,完成與主站的數(shù)據(jù)交換,。
系統(tǒng)設(shè)計(jì)中采用RS485總線作為Profibus-DP的物理層接口,總線接口線路均通過光電隔離模塊連接到DP總線,,以保證數(shù)據(jù)的可靠通信,。
溫濕度傳感器選用DHT11數(shù)字溫濕度傳感器,采用單線雙向制,,由STM32F103CB主動(dòng)讀取傳感器的數(shù)據(jù)信息,。
2 Profibus-DP協(xié)議實(shí)現(xiàn)
Profibus-DP總線協(xié)議集成了ISO/OSI模型的物理層、數(shù)據(jù)鏈路層,,并根據(jù)實(shí)際需求加入用戶層,。一個(gè)DP系統(tǒng),最多支持使用126個(gè)站點(diǎn),,各站點(diǎn)賦予唯一的邏輯地址,。DP系統(tǒng)采用令牌控制+分時(shí)輪詢的Token_Passing主從輪詢協(xié)議,兼具分散式和主從式控制機(jī)制特點(diǎn),,特別適合對反應(yīng)時(shí)間,、可靠性、網(wǎng)絡(luò)負(fù)荷有特殊要求的通信,。
本系統(tǒng)選用VPC3+S實(shí)現(xiàn)Profibus-DP總線協(xié)議,,采用SPI接口實(shí)現(xiàn)VPC3+S與STM32F103CB的通信。VPC3+S是完整集成Profibus-DP協(xié)議的通信芯片,,支持?jǐn)?shù)據(jù)傳輸速率達(dá)到12 Mb/s,,在系統(tǒng)中完成地址識(shí)別、處理通信中的信息,、數(shù)據(jù)安全序列以及DP通信協(xié)議的處理等任務(wù),。
3 軟件設(shè)計(jì)
3.1 主流程
主流程主要進(jìn)行系統(tǒng)及各模塊的初始化以及數(shù)據(jù)處理和位移計(jì)算,流程圖如圖3,。
上電時(shí),,首先系統(tǒng)初始化,,設(shè)置STM32F103CB工作頻率。接著對GPIO,、SPI等外設(shè)進(jìn)行初始化操作,,點(diǎn)亮LED工作指示燈。再對通信芯片VPC3+S進(jìn)行初始化和配置操作,,然后不斷查詢數(shù)據(jù)準(zhǔn)備好標(biāo)志位,。STM32F103CB通過SPI中斷接收時(shí)間數(shù)據(jù),主程序?qū)夭ǚ逭?、時(shí)間數(shù)據(jù)濾波,,再計(jì)算位移并對位移結(jié)果進(jìn)行溫度補(bǔ)償和非線性補(bǔ)償。最后,,STM32F103CB通過SPI中斷發(fā)送位移結(jié)果到通信芯片VPC3+S,。VPC3+S將位移數(shù)據(jù)封裝成Profibus-DP幀格式,發(fā)送到RS485總線上,。
3.2 位移計(jì)算模塊
FPGA將時(shí)間數(shù)據(jù)通過SPI發(fā)送到STM32F103CB,,如果有符合條件的回波峰,選出并計(jì)算該峰上升沿和下降沿的平均值,,然后將該平均值送入數(shù)據(jù)濾波處理函數(shù)進(jìn)行去極值平均處理,,提高數(shù)據(jù)穩(wěn)定性,最后將處理后的位移值通過SPI發(fā)送給VPC3+S通信芯片,。位移計(jì)算流程圖如圖4。
選取峰的原則為:若最高級(jí)幅值有符合條件的峰,,則取最高級(jí)幅值的峰,,否則取次高一級(jí)幅值的峰,以此類推,;若最高一級(jí)幅值符合條件的峰不止一個(gè),,則取前面的峰。取最大一級(jí)幅值對應(yīng)的上升沿和下降沿的時(shí)間平均值作為當(dāng)前回波峰的時(shí)間數(shù)據(jù),。
系統(tǒng)的時(shí)間數(shù)據(jù)采用去極值平均濾波,,隨后系統(tǒng)對數(shù)據(jù)進(jìn)行去抖動(dòng)處理、溫度補(bǔ)償和非線性補(bǔ)償處理,,得到最終的延時(shí)數(shù)據(jù),,數(shù)據(jù)乘以波速得到位移數(shù)據(jù)。
3.3 VPC3+S通信模塊
實(shí)現(xiàn)Profibus-DP主從站通信過程,,首先要對從站VPC3+S進(jìn)行初始化[4],。主要內(nèi)容包括:中斷及功能寄存器值配置、從站地址值設(shè)定,、看門狗設(shè)置,、內(nèi)部空間計(jì)算,、緩沖區(qū)分配等。初始化流程如圖5所示,。
從站系統(tǒng)經(jīng)過初始化操作和使能,,通過主站確認(rèn)信息進(jìn)入工作狀態(tài),與主站進(jìn)行循環(huán)數(shù)據(jù)交換,。從站判斷主站是否有數(shù)據(jù)輸出,,有則讀取,否則可以直接將采集到的現(xiàn)場數(shù)據(jù)主動(dòng)地發(fā)送給主站,,如此循環(huán),。同時(shí)從站可以及時(shí)響應(yīng)主站的參數(shù)化、組態(tài),、修改地址等中斷請求,。
4 系統(tǒng)調(diào)試與測試
從站搭建調(diào)試完成,構(gòu)建完整通信系統(tǒng)還需主站,。本設(shè)計(jì)使用瑞典HMS工業(yè)網(wǎng)絡(luò)有限公司提供的Anybus-M系列板卡AB5030主站模塊,。
本文對系統(tǒng)的溫漂性能[5]進(jìn)行了測試,圖6(a)和圖6(b)分別給出了同一個(gè)組件在隨機(jī)選取位置升溫和降溫情況下測得的溫漂結(jié)果,。測試時(shí)保持測量位置不變,,改變環(huán)境溫度,測得相應(yīng)的位移信息,。圖中橫坐標(biāo)為溫度,,縱坐標(biāo)為測量得到的位移,實(shí)線為補(bǔ)償前的,,虛線為補(bǔ)償后的,。由圖可見,在溫漂補(bǔ)償前,,在60 ℃的大溫差范圍內(nèi),,位移溫漂分別達(dá)到3 mm和2 mm左右,采用溫度補(bǔ)償算法后溫漂降低到0.5 mm和0.3 mm左右,,滿足產(chǎn)品(6 μm+5 ppm×L)/℃的溫漂要求,,其中L為組件長度。
圖7(a)和圖7(b)是位移精度測試圖,,圖中橫坐標(biāo)為光柵尺測得的位移,,縱坐標(biāo)為本系統(tǒng)測試得到的位移與光柵尺測得位移的誤差值。圖7(a)為未非線性位移補(bǔ)償前的測量誤差,,圖7(b)為補(bǔ)償后的測量誤差,。由圖可知,經(jīng)補(bǔ)償后在整個(gè)量程范圍內(nèi),,測量誤差控制在±0.1 mm范圍內(nèi),,滿足系統(tǒng)精度的要求[6],。
5 總結(jié)
本文提出了基于Profibus-DP總線的位移傳感器設(shè)計(jì)方案,采用ARM+FPGA的系統(tǒng)架構(gòu)將位移測量轉(zhuǎn)化為時(shí)間測量,。測量結(jié)果表明,,該位移傳感器分辨率達(dá)到10 μm,通過設(shè)計(jì)溫漂補(bǔ)償算法和非線性位移補(bǔ)償算法,,測量精度達(dá)到±0.1 mm,,滿足設(shè)計(jì)要求。系統(tǒng)采用Profibus-DP總線,,實(shí)現(xiàn)了位移傳感器網(wǎng)絡(luò)化,、智能化的要求。實(shí)踐表明,,將該位移傳感器應(yīng)用在工業(yè)機(jī)床中,,運(yùn)行穩(wěn)定,測量結(jié)果準(zhǔn)確,,抗干擾能力強(qiáng),。
參考文獻(xiàn)
[1] 劉強(qiáng),甘永梅,,王兆安.PROFIBUS-DP現(xiàn)場總線通訊接口的開發(fā)[J].電子技術(shù)應(yīng)用,,2001(9):39-41.
[2] 蔣愷.基于ARM的磁致伸縮位移傳感器的設(shè)計(jì)與實(shí)現(xiàn)[D].蘇州:蘇州大學(xué),2012.
[3] 宋巖.ARM Cortex-M3權(quán)威指南[M].北京:北京航空航天大學(xué)出版社,,2009.
[4] ZHANG P,,SHI Y.A design of slave station interface circuit of Profibus-DP[C].Computer Science and Service System(CSSS),2011 International Conference on.IEEE,,2011:1927-1930.
[5] 李叢珊,,姜印平.一種磁致伸縮位移傳感器的優(yōu)化設(shè)計(jì)方法[J].傳感技術(shù)學(xué)報(bào),2014(9):1202-1207.
[6] SECO F,,MARTIN J M,JIMENEZ A R.Improving the accuracy of magnetostrictive linear position sensors[J].IEEE Transactions on Instrumentation & Measurement,,2009,,58(3):722-729.
作者信息:
張強(qiáng)慶,張夢翔,,張 霞,,胡劍凌
(蘇州大學(xué) 電子信息學(xué)院,江蘇 蘇州215006)