?

基于Modbus/TCP的電容式扭矩傳感器數據采集系統設計

2024-02-22 12:48蒲明輝趙仁東黃學創艾振軍
儀表技術與傳感器 2024年1期
關鍵詞:電容式以太網上位

蒲明輝,趙仁東,黃學創,艾振軍

1.廣西大學機械工程學院;2.廣西制造系統與先進制造技術重點實驗室

0 引言

隨著工業自動化的不斷發展,扭矩傳感器已經廣泛應用于協作機器人[1-2]、空間機械臂[3]和精密加工機床[4]等領域,通常安裝于具有旋轉副的關節處,用于感知關節承受的扭矩大小。而電容式扭矩傳感器具有靈敏度高、動態性能好、體積小等優點[5],被認為是極具應用前景的一類傳感器。

電容式扭矩傳感器要實現扭矩的測量,需要相應的數據采集系統對電容信號進行采集和處理,并將數據傳輸到上位機,最終轉換為扭矩信息。目前基于串口通訊的數據采集系統數據傳輸方案應用最為廣泛。如劉瑾等[6]基于RS232通信實現了電容式位移傳感器的數據采集,但RS232串口通訊存在傳輸速率慢、易受干擾的問題。于是,有研究者采用差分的串口通訊方式,如王小鑫[7]設計的基于RS485的電容式加速度傳感器的測量系統,董超慧[8]設計的基于CAN總線的電容式壓差傳感器的數據采集系統,增強了數據傳輸的抗干擾能力,同時傳輸速率也得到提高。雖然CAN和RS485最大傳輸速率已經達到Mbit/s,但當通訊距離超過10 m后,通訊速率就會大大降低。而采樣芯片和主控芯片之間的SPI通訊最大速率高達80 Mbit/s,以上的通訊方式未能充分發揮芯片的性能。

以太網通訊技術能實現遠程數據傳輸,被廣泛應用于多個領域,其采用差分方式傳輸數據,具有很好的抗干擾能力,在局域網內傳輸速率可達100 Mbit/s。Modbus/TCP通信數據鏈路層的校驗機制可以保證數據的完整性[9-10],是一種可靠的通訊模式。本文針對電容式扭矩傳感器設計了一套基于Modbus/TCP協議的數據采集系統。系統硬件基于AD7147+STM32實現電容信號采集,通過W5500芯片實現以太網通信。另外,為了實現數據的采集、顯示與存儲,開發了一款對應的以太網通訊上位機軟件。

1 系統需求與總體設計

數據采集對象為電容式扭矩傳感器,其基于變極距型電容器工作原理設計,極距的微小變化會導致電容器容值發生改變,而采集系統根據容值變化量可以映射出相應的扭矩值。傳感器結構如圖1所示,包括傳感器本體的外圈、彈性梁、內圈以及安裝在本體外圈上的PCB板。其中外圈用于固定傳感器,電容動極板與內圈連接,電容靜極板位于PCB板上。當扭矩施加于傳感器內圈,動極板會隨著內圈發生微小轉動,電容器動、靜極板的間距就會發生改變。

圖1 傳感器結構

傳感器共需要8個電容靜極板兩兩構成差動,分成4組來實現扭矩的測量,這就要求系統至少支持8個電容通道的輸入。同時,考慮到系統的可擴展性,使系統能夠擴展到電容式多維力傳感器的測量。因此,選用電容數字轉換芯片AD7147,使系統具有13輸入通道、16位采樣精度。主控芯片選擇低功耗、性能穩定的STM32F103C8T6。為了更方便地與主控芯片整合,選用支持高效SPI接口的W5500來實現以太網傳輸。系統采用模塊化設計,由電容數字轉換模塊、以太網通信模塊、電源模塊以及上位機組成。

數據采集系統的整體框圖如圖2所示。傳感器電容模擬信號經過AD7147讀入并轉換為電容數字信號輸出,再通過SPI通信接口將數字信號發送到主控芯片。主控芯片首先要完成對AD芯片數字信號的讀寫控制,然后將采集的數據按特定的幀格式打包,再通過W5500的TCP/IP硬件協議棧方式將數據幀發送至上位機軟件中。

圖2 系統總體框圖

2 系統硬件設計

2.1 以太網通信模塊

要實現以太網通信,采集系統就需要1顆網卡芯片。W5500是1款集成TCP/IP硬件協議棧的以太網芯片,內置高達10/100M的以太網數據鏈路MAC層、物理層PHY以及 32 KB的收發緩存。

以太網通信模塊的電路原理如圖3所示。W5500采用25 MHz外部晶振Y1輸入,通過PMODE0、PMODE1、PMODE2 3個引腳的不同電平邏輯組合設置物理層PHY的網絡工作模式。W5500與主控芯片之間的連接工作模式為可變數據長度(VDM)模式。傳輸數據幀的長度由STM32的SCSN信號控制,在SCLK的上升沿鎖存,在下降沿輸出數據。

圖3 W5500通信模塊電路圖

考慮到通信接口的電磁兼容性能,抑制通信接口電纜帶來的共模干擾,采用帶有網絡變壓器的隔離型RJ45以太網通信接頭,同時可以起到保護電路的作用[11]。為了避免信號傳輸線的反射,在不影響通信質量的情況下,采用并聯端接[12]的方式在信號發送端并聯了阻值為51 Ω的電阻R20、R21。

2.2 電容數字轉換模塊

為實現多通道、高精度的數據采集,系統采用AD7147作為電容信號采集芯片。該芯片集成了片上自動環境補償功能,電容信號通過一個開關矩陣傳輸到16位分辨率、250 kHz采樣頻率的模數轉換器內。在轉換器中有12個轉換通道,每個轉換通道可以配置多個信號輸入,轉換結果存儲在片上寄存器。通過對片上寄存器進行編輯來實現任何一組輸入以及每個外部電容信號的平均、偏移和增益等特性。芯片輸入通道范圍為±8 pF,支持電壓范圍為2.6~3.6 V。

13個輸入通道電容極板的不同位置擺放與組合,可以實現對空間上單維和多維力的測量。本文使用8個通道的靜極板兩兩構成差動組合,共4組均勻分布于扭矩傳感器動極板兩側,實現扭矩的測量。其AD模數轉換模塊的電路原理如圖4所示,AD7147提供了SPI外設通信接口,通過CS、SCLK、SDO、SDI引腳與STM32連接實現板間的高速通信,供電電壓3.3 V。

圖4 AD7147外圍電路原理圖

2.3 電源模塊

電源模塊是整個采集系統的供能部分,電源質量與整個系統的穩定性密切相關。電源模塊采用二級壓降設計,支持9~12 V外部電壓供電。一級壓降采用直流開關電源輸出。開關電源通過調整功率半導體器件的飽和區時間或頻率實現電壓控制,其損耗很少,轉換效率高,發熱量小[13]。但是,開關電源的紋波系數較大,不利于電源系統的穩定。而線性穩壓電源雖然效率較低,但是電磁干擾小,紋波系數低,輸出穩定且瞬態響應好[14]。所以二級壓降采用線性穩壓電源彌補一級壓降波紋系數大的不足,為系統提供穩定的工作電源。

電源模塊的電路原理圖如圖5所示,一級壓降通過TPMP2359芯片將外部12 V電源降到5 V,二級壓降通過AMS1117芯片將5 V降到3.3 V。此外,通過肖特基二極管D1、D2以及每級壓降的輸入輸出引腳設計旁路接地電容濾波來進一步提高電源的穩定性,降低電源噪聲。

圖5 電源模塊原理圖

3 系統軟件設計

3.1 下位機程序

下位機要保證系統上電后能正確初始化相關芯片,等待上位機指令進行工作。下位機的程序設計主要包括AD7147的工作模式配置、主控芯片的I/O口初始化以及以太網通信協議設置。下位機的工作流程如圖6所示。

圖6 下位機工作流程圖

系統上電后,首先對STM32進行I/O口、時鐘和中斷事件的初始化,然后再通過SPI1和SPI2接口分別去設置AD7147和W5500的工作模式。W5500的初始化包括時鐘、MAC地址、子網掩碼、默認網關、IP地址、端口號、收發溢出時間以及socket的初始化。初始化完成,進入定時器中斷函數,等待上位機的功能碼指令。STM32接收到讀數據指令后,將數據按特定幀格式打包并通過W5500傳輸到上位機。

芯片的轉換輸出效率由功率模式和采樣率決定。采樣率是指輸出單個電極的電容數字量需要采集的樣本數,采樣率越高,輸出結果的精度也越高,但是消耗的時間就越長。為了使芯片轉換速率達到最快,同時確保具有一定的精度,系統采樣率設為64,功率模式為全功率模式,理論上8個電極的轉換周期6 ms。采集系統將上位機作為服務端,將下位機作為客戶端,上位機通過客戶端設定的IP地址和端口號進行連接。

3.2 上位機軟件設計

上位機除了控制下位機讀寫外,還要完成數據的處理和圖形顯示。上位機軟件基于Winform.NET 4.7框架開發,其功能主要包括AD芯片寄存器讀寫、電容數字信號的顯示與存儲、傳感器扭矩測量的顯示與存儲以及供數據輸出的軟件接口。圖7為上位機的扭矩測量界面,左邊為按鈕操作和信息輸入區,右邊為扭矩圖形化顯示區。

圖7 上位機測量界面

系統每幀數據傳輸都需要上位機向下位機發送Modbus功能碼指令,下位機根據收到的指令進行讀寫操作。如表1所示,所用的Modbus/TCP協議的數據幀由MBAP報文頭和數據單元PDU 2部分組成。其中報文頭的事務標識2字節,協議標識2字節,PDU數據段長度2字節,設備編號1字節。PDU由Modbus功能碼、起始地址和數據3部分組成,文中主要用到03讀寄存器功能碼和06寫單個寄存器功能碼。

表1 Modbus/TCP幀格式 Byte

上位機軟件讀取數據的流程如圖8所示,首先配置IP地址和端口號、初始化定時器,然后發送連接請求,等待與下位機連接成功后,通過定時器觸發事件函數連續發送讀指令,同時等待接收數據。每次對數據進行處理、存儲與顯示后,等待定時器溢出進入下一次循環。

圖8 上位機讀取數據流程圖

扭矩傳感器多應用于機械手關節處,其控制系統需要及時獲取關節處扭矩信息來做出調整。本系統上位機軟件開發了socket和共享內存2種供數據輸出的軟件接口方式,可以實時輸出扭矩信息,實現與其他系統的數據交互。

4 系統測試

4.1 實驗方法與設備

AD7147開發系統是專門為AD7147芯片設計的電容數據采集系統,包括1塊開發板和相應上位機軟件,能夠準確測出電容極板的數字變化量。為了驗證所研制的數據采集系統的性能,使用AD7147開發系統和文中設計的以太網采集系統分別對傳感器進行電容數據采集測試。實驗要確保2次測試的加載條件一致,通過對比相同加載條件下2個采集系統輸出的電容數字變化量來驗證本文系統的可靠性和精度。另外,給傳感器重新標定后,用文中設計的以太網采集系統進行扭矩加載測量,得到系統的測量誤差。

搭建的實驗平臺如圖9所示,實驗設備包括1套實驗加載平臺、1款實驗室自主研制量程為20 N·m的電容式扭矩傳感器[15]、AD7147芯片開發板和上位機、本文所設計的以太網采集板和上位機以及若干經過校正的砝碼。其中,圖9(a)在進行AD7147開發系統測試實驗,圖9(b)在進行以太網采集系統測試實驗,圖9(c)是型號為EVAL-AD7147EBZ的開發電路板,圖9(d)是文中設計的以太網采集電路板。

(a)AD7147開發系統實驗

將扭矩傳感器安裝于實驗平臺上,先使用AD7147開發系統進行測試,通過加載高精度砝碼對傳感器施加扭矩,扭矩施加范圍為0~20 N·m,從空載狀態加載到20 N·m,再卸載到0 N·m,每次加載和卸載的步長為2 N·m。再使用所設計的以太網采集系統進行測試,扭矩施加范圍為0~20 N·m,從空載狀態加載到20 N·m,再卸載到0 N·m,每次加載和卸載的步長為2 N·m。

4.2 實驗結果

存儲每次加載和卸載后的電容數字量輸出值,對數據進行處理后,得到測試結果如圖10所示。在相同加載條件下,2個采集系統的輸出擬合曲線高度重合,誤差在1.19%以內,該誤差為2個采集系統輸出電容數字變化量的最大誤差絕對值與對應AD7147開發板輸出電容數字變化量的百分比。測試結果可以說明所設計的采集系統能夠準確測出對應電容的數字變化量。

圖10 采集系統的電容數字變化量曲線

采用三次多項式對實驗數據進行擬合,得到電容數字變化量與扭矩值的映射關系。使用所設計的以太網采集系統進行扭矩加載測量實驗,其測量結果如表2所示,最大測量誤差為1.47%,該誤差為實際加載值與測量值的最大誤差絕對值和實際加載值的百分比。在實驗加載過程中,除了數據采集系統的誤差外,標定平臺的安裝誤差、砝碼加載方向的偏差以及傳感器解耦曲線擬合誤差等都會影響最終的誤差測試結果。

表2 誤差測量實驗結果

通過上位機軟件測試來驗證采集系統的數據刷新頻率,系統上位機從發送03讀指令到獲取一次完整數據的時間周期約為1 ms,輸出頻率為1 000 Hz。

5 結束語

本文基于Modbus/TCP協議設計了一套應用于電容式扭矩傳感器的數據采集系統。系統以STM32為主控芯片,W5500為以太網控制芯片,AD7147為電容信號采集芯片,系統具有13個電容輸入通道和16位的采樣精度。實驗測試結果表明:系統最大測量誤差為1.47%,數據輸出頻率為1 000 Hz。上位機軟件可直接讀寫寄存器參數,更加方便控制芯片的工作模式。系統除了應用于扭矩測量,也可以擴展到電容式多維力傳感器的測量。

猜你喜歡
電容式以太網上位
基于1500以太網養豬場的智能飼喂控制系統的設計與實現
基于FDC2214電容式傳感器的手勢識別裝置
電容式油量表設計
電容式蓄電池液位計設計
特斯拉 風云之老阿姨上位
談實時以太網EtherCAT技術在變電站自動化中的應用
“三扶”齊上位 決戰必打贏
基于ZigBee和VC上位機的教室智能監測管理系統
一種90W高功率以太網供電系統的設計
以新思路促推現代農業上位
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合