张海峰,郭亚丽,周京华,刘建勇
( 1. 北方工业大学电气与控制工程学院,北京100041;2. 北京市石油化工学院机械工程学院,北京 102617 )
数控电火花成形机床具有加工范围大、易实现高速高精加工[1]的特点,在航空制造等领域也得到越来越多的应用。 大型的龙门式或桥式数控设备的横梁跨度较大、质量重且有效的行程较长[2],传统的单轴驱动方案已无法满足该类数控机床的性能需要且存在许多局限性,因此出现了新的双轴驱动方案,其基本工作原理为:一个坐标的运动指令能驱动两个电动机同步运行,同时通过对这两个电机移动距离的检测,将位移同步偏差反馈到数控系统得到误差补偿,从而将两个电机之间的位移偏差量控制在一个允许范围内。 然而系统在工作过程中,横梁、电极等大型移动部件并不总是形成对称结构与对称受力,不能保证龙门框架移动的一致性,导致产生的机械耦合会降低同步进给精度、损耗加工质量,严重时会使两轴在运动过程中互相拉扯,破坏机床结构,从而减少设备的使用寿命[3]。 因此,建立一个高精度的龙门式电火花成形机床双轴同步系统,并能充分考虑刚度、阻尼和质量等影响机械系统动态性能的因素,同时设计更好的双轴同步误差的补偿算法,对双轴同步控制具有重大的意义。
有许多学者采用多种方法研究了双轴同步控制。 陆世荣等[3]针对双伺服电机同步运行提出了基于线性二次型调节器的性能指标的最优控制策略,采用转矩扰动观测器进行前馈补偿,设计最优控制器,增加系统的同步性和抗干扰性。 何王勇等[4]利用有限元分析法,构建了双滚珠丝杠驱动同步轴的有限元模型,进一步建立了具有动力学耦合关系的集中参数的双轴同步进给系统模型,使双轴的同步误差得到了很好的降低。 曹毅等[5]结合PID 算法,设计了基于Linux 数控系统的双轴同步控制技术, 使双轴同步控制更易实现。
目前,国外数控机床的双轴同步控制技术处于领先地位,比如德国瓦德里西科堡公司生产的数控重型镗跣机床, 其双轴同步误差达0.03~0.05 mm。然而,国内数控机床广泛使用的都是脉冲式接口的数控装置和伺服驱动器。 由于将双轴同步控制功能加入数控系统的难度越来越大且不可避免地会造成数控系统的结构臃肿,从整体上看,当前国产数控系统的软、硬件基础还比较薄弱。 随着工业的发展,双轴控制的精度要求也越来越高,因此采用模块化设计的思想越来越突出。 基于传统的数控装置开发出具有独立功能的双轴同步控制器,从而弥补数控系统在同步控制功能上的不足,并从根本上解决同步控制问题,将具有非常重要的意义。
本文针对龙门式电火花成形机床,着重研究了双轴同步联动控制, 对其X 轴进行双轴同步控制,并将模型预测控制算法同以现场可编程门阵列(field programmable gate array,FPGA)为主的硬件电路相结合,采用软、硬件相结合的方式,以更好地控制双轴联动、减小轴间误差。
图1 是电火花成形机床双轴同步进给结构图。数控系统发送位置指令给同步控制器,将驱动信号传输给伺服系统来驱动两轴运动,同时位置传感器实时发送双轴位置反馈给控制器,构成闭环控制系统。 在此分别对单轴控制系统驱动器和双轴刚性连接进给结构进行建模分析。
图1 双轴进给结构框图
单轴控制系统电机常采用永磁交流伺服同步电机(PMSM)进行单轴驱动,其控制过程为三闭环控制[6]。 单轴控制系统结构如图2 所示,内环为电流环采用比例积分控制(PI),中间环为速度环采用比例积分控制(PI),最外环位置环在双轴同步控制器中实现。
图2 单轴控制系统框图
由图2 可知,位置反馈从进给结构的磁栅反馈信号中获取,系统首先接收由上位机发出的位置指令,然后经过双轴控制器发出速度指令,再经过速度环PI 调节器,作为电流内环的给定值。 伺服系统采用电流环和速度环双闭环控制,双轴进给结构采用位置环控制。
单轴驱动电机采用功率0.4 kW 的永磁交流同步伺服电机。 对PMSM 双闭环控制过程进行建模,电流环控制对象为PWM 逆变器和电机电枢回路。忽略电机铁芯饱和时刻电感和定子电流在气隙的高次谐波,不计涡流损耗,推导出的PMSM 数学模型见图3,其中为滚珠丝杠动作时对伺服系统的反作用力、Ke为反电动势系数、Kt为转矩常数。
图3 单轴伺服系统框图
系统驱动器采用正弦脉宽调制(SPWM),其模型可简化为一阶惯性环节[7],传递函数为:
式中:KPWM为 SPWM 逆变器放大系数;Ud为 SPWM输出电压的幅值;AΔ为SPWM 三角波的载波幅值;TPWM为时间常数 fΔ为载波频率。
伺服电机电枢回路传递函数为:
式中:L 为定子等效电感;R 为电机内部等效电阻。
等效转动惯量为:
式中:J 为电机的转动惯量;Bm为电机的等效阻尼系数。 由于通常电机的转速变化落后于电枢的电流变化,在此忽略反电动势影响。
本文采用旋转伺服电机与滚珠丝杠结合的驱动方式。 滚珠丝杠选用线性模组,其中丝杠导程为440 mm、滑台重量为7.8 kg。 在半闭环控制下,忽略丝杠与螺母间速度差的粘性摩擦力,以两轴刚性连接横梁为基准,对双轴进给结构建立模型,则丝杠螺母提供给滑台的驱动力为:
式中:k 为丝杠的扭转刚度。
由于机械结构不对称以及运动过程中两轴位置偏差,横梁重心发生偏移,从而使电机驱动力对横梁重心处的力臂和作用力都不相等,最终在驱动力作用下双轴X1、X2的位移公式为:
式中:mc为机床框架质量;C 为滚珠丝杠阻尼系数;Jc为双轴横梁转动惯量;la为F1作用于横梁重心处的力臂;lb为F2作用于横梁重心处的力臂;kd为抗扭刚度。
双轴同步控制技术经过多年发展,被广泛应用于大跨距龙门机床的同步控制中。 目前较为常用的控制策略有串行同步控制策略、并行同步控制策略以及交叉耦合同步控制策略等[8]。 由于串行控制精度较差,此处不再赘述。
图4 是并行控制框图。 其控制基本原理为:两个控制器同时接受到数控系统发出的位置信号,分配给两个伺服系统,驱动两台电机同时运动,同时通过光栅信号使每台伺服电机形成全闭环系统,驱动双轴进给。 并行控制的缺点在于,两轴之间无同步信号相关联,各轴独自运行易造成双轴不同步从而导致机床受损。
图4 并行控制框图
图5 是交叉耦合控制框图。 其原理是:数控系统将指令输入给控制器,分别通过伺服驱动器1 和伺服驱动器2 传给两个电机;电机按照指令运动并将自身位置信息反馈给控制器,通过与指令位置对比,得出两个轴的跟踪误差;基于每个轴的跟踪误差, 控制器通过运算得出两个轴的位置补偿值,然后将补偿值加给对应轴的位置给定;另外交叉耦合控制器得到两个电机的同步误差,相应地对每一电机进行位置补偿。 交叉耦合控制的优点在于可确保数控中的每个轴都可反映出另一轴的位置动态变化,最终达到消除单一轴对其他轴影响的目的。
图5 交叉耦合框图
通过上述分析, 本文选用交叉耦合控制策略,所设计控制系统的原理如图6 所示,位置环控制器采用模型预测控制算法(MPC),同时X 轴的双轴同步误差作为交叉耦合控制器的输入,经过控制器中模型预测运算得到两轴位置补偿量,分别对位置输入进行补偿。
图6 控制原理框图
双轴同步控制的关键在于位置补偿量的计算,则计算补偿值的算法选取对同步性能有直接影响。补偿量不仅要准确还要及时。 针对MPC 在线计算并不断滚动优化的特点,本文采用基于动态矩阵预测控制(DMC)的双轴同步控制算法。 该算法基于被控对象单位阶跃响应模型而建立[12],控制变量的最优值增量序列由二次型目标函数确定,最优值通过求解目标函数中的权系数矩阵实现。
本文设计了双输入、双输出系统,假设阶跃应控制时域为M、预测时域长度为P,首先在每个采样时刻,由之后的P 个时刻的期望输出位置与预测输出位置的偏差向量与动态向量dT点相乘得到该时刻的控制增量Δu(k);将该控制增量通过积分累加作用求得双轴进给系统的控制量输入位置u(k),将Δu(k)于阶跃响应向量a 相乘得到系统的预测输出yN1(k);进入下一个采样时刻,利用磁栅反馈得到的实际输出位置y(k+1)与这一时刻的预测值相减得出预测误差 e(k+1);将 e(k+1)与校正向量 h 相乘得到校正后的预测位置输出值ycor(k+1),将该值设定为这一时刻的预测初值,把下一时刻重新定义为k 时刻,重新计算控制增量,整个计算过程将反复在线进行[13]。
设定模型时域长度为N,输入、输出个数分别为m=2、n=2,则可得到yi在下一时刻的预测输出值为:
式中:aij表示第i 个输出量对第j 个输入量的阶跃响应系数。 则从h=1 到h=P 的多步预测输出位置为:
式中:Aij为系统的阶跃响应系数aij组成的动态常数矩阵。 定义X1、X2两轴间的同步误差为:
在理想情况下,每个采样时刻都应有φ(k)=0,此时双轴进给系统不仅有较好的跟踪精度还有很好的同步性能。 则P 步预测的同步误差为:
为进行柔化控制,设期望输出的参考轨迹为:
式中:α 为柔化系数,0<α<1;wi(k+h)为期望输出序列值;yi(k)为系统的实际输出值;yir为系统的给定值。 已知,在每个时刻k,确定从该时刻起M 个控制增量Δuj(k)。 在控制过程中,控制增量的变化不能太剧烈,则引入的包含双轴同步误差的优化目标函数为:
式中:λ(h)为控制加权系数 λ 组成的权矩阵;η 为双轴同步误差影响系数。 为得到控制增量的最优解,取J 为最小值,则在k 时刻计算出的M 个控制增量 Δu1(k)、Δu2(k)分别为:
仅取第一个控制增量对下一N 个时刻进行预测输出为yi(k+1),并将其与在k+1 时刻的实际输出yi,0(k+1)做偏差,得到此时的预测误差为:
求得k+1 时刻的实际同步误差 ψ(k+1),并将其与预测同步误差φ(k+1)做差,得到此刻的预测偏差为:
用k+1 时刻的跟随误差和同步误差偏差加权后,修正对未来时刻的预测,则有:
式中:h 为误差校正向量,h1=1。 把校正后的值作为下一时刻的预测初值,重复上一过程。
针对数控电火花成形机床双轴控制系统,在前述控制策略和控制算法的分析基础上, 设计了输入、输出无约束的DMC 控制器[14],搭建的Simulink仿真系统见图7。 双轴的最外环位置闭环采用DMC算法控制, 同时增加交叉耦合和DMC 算法相结合的控制器,对两轴进行同步误差补偿。 在利用DMC算法设计控制系统时,通过对代码中参数试凑并结合工具箱和Simulink 仿真的方法确定DMC 算法参数值[15]。 通过多次仿真实验,选取最优控制器参数为:P=5、M=2、跟随误差权系数 q=3、控制加权系数r=0.03、同步误差权系数f=0.03、采样周期为0.1 s。
图7 DMC 交叉耦合系统仿真图
图8 是在给定1 mm 位移情况下分别采用并行控制和交叉耦合控制策略得到的双轴同步误差仿真对比曲线图。 可见,在同等条件下采用并行控制策略的双轴同步误差较大, 最大误差超过3.5 μm,采用交叉耦合控制策略时的双轴同步最大误差为1.6 μm,且误差收敛为零的速度更快。 分析可知,交叉耦合控制增加了双轴同步误差的补偿环节,使双轴位置偏差更小,同步性能更好,更宜采用。
将DMC 控制算法下双轴同步误差曲线同传统PID 算法下的误差曲线作对比, 如图9 所示, 采用DMC 算法时双轴同步误差有明显降低的趋势, 在t为0.25 s 时,给X1轴追加幅值为10,得到持续时间为1 s 的阶跃扰动。 可见,DMC 算法控制下的系统受扰动引起的振荡明显减小,且在扰动消失后可快速恢复稳定。 因此,基于对位置同步误差进行实时在线计算且不断滚动优化等特点,DMC 算法相比于传统PID 控制算法能更加有效地提高系统的同步控制精度、抗干扰性和响应速度。
图8 不同控制策略仿真图
图9 同步误差曲线对比
基于上述Matlab 仿真分析得出, 采用DMC 算法和采用交叉耦合控制策略的双轴同步控制器,其同步控制效果更好。 在此将DMC 算法和交叉耦合控制策略相结合,根据FPGA 模块化思想[16],建立了如图10 所示的双轴同步控制模块框。
图10 程序设计模块
双轴同步控制程序包括以下几个步骤:
(1)数控指令接收处理模块。FPGA 芯片接到上位机发出的脉冲指令和方向指令,通过计数器对脉冲计数,得到输入位置给定值h0,并将h0传输出去。
(2)磁栅信号处理模块。 磁栅尺传感器输出信号为A、B 相两路脉冲信号, 当A 相信号超前于B相信号时,电机正转,反之则电机反转,通过对其四倍频细分计数,判断其输出方向,得到其最终反馈输出位移值 h1、h2。
(3)脉冲计数模块。 在该模块中得到 h0、h1、h2,通过分别做 h0和 h1、h0和 h2、h1和 h2的差,得到 X1、X2轴的输入、输出差值和双轴同步差值 e1、e2和 e0,并输出。
(4)DMC 交叉耦合模块。 在该模块接收到传入的e0,通过DMC 运算得到两轴补偿量er0,并传输给脉冲补偿模块。
(5)DMC 运算模块。 该模块接收到传入的 e1、e2, 运用DMC 运算分别得到两轴的轴间补偿量er1、er2,并将其传输给脉冲补偿模块。
(6)脉冲补偿模块。 该模块同时接收到传入的er0、er1、er2, 据此判断 X1、X2为增补偿还是减补偿,确定最终补偿量ex1、ex2, 并将最终补偿量传输给指令发出模块,对两轴发出位置和方向指令。
根据仿真分析结果和FPGA 软件设计分析,本文设计的双轴同步控制器,为DMC 控制方式、采用FPGA 主控芯片,利用FPGA 搭建硬件逻辑电路,完成控制算法的编写,实现可靠精准的同步控制双轴运动,同时达到同步控制数轴联动的控制目标。
图11 是搭建控制电路硬件实物图。 该控制电路硬件包括X、Y、Z 三轴指令输出接口、 电源模块、数控指令输入接口以及X、Y、Z 三轴磁栅反馈输入接口、继电器保护模块以及FPGA 主控芯片几个部分。 以此为基础搭建的双轴同步进给实验平台如图12 所示, 两线性丝杠模组单元固定在机床基座上,分别采用两个永磁同步电机驱动将横梁连接固定在两轴滑台上,两磁栅装在丝杠模组一侧,并采用激光干涉仪检测滑台运动精度。
图11 控制电路实物图
图12 双轴进给实验平台
结合上述仿真分析结果和实际情况可知,交叉耦合控制方式的实验进度和可行性更高,故本文采用交叉耦合控制方式,并在此基础上完成双轴精度检测实验, 同时在DMC 算法控制和传统PID 算法的对比中开展了双轴误差实验。
5.1.1 无磁栅半闭环精度测试
首先,在未使用磁栅尺位置反馈的情况下进行半闭环控制实验,利用激光干涉仪测量两轴运行过程中的定位精度。 由于线性模组的导程为440 mm,考虑到运行安全性,实际运行行程为300 mm。 由0点开始运行,每间隔50 mm 进行一次测量且在每个测量点停止3 s,往返3 次后得到测量结果。
图13 是X1轴定位精度测量结果。 横坐标表示X1轴运行距离,纵坐标表示实际检测距离与对应测量点的误差。 可见,X1轴正向运行时的定位精度约为43.1 μm、重复定位精度为2.723 μm;反向运行时的定位精度为38.1 μm、重复定位精度为1.405 μm。
图13 X1 轴误差曲线
图14 是X2轴定位精度测量结果。 X2轴正向运行时定位精度约为106.0 μm、 重复定位精度约为3.3 μm;反向运行时,定位精度为 104.1μm、重复定位精度约为2.9 μm。
图14 X2 轴误差曲线
5.1.2 有磁栅全闭环精度测试
在使用磁栅尺位置反馈情况下,将双轴刚性连接,进行全闭环控制实验。 采用前一小节中相同的测量方式,利用激光干涉仪测量两轴运行过程中的定位精度。
图15 是数控系统未对双轴进行补偿时所测定位精度和重复定位精度,其中定位精度为85.4 μm、重复定位精度为12.3 μm。图16 是数控补偿后所测定位精度和重复定位精度, 二者分别为8.9 μm 和3.5 μm。 两相比较,补偿后的双轴定位精度比补偿前的定位精度有了很大的提升,与加入磁栅前的半闭环控制实验相比较,其精度也有明显改善。
图15 双轴补偿前精度测量数据
图16 双轴补偿后精度测量数据
采用无激光的干涉仪进行测量,在交叉耦合控制策略的基础上分别加入DMC 算法和传统PID 算法, 借助SignalTap II 软件完成了双轴控制器在空载和负载时的对比全闭环实验。
5.2.1 双轴控制实验
两轴在不带额外负载的情况下接收相同指令,并在位置闭环控制下运行。 在运行过程中, 通过Signaltap 软件对双轴同步误差寄存器的值进行采样并得出实验结果。
图17 是空载时两种控制算法下的双轴同步误差曲线图。 可见,在运行过程中,受 X1轴、X2轴机械耦合作用的影响,双轴同步误差在一定范围内不断振荡,其中传统PID 算法控制下的误差范围为-32~41 μm,而在 DMC 算法控制下系统对 X1轴、X2轴进行了二次补偿,双轴同步误差在-19~17 μm 范围内不断变化,并随着位移的增加呈现衰减趋势。 与传统PID 算法控制下的曲线相比,DMC 算法控制下的曲线振荡范围明显减小,同步性能也有较大改善。
图17 空载双轴误差图
5.2.2 双轴带负载实验
为了进一步验证控制效果, 使X1轴不带负载、X2轴带4 kg 负载运行,增大了双轴的不对称性,分别在两种控制算法下进行实验。
图18 是一轴带负载的实验结果。 可见, 受X2轴带负载运行的影响, 在传统PID 算法方案下,运行过程中双轴同步误差明显增大, 并在-47~42 μm范围内不断振荡。相较而言,在相同环境下,DMC 算法控制时双轴同步误差虽然也有增大,但是幅度不大,最大同步误差为27 μm,且随着位移的增加,其误差曲线在不断往0 点靠近。
图18 带负载双轴误差图
本文研究了数控电火花成形机床模型,设计了DMC 控制算法与交叉耦合控制策略相结合的双轴控制器,在保证单轴跟踪精度的同时对两轴进行同步控制,使两轴的输出保持精确同步;运用Matlab搭建Simulink 仿真,与传统PID 算法控制下的仿真曲线进行对比;在Quartus 环境下运用Verilog 语言完成程序编写和仿真;通过搭建实验平台并完成调试,得出多种数据。 经分析比较,得出以下结论:
(1)仿真结果表明,在给定1 mm 位移条件下,交叉耦合控制策略的同步误差相比于并行控制策略的更小,最大误差可相较减小2 μm,因此采用交叉耦合控制的效果更佳。
(2)经Matlab 仿真分析,相较于传统PID 算法,在相同情况下采用DMC 算法的双轴同步误差更小, 且在系统受到外部干扰时的震荡范围更小,达到稳定状态的速度也更快。
(3)进一步实验的结果表明,在相同情况下,采用交叉耦合与DMC 算法相结合的控制器相比于交叉耦合与传统PID 算法相结合控制器,无论是空载时还是X2轴带负载时, 其同步误差变化范围都更小,且随着位移增加,同步效果也更好。