掌桥专利:专业的专利平台
掌桥专利
首页

脉冲控制器的控制方法、装置、计算机设备及存储介质

文献发布时间:2024-04-18 20:01:23


脉冲控制器的控制方法、装置、计算机设备及存储介质

技术领域

本申请涉及运动控制技术领域,尤其涉及一种脉冲控制器的控制方法、装置、计算机设备及存储介质。

背景技术

在PLC(ProgrammableLogicController,可编程逻辑控制器)运动控制系统中,丢脉冲问题将会对整个系统的运行产生较大的影响。因此需要运动控制系统做到一个脉冲都不能丢。

目前主站和从站脉冲轴的逻辑一般都是在FPGA(Field-ProgrammableGateArray,现场可编程门阵列)端实现的,主站控制器由ARM(Advanced RISCMachines,RISC微处理器)去同步于FPGA,因此周期中断时间是一个固定的时间,但是对于从站扩展轴模块来说,需要FPGA去同步于ARM。然而,由于主站MCU(MicrocontrollerUnit,微控制单元)有一个时钟,从站MCU也有一个时钟,而两个时钟的时钟域不同,需要做同步,因此就会产生抖动,例如主站的时钟快,从站的时钟慢,从站的时钟需要加快自己的时钟,但始终调不到一个精准的值,所以会产生一个大约±2us的抖动。因此需要一种方法去消除这种由于周期中断不稳定造成的丢脉冲问题,现有技术中有通过外部的绝对值编码器形成一个闭环反馈,但其周期中断是一个稳定的时间,因此具有如下缺陷:

1、周期中断时间是一个固定值,不能适用周期中断不稳定的场景;

2、只针对主站脉冲模块;

3、需要外部编码器计数。

发明内容

本申请实施例的目的在于提出一种脉冲控制器的控制方法、装置、计算机设备及存储介质,能够解决现有技术中通过外部的绝对值编码器形成一个闭环反馈,但其周期中断是一个稳定的时间,不能适用周期中断不稳定的场景等问题。

为了解决上述技术问题,本申请实施例提供一种脉冲控制器的控制方法,所述控制方法包括:确认当前周期是否发生时间中断;若确认所述当前周期发生中断,判断电机当前周期规划的位置信息和上个周期的位置信息是否相等;若不相等,则根据所述电机上个周期及当前周期的位置信息确定当前周期需要下发的脉冲数以对所述电机的位置进行补偿。

其中,所述根据所述电机上个周期及当前周期的位置信息确定当前周期需要下发的脉冲数以对所述电机的位置进行补偿,包括:根据所述电机上个周期的位置信息和当前周期的位置信息确定所述当前周期需要修正的脉冲数;根据需要修正的所述脉冲数确定所述电机当前周期需要下发的脉冲数以对所述电机的位置进行补偿。

其中,所述根据电机上个周期的位置信息和当前周期的位置信息确定所述当前周期需要修正的脉冲数,包括:获取上个周期所述电机的规划逻辑位置及FPGA累计的逻辑位置;根据所述电机的规划逻辑位置及所述FPGA累计的逻辑位置之间的差值得到所述当前周期需要修正的脉冲数。

其中,所述根据需要修正的所述脉冲数确定所述电机当前周期需要下发的脉冲数以对所述电机的位置进行补偿,包括:获取当前周期所述电机的规划逻辑位置及上个周期所述电机的规划逻辑位置;确定所述电机当前周期的规划逻辑位置及上个周期的规划逻辑位置的差值;根据所述差值及所述当前周期需要修正的脉冲数得到所述电机当前周期需要下发的所述脉冲数以对所述电机的位置进行补偿。

其中,若判断电机当前周期规划的位置信息和上个周期的位置信息相等,则所述当前周期无需进行电机的位置补偿。

其中,所述电机当前周期规划的位置信息为实际逻辑位置,所述电机上个周期的位置信息为规划逻辑位置。

其中,所述确认当前周期是否发生中断通过判断当前周期中是否检测到高电平的上升沿。

为了解决上述技术问题,本申请实施例还提供一种脉冲控制器的闭环控制装置,所述闭环控制装置包括:确认模块,用于确认当前周期是否发生时间中断;判断模块,用于确认所述当前周期发生中断时,判断电机当前周期的规划位置信息和上个周期的位置信息是否相等;补偿模块,用于在判断电机当前周期的规划位置信息和实际位置信息不相等时,根据所述电机上个周期及当前周期的位置信息确定当前周期需要下发的脉冲数以对所述电机的位置进行补偿。

为了解决上述技术问题,本申请实施例还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上述任一项所述的脉冲控制器的控制方法的步骤。

为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述所述的脉冲控制器的控制方法的步骤。

与现有技术相比,本申请实施例主要有以下有益效果:

本申请提供一种脉冲控制器的控制方法、装置、计算机设备及存储介质,通过内部FPGA进行逻辑位置计数,不需要额外增加外部的编码器计数,在检测到周期中断时,通过判断电机当前周期规划的位置信息和上个周期的位置信息是否相等,再根据上个周期及当前周期的位置信息确定当前周期需要下发的脉冲数,从而实现对当前周期的电机的位置进行补偿操作,其精度高稳定性强,能够实现整个系统的闭环控制。

附图说明

为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请脉冲控制器的闭环控制系统一实施方式的结构示意图;

图2是本申请脉冲控制器的控制方法一实施方式的流程示意图;

图3是本申请步骤S300一实施方式的流程示意图;

图4是本申请步骤S310一实施方式的流程示意图;

图5是本申请步骤S320一实施方式的流程示意图;

图6是本申请电机位置信息的曲线示意图;

图7是本申请系统的内部逻辑示意图;

图8是本申请脉冲控制器的控制装置一实施方式的结构示意图;

图9是根据本申请的计算机设备一实施方式的结构示意图。

具体实施方式

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。

请结合图1,图1为本申请脉冲控制器的闭环控制系统一实施方式的结构示意图,如图1本申请的控制系统包括主站、从站、伺服驱动器和电机。

其中,主站和从站之间通过RS485总线连接。

从站还包括MCU(MicrocontrollerUnit微控制单元)、FPGA(FieldProgrammableGateArray,现场可编程门阵列)以及差分驱动电路和差分转单端电路。其中,MCU通过并行总线和周期性中断线和所述FPGA连接,FPGA和差分驱动电路和差分转单端电路连接,差分驱动电路和差分转单端电路连接至伺服驱动器和电机。

可以理解的是,在运动控制系统中,主站模块受到FPGA资源和引脚的限制,一般都只有4-8个脉冲轴,但当需要8个以上脉冲轴的时候,本地轴脉冲数量有可能不满足需求,因此需要外扩轴脉冲模块。外扩的脉冲轴模块为从站,从站由MCU和FPGA组成控制系统,在整个系统中,主站和从站之间通过RS485总线进行通信,由于主站MCU有一个时钟,从站MCU也有一个时钟,而两个时钟的时钟域不同,需要做同步,就会产生抖动,如主站的时钟快,从站的时钟慢,从站的时钟需要加快自己的时钟,但始终调不到一个精准的值,所以会产生一个大约±2us的抖动。

对于从站模块来说,MCU和FPGA之间会通过周期中断线保持同步通信,由MCU提供给FPGA,当从站FPGA检测到上升沿的时候,就会产生一个周期中断信号,然后把MCU发给FPGA的规划逻辑位置记录和保存下来。当前周期需要下发的脉冲数就是当前周期的规划逻辑位置和上个周期的规划逻辑位置的差值以及当前周期需要补偿的脉冲数的和,且本申请的扩展脉冲轴控制方法适用于所有运动控制领域,不局限于PLC系统的控制领域。

下面详细介绍本申请的控制方法:

请结合图2,图2为本申请脉冲控制器的控制方法一实施方式的流程示意图,如图2本申请提供的脉冲控制器的控制方法包括如下步骤:

S100,确认当前周期是否发生时间中断。

结合图1,从站的MCU和FPGA通过一个引脚连接,MCU通过引脚以一个固定的周期(会有微小的抖动)给FPGA发送一段时间的高电平,当FPGA检测到上升沿时,就相当于检测到了周期中断。

S200,若确认当前周期发生中断,判断电机当前周期规划的位置信息和实际位置信息是否相等。

可选地,当检测到当前周期发生时间中断时需要判断电机当前周期规划的位置信息和实际位置信息是否相等。可以理解的是,本申请中电机的位置信息可以包括但不限于规划逻辑位置、实际逻辑位置以及实际累计逻辑位置,本申请实施例中,当检测到当前周期发生时间中断时,判断电机当前周期的实际逻辑位置和上个周期的规划逻辑位置是否相等。若电机当前周期的实际逻辑位置和上个周期的规划逻辑位置相等,则当前周期的内的电机位置不进行补偿。反之,若当前周期的实际逻辑位置和上个周期的规划逻辑位置不相等,则进入步骤S300根据电机上个周期及当前周期的位置信息确定当前周期需要下发的脉冲数以对电机的位置进行补偿,以使得当轴停止的时候,要保证实际逻辑位置和规划的逻辑位置相等。

S300,若不相等,则根据电机上个周期及当前周期的位置信息确定当前周期需要下发的脉冲数以对电机的位置进行补偿。

请进一步结合图3,图3为本申请步骤S300一实施方式的流程示意图,如图3步骤S300进一步包括如下子步骤:

S310,根据电机上个周期的位置信息和当前周期的位置信息确定当前周期需要修正的脉冲数。

请进一步结合图4,图4为本申请步骤S310一实施方式的流程示意图,如图4步骤S310进一步包括如下子步骤:

S311,获取上个周期电机的规划逻辑位置及FPGA累计的逻辑位置。

具体地,获取电机上个周期的规划逻辑位置P及上个周期FPGA累计的逻辑位置P`。

S312,根据规划逻辑位置及累计的逻辑位置之间的差值得到当前周期需要修正的脉冲数。

进一步,根据电机上个周期的规划逻辑位置P及上个周期FPGA累计的逻辑位置P`得到当前周期需要修正的脉冲数ΔP,表达式如下:

ΔP=P-P`

可以理解的是,上个时间周期少发或者多发的脉冲数需要在当前时间周期进行补偿。

S320,根据需要修正的脉冲数确定电机当前周期需要下发的脉冲数以对电机的位置进行补偿。

请进一步结合图5,图5为本申请步骤S320一实施方式的流程示意图,如图5步骤S320进一步包括如下子步骤:

S321,获取当前周期电机的规划逻辑位置及上个周期电机的规划逻辑位置。

进一步,分别获取当前周期电机的规划逻辑位置P2以及上个周期电机的规划逻辑位置P。

S322,确定电机当前周期的规划逻辑位置及上个周期的规划逻辑位置的差值。

进一步,根据当前周期电机的规划逻辑位置P2以及上个周期电机的规划逻辑位置P得到二者之间的差值。

S323,根据差值及当前周期需要修正的脉冲数得到电机当前周期需要下发的所述脉冲数以对所述电机的位置进行补偿。

根据差值及当前周期需要修正的脉冲数得到电机当前周期需要下发的所述脉冲数以对电机的位置进行补偿P

P

因此,由上述公式可知当前周期需要下发的脉冲数就是当前周期的规划逻辑位置和上个周期的规划逻辑位置的差值加上当前需要修正的脉冲数,如此可以保证当轴停止的时候,电机实际逻辑位置与规划逻辑位置相等。

请进一步结合图6和图7,图6为本申请电机位置信息的曲线示意图,图7为本申请系统的内部逻辑图,其中图6中电机位置信息包括规划逻辑位置、例详逻辑位置以及实际逻辑位置,结合图6和图7介绍本申请的控制方法:

1.在t1周期,规划逻辑位置为P=100,当前周期实际想运行的脉冲数是100,在t1周期结束的时刻,由于周期中断提前到来,实际计数的逻辑位置P`=98,因此ΔP=P-P`=100-98=2,少发了2个脉冲,因此这2个脉冲需要在t2周期进行补偿,t2周期实际下发的脉冲数就是102。

2.在t2周期,规划逻辑位置P=200,当前周期实际想运行的脉冲数是200-100=100,但是需要补偿t1周期少发的2个脉冲,因此t2周期需要下发的脉冲数就是200-100+2=100+2=102,在t2周期结束的时刻,由于周期中断推迟到来,实际计数的逻辑位置P`=202,因此ΔP=P-P`=200-202=-2,多发了2个脉冲,这2个脉冲需要在t3周期进行补偿,t3周期实际下发的脉冲数就是98。

3.在t3周期,规划逻辑位置P=300,当前周期实际想运行的脉冲数是300-200=100,但是需要补偿t2周期多发的2个脉冲,因此t3周期需要下发的脉冲数就是300-200-2=100-2=98,在t3周期结束的时刻,由于周期中断提前到来,实际计数的逻辑位置P`=298,因此ΔP=P-P`=300-298=2,少发了2个脉冲,这2个脉冲需要在t4周期进行补偿,t4周期实际下发的脉冲数就是102。

4.在t4周期,规划逻辑位置P=400,当前周期实际想运行的脉冲数是400-300=100,但是需要补偿t3周期少发的2个脉冲,因此t4周期需要下发的脉冲数就是400-300+2=100+2=102,在t3周期结束的时刻,由于周期中断推迟到来,实际计数的逻辑位置P`=402,因此ΔP=P-P`=400-402=-2,多发了2个脉冲,这2个脉冲需要在t5周期进行补偿,t5周期实际下发的脉冲数就是98;

5.在t5周期,规划逻辑位置P=500,当前周期实际想运行的脉冲数是500-400=100,但是需要补偿t4周期多发的2个脉冲,因此t5周期需要下发的脉冲数就是500-400-2=100-2=98,在t5周期结束的时刻,由于周期中断提前到来,实际计数的逻辑位置P`=498,因此ΔP=P-P`=500-498=2。少发了2个脉冲,这2个脉冲需要在t6周期进行补偿,t6周期实际下发的脉冲数就是102;

6.在t6周期,规划逻辑位置P=500,就是需要把脉冲轴停下,当前周期实际想运行的脉冲数是500-500=0,也就是轴需要停止,但是需要补偿t5周期少发的2个脉冲,因此t6周期需要下发的脉冲数就是500-500+2=0+2=2,在t6周期结束的时刻,实际计数的逻辑位置P`=500,因此ΔP=P-P`=500-500=0。脉冲刚刚好发完,轴停止整个运动不会出现丢脉冲的问题。

上述实施方式中,通过内部FPGA进行逻辑位置计数,不需要额外增加外部的编码器计数,在检测到周期中断时,通过判断电机当前周期规划的位置信息和实际位置信息是否相等,再根据上个周期及当前周期的位置信息确定当前周期需要下发的脉冲数,从而实现对当前周期的电机的位置进行补偿操作,其精度高稳定性强,能够实现整个系统的闭环控制。

为解决上述技术问题,本申请实施例还提供一种脉冲控制器的闭环控制装置。具体请参阅图8,图8为本申请脉冲控制器的闭环控制装置一实施方式的结构示意图,如图8本申请提供的脉冲控制器的闭环控制装置100包括确认模块110、判断模块120以及补偿模块130。

其中,确认模块110用于确认当前周期是否发生时间中断。

判断模块120用于确认所述当前周期发生中断时,判断电机当前周期的规划位置信息和上个周期的位置信息是否相等。

补偿模块130用于在判断电机当前周期的规划位置信息和上个周期的位置信息不相等时,根据所述电机上个周期及当前周期的位置信息确定当前周期需要下发的脉冲数以对所述电机的位置进行补偿。

可以理解的是,本申请中脉冲控制器的闭环控制装置各个模块用于执行上述脉冲控制器的控制方法第一实施方式中的步骤,此处不再赘述。

上述实施方式中,通过内部FPGA进行逻辑位置计数,不需要额外增加外部的编码器计数,在检测到周期中断时,通过判断电机当前周期规划的位置信息和上个周期的位置信息是否相等,再根据上个周期及当前周期的位置信息确定当前周期需要下发的脉冲数,从而实现对当前周期的电机的位置进行补偿操作,其精度高稳定性强,能够实现整个系统的闭环控制。为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图9,图9为本实施例计算机设备基本结构框图。

所述计算机设备300包括通过系统总线相互通信连接存储器301、处理器302、网络接口303。需要指出的是,图9中仅示出了具有组件301-303的计算机设备300,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、可编程门阵列(Field-ProgrammableGateArray,FPGA)、数字处理器(DigitalSignalProcessor,DSP)、嵌入式设备等。

所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

所述存储器301至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器301可以是所述计算机设备300的内部存储单元,例如该计算机设备300的硬盘或内存。在另一些实施例中,所述存储器301也可以是所述计算机设备300的外部存储设备,例如该计算机设备300上配备的插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器301还可以既包括所述计算机设备300的内部存储单元也包括其外部存储设备。本实施例中,所述存储器301通常用于存储安装于所述计算机设备300的操作系统和各类应用软件,例如接口调用方法的计算机可读指令等。此外,所述存储器301还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器302在一些实施例中可以是中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器302通常用于控制所述计算机设备300的总体操作。本实施例中,所述处理器302用于运行所述存储器301中存储的计算机可读指令或者处理数据,例如运行脉冲控制器的控制方法的计算机可读指令。

所述网络接口303可包括无线网络接口或有线网络接口,该网络接口303通常用于在所述计算机设备300与其他电子设备之间建立通信连接。

上述实施方式中,通过内部FPGA进行逻辑位置计数,不需要额外增加外部的编码器计数,在检测到周期中断时,通过判断电机当前周期规划的位置信息和上个周期的位置信息是否相等,再根据上个周期及当前周期的位置信息确定当前周期需要下发的脉冲数,从而实现对当前周期的电机的位置进行补偿操作,其精度高稳定性强,能够实现整个系统的闭环控制。

本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可读指令,计算机可读指令可被至少一个处理器执行,以使至少一个处理器执行如上述的脉冲控制器的控制方法的步骤。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例的方法。

显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

相关技术
  • 含原花青素和膳食纤维的饲料添加剂及其制备方法和无抗仔猪饲料制品
  • 一种用于妊娠母猪的全价饲料及其制备方法
  • 一种哺乳期母猪饲料添加剂、制备方法及其应用
  • 一种提高闽北花猪母猪产仔率的饲料添加剂及其制备方法
  • 一种提高母猪繁殖性能的营养饲料及其制备方法
  • 一种含桑枝膳食纤维的妊娠期母猪饲料及其制备方法
  • 一种含象草膳食纤维的妊娠期母猪饲料及其制备方法
技术分类

06120116552195