当前位置:首页 > 工业控制 > 工业控制
[导读]摘要:为了配合EtherCAT协议在机器人控制系统上的使用,本文提出了基于COMX和STM32的机器人伺服控制器解决方案。介绍了COMX模块的功能及结构,设计了基于FSMC的接口电路来控制COMX,并设计了COMX驱动和伺服控制器的应

摘要:为了配合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所示。


    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所示。


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



3 软件设计
3.1 软件结构
   
基于COMX的伺服控制器的软件框架如图4所示。伺服系统的主控芯片是STM32,在软件上采用了ST公司开发的底层固件库来操作硬件接口。在本系统中,主要有RS485通信模块、COMX驱动模块、A/D转换模块、D/A转换模块以及I/O模块。系统中通过COMX来实现EtherCAT通信,采用RS485来控制SR518舵机,同时采用这些模块的API来构建伺服驱动的应用程序。


3.2 COMX驱动设计
    COMX驱动的执行流程,在硬件电路连接好的前提下,主要任务是寄存器的配置及通信流程的控制。首先,要配置STM32的相关引脚,将与COMX相关的数据线、地址线、片选线和读写信号线全部设置成复用推挽输出模式;然后,设置FSMC的相关寄存器,配置FSMC时钟、时序逻辑、读写模式、数据宽度等;接着,就是COMX启动检测阶段,由于COMX是独立网卡,内部有独立的系统,只有在它内部系统运行就绪后才能正常通信,这就需要检测COMX提供的一些标志寄存器的相关位,以此来判断内部系统的状态;最后,等COMX一切就绪后就可以正常通信,执行读写操作。
    COMX是独立的网卡设备,通过加载不同的固件程序,来实现各种实时以太网通信协议,本系统中使用的是EtherCAT从站协议。在COMX使用之前,要保证固件程序下载到Flash中,同时配置文件也要保存在Flash中。
    COMX上电启动时,会自动加载运行固件,并读取配置文件。下载固件时要使用赫优讯公司配套的PCI板卡和cifX Test软件工具,配置文件的下载需要用SYCON.net工具,具体步骤可以查看参考文献。当固件程序和配置文件下载完毕后,就可以使用COMX网卡了。
3.3 COMX读写操作实现
    COMX读写模式是基于缓冲的握手方式,在DPM中,主机和netX500系统通过握手标记来划分DPM的数据读写权限,这些握手标记在握手通道中。每个通道都有一对CMD和ACK标记位,当这两个标记位相同时,主机可以写相应的DPM区域;当不同时,主机可以读相应的DPM区域。COMX发送数据的过程如图5所示。


    根据以上分析过程,可以设计出COMX发送数据的驱动程序,其执行流程如图6所示。


    COMX接收数据的过程如图7所示。根据以上分析过程可以设计出COMX接收数据的驱动程序,其执行流程如图8所示。


3.4 伺服控制器软件流程
   
伺服从站控制器在启动后会初始化COMX模块,然后等待COMX就绪。在控制过程中首先会通过邮箱数据发送电机的设置参数,在参数设置完成后就会发送过程命令来启动电机控制,然后进入电机控制循环。在电机控制过程中可以使用邮箱数据发送命令来停止电机控制,在没接到停止命令时会循环接收命令,解析后用于控制电机,直到控制结束。伺服从站控制器的程序流程如图9所示。



4 实验测试
   
本系统主要进行的实验如下:其一,对COMX伺服控制器的协议兼容性测试;其二,对COMX伺服控制器转发延时的测试。针对以上测试需求,搭建了相应的测试平台。在PC平台上安装netANALYZER应用软件和Wireshark软件。其中netANALYZER用于数据抓取和时间分析;Wiresha rk用于数据报分析和时间抖动分析。在主站上使用德国赫优讯公司的cifX 50-RE网卡和SYCON.net软件,在从站上使用STM32和COMX开发的伺服控制器。采用netANALYZER分析卡抓取数据包,并采用Wireshark软件分析数据,这样就可以测试通信的兼容性和功能的实现。同时也可以采用netANALYZER分析卡的时间分析功能去测试控制器的转发延时。为了分析总线在不同压力下的转发延时,进行了一组数据的测量,并转换为曲线。如图10所示,从站的转发延时基本不变。由于总线从站采用了硬件FMMU的映射机制来获取数据,这一过程延时很短,而且每个从站只处理与自己相关的数据,因此在转发过程中数据的增加基本不影响转发延时。



结语
   
机器人伺服控制器是机器人组成的关键部件,在使用EtherCAT作为机器人控制协议时,需要关节控制器能兼容EtherCAT通信。为了解决这个问题,本文设计了基于COMX和STM32的伺服控制器,从软件和硬件两方面进行了设计,同时实现了基于FSMC接口的COMX驱动以及EtherCAT通信过程。最后,采用测试工具分析了伺服控制器在不同BusLoad下的转发延时,通过实验分析验证了基于COMX模块的伺服控制器方案的可行性。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭