基于EtherCAT技术的多轴运动控制系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于EtherCAT技术的多轴运动控制系统
张从鹏;赵康康
【摘要】以EtherCAT通信技术为基础,设计了一种基于ARM和FPGA双核的EtherCAT总线式多轴运动控制系统.提出了STM32作为系统管理芯片,通过SPI通信控制ET1200从站控制芯片实现Eth-erCAT总线从站通信功能的解决方案;并采用FPGA作为协处理器,完成运动控制算法的实现和执行.完成了运动控制系统的硬件电路设计和软件开发,并制作了样机.经试验测试,实现了EtherCAT总线通信功能,采用TwinCAT完成了闭环运动控制,并且可以独立工作实现运动规划,满足工业控制工程中的应用要求.%An EtherCAT bus based multi axis motion control system was designed based on ARM and FPGA , after systemat-ically study on EtherCAT technology .The solution of main control chip STM 32 controlling ET1200 through SPI was presented .A motion control algorithm based on FPGA was developed .The specific hardware circuit and software of control system was de-signed, and a prototype was produced .The experiment demonstrates that the communication function of EtherCAT bus was real -ized, and the closed-loop motion control was completed by TwinCAT .Motion control system can work independently to achieve motion planning , meetting the application of industrial control in engineering .
【期刊名称】《仪表技术与传感器》
【年(卷),期】2017(000)001
【总页数】5页(P115-118,122)
【关键词】EtherCAT;多轴;STM32;运动控制;FPGA;插补算法;TwinCAT
【作者】张从鹏;赵康康
【作者单位】北方工业大学机械与材料工程学院,北京 100144;北方工业大学机械与材料工程学院,北京 100144
【正文语种】中文
【中图分类】TP23
现代制造系统正朝着柔性化、开放化、网络化方向发展,覆盖多学科、多领域相关技术。

目前高端运动控制系统主要以基于PC的系统为主,传统的PC+NC型虽然有着较好的开放性,但因其扩展性和兼容性差等缺点受到多方面条件的限制,并且通常采用计算机中的ISA和PCI接口进行连接,存在实时性差、长线传输易受干扰、缺乏网络功能等问题[1]。

EtherCAT总线是一种开放式工业以太网技术,有系统结构简单、拓扑结构灵活、数据高速长距离传输和信号抗干扰能力强等优点,为解决传统运动控制系统控制问题提供了良好的解决方案[2]。

基于EtherCAT总线技术良好的发展前景,采用EtherCAT实时工业以太网技术,研究设计一款基于PC的ARM+FPGA为核心的具有较好运动控制性能的从站多轴运动控制系统。

本文多轴运动控制系统所组成的系统为“PC+运动控制”的系统架构,采用基于PC的TwinCAT软件作为主站,设计EtherCAT主站控制程序和运动控制系统从站总线通信接口驱动程序,从而实现EtherCAT网络通信功能。

从站运动控制系统接收并解析主站指令,完成各轴的运动规划和运动闭环控制。

本文EtherCAT总线式多轴运动控制系统工作原理如图1所示。

基于双核芯片的硬件架构,根据芯片的不同特性合理划分功能区域,充分发挥核心芯片的性能。

STM32负责EtherCAT通信、数控粗插补、存储器管理、系统管理
等功能,FPGA负责数控精插补、脉冲信号生成、编码器信号接收、通用DI/DO
等功能。

双核通过FSMC高速总线方式相连,STM32作为系统管理芯片,可以对FPGA芯片进行操作。

EtherCAT通信模块选用ASIC芯片ET1200,通过SPI串口协议与STM32连接,实现EtherCAT总线式通信。

运动控制系统总体架构如图2所示。

控制系统选用了32位的STM32F407ZGT6芯片,最高工作频率可达168 MHz,属于Cortex-M4系列高性能处理器,具有浮点运算单元,有睡眠、停止和待机3
种模式,耗能低[3]。

本文设计具有较高实时性的多轴运动控制系统,为满足设计
要求,FPGA选择Cyclone IV系列EP4CE10E22C8作为主芯片之一。

本文硬件设计共分为2部分,一部分是运动控制核心功能主卡设计,另一部分为EtherCAT总线通信副卡设计。

主卡和副卡之间连接采用插拔式可分离设计,以减小体积,节省空间。

3.1 EtherCAT通信副卡设计
运动控制系统共设计了2个EtherCAT从站通信接口,一个采用标准以太网通信MII接口,另一个选用了数据传输标准EBUS接口[4]。

采用ET1200芯片作为控制系统EtherCAT通信副卡的数据链路层,并通过SPI串口通信与STM32处理器进行数据交换,从而实现EtherCAT的数据帧收发、封装、解析等处理功能。

数据链路层电路和EBUS接口原理图如图3所示。

物理层是实现EtherCAT总线通信的最底层[5],根据要求,设计标准以太网通信MII接口,选用的KS8721BL作为PHY芯片。

在EtherCAT规范中要求物理层芯
片与从站控制器芯片使用相同的时钟源,因此由ET1200提供给KS8721BL芯片
25 MHz的时钟信号。

EtherCAT通信副卡的物理层电路主要由PHY芯片
KS8721BL、网络变压器H1102NL和RJ45网络接口构成。

物理层PHY芯片电路原理图如图4所示。

3.2 运动控制系统主卡设计
根据总体设计方案,规划各模块硬件电路。

STM32模块硬件电路主要有主芯片配置电路、JTAG调试接口电路、存储模块电路、RS232串口电路、EtherCAT通信接口电路等。

EP4CE10E22C8模块硬件电路主要有芯片配置电路、JTAG调试接
口电路、通用I/O接口电路、编码器模块电路、脉冲生成模块电路等。

运动控制
系统共16路通用I/O、可同时控制四轴运动。

硬件结构设计以及通信方式选择如
图5所示。

设计具有较高实时性要求的运动控制系统,需要选择高速的通信方式,因此双核之间通信方式选择不当将导致实时性能降低,不能使运动规划模块发挥高精度运动控制的作用。

为解决此问题,设计中选用了FSMC高速总线来实现双核之间的数据
交换。

STM32与FPGA之间的通信采用了6位地址线和16位数据线。

STM32F407芯片作为主控芯片将FPGA片选中后,对其进行数据读写操作。

运动控制系统实物如图6所示。

EtherCAT通信模式为主从站通信方式,即包括主站软件和从站软件。

EtherCAT
主站通过TwinCAT软件来实现,并完成EtherCAT从站设备扫描、XML文件解析、监控所有从站设备工作状态等功能。

功能测试软件用于运动控制系统的硬件功能测试和整机性能测试,为硬件设计改进、软件程序调试以及运动控制性能分析提供了极大的便利。

运动控制系统程序主要包括操作系统的移植、存储管理程序、接口程序以及运动控制算法的实现。

运动控制系统程序编写可分为2部分内容,分别是基于C语言的ARM程序编写和基于Verilog语言的FPGA程序编写。

根据程序开发平台的不同,以运动控制算法为核心,合理划分各个功能模块。

软件模块设计方案如图7所示。

4.1 从站EtherCAT通信程序
ET1200芯片SPI通信有3种模式,采用SPI模式3,参照ET1200的SPI通信时
序图,编写STM32F407芯片的SPI硬件驱动程序,驱动外设接口与ET1200芯
片通信,通过访问ET1200芯片寄存器来完成过程数据的读取和写入,从而实现EtherCAT总线通信。

ET1200寄存器中SM是EtherCAT专用从站控制器中重要
的功能寄存器,是管理邮箱数据和过程数据的缓存。

SM0存放来自主站的邮箱数据,SM1存放反馈给主站的邮箱数据,SM2用于保存输出的过程数据,SM3用
于保存输入的过程数据[6]。

EtherCAT总线实现过程数据的通信有2种方式,即自由运行模式和同步模式[7]。

自由运行模式是以查询的方式处理周期性的过程数据,而同步模式是以中断的方式接收处理过程数据。

本设计中采用了自由运行模式,从站EtherCAT总线通信程序流程图如图8所示。

4.2 运动规划程序
运动规划程序设计采用Verilog语言,FPGA负责接收ARM芯片发送的数据,再将数据加载到运动控制模块中进行DDA插补运算,最后实现脉冲输出和编码器脉冲采集。

DDA插补过程主要由积分累加器、数据缓存器、被积函数寄存器3部分组成[8]。

初始坐标和终点坐标被存储在数据缓存器中,被积函数累加值已超过积
分累加器容量2n时,将会溢出一个脉冲。

依此运行,直至位置计数值减为零时结束。

DDA插补功能模块如图9所示。

针对步进电机力矩随速度变化这一特性,本文运动控制系统采用S型曲线加减速
控制,并采用Verilog语言在FPGA中实现了加减速控制。

搭建试验测试平台,同时驱动4台步进电机,采集各轴编码器数据。

利用TwinCAT主站测试运动控制系统EtherCAT总线通信,并使用上位机测试软件控
制和监测电机位置和速度,并分析运动控制系统工作性能。

主站实验平台EtherCAT通信测试如图10所示。

EtherCAT总线通信实验过程中,编码器实时反馈角度位置信息。

实验结果表明:
主站的单轴控制运动平稳, EtherCAT总线通信稳定。

为方便进行运动控制系统性能以及数据分析,本文开发上位机测试软件模拟EtherCAT协议中过程数据帧结构,对运动控制系统发出控制指令,并反馈4个轴的位置数据。

分析位置数据,各个轴运行平稳,实现多轴直线插补联动控制,定位精度高,响应速度快。

对单轴进行点位控制实验,提取实验过程中反馈的数据,绘制起步和停止阶段位移曲线如图11、图12所示,速度曲线如图13所示。

实验结果表明,起步和停止阶段过渡平稳,具有较好的速度S型曲线规划能力。

基于EtherCAT实时以太网技术,设计了一种以STM32+FPGA为核心处理器的多轴运动控制系统。

完成了运动控制系统的硬件设计,并制作了样机。

开发了运动控制系统软件和上位机测试软件。

经试验测试,该运动控制系统EtherCAT总线通信稳定可靠,实现了点位控制和多轴联动控制功能,具有较强的运动规划能力,满足工业控制工程应用中的需求。

【相关文献】
[1] 蒋仕龙,吴宏,吕恕,等. 通用运动控制技术现状、发展及其应用[J]. 电工文摘,2009(1):7-11.
[2] JEE H P. Implementation of IEC61800 based EtherCAT slave module for real-time
multi-axis smart driver system[C]. Control Automation and Systems(ICCAS), 2010: 682-685.
[3] 张从鹏,刘同,赵康康. 基于DSC和FPGA的运动控制卡设计[J]. 机床与液压,2016,44(2):26-29.
[4] 郇极,刘艳强. 工业以太网现场总线EtherCAT驱动程序设计及应用[M]. 北京:北京航空航天
大学出出版社,2010:41-45.
[5] 樊光辉,孙国强,向健勇. 基于千兆以太网技术的大型实时传输系统[J]. 电子科技,2009 (3):37-40.
[6] 顾朝媛. EtherCAT工业以太网从站设备的软件设计与实现[D]. 哈尔滨:哈尔滨工业大学, 2012.
[7] 刘艳强,黄帅,马秋霞. 基于工业以太网EtherCAT的DCS控制系统设计[J]. 制造业自动化,2010, 32(11):21-23.
[8] 顾定富,罗福源. 基于USB3.0与FPGA的多轴运动控制器开发[J]. 组合机床与自动化加工技术,2015(7):64-68.。

相关文档
最新文档