基于COMX的机器人伺服控制器设计

时间:2012-11-21来源:网络

摘要:为了配合EtherCAT协议在机器人控制系统上的使用,本文提出了基于COMX和STM32的机器人伺服控制器解决方案。介绍了COMX模块的功能及结构,设计了基于FSMC的接口电路来控制COMX,并设计了COMX驱动和伺服控制器的应用软件。最后搭建实验平台以测试通信功能和分析转发延时,验证了本方案的可行性。
关键词:机器人;伺服控制器;EtherCAT;STM32;COMX

引言
目前,机器人控制系统的研究重点在开放式、模块化控制系统等方面,机器人控制器的标准化和网络化已成为研究热点;同时,机器人伺服控制器的研究也具有很大的应用价值。在伺服通信方面,传统的基于模拟信号传输的集散控制系统需采用数/模转换器,系统构成复杂、分辨率低、可靠性得不到保障且难以扩展。为了解决此问题,本系统采用实时工业以太网EtherCAT协议作为机器人伺服系统的底层协议,同时构建伺服从站控制器。实时以太网技术简化了一般总线的互操作性和实时性等方面的问题,能满足控制网络传输的实时性要求,EtherCAT工业以太网技术以其网络实时性高、速度快、拓扑结构灵活等优点得到广泛关注。本控制器采用德国赫优讯公司开发的嵌入式实时以太网模块COMX来完成EtherCAT通信的功能,采用STM32系列单片机(以下简称STM32)为主控制器,由STM32来控制电机和COMX的工作流程。

1 COMX介绍
嵌入式实时以太网模块COMX-CA-RE是德国赫优讯公司开发的特殊网卡,支持所有主流的实时工业以太网协议(EtherCAT、PROFINET IO、Ethernet/IP、Power-Link、Sereos III、Modbus TCP等)。其协议栈设计成可装载的固件存储在Flash中;在系统启动时,COMX模块会自动装载保存在Flash中的协议固件。COMX模块使用netX500网络控制芯片,主机通过双端口内存DPM接口来进行数据交互,通过对DPM读和写来实现网络通信及模块控制。COMX结构框图如图1所示。

a.JPG


COMX模块与主机交互的接口是双端口内存DPM,DPM是netX500控制器和主机之间共享的存储区,应用程序通过DPM来实现EtherCAT数据通信、netX系统配置和诊断信息的获取。在使用COMX模块进行通信时,主要完成主机对DPM操作程序的编写以及握手标记的设置等。EtherCAT网络上的数据是实时地映射到DPM的,同时应用程序通过DPM来发送和接收数据,整个DPM区域是16 KB的地址空间。

2 硬件设计
本伺服控制器主要用于机器人伺服节点通信、关节电机的控制、I/O控制,以及传感信息的采集。主要硬件由COMX和STM32来组成。其中COMX负责EtherCAT通信,STM32采用FSMC机制来读写COMX。STM32是从站的伺服控制器主控芯片,主要进行电机控制和A/D、D/A转换模块的控制,以及负责管理COMX模块的运行流程。其中,伺服通信功能是基于EtherCAT协议进行组网来达到各模块互联和数据交换的目的,这样便于伺服节点的扩展和硬件结构的设计;电机控制方面,采用RS485接口控制SR518数字舵机;STM32的I/O口用于基本的输入/输出功能;A/D通道可以连接传感设备用于机器人的感知,D/A通道用于对语音、电流等模拟量的输出;RS232是开发过程中的调试接口。其硬件结构框图如图2所示。

b.JPG


STM32采用FSMC机制控制COMX,将COMX映射到STM32的内存空间中,对COMX的读写方式与读写SRAM相同。嵌入式模块COMX通过一个50引脚插槽来连接主控芯片,插槽包含了与主机通信必备的控制线总线、16位数据总线和14位地址总线等。COMX与STM32的硬件电路如图3所示。CO MX内存映射到FSMC的第一个存储块的第4个分区中,起始地址为0x6C000000,并且采用8位数据宽度来读写DPM存储区。

c.JPG

1 2 3

关键词: 机器人 伺服控制器 EtherCAT STM32 COMX

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版