王宝仁,曹金晓,李金松
(山东科技大学 机械电子工程学院,山东 青岛 266590)
级联式运动控制网络高精度同步策略
王宝仁,曹金晓,李金松
(山东科技大学 机械电子工程学院,山东 青岛 266590)
在级联式运动控制系统中,为了解决各运动轴不同步的问题,提出了高精度的多轴同步补偿策略。简单介绍了主控制器与伺服节点之间的通信过程,探究了通信延时的主要影响因素,并在FPGA硬件平台上设计了同步补偿定时器,然后根据节点间的通信延时情况配置定时器的补偿时间,以实现多轴运动同步启动的功能。最后通过硬件实验,搭建起五轴同步运动控制系统,验证了该同步补偿策略的有效性,且性能稳定,具有一定的实用价值。
级联式运动控制系统;温度漂移;FPGA;多轴同步运动
近年来,网络化是运动控制、数控技术等领域的重要发展方向,随着以太网技术的飞速发展,使基于串行通信协议的运动控制网络受到业内各界的广泛重视[1-4]。针对这一发展,出现了一种级联式运动控制方案,可以实现伺服节点的网络化控制,各节点相互串联,结构简单,运动轴可自由配置,扩展方便[5]。同时也存在着节点之间不同步的问题,文献[5]已做出了同步补偿的措施,但仅可实现微秒级的同步精度, 显然不适用于精密制造。
本文通过探究同步误差的主要来源和影响同步精度的主要因素,提出了高精度的同步补偿方案,即在各级节点中设置一个补偿定时器,根据工业环境配置定时时间,使得各运动轴同步运动,提高级联式运动控制系统的同步精度。
如图1所示,介绍了一种基于串行总线的多轴运动控制系统。运动控制器以塑料光纤为通信媒介,通过SPI总线依次向各脉冲发生器传送控制报文,当使能信号EN到来时,相互级联的脉冲发生器通过FPGA硬件平台将控制信息转化为步进电机所需要的PWM脉冲,这些PWM脉冲便同步传送到相对应的运动轴上,同时将各运动轴的实时信息构成反馈报文,传送回控制器中[5]。这种串联的网络结构必然造成EN信号到达各节点的时间不同[6],为了克服各节点不同步的问题,将从以下几个方面来探究通信延迟的主要来源。
图1 多轴运动控制系统的拓扑图
1.1 不同温度下的光纤通信延时研究
所谓光纤通信,就是利用光纤来传输携带信息的光波以达到通信的目的。由光发射机、光纤线路、光接收机组成。光发射机中由电信号转化为光信号的过程、光纤线路中光波传输的过程和光接收机中由光信号转化为电信号的过程均存在数据传输的延时[7],该延时也会受到环境温度的影响而变化[8]。因此需要通过实验来探究不同环境温度下的光电电光转换延时情况。
实验用的光纤收发器型号分别是HFBR-1528和HFBR-2528,光纤收发器之间采用1m的塑料光纤,用STM32F103系列单片机发送使能信号,用逻辑分析仪采集光纤电路输入端和输出端的电信号变化。
首先保持光纤接收电路为常温,光纤长度为1m,并单独将光纤发送电路置于高低温试验箱中,调节不同的温度,用逻辑分析仪测试光纤延时情况。文献[5]中已经通过实验测得常温(25℃)下的延时值为112ns,图2~图4依次是温度在5℃、45℃、65℃时的光纤通信波形图。
图2 光纤通信波形图
图3 光纤通信波形图
图4 光纤通信波形图
然后等光纤发送电路恢复到正常的环境温度,再将光纤接收电路置于高低温试验箱中,调节不同的温度,图5~图7依次是温度在5℃、45℃、65℃时的光纤通信波形图。
图5 光纤通信波形图
图6 光纤通信波形图
图7 光纤通信波形图
逻辑分析仪中的通道0是光纤电路输入端的信号波形,通道1是光纤电路输出端的信号波形。波形图中,通道1的波形滞后于通道0的波形,右侧|T1-T2|所显示的数值为延时时间。
实验得出,分别将光纤发送电路和光纤接收电路单独置于某一环境温度,光纤通信的延时情况是相同的。5℃时的延时值为108ns,比常温下减少了4ns,45℃时的延时值为116ns,比常温下增加了4ns,65℃时的延时值为120ns,比常温下增加了8ns。可进一步得出,温度对光纤发送器和接收器的影响是可以叠加的,与常温下的延时值相比,温度每增加(或减少)20℃,延时值会增加(或减少)4ns。表1为不同部分不同温度下的通信延时情况。
表1 通信延时时间(ns)
通常的工业环境温度约在-20℃~80℃之间,我们可以将此分为四个温度段,即T≤15℃、15℃
1.2 光纤长度对传输延时的影响研究
在光纤中,光信号是全反射传输,路径是折线,其传输延时时间与光纤折射率有关[9]。我们在实验中采用型号为TX-CC1000-1BV的塑料光纤,它的折射率n约为1.5,由光传输理论可知:
τ=nL/c
(1)
式中,τ为光纤延时时间,n为光纤折射率,L为光纤长度,c为光在真空中的传播速度。已知c=3×108m/s,那么单位长度的光纤延时时间约为5ns/m,该延时值比较稳定,不受温度的影响。因此,节点之间的光纤长度是影响级联式运动控制系统同步性的重要因素。
1.3 级联节点内传输延时
每一个级联节点都是在FPGA硬件平台上实现的。当伺服节点接收到使能信号时,FPGA需要采集该信号并将其同步传递到下一级节点中。FPGA内部信号的检测和传递需要一定的反应时间。
已知FPGA的晶振是50MHz,为了提高同步精度,需要将该晶振倍频至250MHz,即FPGA每隔4ns处理一次数据,由此可得出级联节点内的延时时间小于4ns,可忽略不计。
经上述分析,级联式网络的同步误差主要来源于光纤通信延时、节点间光纤的长度和环境温度。显然,针对每一个节点,只要知道它在级联网络中的位置、节点间光纤长度和环境温度,就可以推算出信号的延时时间[10],这就为采取同步补偿措施提供了技术可行性。
因此,我们提出了一种带有延时补偿的同步控制策略,在每一个伺服节点中都设计一个同步补偿定时器,主控制器依次向各伺服节点发送使能信号EN,当某一节点收到使能EN时,同步补偿定时器启动计数,计数结束后产生一个同步信号,随即启动该脉冲发生器为伺服驱动器产生相应的运动脉冲序列[11-12]。这样,根据EN信号到达的时间不同,为同步补偿定时器设定相应的定时值,实现多轴运动同步。
假设多轴同步控制系统共有n个伺服节点,使能信号EN由第i-1个节点到第i个节点的通信延时时间用Delay(i) 表示,表1中的具体延时时间为不同温度下电光光电转换延时和一米光纤线路传输延时之和,用Fiber(i)表示;节点间光纤长度超过一米的部分带来的通信延时用Long(i)表示 ,则:
Delay(i)=Fiber(i)+Long(i)
(2)
第i-1个节点到第i个节点间的光纤长度用Li表示,由上文可知,单位长度的光纤延时时间约为5ns/m,则:
Long(i)=(Li-1)×5
(3)
该系统的同步补偿时序如图8所示。
图8 同步补偿时序图
2.1 基础温度延时处理
在一个确定的多轴运动控制系统中,节点间光纤长度是固定的,光纤通信延时随温度实时变化。我们将低于15 ℃的环境温度定为基础温度,在基础温度下,由表1得出Fiber(i)的值是104ns,节点之间的通信延时时间是确定的,用Delay0(i)表示,则:
Delay0(i)=Long(i)+104
(4)
在图8中,0为主控制器发出EN信号的时刻,T1为信号EN到达第1个节点的时刻,Ti为信号EN到达第i个节点的时刻,那么在基础温度下:
Ti=Delay0(1)+Delay0(2)+……+Delay0(i)
(5)
显然,使能信号到达第n级节点的时间最长,为Tn,若此时所有节点均启动脉冲发生器产生运动脉冲序列,该节点的同步补偿定时器定时时间为0。因此,需要保证信号EN到达某一伺服节点的时间Ti与该节点同步补偿的时间之和为Tn。则基础温度下,第i个节点需要同步补偿的时间:
Temp0(i)=Tn-Ti
(6)
时间Tn和Ti分别带入参数可得:
Temp0(i)=Delay0(i+1)+Delay0(i+2)+…+Delay0(n)
(7)
上文提到FPGA的工作晶振为250MHz,即定时器每隔4ns计数一次,然后将基础温度下每个伺服节点需要补偿的时间换算成定时器的计数值,并依次配置到各级节点的FPGA中。
2.2 温度漂移的处理
在级联式运动控制系统工作之前,我们已经根据节点间的光纤长度将基础温度下需要补偿的时间配置到各级节点中。但实际工业环境中的温度实时变化,而且各伺服节点的温度也不尽相同,因此需要在每个伺服节点上都安装一个温度传感器,用来采集该节点的温度值。当温度高于基础温度时,电光光电转换的时间增加,由式(2)得出,节点间的通信延时时间会增加,则实时温度下,使能信号到达第i个节点的时间:
Ti=Delay(1)+Delay(2)+……+Delay(n)
(8)
每级节点需要补偿的时间也会增加
Temp(i)=Delay(i+1)+Delay(i+2)+……+Delay(n)
(9)
相比于基础温度,实时温度下增加的补偿时间用Time(i)表示,则:
Time(i)=Temp(i)-Temp0(i)
(10)
假定每个伺服节点的控制报文和反馈报文均为32位,我们在控制报文中开辟4位,用于存储延时时间信息;在反馈报文中开辟4位,用于存储该节点的温度信息。
在一个插补周期中,伺服节点通过温度传感器获取环境温度,并判断环境温度所在的温度段得出对应的4位温度信息,将此信息存放于反馈报文的相关区域,然后各节点的反馈报文依次传送到主控制器中。主控制器会根据伺服节点的反馈信息计算出各节点应该补偿的时间Time(i),并将该时间转换为4位延时时间信息,存放于控制报文中相关区域中,依次发送到各伺服节点。
2.3 同步补偿策略
图9是级联式运动控制系统示意图,主节点由主控制器和光纤收发接口组成,伺服节点由光纤收发接口、温度传感器和FPGA组成。相邻两节点之间用三条塑料光纤进行通信,分别是SPI总线的时钟线Clk、SPI总线的数据线Data和使能信号线EN。主控制器向整个运动控制系统发送控制报文和使能信号,并接收反馈信息。为了实现数据传递和同步补偿的功能,在FPGA内部设计了移位寄存器和补偿定时器。移位寄存器可存储32位报文数据,在一个SPI总线时钟周期内,主控制器向各伺服节点发送1位控制报文,并接收1位反馈报文。各伺服节点中的移位寄存器首尾相连,构成32n位报文信息。
图9 级联式运动控制系统示意图
在整个反馈报文中,前32位数据为第n个节点的反馈报文,第32到第63位数据为第n-1个节点的反馈报文,以此类推,可以从反馈报文中确定每个节点所处的温度段。相邻两节点的电光光电延时时间Fiber(i)由本节点光纤接收器的温度和上一级节点中光纤发送器的温度共同决定,由公式(10)得出各节点应该补偿的时间,主控制器将延时时间信息存放于控制报文,并依次配置到各个节点的移位寄存器中,同时将移位寄存器中原有的温度信息反馈到主控制器中。
控制报文发送完毕后,主控制器会发出使能信号EN,伺服节点检测到使能信号的上升沿EN_L2H时,移位寄存器中的控制信息将被配置到补偿定时器中,当检测到使能信号的下降沿EN_H2L时,该节点将处理两个任务:①启动补偿定时器开始计数,计数达到设定值后输出同步信号。②将温度信息送到移位寄存器中,构成反馈报文,并在下一个插补周期将温度信息反馈给主控制器。
在第一个插补周期中,主控制器默认各伺服节点处于常温,向各节点配置延时时间信息。已知上位机与伺服节点所处的工业环境相隔离,即主节点始终处于常温环境,主节点的温度按照常温(25℃)情况向第一级伺服节点配置延时数据。
实验中由一个主节点和五个伺服节点相互串联,构成五轴同步控制系统。主控制器采用STM32F103,使用C语言编程,同步补偿定时器是在EP4CE15F17C8型FPGA上实现,温度传感器的型号是DS18B20,FPGA与DS18B20之间需要一条口线进行双向通信,即可获取温度信息。节点之间采用纤芯直径为1mm、长度为1m的塑料光纤进行数据通信。
第一级至第五级伺服节点中的定时器依次需要配置的延时数据分别为16′h0068、16′h004E、16′h0034、16′h001A、16′h0000。将程序依次烧录到五个FPGA开发板上,由主控制器发送控制报文和使能信号,等系统运行稳定后,需要模拟现实的工业环境,即用高低温试验箱将其中的一个或几个节点置于不同的温度,由逻辑分析仪采集到各节点相关信号,如图10所示。
图10 硬件实验结果
逻辑分析仪的采样点A0是主节点中STM32输出的使能信号,采样点A1~A5依次是第一级至第五级伺服节点中FPGA输入端的使能信号,采样点B1~B5依次是第一级至第五级伺服节点中输出的同步信号。
图10中使能信号到达各节点的时间依次延迟,而各节点的同步信号几乎同时产生。可以看出第一级伺服节点的同步信号最先到来,第三级同步信号最晚到来,|T1-T2|的值为14ns,即该系统的同步误差为14ns。模拟不同的环境温度,经多次实验,得出该系统的同步误差均在20ns以内。
实验结果证明,本文提出的高精度同步补偿策略有效地提高了多轴运动控制系统的同步精度,减小了同步误差,降低了环境温度的干扰。
本文对级联式多轴运动控制系统采用同步补偿的策略,实验表明在不同环境温度下均可实现较高的同步精度,具有较高的稳定性和抗干扰能力。本文的研究成果可用于贴片机等高精度多轴同步的工业领域,可满足精密机床中高精度的同步运动要求,具有一定的实用价值。
[1] 赵欢,熊振华,丁汉. 基于IEEE1394的运动控制系统总线协议与同步机制研究[J].中国机械工程,2009,20(23):2850-2855.
[2] YONG X,KUANYI Z,HWEE CHOO L. Generalized synchronization control of multi-axis motion systems[J]. Control Engineering Practice,2005,13: 809-819.
[3] 王海涌,张为玮,王卫. 多轴运动控制器在转台控制系统中的应用[J].电子技术应用,2010,36(3):97-99.
[4] 许万,陈幼平,陈冰,等. 基于实时以太网的多轴运动控制网络的研究[J].制造业自动化,2008,30(11):71-75.
[5] 韩文强. 基于串行总线的多轴运动控制系统研究[D].青岛:山东科技大学,2016.
[6] 杨茂,游有鹏,何军,等. 基于FPGA的网络型运动控制芯片设计[J].组合机床与自动化加工技术,2012(4):65-68.
[7] 沙启迪. 基于FPGA的光纤通信数据传输技术研究[D].哈尔滨:哈尔滨工业大学,2015.
[8] 马志翠,何翠平,王绍雷. 环境温度对单模光纤中光信号传输延时的影响[J].光通信技术,2015,39(5):15-16.
[9] 林荣刚,张伟,凤卫锋,等. 基于光传输的精密标准延时模块设计[J].电子质量,2013(2):64-66,75.
[10] 孙学武,谭辉,杨安坤,等. 基于SIMOTION的工业CT多轴同步控制方法[J].控制工程,2016,10(23):1591-1596.
[11] I KIM,T KIM. Guaranteeing Isochronous Control of Networked Motion Control Systems Using Phase Offset Adjustment[J].Sensors, 2015,15(6):13945-13965.
[12] 汪繁荣,万英杰. 网络控制系统时延解决方案的研究[J].电子技术应用,2015,41(9):110-113,117.
(编辑 李秀敏)
High Accurate Synchronous Strategy for Cascaded Motion Control
WANG Bao-ren, CAO Jin-xiao, LI Jin-song
(College of Mechanical and Electronic Engineering, Shandong University of Science and Technology, Qingdao Shandong 266590,China)
In a cascade motion control system, in order to solve the problem of non-synchronization of the motion axis, a multi-axis synchronous compensation strategy with high accuracy is proposed. The communication process between the master controller and the servo node is briefly introduced, the main factors affecting the communication delay are studied, and a synchronization compensation timer is designed on FPGA hardware platform, then, the compensation time of the timer is configured according to the communication delay situation between the nodes.it is used to realize synchronous start of multi-axis motion. Finally, five-axis synchronous motion control system is built by hardware experiment, The effectiveness of the synchronization compensation strategy is verified, and the performance is stable, which has certain practical value.
cascade motion control system; temperature drift; FPGA; multi-axis synchronous motion
1001-2265(2017)05-0114-04
10.13462/j.cnki.mmtamt.2017.05.030
2017-01-19;
2017-02-08
王宝仁(1967—),男,济南人,山东科技大学副教授,工学博士,研究方向为运动控制理论与应用,数控与伺服技术等;通讯作者:曹金晓(1992—),男,山东德州人,山东科技大学硕士研究生,研究方向为运动控制理论与应用,(E-mail)cjx1xjc@126.com。
TH166;TG506
A