Abstract: In order to match the use of EtherCAT protocol in the robot control system, this paper proposes a robot servo controller solution based on COMX and STM32.The functions and structure of COMX module are described. The interface circuit based on FSMC is designed to control COMX, and COMX driver and application software for the servo controller are designed. Lastly, an experimental platform is built to test the communication function and analyze the forwarding delay, and experimental result shows the feasibility of this solution.
Key words: robot; servo controller; EtherCAT; STM32; COMX
引言
目前,机器人控制系统的研究重点在开放式、模块化控制系统等方面,机器人控制器的标准化和网络化已成为研究热点[1];同时,机器人伺服控制器的研究也具有很大的应用价值。在伺服通信方面,传统的基于模拟信号传输的集散控制系统需采用数/模转换器,系统构成复杂、分辨率低、可靠性得不到保障且难以扩展[2]。为了解决此问题,本系统采用实时工业以太网EtherCAT协议作为机器人伺服系统的底层协议,同时构建伺服从站控制器。实时以太网技术简化了一般总线的互操作性和实时性等方面的问题,能满足控制网络传输的实时性要求,EtherCAT工业以太网技术以其网络实时性高、速度快、拓扑结构灵活等优点得到广泛关注[3]。本控制器采用德国赫优讯公司开发的嵌入式实时以太网模块COMX来完成EtherCAT通信的功能,采用STM32系列单片机(以下简称STM32)为主控制器,由STM32来控制电机和COMX的工作流程。
1 COMX介绍
嵌入式实时以太网模块COMXCARE是德国赫优讯公司开发的特殊网卡,支持所有主流的实时工业以太网协议(EtherCAT、PROFINET IO、Ethernet/IP、PowerLink、Sercos III、Modbus TCP等)。其协议栈设计成可装载的固件存储在Flash中;在系统启动时,COMX模块会自动装载保存在Flash中的协议固件。COMX模块使用netX500网络控制芯片,主机通过双端口内存DPM接口来进行数据交互,通过对DPM读和写来实现网络通信及模块控制[4]。COMX结构框图如图1所示。