廖 平,刘晓明
(中南大学,高性能复杂制造国家重点实验室,湖南长沙 410083)
伴随工厂工业自动化的发展,交流伺服系统在网络化、响应速度、实时性等方面已经无法满足高精度、多轴同步控制的需求。为了达到快速的动态响应和高精度的位置跟踪,工业以太网技术已被应用于交流伺服驱动器中[1]。EtherCAT是实时工业以太网技术,它以修改标准以太网的方式实现,具有全双工通信,数据传输具有高速、高效的特点,总线利用率高,其数据有效率可达 90%以上,并支持线型、树型、星型网络拓扑结构[2]。目前,EtherCAT通信在应用中多采用MCU+EtherCAT控制芯片作为从站的方案,增加从站数量时,导致MCU的数量增加,成本增高,系统复杂。
文中采用将EtherCAT控制芯片集成到交流伺服电机驱动系统中的方案,省去对MCU的需求。该系统使用TMS320F28335 DSP芯片和ET1100芯片,采用磁场定向控制算法,通过在主站上运行TwinCAT-3软件即可实现位置控制、速度控制、转矩控制3种控制模式,同时具有伺服专用I/O接口和模拟信号采集接口。
主站为标准PC机,运行TwinCAT-3软件,使用8255x系列网卡,通信模块采用ET1100 芯片实现与主站通信,驱动模块采用DSP 28335实现伺服电机的驱动,主站和驱动器之间采用普通网线连接,如图1所示。
1 系统结构图
EtherCAT协议使用一个特殊类型的以太网数据帧,帧类型为0x88A4。其结构如图2和表1所示,EtherCAT以太网数据帧的数据区由多个子报文组成,每个子报文包括子报文头、数据域和相应的工作计数器(WKC),每个子报文都服务于1个特定的逻辑映像区[3]。本文驱动系统中只使用了1个子报文。PC主站发送包含数字伺服控制指令的数据帧在设备中持续传输,从站设备中的 FMMU在数据帧通过时读出该数据帧中映射到此设备的逻辑地址中的数据。同时可以将数字伺服状态数据即输入数据,在数据帧通过时插入到相应的逻辑地址区中,数据帧在整个过程仅有几ns的延时。整个过程利用了以太网设备独立处理双向传输(TX和RX)的特点,并运行在全双工模式下,发出的数据帧又通过RX线返回到控制单元[4]。通常每个通信周期只需要传输1个以太网数据帧,这个数据帧沿着逻辑环传输1周,完成所有的广播式、多播式以及从站间的通信。这种通信方式极大提高了EtherCAT的通信速率和有效数据率。
图2 EtherCAT数据帧结构
表1 EtherCAT帧结构定义
永磁同步电机的控制是基于对电机定子电流的幅值和相位的控制。磁场定向算法就是引入空间矢量和矢量变换的方法,将电机的定子的电流通过Clarke变换和Park变换进行解耦,达到控制的目的,如图3所示。
图3 磁场定向算法结构框图
Clarke变换是将三相定子坐标系变换成两相正交坐标系,在固定正交坐标系中定子电流矢量的投影为
(1)
式中:ia为采集电机中的U相电流;ib为采集电机中的V相电流;ic为采集电机中的W相电流,ic等效成一个空间矢量is,然后再将is在旋转的参考坐标系中分解成isα和isβ。
为了完全消除转矩和转子的磁通位置的关系,达到解耦的目的,将两相交流坐标系(isα,isβ)在两相直流坐标系(isd,isq)投影,进行Park变换,相应变换方程为
(2)
式中:isα,isβ为Clarke变换结果;θe为电机角度。
系统硬件包括EtherCAT通信模块和 TMS320F28335伺服驱动模块,如图4和图5所示。EtherCAT通信模块设计2个标准RH45网络接口,用于连接主站和下一从站。EtherCAT通信模块通过 PDI Selector 选择通过何种接口(8位或16位并行接口、SPI 接口、SSI接口)和DSP微处理器相连,考虑数据传输速度和接口数最少,本系统中选用SPI接口方式与DSP连接,实现数据传输。DSP使用磁场定向空间矢量完成对智能功率IPM的控制,实现DC-AC的逆变,驱动电机转动,通过正交编码电路接口检测电机位置和速度信号,DSP的A/D单元检测DC母线电压和电流。同时,系统设计了外接MCU的模拟信号输出,数字信号输入输出电路和485通信模块,方便调试。
图4 EtherCAT通信模块
图5 伺服驱动模块
本模块主要包括:EtherCAT从站控制芯片ET1100、以太网PHY芯片KS8721、以太网数据变压器H1102和RJ45连接器。ET1100实现数据链路层数据帧处理,其通过MII接口模式与物理层KS8721连接。物理层与数据变压器组成网络接口,其中数据变压器主要是实现隔离和阻抗匹配。从站配置数据和从站描述数据保存于EEPROM中,主站通过读写ET1100的控制寄存器来读写EEPROM。
DSP和ET1100通过SPI接口连接,启动时主站发送数据帧给ET1100,DSP读取数据帧,解析数据后进行电机伺服控制,同时将反馈数据通过ET1100发送给主站[5]。
(1)外部MCU控制电路设计。目前伺服电机驱动都能实现位置、速度和转矩控制和数字I/O控制。本文中转矩和速度控制电路可以将外部MCU输入的-10~+10 V的模拟量转化0~3.3 V电压信号,由DSP ADC模块进行采集。位置控制采用“脉冲+方向”控制,经过光耦后发送给DSP。系统设计有8路数字I/O输入使用光耦HCPL2530进行隔离,包括伺服使能、速度指令方向等信号;5路数字I/O输出使用TLP523进行隔离,包括伺服准备好信号、零速信号等。
(2)电流检测定标模块设计。图6为U相电流采集电路,采用2个霍尔传感器ASC712-20分别检测U、V相电流,将电流信息转化为电压信息,经过一级运放隔离后由DSP的A/D模块转化为数字信号,为电流环调节提供电流反馈。
图6 U相电流检测电路
ACS712-20输出电压Vout和被检测的电流Ip间的关系为
(3)
(4)
ADC采样电压Vin和被检测的电流Ip间的关系为
(5)
(3)编码器反馈信号电路设计。电机自带的编码器反馈信号以 A+、A-,B+、B-,Z+、Z- 3对差分信号经过差分接收器AM26LV32转换成单端信号,并经高速光耦6N137隔离后,送入DSP的EQEP单元接收。该模块主要用于确定电机定子电气位置和机械速度。
(4)功率逆变电路设计。该电路通过DSP发出的PWM信号通过光耦HCPL4504控制IPM内的IGBT开关实现DC-AC的逆变。智能功率模块IPM具有响应速度快、功耗低、集成度高等优点,本系统选用了6MBP30VAA060-51器件。
(5)强弱电隔离设计。电源模块中,强电部分包括一路310 V直流母线电压和一路15 V/0.5 A的IPM控制信号电压,2组电源相互隔离;弱电部分包含2路5 V/1 A电源,1路用于芯片DSP和ET100供电,1路用于外设电路供电,2路电源共地,图7为示意图。弱电模块通过DSP发出的PWM波控制强电模块产生可控交流电,中间通过6个HCPL4505连接。进行强电测量时,示波器电源应隔离以免短路。
图7 强弱电隔离示意图
系统中EtherCAT从站运行在周期性数据模式下,采用同步模式在中断服务处理周期性数据[6]。XML文件是从站设备描述文件,写入在了 EEPROM里面,ET1100 上电后,会从 EEPROM 加载配置参数,完成启动初始化过程。主站设备扫描从站时,会读取 EEPROM 描述信息,完成对从站的初始配置。在COE下,XML里定义的对象字典和PDO(过程数据对象)设置,需要和程序里的对象字典相对应。RxPdo为从站接收主站数据,本系统设计了从站4组IO信号和3组模拟量信号输入,分别为数字量伺服使能、速度方向、报警清除、中断信号和模拟量速度控制、转矩控制和位置控制。TxPdo为主站接收从站数据,本系统设计了从站3组IO信号和1组模拟量输出,分别为数字量伺服准备好信号,速度到达信号和电机旋转输出;模拟量当前电压值和电流值。具体索引映射配置如表2所示。
交流伺服电机驱动系统系统上电或复位后,DSP先执行初始化程序,实现对DSP内部各个功能模块、I/O口、ET1100通讯的初始设定和系统整体的初始状态的检测。上述工作完毕,打开系统中断,循环等待TwinCAT3主站指令,执行相应程序。主程序软件框图,如图8所示。
表2 索引映射配置
图8 主程序流程框图
初始化模块主要功能模块包含:对DSP系统控制寄存器和外设进行配置;读取系统重要的运行参数和变量赋初值;驱动板上电软启动;外部输入模拟信号检测;驱动电路母线电压、相电流检测和PWM控制信号输出。检测主电路出现的过流、过/欠压和IPM电源欠压等故障信号。
ET1100通信模块包含:DSP通过从站实现与主站TwinCAT的I/O量、模拟量的传输。
主站使用基于VisioStudio2013的TwinCAT-3软件,运行在Win7 64位系统。在TwinCAT-3中新建Project文件,右键Devices选择Scan开始扫描设备和I/O,右键PLC选择“添加新项”双击POUs,点击MAIN开始编程。将变量进行声明后,编程赋值。生成代码并进行编译,在test Instance中将输入输出变量进行变量连接,激活运行程序即可控制电机。
实验电机各项参数分别为电阻5.83 Ω、电感12.23 mH、额定电流1.2 A和额定转速1 000 r/min。设定电机空载转速3 000 r/min,在TwinCAT-3中发送启动指令。使用Wireshark网络分析器观测EtherCAT通信情况,抓包部分情况如图9所示,将驱动器的RS485接口连接到PC,获得电流数据波形如图10。
图9 Wireshark抓包部分数据
图10 U相电流波形
通过图9中第7帧和第6 帧数据时间,计算报文延迟为2.187 ns,捕获到的61字节循环周期为0.092 s,证明了主从站的通信性能良好。
由图10可看出,电机启动后电流突然增大,经过0.5 ms的时间达到额定电流,峰值为1.6 A,电机内产生了交流电,磁场定向算法运行稳定。
通过实验验证了基于EtherCAT通信的伺服驱动系统在EtherCAT通信和电机驱动控制方面的有效性。
本文对基于EtherCAT通信的交流伺服电机驱动系统进行了研究,着重介绍了EtherCAT通信原理和磁场定向算法,给出了软件硬件设计方案。实验验证了该系统能够通过EtherCAT通信控制电机,为EtherCAT通信在工业自动化应用中提供设计参考,具有一定的实用价值。