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