CN111552325A - 位置指令同步方法、装置和计算机可读存储介质 - Google Patents
位置指令同步方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN111552325A CN111552325A CN202010349833.4A CN202010349833A CN111552325A CN 111552325 A CN111552325 A CN 111552325A CN 202010349833 A CN202010349833 A CN 202010349833A CN 111552325 A CN111552325 A CN 111552325A
- Authority
- CN
- China
- Prior art keywords
- pwm
- position ring
- period
- value
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D3/00—Control of position or direction
- G05D3/12—Control of position or direction using feedback
- G05D3/20—Control of position or direction using feedback using a digital comparing device
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Control Of Position Or Direction (AREA)
Abstract
本发明公开了一种位置指令同步方法、装置及计算机可读存储介质,方法包括:获取当前位置环指针与上一次调节时对应的位置环指针;根据当前的位置环指针与上一次调节时对应的位置环指针获取对应的PWM周期调整量,以使得调整后的位置环指针在第一预设值和第二预设值之间,所述第一预设值大于所述第二预设值;将上一拍PWM周期值与所述PWM周期调整量之和赋值给当前PWM周期值。本发明能够提高EtherCAT伺服驱动器的控制响应性能,避免了EtherCATDC通信周期和位置环周期错位现象。
Description
技术领域
本发明涉及伺服控制系统领域,尤其涉及一种位置指令同步方法、装置和计算机可读存储介质。
背景技术
EtherCAT(以太网控制自动化技术)总线控制是伺服控制系统设计的必然趋势,周期同步位置控制模式是该总线控制模式中最有效、最常用的一种运动控制模式。主站运动控制器将计算后的目标位置经EtherCAT总线发送至从站各伺服驱动器实现位置控制。
上位机发送的位置指令是以一个固定周期发送的,通常情况下这个周期与从站伺服驱动器的位置环周期成整数倍的关系。为了达到更好的控制性,要求从站伺服驱动器对上位机发出的位置指令做平滑处理。由于上位机位置指令更新周期与从站伺服驱动器的位置环在不同的芯片处理,芯片所用的晶振频率存在微小的差异,它们所认为的时间长度必然会有差异。随时间的积累上位机位置指令更新周期、位置环周期必然会存在时钟漂移、周期错位的现象,进而导致位置指令处理不平滑,出现控制抖动,最终降低伺服控制性能。
当EtherCATDC通信周期与位置环周期出现偏差,要对其中一个控制周期进行动态调整,就能避免两者之间的偏差。目前市场中常用的是对位置环输出速度进行滤波的方法,这种处理方法虽然比较简单、实现起来相对容易,但是由于引入了速率滤波环节,滤波时间常数较大(一般都为几毫秒),从而导致系统的响应带宽变小性能下降。
发明内容
本发明的主要目的在于提出一种位置指令同步方法、装置和计算机可读存储介质,旨在解决EtherCATDC通信周期和位置环周期错位的问题。
为实现上述目的,本发明提供一种位置指令同步方法,所述指令同步方法应用于以太网控制自动化技术EtherCAT,包括步骤:
获取当前位置环指针与上一次调节时对应的位置环指针;
根据当前位置环指针与上一次调节时对应的位置环指针获取对应的PWM周期调整量,以使得调整后的位置环指针在第一预设值和第二预设值之间,所述第一预设值大于所述第二预设值;
将上一拍PWM周期值与所述PWM周期调整量之和赋值给当前PWM周期值。
可选地,根据当前位置环指针与上一次调节时对应的位置环指针获取对应的PWM周期调整量,以使得调整后的位置环指针在第一预设值和第二预设值之间,所述第一预设值大于所述第二预设值,包括:
判断当前位置环指针是否小于上一次调节时对应的位置环指针;
若当前位置环指针小于上一次调节时对应的位置环指针,则获取PWM第一调节量,所述PWM第一调节量为负整数;
若当前位置环指针大于上一次调节时对应的位置环指针,则获取PWM第二调节量,所述PWM第二调节量为正整数。
可选地,判断当前位置环指针是否小于上一次调节时对应的位置环指针,若当前位置环指针小于上一次调节时对应的位置环指针,则获取PWM第一调节量,所述第一调节量为负整数,包括:
判断当前位置环指针是否小于所述第一预设值;
若当前位置环指针小于所述第一预设值,则获取PWM第三调节量,所述PWM第三调节量为负整数且小于所述PWM第一调节量;
判断当前位置环指针是否小于所述第二预设值;
若当前位置环指针小于所述第二预设值,则获取PWM第一调节量。
可选地,根据当前位置环指针与上一次调节时对应的位置环指针获取对应的PWM周期调整量,以使得调整后的位置环指针在第一预设值和第二预设值之间,所述第一预设值大于所述第二预设值的步骤之前,还包括:
获取一个EtherCATDC通信周期内的总脉冲增量、位置环处理周期;
根据一个EtherCATDC通信周期内的总脉冲增量、位置环处理周期计算一个EtherCATDC通信周期内的位置环分频次数;
判定PWM分频计数器是否达到PWM调节周期值;
若PWM分频计数器到达PWM调节周期值,则根据所述位置环分频次数计算第一预设值、第二预设值。
可选地,获取当前位置环指针与上一次调节时对应的位置环指针的步骤之前,还包括:
当EtherCATDC中断时,获取上位机发送的伺服电机目标位置;
在PWM中断时,获取当前时刻经过平滑插值后的伺服电机位置;
根据上位机发送的伺服电机目标位置、当前时刻经过平滑插值后的伺服电机位置计算一个EtherCATDC通信周期内的总脉冲增量。
可选地,根据当前的位置环指针与上一次调节时对应的位置环指针获取对应的PWM周期调整量,以使得调整后的位置环指针在第一预设值和第二预设值之间,所述第一预设值大于所述第二预设值,步骤之后还包括:
获取一个EtherCATDC通信周期内的总脉冲增量、上一次位置环处理后的伺服电机位置;
计算当前插值平均处理后的伺服电机位置指令,公式:Pi=Pi-1+△
P/POSDIV,
其中,Pi为当前插值平均处理后的伺服电机位置指令,Pi-1为上一次位置环处理后的伺服电机位置,△P为当前一个EtherCATDC通信周期内的总脉冲增量,POSDIV为位置环分频次数。
可选地,将上一拍PWM周期值与所述PWM周期调整量之和赋值给当前PWM周期值,包括:
比较当前PWM周期值与预设的PWM周期最大值、PWM周期最小值;
若当前PWM周期值大于预设的PWM周期最大值,则将预设的PWM周期最大值赋值给当前PWM周期值;
若当前PWM周期值小于预设的PWM周期最小值,则将预设的PWM周期最小值赋值给当前PWM周期值;
若当前PWM周期值在预设的PWM周期最大值、PWM周期最大值之间,则执行当前PWM周期值。
可选地,将上一拍PWM周期值与所述PWM周期调整量之和赋值给当前PWM周期值的步骤之后,还包括:
将PWM周期调整量改为零。
为实现上述目的,本发明还提供一种位置指令同步装置,所述位置指令同步装置包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的位置指令同步方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的位置指令同步方法的步骤。
本发明提出的一种位置指令同步方法、设备及计算机可读存储介质,通过获取当前位置环指针与上一次调节时对应的位置环指针;根据当前位置环指针与上一次调节时对应的位置环指针获取对应的PWM周期调整量,以使得调整后的位置环指针在第一预设值和第二预设值之间,所述第一预设值大于所述第二预设值;将上一拍PWM周期值与所述PWM周期调整量之和赋值给当前PWM周期值。本申请通过调整PWM周期量,从而调整位置环周期值,调整位置环时钟漂移,使得位置环计数时钟与EtherCATDC通信周期时钟一致,保证每个EtherCAT通信周期内位置指令被平均到位置环周期中执行,避免了EtherCATDC通信周期与位置环周期错位的现象。另外,在不需要滤波环节的情况下,极大的提高了EtherCAT伺服驱动器的控制响应性能。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明位置指令同步方法第一实施例的流程示意图;
图3为本发明实施例中根据当前的位置环指针与上一次调节时对应的位置环指针获取对应的PWM周期调整量,以使得调整后的位置环指针在第一预设值和第二预设值之间,所述第一预设值大于所述第二预设值步骤的一细化流程示意图;
图4为本发明实施例中判断当前位置环指针是否小于上一次调节时对应的位置环指针,若当前位置环指针小于上一次调节时对应的位置环指针,则获取PWM第一调节量,所述第一调节量为负整数步骤的一细化流程示意图;
图5为本发明位置指令同步方法第二实施例的流程示意图;
图6为本发明位置指令同步方法第三实施例的流程示意图;
图7为本发明位置指令同步方法第四实施例的流程示意图;
图8为本发明实施例中将上一拍PWM周期值与所述PWM周期调整量之和赋值给当前PWM周期值步骤的一细化流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
由于上位机位置指令更新周期与位置环周期随时间积累存在周期性错位的现象,现有技术中,增加速率的滤波环节,增加滤波延迟时间,进而降低系统响应性能。为了解决上述技术问题,本发明提供一种位置指令同步方法,通过动态调整PWM周期调节量,保证每个EtherCATDC通信周期内的位置指令被平均到位置环周期中执行,有效避免EtherCATDC通信周期与位置环周期的错位现象,并且极大的提高了EtherCAT伺服驱动器的控制性能。
请参照图1,图1为本发明各个实施例中所提供的设备的硬件结构示意图。所述设备包括上位机1001,EtherCAT通信总线1002,处理器1003,例如CPU,存储器1004,伺服电机1005,存储在所述存储器上并可在所述处理器上运行的位置指令同步程序。其中,上位机1001为可以直接发出命令的计算机。EtherCAT通信总线1002用于实现这些组件之间的连接通信。处理器1003,例如CPU。存储器1004可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1004可选的还可以是独立于前述处理器1003的存储装置。
本领域技术人员可以理解,图1中所示出的设备还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1004中可以包括操作系统、网络通信模块以及位置指令同步程序。
在图1所示的硬件中,上位机1001计算目标位置、速度、加速度、力矩等数据;EtherCAT通信总线1002可实时将上位机的指令传输至处理器1003。伺服电机1005为底层端子设备。而处理器1003主要用于执行存储器1004中存储的位置指令同步程序,以实现如下步骤:
获取当前位置环指针与上一次调节时对应的位置环指针;
根据当前位置环指针与上一次调节时对应的位置环指针获取对应的PWM周期调整量,以使得调整后的位置环指针在第一预设值和第二预设值之间,所述第一预设值大于所述第二预设值;
将上一拍PWM周期值与所述PWM周期调整量之和赋值给当前PWM周期值。
进一步地,根据当前位置环指针与上一次调节时对应的位置环指针获取对应的PWM周期调整量,以使得调整后的位置环指针在第一预设值和第二预设值之间,所述第一预设值大于所述第二预设值,包括:
判断当前位置环指针是否小于上一次调节时对应的位置环指针;
若当前位置环指针小于上一次调节时对应的位置环指针,则获取PWM第一调节量,所述PWM第一调节量为负整数;
若当前位置环指针大于上一次调节时对应的位置环指针,则获取PWM第二调节量,所述PWM第二调节量为正整数。
进一步地,判断当前位置环指针是否小于上一次调节时对应的位置环指针,若当前位置环指针小于上一次调节时对应的位置环指针,则获取PWM第一调节量,所述第一调节量为负整数,包括:
判断当前位置环指针是否小于所述第一预设值;
若当前位置环指针小于所述第一预设值,则获取PWM第三调节量,所述PWM第三调节量为负整数且小于所述PWM第一调节量;
判断当前位置环指针是否小于所述第二预设值;
若当前位置环指针小于所述第二预设值,则获取PWM第一调节量。
进一步地,根据当前位置环指针与上一次调节时对应的位置环指针获取对应的PWM周期调整量,以使得调整后的位置环指针在第一预设值和第二预设值之间,所述第一预设值大于所述第二预设值的步骤之前,还包括:
获取一个EtherCATDC通信周期内的总脉冲增量、位置环处理周期;
根据一个EtherCATDC通信周期内的总脉冲增量、位置环处理周期计算一个EtherCATDC通信周期内的位置环分频次数;
判定PWM分频计数器是否达到PWM调节周期值;
若PWM分频计数器到达PWM调节周期值,则根据所述位置环分频次数计算第一预设值、第二预设值。
进一步地,获取当前位置环指针与上一次调节时对应的位置环指针的步骤之前,还包括:
当EtherCATDC中断时,获取上位机发送的伺服电机目标位置;
在PWM中断时,获取当前时刻经过平滑插值后的伺服电机位置;
根据上位机发送的伺服电机目标位置、当前时刻经过平滑插值后的伺服电机位置计算一个EtherCATDC通信周期内的总脉冲增量。
进一步地,根据当前的位置环指针与上一次调节时对应的位置环指针获取对应的PWM周期调整量,以使得调整后的位置环指针在第一预设值和第二预设值之间,所述第一预设值大于所述第二预设值,步骤之后还包括:
获取一个EtherCATDC通信周期内的总脉冲增量、上一次位置环处理后的伺服电机位置;
计算当前插值平均处理后的伺服电机位置,公式为:Pi=Pi-1+△P/POSDIV,
其中,Pi为当前插值平均处理后的伺服电机位置,Pi-1为上一次位置环处理后的伺服电机位置,△P为一个EtherCATDC通信周期内的总脉冲增量,POSDIV为位置环分频次数。
进一步地,将上一拍PWM周期值与所述PWM周期调整量之和赋值给当前PWM周期值,包括:
比较当前PWM周期值与预设的PWM周期最大值、PWM周期最小值;
若当前PWM周期值大于预设的PWM周期最大值,则将预设的PWM周期最大值赋值给当前PWM周期值;
若当前PWM周期值小于预设的PWM周期最小值,则将预设的PWM周期最小值赋值给当前PWM周期值;
若当前PWM周期值在预设的PWM周期最大值、PWM周期最大值之间,则执行当前PWM周期值。
进一步地,将上一拍PWM周期值与所述PWM周期调整量之和赋值给当前PWM周期值的步骤之后,还包括:
将PWM周期调整量改为零。
请参照图2,在本发明位置指令同步方法的第一实施例中,所述EtherCAT位置指令同步方法包括:
步骤S100,获取当前位置环指针与上一次调节时对应的位置环指针;
伺服电机一般采用三环控制,三环就是3个闭环负反馈调节系统,即电流环、速度环、位置环。电流环完全在伺服驱动器内部进行,电流环是控制电机转矩的,在转矩模式下驱动器运算最小,动态响应最快;速度环是通过检测电机编码器的信号来进行负反馈调节的,速度环的内部输出是电流环的设定。位置环是最外环,内部输出就是速度环的设定,在位置控制模式下,系统运算量最大,动态响应也最慢。
在本发明实施例中,当前位置环指针为当前位置指令处理过程的内存单元的地址,上一次调节时对应的位置环指针为位置环在上一次DC通信周期内位置指令处理过程的内存单元地址。从位置环计数寄存器中获取当前位置环指针,接收上位机发送的上次调节时对应的位置环指针,通过比较当前位置环指针、上一次调节时对应的位置环指针,确定位置环计数时钟与DC通信计数系统时钟的偏差。因为位置环、上位机位置指令更新在不同的芯片中进行,两者所用的晶振频率存在差异,上位机的信号会根据主站的系统时钟,位置环计数使用的是位置环的晶振,两者之间的时间长度必然会存在差异,也就是会出现时钟漂移。
步骤S200,根据当前的位置环指针与上一次调节时对应的位置环指针获取对应的PWM周期调整量,以使得调整后的位置环指针在第一预设值和第二预设值之间,所述第一预设值大于所述第二预设值;
在本发明实施例中,当EtherCATDC通信周期与位置环周期出现偏差,要对其中一个控制周期进行动态调整,就能避免两者之间的偏差。因速度环控制包括了速度环和电流环,而位置环控制又包括位置环、速度环和电流环,在电流环内进行调整能提高响应速度。只要在电流环内部调节PWM周期量、将PWM周期控制在一定范围,在保证位置环内的位移量相同的条件下,调整位置环周期,就能有效避免EtherCATDC通信周期与位置环周期出现偏差的问题,并且提高系统响应性能。
在本发明实施例中,PWM(脉冲宽度调制)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的方法。PWM控制过程主要有PWM周期(或频率)、PWM占空比两个参数,PWM的周期是PWM信号里一个高电平和一个低电平的时间和,PWM的占空比是一个脉冲周期内高电平与时间周期的比值。PWM周期(或频率)由周期寄存器确定,如PWM周期值为8,则PWM控制周期计数器0→8→0为一个周期。PWM占空比信号由比较寄存器确定。本实施例是利用调整PWM的信号周期来调整位置环处理周期值,保证位置环内的位移量不变。调整位置环计数时钟漂移,使位置环被平均插入到整个EtherCATDC周期内。
步骤S300,将上一拍PWM周期值与所述PWM周期调整量之和赋值给当前PWM周期值。
在本发明实施例中,根据步骤S200计算出来PWM周期调整量,以及上一拍PWM周期值来计算当前PWM周期值。其中,上一拍PWM周期值存于周期寄存器中,处理器可直接从自动重装载寄存器读取上一拍PWM周期值,计算后的当前PWM周期值更新在周期寄存器中。
当EtherCATDC通信周期与位置环周期出现偏差时,进入中断,处理器获取当前位置环指针与上一次调节时对应的位置环指针,根据两者之间的关系,获取对应的PWM周期调节量,延长或缩短PWM周期,调整位置环时钟漂移,使得位置环计数时钟与EtherCATDC通信周期计数时钟一致,保证每个每个EtherCAT通信周期内位置指令被平均到位置环周期中执行,避免了EtherCATDC通信周期与位置环周期错位的现象。另外,PWM周期调节直接在电流环中进行,在不需要滤波环节的情况下,极大的提高了EtherCAT伺服驱动器的控制响应性能。
基于图2所示的实施例,请参照图3,图3为本发明实施例中根据当前的位置环指针与上一次调节时对应的位置环指针获取对应的PWM周期调整量,以使得调整后的位置环指针在第一预设值和第二预设值之间,所述第一预设值大于所述第二预设值的一细化流程示意图,步骤S200,包括:
步骤S210,判断当前位置环指针是否小于上一次调节时对应的位置环指针;
步骤S220,若当前位置环指针小于上一次调节时对应的位置环指针,则获取PWM第一调节量,所述第一调节量为负整数;
在本发明实施例中,当前位置环指针小于上一次调节时对应的位置环指针,说明位置环计数时钟与EtherCATDC通信周期计数时钟相比偏慢,或者说位置环周期偏长,因此要降低位置环处理周期,获取为负整数的PWM第一调节量,例如PWM第一调节量可以为-1,即在原PWM周期值基础上减去1,将PWM周期变短,加快位置环计数时钟。
步骤S230,若当前位置环指针大于上一次调节时对应的位置环指针,则获取PWM第二调节量,所述PWM第二调节量为正整数。
在本发明实施例中,当前位置环指针大于上一次调节时对应的位置环指针,说明位置环计数时钟与EtherCATDC通信周期计数时钟相比偏快,或者说位置环周期偏短,因此要增加位置环处理周期,获取为正整数的PWM第二调节量,例如PWM第二调节量为2,即在原PWM周期值基础上加2,将PWM周期变长,减慢位置环调整计数时钟。
通过以上两种调整,均将当前位置环指针向上一次调节时对应的指针靠近,直至当前位置环指针与上一次调节时对应的指针重合,即EtherCATDC通信周期计数时钟与位置环计数时钟一致。无论EtherCATDC通信周期与位置环周期出现多大偏差,只要判定当前位置环指针与上一次调节时对应的指针的大小,调整PWM周期长短,即调整位置环周期,通过上述方法都在较短的响应时间内消除EtherCATDC通信周期与位置环周期的时间偏差。
基于图3所示的实施例,请参照图4,图4为本发明实施例中判断当前位置环指针是否小于上一次调节时对应的位置环指针,若当前位置环指针小于上一次调节时对应的位置环指针,则获取PWM第一调节量,所述第一调节量为负整数的一细化流程示意图,步骤S220包括:
步骤S221,判断前位置环指针是否小于所述第一预设值;
步骤S222,若前位置环指针小于所述第一预设值,则获取PWM第三调节量,所述PWM第三调节量为负整数且小于所述PWM第一调节量;
在本实施例中,当前位置环指针小于第一预设值时,说明位置环计数时钟与EtherCATDC通信周期计数时钟相比大幅度偏慢,因此要较大幅度降低位置环处理周期,获取为负整数且小于PWM第一调节量的PWM第三调节量,例如此时PWM周期调节量为-2,即在原PWM周期值基础减加2,将PWM周期变短,能实现更大幅度的加快位置环计数时钟。
步骤S223,判断前位置环指针是否小于所述第二预设值;
步骤S224,若前位置环指针小于所述第二预设值,则获取PWM第一调节量。
在本实施例中,当前位置环指针小于第二预设值,因第一预设值比第二预设值大,说明位置环计数时钟与EtherCATDC通信周期计数时钟相比小幅度偏慢,因此要小幅度降低位置环处理周期,获取为负整数的PWM第一调节量,PWM调节量可以为-1,即在原PWM周期值基础减加1,将PWM周期变短。
基于图2所示的第一实施例,请参照图5,根据本申请EtherCAT位置指令同步方法的第一实施例提出本申请EtherCAT位置指令同步方法的第二实施例,在本实施例中,步骤S210之前还包括:
步骤S201,获取一个EtherCATDC通信周期内的总脉冲增量、位置环处理周期;
步骤S202,根据一个EtherCATDC通信周期内的总脉冲增量、位置环处理周期计算一个EtherCATDC通信周期内的位置环分频次数;
在本发明实施例中,通过上述两步骤能计算出当前一个EtherCATDC通信周期内的位置环分频次数,位置环分频次数为当前一个EtherCATDC通信周期内的总脉冲增量与位置环处理周期之比,为一个EtherCATDC通信周期内位置环的次数。只有当位置环指针等于位置环分频次数时,才进入下一个EtherCATDC通信周期内的总脉冲增量计算。
步骤S203,判定PWM分频计数器是否达到PWM调节周期值;
步骤S204,若PWM分频计数器到达PWM调节周期值,则根据所述位置环分频次数计算第一预设值、第二预设值。
在本发明实施例中,当接收到外部EtherCATDC中断传来的数据更新标志,并且PWM分频计数器到PWM分频预设定值时,PWM分频预设定值一般为10,处理器根据位置环分频次数计算第一预设值、第二预设值,优选地,计算方法为:第一预设值为位置环分频次数的1/2,第二预设值为位置环分频次数的1/2与1之差。通过以上步骤,使得位置环指针始终被控制在位置环分频次数的1/2、位置环分频次数的1/2与1之差两个值之间。
基于图1所示的第一实施例,请参照图6,根据本申请EtherCAT位置指令同步方法的第一实施例提出本申请EtherCAT位置指令同步方法的第三实施例,在本实施例中,所述步骤S100之前,具体还包括:
步骤S101,当EtherCATDC中断时,获取上位机发送的伺服电机目标位置;
在本发明实施例中,当每次进入EtherCATDC中断后,即出现位置环周期与EtherCATDC通信周期出现偏差外部中断后,将上位机发送的伺服电机目标位置存入Pn,同时位置接收完成标志Flag1置1,供其他模块使用,如用于计算位置环分频次数、第一预设值、第二预设值等参数。
步骤S102,在PWM中断时,获取当前时刻经过平滑插值后的伺服电机位置;
平滑插值是伺服驱动器对上位机发送的位置指令优化处理的一种方式,即通过对输入进给伺服电机的进给脉冲频率和电压进行加减速控制。一个合理的加减速控制算法应满足:速度逐渐增加,位置不产生超程;在加减速控制结束后,应保证实际位置与指令位置一致,不影响系统定位精度;具有较快的响应速度。加减速方法通常有直线加减速、指数加减速、三角函数加减速三种。其中,直线加减速方法算法简单,但在加减速阶段的起点、终点处加速度有突变,使机床运动存在柔性冲击。指数加减速方法进给速度按指数规律进行加减,算法复杂,在加减速阶段的起点、终点处加速度仍有突变,使机床运动不够平滑。柔性加减速算法采用三角函数构造加减速曲线,速度、加速度、位移均连续使得运动具有柔性,因此柔性加减速算法为常用的平滑处理方法。平滑插值后的伺服电机位置为一个EtherCATDC通信周期初始时刻伺服电机的实际位置。
步骤S103,根据上位机发送的伺服电机目标位置、当前时刻经过平滑插值后的伺服电机位置计算一个EtherCATDC通信周期内的总脉冲增量。
在本实施例中,通过计算上位机发送的伺服电机目标位置、当前时刻经过平滑插值后的伺服电机位置两者的差值得到一个EtherCATDC通信周期内的总脉冲增量。
基于图2-6,参照图7,图7为本发明EtherCAT位置指令同步方法第四实施例的流程示意图,在步骤S200根据当前的位置环指针与上一次调节时对应的位置环指针获取对应的PWM周期调整量,以使得调整后的位置环指针在第一预设值和第二预设值之间,所述第一预设值大于所述第二预设值的步骤之后,还包括:
步骤S241,获取一个EtherCATDC通信周期内的总脉冲增量、上一次位置环处理后的伺服电机位置;
步骤S242,计算当前插值平均处理后的伺服电机位置,公式为:Pi=Pi-1+△P/POSDIV,
其中,Pi为当前插值平均处理后的伺服电机位置,Pi-1为上一次位置环处理后的伺服电机位置,△P为当前一个EtherCATDC通信周期内的总脉冲增量,POSDIV为位置环分频次数。
在上述步骤中,当位置环指针小于位置环分频次数,则当前位置环指针自加一,执行位置环位置指令平均处理模块,通过算法可知,每次数据更新后,位置指令都被的分成POSDIV份,分POSDIV次平均的增加到插值后的位置指令Pk中。
基于图2所示的第一实施例,请参照图8,图8为本发明实施例中将上一拍PWM周期值与所述PWM周期调整量之和赋值给当前PWM周期值的一细化流程图,步骤S300,包括:
步骤S311,比较当前PWM周期值与预设的PWM周期最大值、PWM周期最小值;
步骤S312,若当前PWM周期值大于预设的PWM周期最大值,则将预设的PWM周期最大值赋值给当前PWM周期值;
步骤S313,若当前PWM周期值小于预设的PWM周期最小值,则将预设的PWM周期最小值赋值给当前PWM周期值;
步骤S314,若当前PWM周期值在预设的PWM周期最大值、PWM周期最大值之间,则执行当前PWM周期值。
通过上述设置PWM周期调节量的上下限,确保电机平滑运转,而不会出现瞬间停顿、以及误操作带来的安全隐患。优选地,PWM周期最大值与PWM周期正常值之比≤120%,PWM周期最小值与PWM周期正常值之比≥80%。
进一步地,参照图8,在步骤S310之后,还包括:
步骤S320,将PWM周期调整量改为零。
在本发明实施例中,PWM周期调整完成后,将PWM周期调整量改为零,在下一个EtherCATDC通信周期位置指令更新后,仍使用PWM周期初始值,一般为10。因位置环周期与EtherCATDC通信周期在不同的芯片中,长时间积累产生两者时钟漂移,只有当下次出现位置环周期与EtherCATDC通信周期错位时,才执行调整PWM周期值的位置指令同步程序。
在本实施例中,以PWM模块的计数时钟150MHz为例,最大调整量一般为±4个PWM计数器时钟,等效的延迟时间Tf=4*1/150Mhz=26.68ns,与常规的位置环速度指令滤波方法的毫秒级相比可以忽略不计。
本发明还提供一种EtherCAT位置指令同步装置,所述EtherCAT位置指令同步装置包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上任一实施例所述的位置指令同步方法的步骤。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机可读存储介质可以是图1的设备中的存储器1004,也可以是如ROM(Read-OnlyMemory,只读存储器)/RAM(RandomAccessMemory,随机存取存储器)、磁碟、光盘中的至少一种,所述计算机可读存储介质包括若干信息用以使得设备执行本发明各个实施例所述的方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种位置指令同步方法,其特征在于,所述指令同步方法应用于以太网控制自动化技术EtherCAT伺服驱动器,包括步骤:
获取当前位置环指针与上一次调节时对应的位置环指针;
根据当前位置环指针与上一次调节时对应的位置环指针获取对应的PWM周期调整量,以使得调整后的位置环指针在第一预设值和第二预设值之间,所述第一预设值大于所述第二预设值;
将上一拍PWM周期值与所述PWM周期调整量之和赋值给当前PWM周期值。
2.根据权利要求1所述的位置指令同步方法,其特征在于,根据当前位置环指针与上一次调节时对应的位置环指针获取对应的PWM周期调整量,以使得调整后的位置环指针在第一预设值和第二预设值之间,所述第一预设值大于所述第二预设值,包括:
判断当前位置环指针是否小于上一次调节时对应的位置环指针;
若当前位置环指针小于上一次调节时对应的位置环指针,则获取对应的PWM第一调节量,所述PWM第一调节量为负整数;
若当前位置环指针大于上一次调节时对应的位置环指针,则获取PWM第二调节量,所述PWM第二调节量为正整数。
3.根据权利要求2所述的位置指令同步方法,其特征在于,判断当前位置环指针是否小于上一次调节时对应的位置环指针,若当前位置环指针小于上一次调节时对应的位置环指针,则获取PWM第一调节量,所述第一调节量为负整数,包括:
判断当前位置环指针是否小于所述第一预设值;
若当前位置环指针小于所述第一预设值,则获取对应的PWM第三调节量,所述PWM第三调节量为负整数且小于所述PWM第一调节量;
判断当前位置环指针是否小于所述第二预设值;
若当前位置环指针小于所述第二预设值,则获取PWM第一调节量。
4.根据权利要求3所述的位置指令同步方法,其特征在于,根据当前位置环指针与上一次调节时对应的位置环指针获取对应的PWM周期调整量,以使得调整后的位置环指针在第一预设值和第二预设值之间,所述第一预设值大于所述第二预设值的步骤之前,还包括:
获取一个EtherCATDC通信周期内的总脉冲增量、位置环处理周期;
根据一个EtherCATDC通信周期内的总脉冲增量、位置环处理周期计算一个EtherCATDC通信周期内的位置环分频次数;
判定PWM分频计数器是否达到PWM调节周期值;
若PWM分频计数器到达PWM调节周期值,则根据所述位置环分频次数计算第一预设值、第二预设值。
5.根据权利要求1所述的位置指令同步方法,其特征在于,获取当前位置环指针与上一次调节时对应的位置环指针的步骤之前,还包括:
当EtherCATDC中断时,获取上位机发送的伺服电机目标位置;
在PWM中断时,获取当前时刻经过平滑插值后的伺服电机位置;
根据上位机发送的伺服电机目标位置、当前时刻经过平滑插值后的伺服电机位置计算一个EtherCATDC通信周期内的总脉冲增量。
6.根据权利要求1~5中任一项所述的位置指令同步方法,其特征在于,根据当前位置环指针与上一次调节时对应的位置环指针获取对应的PWM周期调整量,以使得调整后的位置环指针在第一预设值和第二预设值之间,所述第一预设值大于所述第二预设值,步骤之后还包括:
获取一个EtherCATDC通信周期内的总脉冲增量、上一次插值平均处理后的伺服电机位置;
计算当前插值平均处理后的伺服电机位置,公式为:Pi=Pi-1+△P/POSDIV,
其中,Pi为当前插值平均处理后的伺服电机位置,Pi-1为上一次位置环处理后的伺服电机位置,△P为一个EtherCATDC通信周期内的总脉冲增量,POSDIV为位置环分频次数。
7.根据权利要求1所述的位置指令同步方法,其特征在于,将上一拍PWM周期值与所述PWM周期调整量之和赋值给当前PWM周期值,包括:
比较当前PWM周期值与预设的PWM周期最大值、PWM周期最小值;
若当前PWM周期值大于预设的PWM周期最大值,则将预设的PWM周期最大值赋值给当前PWM周期值;
若当前PWM周期值小于预设的PWM周期最小值,则将预设的PWM周期最小值赋值给当前PWM周期值;
若当前PWM周期值在预设的PWM周期最大值、PWM周期最大值之间,则执行当前PWM周期值。
8.根据权利要求7所述的位置指令同步方法,其特征在于,将上一拍PWM周期值与所述PWM周期调整量之和赋值给当前PWM周期值的步骤之后,还包括:
将PWM周期调整量改为零。
9.一种位置指令同步装置,其特征在于,所述位置指令同步装置包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的位置指令同步程序,所述计算机程序被所述处理器执行时实现如权利要求1至8中任一项所述的位置指令同步方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的位置指令同步方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010349833.4A CN111552325B (zh) | 2020-04-28 | 2020-04-28 | 位置指令同步方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010349833.4A CN111552325B (zh) | 2020-04-28 | 2020-04-28 | 位置指令同步方法、装置和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111552325A true CN111552325A (zh) | 2020-08-18 |
CN111552325B CN111552325B (zh) | 2023-07-25 |
Family
ID=72003246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010349833.4A Active CN111552325B (zh) | 2020-04-28 | 2020-04-28 | 位置指令同步方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111552325B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010026137A1 (en) * | 2000-03-29 | 2001-10-04 | Yasusuke Iwashita | Motor control device |
CN101707465A (zh) * | 2009-11-10 | 2010-05-12 | 深圳市雷赛机电技术开发有限公司 | 电机电流环参数整定方法 |
CN101738978A (zh) * | 2008-11-11 | 2010-06-16 | 深圳航天科技创新研究院 | 多轴伺服电机控制系统 |
CN103701382A (zh) * | 2013-12-17 | 2014-04-02 | 华中科技大学 | 一种基于fpga的永磁同步电机电流环带宽扩展装置 |
CN103780181A (zh) * | 2012-10-17 | 2014-05-07 | 深圳市三艾科技有限公司 | 一种提高伺服驱动器电流环响应的方法 |
CN106059434A (zh) * | 2016-06-28 | 2016-10-26 | 广东美的制冷设备有限公司 | 基于单电流传感器的电机的电流环控制方法和装置 |
CN106208876A (zh) * | 2016-08-02 | 2016-12-07 | 李梁 | 多轴交流伺服电机控制装置 |
WO2017073497A1 (ja) * | 2015-10-29 | 2017-05-04 | 株式会社オートネットワーク技術研究所 | 信号発生回路、電圧変換装置及びコンピュータプログラム |
CN106788852A (zh) * | 2017-01-16 | 2017-05-31 | 深圳市雷赛智能控制股份有限公司 | 一种EtherCAT电机驱动器与主站时钟的同步方法 |
WO2018084036A1 (ja) * | 2016-11-01 | 2018-05-11 | パナソニックIpマネジメント株式会社 | サーボシステム、およびサーボシステムの制御方法 |
CN108762064A (zh) * | 2018-06-13 | 2018-11-06 | 武汉久同智能科技有限公司 | 一种伺服驱动器的速度平滑方法 |
CN108988707A (zh) * | 2018-05-28 | 2018-12-11 | 珠海格力电器股份有限公司 | 电流环带宽的拓展方法、装置、存储介质及伺服驱动器 |
CN109947030A (zh) * | 2019-04-12 | 2019-06-28 | 南京埃斯顿自动化股份有限公司 | 伺服内部控制周期动态跟随EtherCat总线同步周期的方法 |
CN110858757A (zh) * | 2018-08-21 | 2020-03-03 | 广东威灵汽车部件有限公司 | 一种电流控制及采样方法、装置及计算机可读存储介质 |
CN110919143A (zh) * | 2019-12-31 | 2020-03-27 | 华南理工大学 | 柔性过渡高低频双脉冲mig焊接波形调制方法及系统 |
-
2020
- 2020-04-28 CN CN202010349833.4A patent/CN111552325B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010026137A1 (en) * | 2000-03-29 | 2001-10-04 | Yasusuke Iwashita | Motor control device |
CN101738978A (zh) * | 2008-11-11 | 2010-06-16 | 深圳航天科技创新研究院 | 多轴伺服电机控制系统 |
CN101707465A (zh) * | 2009-11-10 | 2010-05-12 | 深圳市雷赛机电技术开发有限公司 | 电机电流环参数整定方法 |
CN103780181A (zh) * | 2012-10-17 | 2014-05-07 | 深圳市三艾科技有限公司 | 一种提高伺服驱动器电流环响应的方法 |
CN103701382A (zh) * | 2013-12-17 | 2014-04-02 | 华中科技大学 | 一种基于fpga的永磁同步电机电流环带宽扩展装置 |
WO2017073497A1 (ja) * | 2015-10-29 | 2017-05-04 | 株式会社オートネットワーク技術研究所 | 信号発生回路、電圧変換装置及びコンピュータプログラム |
CN106059434A (zh) * | 2016-06-28 | 2016-10-26 | 广东美的制冷设备有限公司 | 基于单电流传感器的电机的电流环控制方法和装置 |
CN106208876A (zh) * | 2016-08-02 | 2016-12-07 | 李梁 | 多轴交流伺服电机控制装置 |
WO2018084036A1 (ja) * | 2016-11-01 | 2018-05-11 | パナソニックIpマネジメント株式会社 | サーボシステム、およびサーボシステムの制御方法 |
CN106788852A (zh) * | 2017-01-16 | 2017-05-31 | 深圳市雷赛智能控制股份有限公司 | 一种EtherCAT电机驱动器与主站时钟的同步方法 |
CN108988707A (zh) * | 2018-05-28 | 2018-12-11 | 珠海格力电器股份有限公司 | 电流环带宽的拓展方法、装置、存储介质及伺服驱动器 |
CN108762064A (zh) * | 2018-06-13 | 2018-11-06 | 武汉久同智能科技有限公司 | 一种伺服驱动器的速度平滑方法 |
CN110858757A (zh) * | 2018-08-21 | 2020-03-03 | 广东威灵汽车部件有限公司 | 一种电流控制及采样方法、装置及计算机可读存储介质 |
CN109947030A (zh) * | 2019-04-12 | 2019-06-28 | 南京埃斯顿自动化股份有限公司 | 伺服内部控制周期动态跟随EtherCat总线同步周期的方法 |
CN110919143A (zh) * | 2019-12-31 | 2020-03-27 | 华南理工大学 | 柔性过渡高低频双脉冲mig焊接波形调制方法及系统 |
Non-Patent Citations (3)
Title |
---|
M. RANJIT等: "Performance Improvements in Open End Winding Induction Motor Drive Using Decoupled PWM Techniques", ENERGY PROCEDIA, vol. 117, pages 810 - 817 * |
吴春等: "基于电流过采样的永磁同步电机电压脉冲注入无位置传感器控制", 电工技术学报, vol. 33, no. 24, pages 5678 - 5687 * |
肖海峰;贺昱耀;乔社娟;: "永磁同步电机电流环频率响应改进策略研究", 电机与控制学报, no. 06, pages 107 - 113 * |
Also Published As
Publication number | Publication date |
---|---|
CN111552325B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3361635B1 (en) | Control system and pulse output device | |
US5680834A (en) | Just-in-time scheduling for variable camshaft timing | |
EP1577725B1 (en) | Numerical controller | |
CN104702278A (zh) | 一种频率校准方法及装置 | |
US11689350B2 (en) | Synchronization between devices for PWM waveforms | |
CN107561933B (zh) | 速度调节方法、装置、计算机设备和存储介质 | |
US10401849B2 (en) | Controller for performing hybrid control using velocity and force | |
CN112783098A (zh) | 多轴联动机械运动控制方法、装置、系统及可读存储介质 | |
CN112889218A (zh) | 步进马达的自动化速度渐变控制 | |
CN111030552A (zh) | 一种伺服驱动器的同步控制方法及伺服驱动器 | |
CN111552325A (zh) | 位置指令同步方法、装置和计算机可读存储介质 | |
US10613495B2 (en) | Motor drive system, motor control system, and self-propelled robot | |
US10606225B2 (en) | Motor drive system, motor control system, and self-propelled robot | |
US20210208561A1 (en) | Method for data processing and programmable logic controller | |
CN116243658B (zh) | 数控系统控制方法及应用 | |
US10379526B2 (en) | Control device and control method for servo motor system | |
EP4184265A1 (en) | System and method for managing automation systems with synchronous elements | |
JP4487522B2 (ja) | モータ駆動装置 | |
CN111552235A (zh) | 一种基于CANopen协议的多轴同步误差补偿方法和系统 | |
US4890048A (en) | Low torque ripple stepping motor controller circuit | |
EP3822734A1 (en) | Control device and control method | |
CN112769535A (zh) | 基于CoDeSys控制器的EtherCAT总线型伺服与脉冲型伺服的同步方法 | |
CN113641195A (zh) | 压力调节方法、电子设备及存储介质 | |
EP4184266A1 (en) | System and method for managing automation systems with jerk compensation | |
KR950002404B1 (ko) | 서보모터의 속도제어방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |