基于XMC4800的EtherCAT总线伺服控制系统设计

2020-04-29 13:02马梦意徐建明
计算机测量与控制 2020年4期
关键词:主站驱动器编码器

马梦意,徐建明

(浙江工业大学 信息工程学院,杭州 310023)

0 引言

现代智能工业[1]自动化技术是信息社会中的关键和核心技术之一,自动化技术促进了人类文明的发展。目前,随着对伺服系统[2]的信息化管理需求加剧,将现场总线、实时工业以太网等技术应用于伺服系统中引起了人们的广泛关注,现代交流伺服系统已呈现开放性、网络化、小型数字化和智能化等发展趋势。因此,开展实时工业以太网通讯的伺服系统的研究具有重大的实际意义。

工业以太网技术快速发展,采用全双工通信方式能同时收发数据,工业以太网的实时性也逐步提高。传统的伺服驱动器使用模拟接口和I/O的控制方式难以实现分布式。智能化具有统一标准协议的伺服控制系统的组建使得实时通信更加智能。目前许多国际组织正努力建立工业以太网统一标准协议,使工业以太网国际标准化,故实时工业以太网已成为伺服驱动接口的主流。当前主流实时以太网主要有 EtherCAT[3]、Profinet、Ethernet、Powerlink、CC-Link IE等。2003年,德国自动化公司BECKHOFF(倍福)提出了一种实时工业太网技术EtherCAT,协议中对传统的以太网协议进行修改,EtherCAT网络完全符合以太网标准并具有较好兼容性,支持多种拓扑结构[4],适用性广泛、效率高、刷新周期短、同步[5]性能好。

目前主流的EtherCAT总线伺服控制系统[6]方案有STM32/DSP加LAN9252,STM32/DSP加ET1100从站芯片等。Beckhoff公司2009年左右推出的EtherCAT从站控制器[7](EtherCAT slave control,ESC)ET1100,芯片总线接口可以扩展为4个,有8个现场总线内存管理单元和同步管理器,支持E-BUS;需要外置PHY芯片,成本较高,对性能和接口数量有要求,可以选用此方案。2015年美国Microchip公司推出的LAN9252芯片是集成了两路以太网PHY的2/3端口ESC芯片,最多有3个接口,最多支持3个Fieldbus存储管理单元[8]和接口。以上两种ESC芯片方案需要外部的处理器MCU通过串行SPI(Serial Peripheral Interface,串行外设接口)或者并行FSMC(Flexible Static Memory Controller,可变静态存储控制器)等与其进行数据交互,需要编写MCU与ESC芯片的底层驱动代码[9],多芯片协同工作方案成本较高、调试难度较大、开发周期长,且在layout布局时占用PCB空间大,MCU与ESC芯片交互的高速信号容易受到干扰。

2015年英飞凌公司推出的XMC4800微处理器内置一个ESC和ARM Cortex M4内核。内部的EtherCAT处理单元(EPU)接收、分析和处理EtherCAT数据,启用和协调对ESC的内部寄存器和内存空间的访问。MCU支持最高2MB的嵌入式闪存、352Kb的内存,是业内唯一支持125℃的M4产品,可靠性高,且成本较低。配合Dave强大的IDE(Integrated Development Environment,集成开发环境),更方便地进行基于EtherCAT从站设备的开发。

本文以EtherCAT总线技术和矢量控制[10]为理论基础,选用英飞凌公司的XMC4800为主控芯片,设计一种EtherCAT总线的从站伺服驱动系统。设计了EtherCAT网络通讯电路、电机驱动电路、电流与电压检测电路[11]、编码器检测电路等。利用倍福SSC_Tool软件配置生成从站协议代码和设备描述XML文件,按照CIA402运动控制协议添加适用于本系统的对象字典[12];在英飞凌的编程软件Dave上配置ECAT_SSC和SVPWM控制的APP,生成底层代码;编写了伺服驱动的位置环、速度环、力矩环和电流环控制算法程序。最后搭建了一个单轴伺服实验装置,利用TwinCAT软件验证了所设计的EtherCAT从站伺服驱动系统的可行性。

1 系统结构及原理

EtherCAT 是一种将工业以太网和现场总线技术相结合的工业总线,符合以太网标准,具有带宽利用率高、实时性能强、拓扑结构灵活、配置简洁、传输速度高、成本低等优势。本课题结合总线技术,利用倍福主站TwinCAT3软件和自主设计的伺服驱动器,搭建电机驱动控制系统。基于XMC4800的EtherCAT总线伺服控制系统总体结构如图1所示;该系统的整体结构包括:工控机TwinCAT3主站、EtherCAT从站伺服驱动器、编码器、伺服电机。主站TwinCAT3扫描从站,配置从站参数后开始进行运动轨迹位置和速度的规划,然后在每个DC(Distribute Clock)周期将位置和速度等控制命令下发给从站驱动器,并且实时获取电流、速度、位置等电机反馈的参数信息,形成闭环控制。

图1 系统总体结构图

2 系统硬件设计

基于XMC4800的EtherCAT总线伺服控制系统的硬件包括两部分:EtherCAT总线从站网络通讯和伺服电机驱动。在设计原理图的时候采用英飞凌的引脚分配工具Infineon_ XMC_Pinout_Tool选择MCU设备和封装,勾选需要的外设,对引脚进行分配。设计的伺服驱动器网络控制和伺服驱动部分都集成在一个PCB板子上,采用两层板的设计结构。

2.1 电源模块设计参数

伺服系统DC48V供电,LM2596-12和LM2596-5作为开关电源降压芯片,分别降压到12V和5V给MOS驱动芯片和运放芯片供电。MCU等芯片所需要的3.3 V电压由AMS1117-3.3转换得到。NCP1117ST18T3G把3.3 V转换为1.8 V给PHY芯片的模拟电压供电。

2.2 最小系统及外围电路设计参数

采用32位主频144 MHz的XMC4800主控MCU,16位旋转拨码开关用于设置多轴伺服从站网络地址,EEPROM存储电路用于驱动器掉电数据保存,USB电路方便和上位机进行图形化界面调试和电机参数配置。

2.3 EtherCAT网络通讯模块设计参数

XMC4800内部集成ESC,只需要一个12 M的石英晶振,ESC通过PHY芯片BCM5241交互数据,由隔离变压器H1102NL连接到RJ45外部接口。带有两个EtherCAT接口,一进一出。可进行多种拓扑结构的系统组网。

2.4 电流采样模块设计参数

两个霍尔电流传感器ACS711采集U、V两相电流,经过搭建TLV2374的运放电路把采集到的模拟量给到单片机。传感器灵敏度110 mV/A,最大量程12.5 A,满足系统要求。

2.5 电机驱动模块

MOS驱动芯片IRS2003供电电压12 V,驱动N沟道场效应管SW350R06VT,耐压60 V最大负载电流24 A,满足系统48 V供电电压,驱动100 W电机的要求。

2.6 编码器电路设计参数

带有绝对值式编码器伺服电机,编码器位置获取电路用ADM485芯片搭建RS485通讯电路,芯片通讯速度2.5 Mbps,芯片供电电压5 V。

2.7 数字输入输出电路设计参数

5路数字输入采用光耦EL3H4-G隔离包括左、中、右限位和两个普通数字输入。3路数字输出采用EL357光耦隔离包括到位信号、抱闸信号和报警信号,负载1.5 A电流。

基于XMC4800的EtherCAT总线伺服控制系统总体硬件原理如图2所示。

图2 基于XMC4800的EtherCAT总线伺服控制系统总体硬件原理框图

3 系统软件设计

3.1 系统主程序模块的设计

英飞凌XMC系列微处理器寓意跨市场单片机,Dave软件可视化界面方便配置使得开发难度降低。官方推出的固件库把MCU中的寄存器底层驱动都封装起来,软件的配置在模块APP的对话框内编辑,然后生成底层代码,开发者直接调用API函数即可。系统主程序里面有对系统文件的初始化配置、外设的头文件的定义、EtherCAT初始化、系统初始化状态的判断和处理、EtherCAT网络的主循环。系统主程序流程如图3所示。

图3 系统主程序流程图

3.2 EtherCAT总线从站协议软件的设计

ESC的软件系统搭建包括EtherCAT从站协议栈代码和设备描述文件的生成以及对MCU的软件编程配置。EtherCAT从站协议栈代码和设备描述文件生成的流程框图如图4所示。首先编辑xlsx文件,里面包括PDO和SDO对象字典索引的编辑,然后用倍福的从站代码生成工具Slave Stack Code Tool把英飞凌提供的Infineon_XMC_ECAT_SSC_Config.XML文件和编辑好的xlsx文件导入进去,设置厂商LOGO图片、公司名字、产品代码、设备名称、版本号等基本信息和EtherCAT的硬件配置、EtherCAT状态机的配置、同步性配置还有过程数据和邮箱的配置。最后生成EtherCAT协议栈代码SSC文件夹,SSC文件夹里面有支持CIA402运动控制的Src文件夹代码还有设备描述文件。

图4 EtherCAT从站协议栈代码和设备描述文件生成的流程框图

使用DAVE-IDE-4.4.2-64Bit软件前需安装3个固件库:DAVE Project Library Mansger、DAVE APPs Library Manager、Contributed DAVE APPs Library Manager。建立一个工程项目选择芯片型号,添加相应的APP来进行配置,因为要搭建EtherCAT从站系统,所以需要添加1个ECAT_SSC模块APP,2个EVENT_ DETECTOR、EVENT_ GENETOR、INTERRUPT模块APP。根据原理图引脚分配对软件相对应的端口设置,并配置APP的功能,生成底层驱动代码。ECAT_SSC的APP单元的主从结构如图5所示。

图5 ECAT_SSC的APP单元的主从结构

EtherCAT应用层使用CoE协议(CANopen over EtherCAT)实现伺服控制的周期性任务。从站的过程数据 (process data objects, PDO)的对象字典配置列表如表1所示。

表1 从站的过程数据的对象字典配置列表

从站设备的名称为XMC_ESC,主站接收数据对象包括:状态字、错误代码、实际位置、实际速度、实际力矩、跟随误、数字输入、电子探针状态、电子探针上升沿1、电子探针下降沿1、电子探针上升沿2、电子探针下降沿2、工作模式显示,主站下发数据对象包括:控制字、目标位置、目标速度、目标力矩、数字输出、电子探针功能、回零方法、回零加速度、回零高速、回零低速、工作模式设置。EtherCAT通讯模块包括EtherCAT处理单元(EPU)、内存、现场总线存储单元、同步管理器,具有自动转发、回传和PDI数据交互的功能。EtherCAT处理单元(EPU)接收、分析和处理EtherCAT数据流。EtherCAT模块程序的初始化流程如图6所示。模块首先配置PLL系统时钟,失能时钟然后判断内存校验初始化是否完成,如果完成则开启中断加载EEPROM,写进用户进程。如果内存检验初始化失败则初始化输入输出引脚,设置ECAT中断,解除复位,启动从站协议。

EtherCAT处理单元启用和协调ESC的内部寄存器和内存空间的访问,通过PDI接口函数实现EtherCAT主站和从站数据交互。EtherCAT从控制器的地址空间64 K。第一个4K字节块(0x0000到0x0FFF)用于寄存器和用户内存。地址0x1000以后的内存空间用作进程内存。XMC4800支持进程数据RAM的8K字节。主从站数据交换与进程内存相比,具有特殊的功能,如SyncManager(同步管理器)和FMMU(现场总线内存管理单元)。现场总线存储器管理单元将逻辑地址逐位映射到ESC的物理地址。同步管理器负责EtherCAT主站和从站之间的数据交换和邮箱通信,可以为每个PDO和SDO数据配置通信方向,根据SyncManager状态将地址映射到不同的缓冲区供模块访问。

3.3 基于XMC4800伺服驱动软件的实现

XMC4800伺服驱动器的软件主要包括两个部分:初始化程序和中断服务子程序。初始化程序包括各个模块和变量的初始化,ADC转换结束中断服务子程序运行伺服驱动控制算法,串口中断服务子程序实现绝对值编码器实时位置采集和速度计算。XMC4800中的CCU8单元产生3对互补的带死区的PWM波,控制三相半桥驱动工作。通过CCU8单元计数更新事件触发ADC同步采样。本次设计中设置PWM频率15 K,死区上升沿时间900 ns,死区下降沿时间900 ns,MOS开关延时50 ns。伺服驱动各模块单元的主从结构如图7所示。

图7 伺服驱动各模块单元的主从结构图

当系统上电微控制器完成初始化后,绝对值编码器串口通讯工作,读出转子当前绝对位置。霍尔电流传感器ACS711组成的电流检测电路对相电流和母线电流进行采集,输出信号进入片内ADC。MCU读取电机编码器的位置速度信号,设计位置、速度、力矩和电流控制环。相电流通过Clark变换、Park 变换,经电流调节器输出给定相电压,再利用Park逆变换得到给定电压空间量,经SVPWM算法和CCU8输出6路SVPWM信号。ADC转换结束中断服务子程序流程如图8所示。

图8 ADC转换结束中断服务子程序流程图

CSP模式下的控制结构如图9所示,该模式下运动控制的对象字典分别为控制字(0x6040)、状态字(0x6041)、主站下发给驱动器的目标位置速度(0x607A)、电机转子的实时位置信息(0x6064)和电机转子的实际速度(0x606C)。EtherCAT从站程序完成初始化后,等待主站状态请求信号的响应。主站通过控制字(0x6040)控制驱动器状态的改变,从站驱动器的状态通过状态字(0x6041)反馈给主站。当主从站成功切换进入OP(Operation)工作状态后,主站规划运动控制轨迹下发位置信号,从站在协议栈电机控制的函数里面把目标位置赋值给FOC的入口参数,随后在中断服务程序里面经过矢量控制算法驱动电机旋转。伺服从站把电机的实际位置、实际速度和实际力矩反馈给主站,形成闭环控制。

图9 CSP模式下的控制结构图

4 实验结果与分析

本课题测试EtherCAT总线的伺服驱动器的主站采用倍福Twincat3,设置并安装网关驱动,把设备描述XML文件放在主站电脑硬盘C:TwinCAT3.1ConfigIoEtherCAT路径的文件夹内,扫描从站设备,进行EEPROM烧写工作,待烧写完成后再次扫描从站,即可看到设备和对象字典的列表。本实验采用周期性同步位置模式(CSP模式),主站设置500us的分布时钟周期,在DC模式下,给伺服电机轴上使能,然后在对象字典工作模式中写入十进制数8选定CSP模式。OP状态下TwinCAT主站扫描到从站设备和对象字典图如图10所示。

图10 OP状态下TwinCAT主站扫描到从站设备和对象字典图

驱动器采用DC48V开关电源供电,电机选用100 W、48 V的永磁同步电机,配套绝对值编码器,在精密滚珠丝杆模组(型号:KK4001C,导程:1 mm,导轨长度:150 mm)上面实验。电机起始位置为0,10转/s的速度开始运动,加减速为1500 mm/s2。上位机设置电机10转工作行程,对应滚珠丝杆模组10 mm前进距离,实际位置通过Twincat3软件的示波器插件显示出来。横坐标时间单位:s,纵坐标行程单位:mm,在第2秒到第3秒时间段内丝杆滑块匀速从0 mm运动到10 mm,速度为10 mm/s。滑块运行的实际位置波形如图11所示。

图11 电机实际位置的波形图

5 结束语

本文研究了一种基于英飞凌XMC4800的EtherCAT总线伺服驱动器,系统由XMC4800作为主控芯片,由MOSFET搭建的半桥驱动作为系统的功率驱动,设计了EtherCAT从站电路、系统电源电路、电流采样电路、编码器位置采集电路和数字输入输出电路。本次系统硬件设计完成了EtherCAT从站和伺服驱动器的硬件开发工作、EtherCAT总线通讯和电机驱动的程序设计。利用安装Twincat3主站软件的PC机对从站进行调试,主站通过EtherCAT总线对伺服驱动进行运动控制的轨迹规划,可以驱动100 W带有绝对值编码器的永磁同步电机正常运转。本次实验验证了系统的正确性和可行性,达到了预期的功能效果。

猜你喜欢
主站驱动器编码器
WV3650M/WH3650M 绝对值旋转编码器
WDGP36J / WDGA36J编码器Wachendorff自动化有限公司
V型电热驱动器理论模型及动态特性
气动网络多腔室弯曲软体驱动器结构优化
转炉系统常用编码器选型及调试
舞台机械技术与设备系列谈(二)
——编码器
藏起驱动器号确保数据安全
县级配电自动化主站系统的设计
PLC控制技术在皮带上料中的应用
产品