基于COMX的機器人伺服控制器設計
COMX接收數據的過程如圖7所示。根據以上分析過程可以設計出COMX接收數據的驅動程序,其執行流程如圖8所示。本文引用地址:http://www.j9360.com/article/159683.htm
3.4 伺服控制器軟件流程
伺服從站控制器在啟動后會初始化COMX模塊,然后等待COMX就緒。在控制過程中首先會通過郵箱數據發送電機的設置參數,在參數設置完成后就會發送過程命令來啟動電機控制,然后進入電機控制循環。在電機控制過程中可以使用郵箱數據發送命令來停止電機控制,在沒接到停止命令時會循環接收命令,解析后用于控制電機,直到控制結束。伺服從站控制器的程序流程如圖9所示。
4 實驗測試
本系統主要進行的實驗如下:其一,對COMX伺服控制器的協議兼容性測試;其二,對COMX伺服控制器轉發延時的測試。針對以上測試需求,搭建了相應的測試平臺。在PC平臺上安裝netANALYZER應用軟件和Wireshark軟件。其中netANALYZER用于數據抓取和時間分析;Wiresha rk用于數據報分析和時間抖動分析。在主站上使用德國赫優訊公司的cifX 50-RE網卡和SYCON.net軟件,在從站上使用STM32和COMX開發的伺服控制器。采用netANALYZER分析卡抓取數據包,并采用Wireshark軟件分析數據,這樣就可以測試通信的兼容性和功能的實現。同時也可以采用netANALYZER分析卡的時間分析功能去測試控制器的轉發延時。為了分析總線在不同壓力下的轉發延時,進行了一組數據的測量,并轉換為曲線。如圖10所示,從站的轉發延時基本不變。由于總線從站采用了硬件FMMU的映射機制來獲取數據,這一過程延時很短,而且每個從站只處理與自己相關的數據,因此在轉發過程中數據的增加基本不影響轉發延時。
結語
機器人伺服控制器是機器人組成的關鍵部件,在使用EtherCAT作為機器人控制協議時,需要關節控制器能兼容EtherCAT通信。為了解決這個問題,本文設計了基于COMX和STM32的伺服控制器,從軟件和硬件兩方面進行了設計,同時實現了基于FSMC接口的COMX驅動以及EtherCAT通信過程。最后,采用測試工具分析了伺服控制器在不同BusLoad下的轉發延時,通過實驗分析驗證了基于COMX模塊的伺服控制器方案的可行性。
評論