基于STM32的機器人伺服控制器設計
目前,機器人控制系統(tǒng)的研究重點在開放式、模塊化控制系統(tǒng)等方面,機器人控制器的標準化和網絡化已成為研究熱點;同時,機器人伺服控制器的研究也具有很大的應用價值。在伺服通信方面,傳統(tǒng)的基于模擬信號傳輸的集散控制系統(tǒng)需采用數/模轉換器,系統(tǒng)構成復雜、分辨率低、可靠性得不到保障且難以擴展。為了解決此問題,本系統(tǒng)采用實時工業(yè)以太網EtherCAT協(xié)議作為機器人伺服系統(tǒng)的底層協(xié)議,同時構建伺服從站控制器。實時以太網技術簡化了一般總線的互操作性和實時性等方面的問題,能滿足控制網絡傳輸的實時性要求,EtherCAT工業(yè)以太網技術以其網絡實時性高、速度快、拓撲結構靈活等優(yōu)點得到廣泛關注。本控制器采用德國赫優(yōu)訊公司開發(fā)的嵌入式實時以太網模塊COMX來完成EtherCAT通信的功能,采用STM32系列單片機(以下簡稱STM32)為主控制器,由STM32來控制電機和COMX的工作流程。
1 COMX介紹
嵌入式實時以太網模塊COMX-CA-RE是德國赫優(yōu)訊公司開發(fā)的特殊網卡,支持所有主流的實時工業(yè)以太網協(xié)議(EtherCAT、PROFINET IO、Ethernet/IP、Power-Link、Sereos III、Modbus TCP等)。其協(xié)議棧設計成可裝載的固件存儲在Flash中;在系統(tǒng)啟動時,COMX模塊會自動裝載保存在Flash中的協(xié)議固件。COMX模塊使用netX500網絡控制芯片,主機通過雙端口內存DPM接口來進行數據交互,通過對DPM讀和寫來實現網絡通信及模塊控制。COMX結構框圖如圖1所示。
COMX模塊與主機交互的接口是雙端口內存DPM,DPM是netX500控制器和主機之間共享的存儲區(qū),應用程序通過DPM來實現EtherCAT數據通信、netX系統(tǒng)配置和診斷信息的獲取。在使用COMX模塊進行通信時,主要完成主機對DPM操作程序的編寫以及握手標記的設置等。EtherCAT網絡上的數據是實時地映射到DPM的,同時應用程序通過DPM來發(fā)送和接收數據,整個DPM區(qū)域是16 KB的地址空間。
2 硬件設計
本伺服控制器主要用于機器人伺服節(jié)點通信、關節(jié)電機的控制、I/O控制,以及傳感信息的采集。主要硬件由COMX和STM32來組成。其中COMX負責EtherCAT通信,STM32采用FSMC機制來讀寫COMX。STM32是從站的伺服控制器主控芯片,主要進行電機控制和A/D、D/A轉換模塊的控制,以及負責管理COMX模塊的運行流程。其中,伺服通信功能是基于EtherCAT協(xié)議進行組網來達到各模塊互聯(lián)和數據交換的目的,這樣便于伺服節(jié)點的擴展和硬件結構的設計;電機控制方面,采用RS485接口控制SR518數字舵機;STM32的I/O口用于基本的輸入/輸出功能;A/D通道可以連接傳感設備用于機器人的感知,D/A通道用于對語音、電流等模擬量的輸出;RS232是開發(fā)過程中的調試接口。其硬件結構框圖如圖2所示。
STM32采用FSMC機制控制COMX,將COMX映射到STM32的內存空間中,對COMX的讀寫方式與讀寫SRAM相同。嵌入式模塊COMX通過一個50引腳插槽來連接主控芯片,插槽包含了與主機通信必備的控制線總線、16位數據總線和14位地址總線等。COMX與STM32的硬件電路如圖3所示。CO MX內存映射到FSMC的第一個存儲塊的第4個分區(qū)中,起始地址為0x6C000000,并且采用8位數據寬度來讀寫DPM存儲區(qū)。
評論