双电机驱动轴的同步控制方法、装置、电子设备及介质与流程
本发明涉及双电机同步驱动控制,特别涉及一种双电机驱动轴的同步控制方法、装置、电子设备及介质。
背景技术:
1、双电机驱动系统广泛应用于数控机床、激光切割机、三维打印设备等需要高精度协同运动的场合。以龙门式数控机床为例,其横梁两端分别由两台伺服电机驱动,要求两轴在运动过程中保持高度同步。若两轴之间的同步误差值过大,将导致横梁扭曲变形、导轨加速磨损,严重时甚至损坏机械结构,直接影响加工精度和设备寿命。
2、相关技术中,双电机驱动轴的同步控制多采用基于pid(proportional-integral-derivative,比例-积分-微分)的交叉耦合控制方案,即实时采集两轴的位置反馈信号,计算两轴之间的同步误差值,将该误差输入pid控制器计算出位置补偿量,然后将补偿量以相反方向分别叠加至两轴的目标位置指令。
3、然而,该方法存在运动方向变化时超前轴判定失准导致补偿方向错误的问题,亟待解决。
技术实现思路
1、本发明提供一种双电机驱动轴的同步控制方法、装置、电子设备及介质,以解决相关技术中运动方向变化时超前轴判定失准导致补偿方向错误的问题,有效提升了双电机驱动轴的同步精度。
2、为达到上述目的,本发明第一方面实施例提出一种双电机驱动轴的同步控制方法,包括以下步骤:
3、响应于当前控制周期的起始脉冲,获取双电机驱动轴在所述当前控制周期的第一目标位置、第一电机驱动轴的实际位置、第二电机驱动轴的实际位置和与所述当前控制周期相邻的上一控制周期的第二目标位置;
4、基于所述第一目标位置与所述第二目标位置之间的第一差值,确定所述双电机驱动轴的当前运动方向,并根据所述当前运动方向确定处于预设超前状态的目标电机驱动轴,所述预设超前状态用于表征所述双电机驱动轴中一电机驱动轴相对于另一电机驱动轴处于领先位置的状态;
5、基于所述第一电机驱动轴的实际位置和所述第二电机驱动轴的实际位置之间的第二差值,确定当前同步误差值;
6、基于所述当前同步误差值和所述目标电机驱动轴,对所述第一目标位置进行修正,以使所述当前同步误差值收敛。
7、根据本发明的一个实施例,所述基于所述当前同步误差值和所述目标电机驱动轴,对所述第一目标位置进行修正,包括:
8、响应于所述当前同步误差值的绝对值小于或等于预设超限阈值,基于所述当前同步误差值,分别计算比例项的输出值、积分项的输出值和微分项的输出值;
9、将所述比例项的输出值、所述积分项的输出值和所述微分项的输出值进行累加,生成补偿量;
10、将所述第一目标位置与所述补偿量之间的差值确定为所述目标电机驱动轴的修正后目标位置,并将所述第一目标位置与所述补偿量之间的和值作为所述双电机驱动轴中剩余电机驱动轴的修正后目标位置。
11、根据本发明的一个实施例,所述基于所述当前同步误差值和所述目标电机驱动轴,对所述第一目标位置进行修正,包括:
12、响应于所述当前同步误差值的绝对值大于所述预设超限阈值,将所述目标电机驱动轴的修正后目标位置锁定在所述目标电机驱动轴的当前实际位置,并将所述双电机驱动轴中剩余电机驱动轴的修正后目标位置确定为所述目标电机驱动轴的当前实际位置。
13、根据本发明的一个实施例,所述根据所述当前运动方向确定处于预设超前状态的目标电机驱动轴,包括:
14、响应于所述当前运动方向为所述第一目标位置的数值增大的方向,将所述第一电机驱动轴的实际位置和所述第二电机驱动轴的实际位置中数值较大者对应的电机驱动轴确定为所述目标电机驱动轴;
15、响应于所述当前运动方向为所述第一目标位置的数值减小的方向,将所述第一电机驱动轴的实际位置和所述第二电机驱动轴的实际位置中数值较小者对应的电机驱动轴确定为所述目标电机驱动轴。
16、根据本发明的一个实施例,所述基于所述第一目标位置与所述第二目标位置之间的第一差值,确定所述双电机驱动轴的当前运动方向,包括:
17、响应于所述第一差值的绝对值大于第一预设死区阈值且所述第一差值处于第一预设区间,将所述当前运动方向确定为所述第一目标位置的数值增大的方向;
18、响应于所述第一差值的绝对值大于第一预设死区阈值且所述第一差值处于第二预设区间,将所述当前运动方向确定为所述第一目标位置的数值减小的方向。
19、根据本发明的一个实施例,所述基于所述第一目标位置与所述第二目标位置的第一差值,确定所述双电机驱动轴的当前运动方向,包括:
20、响应于所述第一差值的绝对值小于或等于所述第一预设死区阈值,计算所述第一电机驱动轴的实际位置和所述第二电机驱动轴的实际位置的平均值,并计算所述平均值与所述第一目标位置之间的跟踪误差值;
21、响应于所述跟踪误差值的绝对值大于第二预设死区阈值且所述跟踪误差值处于所述第一预设区间,将所述当前运动方向确定为所述第一目标位置的数值增大的方向;
22、响应于所述跟踪误差值的绝对值大于所述第二预设死区阈值且所述跟踪误差值处于所述第二预设区间,将所述当前运动方向确定为所述第一目标位置的数值减小的方向;
23、响应于所述跟踪误差值的绝对值小于或等于所述第二预设死区阈值,将所述与所述当前控制周期相邻的上一控制周期的运动方向确定为所述当前运动方向。
24、根据本发明的一个实施例,在将所述比例项的输出值、所述积分项的输出值和所述微分项的输出值进行累加,生成所述补偿量之后,还包括:
25、判断所述补偿量的绝对值是否大于预设的输出限幅值;
26、在所述补偿量的绝对值大于所述预设的输出限幅值的情况下,将所述预设的输出限幅值作为新的补偿量,以基于所述新的补偿量对所述第一目标位置进行修正。
27、根据本发明实施例提出的双电机驱动轴的同步控制方法,通过响应于当前控制周期的起始脉冲,获取当前目标位置、上一周期目标位置及两个驱动轴的实际位置;基于当前目标位置与上一周期目标位置之差确定运动方向,并根据运动方向确定超前轴;基于两个驱动轴的实际位置之差确定同步误差值;基于同步误差值和超前轴,对当前目标位置进行修正,以使同步误差值收敛。由此,通过目标位置变化趋势自适应识别超前轴,同时根据同步误差值执行修正使两轴目标位置反向偏移以实现误差收敛,解决了相关技术中运动方向变化时超前轴判定失准导致补偿方向错误的问题,有效提升了双电机驱动轴的同步精度。
28、为达到上述目的,本发明第二方面实施例提出一种双电机驱动轴的同步控制装置,包括:
29、获取模块,用于响应于当前控制周期的起始脉冲,获取双电机驱动轴在所述当前控制周期的第一目标位置、第一电机驱动轴的实际位置、第二电机驱动轴的实际位置和与所述当前控制周期相邻的上一控制周期的第二目标位置;
30、第一确定模块,用于基于所述第一目标位置与所述第二目标位置之间的第一差值,确定所述双电机驱动轴的当前运动方向,并根据所述当前运动方向确定处于预设超前状态的目标电机驱动轴,所述预设超前状态用于表征所述双电机驱动轴中一电机驱动轴相对于另一电机驱动轴处于领先位置的状态;
31、第二确定模块,用于基于所述第一电机驱动轴的实际位置和所述第二电机驱动轴的实际位置之间的第二差值,确定当前同步误差值;
32、修正模块,用于基于所述当前同步误差值和所述目标电机驱动轴,对所述第一目标位置进行修正,以使所述当前同步误差值收敛。
33、根据本发明的一个实施例,所述修正模块,具体用于:
34、响应于所述当前同步误差值的绝对值小于或等于预设超限阈值,基于所述当前同步误差值,分别计算比例项的输出值、积分项的输出值和微分项的输出值;
35、将所述比例项的输出值、所述积分项的输出值和所述微分项的输出值进行累加,生成补偿量;
36、将所述第一目标位置与所述补偿量之间的差值确定为所述目标电机驱动轴的修正后目标位置,并将所述第一目标位置与所述补偿量之间的和值作为所述双电机驱动轴中剩余电机驱动轴的修正后目标位置。
37、根据本发明的一个实施例,所述修正模块,具体用于:
38、响应于所述当前同步误差值的绝对值大于所述预设超限阈值,将所述目标电机驱动轴的修正后目标位置锁定在所述目标电机驱动轴的当前实际位置,并将所述双电机驱动轴中剩余电机驱动轴的修正后目标位置确定为所述目标电机驱动轴的当前实际位置。
39、根据本发明的一个实施例,所述根据所述当前运动方向确定处于预设超前状态的目标电机驱动轴,所述第一确定模块,具体用于:
40、响应于所述当前运动方向为所述第一目标位置的数值增大的方向,将所述第一电机驱动轴的实际位置和所述第二电机驱动轴的实际位置中数值较大者对应的电机驱动轴确定为所述目标电机驱动轴;
41、响应于所述当前运动方向为所述第一目标位置的数值减小的方向,将所述第一电机驱动轴的实际位置和所述第二电机驱动轴的实际位置中数值较小者对应的电机驱动轴确定为所述目标电机驱动轴。
42、根据本发明的一个实施例,所述基于所述第一目标位置与所述第二目标位置之间的第一差值,确定所述双电机驱动轴的当前运动方向,所述第一确定模块,具体用于:
43、响应于所述第一差值的绝对值大于第一预设死区阈值且所述第一差值处于第一预设区间,将所述当前运动方向确定为所述第一目标位置的数值增大的方向;
44、响应于所述第一差值的绝对值大于第一预设死区阈值且所述第一差值处于第二预设区间,将所述当前运动方向确定为所述第一目标位置的数值减小的方向。
45、根据本发明的一个实施例,所述基于所述第一目标位置与所述第二目标位置的第一差值,确定所述双电机驱动轴的当前运动方向,所述第一确定模块,具体用于:
46、响应于所述第一差值的绝对值小于或等于所述第一预设死区阈值,计算所述第一电机驱动轴的实际位置和所述第二电机驱动轴的实际位置的平均值,并计算所述平均值与所述第一目标位置之间的跟踪误差值;
47、响应于所述跟踪误差值的绝对值大于第二预设死区阈值且所述跟踪误差值处于所述第一预设区间,将所述当前运动方向确定为所述第一目标位置的数值增大的方向;
48、响应于所述跟踪误差值的绝对值大于所述第二预设死区阈值且所述跟踪误差值处于所述第二预设区间,将所述当前运动方向确定为所述第一目标位置的数值减小的方向;
49、响应于所述跟踪误差值的绝对值小于或等于所述第二预设死区阈值,将所述与所述当前控制周期相邻的上一控制周期的运动方向确定为所述当前运动方向。
50、根据本发明的一个实施例,在将所述比例项的输出值、所述积分项的输出值和所述微分项的输出值进行累加,生成所述补偿量之后,所述修正模块,还用于:
51、判断所述补偿量的绝对值是否大于预设的输出限幅值;
52、在所述补偿量的绝对值大于所述预设的输出限幅值的情况下,将所述预设的输出限幅值作为新的补偿量,以基于所述新的补偿量对所述第一目标位置进行修正。
53、根据本发明实施例提出的双电机驱动轴的同步控制装置,通过响应于当前控制周期的起始脉冲,获取当前目标位置、上一周期目标位置及两个驱动轴的实际位置;基于当前目标位置与上一周期目标位置之差确定运动方向,并根据运动方向确定超前轴;基于两个驱动轴的实际位置之差确定同步误差值;基于同步误差值和超前轴,对当前目标位置进行修正,以使同步误差值收敛。由此,通过目标位置变化趋势自适应识别超前轴,同时根据同步误差值执行修正使两轴目标位置反向偏移以实现误差收敛,解决了相关技术中运动方向变化时超前轴判定失准导致补偿方向错误的问题,有效提升了双电机驱动轴的同步精度。
54、为达到上述目的,本发明第三方面实施例提出一种电子设备,包括:存储器、处理器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的双电机驱动轴的同步控制方法。
55、为达到上述目的,本发明第四方面实施例提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如上述实施例所述的双电机驱动轴的同步控制方法。
56、为达到上述目的,本发明第五方面实施例提出一种计算机程序产品,其包括计算机程序,该计算机程序被处理器执行时,以用于实现如上述实施例所述的双电机驱动轴的同步控制方法。
57、本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com