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