CN115800840A - 一种步进电机的动态控制方法、装置及位置跟随系统 - Google Patents
一种步进电机的动态控制方法、装置及位置跟随系统 Download PDFInfo
- Publication number
- CN115800840A CN115800840A CN202211458997.6A CN202211458997A CN115800840A CN 115800840 A CN115800840 A CN 115800840A CN 202211458997 A CN202211458997 A CN 202211458997A CN 115800840 A CN115800840 A CN 115800840A
- Authority
- CN
- China
- Prior art keywords
- stepping motor
- acceleration
- step number
- controlling
- target position
- 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.)
- Pending
Links
Images
Landscapes
- Control Of Stepping Motors (AREA)
Abstract
本申请提供了一种步进电机的动态控制方法、装置、电子设备及位置跟随系统,动态控制方法包括:获取位置跟随系统中的步进电机在目标控制周期的目标位置;控制所述步进电机运行,并记录所述步进电机在加速阶段的加速步数;计算距离目标位置的剩余步数;根据所述加速步数和剩余步数,控制步进电机的运行状态,以使步进电机到达目标位置,无需像传统的直线加减速那样预先计算加速步数,匀速步数和减速步数,直接依靠编码器反馈的实际位置来决定电机的运行状态,实现了在动态系统中的位置跟随功能,根据电机特性调整加减速特性,从而达到良好的响应速度。
Description
技术领域
本申请涉及电机控制领域,具体而言,涉及一种步进电机的动态控制方法、装置、电子设备及位置跟随系统。
背景技术
步进电机作为工业和控制系统中最常用的动作执行部件,具有控制简单,定位精度高和价格低廉的诸多优点。在最常见的控制和应用场景中,步进电机往往采用开环控制的方式,以发送给驱动器的脉冲数来确定定位位置,在步进电机力量足够,运行中不失步的情况下可以获得较好的定位精度。在对定位要求更高的场合可以采用闭环控制的方式,给电机增加位置编码器来实时测量位置数据,并通过该数据校正发送脉冲数。
以上两种使用场景都是控制步进电机带动负载从起点出发到终点停止,是一种预先知道运行参数的控制过程。而如果有多个动作指令发送给同一个步进电机,常用的做法是将所有的指令保存成队列,以FIFO的方式来顺序执行。
在位置跟随系统中,目标位置是实时变化的,因此如果仍然采用FIFO的方式来执行动作,是无法满足想要的控制效果的。
发明内容
有鉴于此,本申请的目的在于提供一种步进电机的动态控制方法、装置、电子设备及位置跟随系统,实现了在动态系统中的位置跟随功能,并能根据电机特性调整加减速特性,从而达到良好的响应速度。
本申请实施例提供的一种步进电机的动态控制方法,包括以下步骤:
获取位置跟随系统中的步进电机在目标控制周期的目标位置;
控制所述步进电机运行,并记录所述步进电机在加速阶段的加速步数;
计算距离目标位置的剩余步数;
根据所述加速步数和剩余步数,控制步进电机的运行状态,以使步进电机到达目标位置。
本申请实施例中,所述的步进电机的动态控制方法中,所述控制所述步进电机运行,并记录所述步进电机在加速阶段的加速步数,包括:
当所述步进电机开始运行时,控制所述步进电机加速;
记录所述步进电机在加速运行过程中的已运行步数作为加速步数,直至步进电机的实时速度达到预设最大速度。
本申请实施例中,所述的步进电机的动态控制方法中,所述根据所述加速步数和剩余步数,控制步进电机的运行状态,包括:
当所述加速步数小于剩余步数,且步进电机的实时速度小于预设最大速度时,控制所述步进电机加速运行;
当所述加速步数小于剩余步数,且步进电机的实时速度等于预设最大速度时,控制所述步进电机匀速运行;
当所述加速步数大于或等于剩余步数,控制所述步进电机减速运行。
本申请实施例中,所述的步进电机的动态控制方法中,所述动态控制方法还包括:
获取位置跟随系统针在目标控制周期中针对所述步进电机目标位置的位置更新数据;
根据所述位置更新数据,更新所述步进电机的目标位置,得到更新后的目标位置;
根据更新后的目标位置和步进电机的已运行步数,更新所述剩余步数。
本申请实施例中,所述的步进电机的动态控制方法中,在更新所述剩余步数后,根据所述加速步数和剩余步数,控制步进电机的运行状态,包括:
获取所述步进电机的实时运行状态,以及步进电机的实时位置和更新后的目标位置的相对关系;
根据加速步数和更新后的剩余步数的对比结果、所述实时运行状态和所述相对关系,控制步进电机进行状态切换。
本申请实施例中,所述的步进电机的动态控制方法中,根据加速步数和更新后的剩余步数的对比结果、所述实时运行状态和所述相对关系,控制步进电机进行状态切换,包括:
当判断所述相对关系为更新后的目标位置与实时位置方向相反时,控制所述步进电机先减速至0,再反向运行至更新后的目标位置。
本申请实施例中,所述的步进电机的动态控制方法中,根据加速步数和更新后的剩余步数的对比结果、所述实时运行状态和所述相对关系,控制步进电机进行状态切换,包括:
当所述相对关系为更新后的目标位置与实时目标位置方向相同,且所述实时运行状态为加速状态或者匀速状态时,判断所述更新后的剩余步数大于所述加速步数,控制步进电机保持当前运行状态;
判断所述更新后的剩余步数等于所述加速步数,控制步进电机减速至0,到达更新后的目标位置;
判断所述更新后的剩余步数小于所述加速步数,控制步进电机先减速至0,再反向运行至更新后的目标位置。
本申请实施例中,所述的步进电机的动态控制方法中,根据加速步数和更新后的剩余步数的对比结果、所述实时运行状态和所述相对关系,控制步进电机进行状态切换,包括:
当所述相对关系为更新后的目标位置与实时目标位置方向相同,且所述实时运行状态为减速状态时,判断所述更新后的剩余步数大于所述加速步数时控制步进电机退出减速状态,控制步进电机进入加速状态;
判断所述更新后的剩余步数等于所述加速步数,控制步进电机先减速至0,到达到更新后的目标位置;
判断所述更新后的剩余步数小于所述加速步数,控制步进电机先减速至0,再反向运行至更新后的目标位置。
本申请实施例中还提供一种步进电机的动态控制装置,所述动态控制装置包括:
获取模块,用于获取位置跟随系统中的步进电机在目标控制周期的目标位置;
记录模块,用于控制所述步进电机运行,并记录所述步进电机在加速阶段的加速步数,
计算模块,用于计算距离目标位置的剩余步数;
控制模块,用于根据所述加速步数和剩余步数,控制步进电机的运行状态,以使步进电机到达目标位置。
本申请实施例中还提供一种位置跟随系统,所述系统包括位置跟随机构和步进电机,所述步进电机通过所述的步进电机的动态控制方法进行控制。
本申请实施例提供一种步进电机的动态控制方法、装置、电子设备及位置随动系统,所述动态控制方法中获取位置跟随系统中的步进电机在目标控制周期的目标位置;控制所述步进电机运行,并记录所述步进电机在加速阶段的加速步数,计算距离目标位置的剩余步数;根据所述加速步数和剩余步数,控制步进电机的运行状态,以使步进电机到达目标位置;通过建立加速步数和剩余步数两个过程变量来控制电机的运行状态,无需像传统的直线加减速那样预先计算加速步数、匀速步数和减速步数,而是直接依靠编码器反馈的实际位置来决定步进电机的运行状态,提高了效率和灵活度;根据编码器提供的真实数据来决定最后的停止,实现了位置的闭环控制;在运行过程中还可以实时修改运行参数和运行状态,实现了位置的跟踪功能,且控制逻辑更加清晰、简单。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所述步进电机的动态控制方法的方法流程图;
图2示出了现有技术中步进电机直线加减速的三个阶段;
图3示出了本申请实施例所述根据所述加速步数和剩余步数,控制步进电机的运行状态的方法流程图;
图4示出了本申请实施例所述一种步进电机加减速控制状态图;
图5示出了本申请实施例所述另一种步进电机加减速控制状态图;
图6示出了本申请实施例所述另一种步进电机加减速控制状态图;
图7示出了本申请实施例所述步进电机实时运行状态迁移图;
图8示出了本申请实施例所述加减速的状态迁移流程图;
图9示出了本申请实施例所述步进电机的另一种动态控制方法的方法流程图;
图10示出了本申请实施例所述控制步进电机进行状态切换的方法流程图;
图11示出了本申请实施例所述步进电机的动态控制装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
步进电机作为工业和控制系统中最常用的动作执行部件,具有控制简单,定位精度高和价格低廉的诸多优点。在最常见的控制和应用场景中,步进电机往往采用开环控制的方式,以发送给驱动器的脉冲数来确定定位位置,在步进电机力量足够,运行中不失步的情况下可以获得较好的定位精度。在对定位要求更高的场合可以采用闭环控制的方式,给电机增加位置编码器来实时测量位置数据,并通过该数据校正发送脉冲数。
以上两种使用场景都是控制步进电机带动负载从起点出发到终点停止,是一种预先知道运行参数的控制过程。而如果有多个动作指令发送给同一个步进电机,常用的做法是将所有的指令保存成队列,以FIFO的方式来顺序执行。
在位置跟随系统中,目标位置是实时变化的,因此如果仍然采用FIFO的方式来执行动作,是无法满足想要的控制效果的。
基于此,本申请实施例提供一种步进电机的动态控制方法、装置、电子设备及位置随动系统,所述动态控制方法中获取位置跟随系统中的步进电机在目标控制周期的目标位置;控制所述步进电机运行,并记录所述步进电机在加速阶段的加速步数,计算距离目标位置的剩余步数;根据所述加速步数和剩余步数,控制步进电机的运行状态,以使步进电机到达目标位置;通过建立加速步数和剩余步数两个过程变量来控制电机的运行状态,无需像传统的直线加减速那样预先计算加速步数、匀速步数和减速步数,而是直接依靠编码器反馈的实际位置来决定步进电机的运行状态,提高了效率和灵活度;根据编码器提供的真实数据来决定最后的停止,实现了位置的闭环控制;在运行过程中还可以实时修改运行参数和运行状态,实现了位置的跟踪功能,且控制逻辑更加清晰、简单。
请参照图1,图1示出了本申请实施例所述步进电机的动态控制方法的方法流程图;具体的,所述步进电机的动态控制方法,包括以下步骤S101-S104;
S101、获取位置跟随系统中的步进电机在目标控制周期的目标位置;
S102、控制所述步进电机运行,并记录所述步进电机在加速阶段的加速步数;
S103、计算距离目标位置的剩余步数;
S104、根据所述加速步数和剩余步数,控制步进电机的运行状态,以使步进电机到达目标位置。
本申请实施例提供一种步进电机的动态控制方法,获取位置跟随系统中的步进电机在目标控制周期的目标位置;控制所述步进电机运行,并记录所述步进电机在加速阶段的加速步数,计算距离目标位置的剩余步数;根据所述加速步数和剩余步数,控制步进电机的运行状态,以使步进电机到达目标位置;通过建立加速步数和剩余步数两个过程变量来控制电机的运行状态,无需像传统的直线加减速那样预先计算加速步数、匀速步数和减速步数,而是直接依靠编码器反馈的实际位置来决定步进电机的运行状态,提高了效率和灵活度;根据编码器提供的真实数据来决定最后的停止,实现了位置的闭环控制;在运行过程中还可以实时修改运行参数和运行状态,实现了位置的跟踪功能,且控制逻辑更加清晰、简单。
在所述步骤S101中,获取位置跟随系统中的步进电机在目标控制周期的目标位置。
位置跟随系统包括位置跟随机构和步进电机,位置跟随机构包括检测装置、信号转换电路、放大装置、补偿装置、执行机构、电源装置和被控对象;步进电机时位置跟随系统的动力机构,带动被控对象移动至目标位置。
获取位置跟随系统中的步进电机在目标控制周期的目标位置,即在一个目标控制周期开始之前,设置步进电机的目标位置参数,所述目标位置参数可以为目标运行步数,当电机运行目标运行步数后,位置跟随系统即可将被控对象移动至目标位置。
设置步进电机的目标位置参数,可通过上位机将目标运行步数发送给步进电机,位置跟随系统根据目标物体的位置确定出目标运行步数,并将确定出的目标运行步数发送给步进电机,等等。
所述目标控制周期,即在设置好目标位置后,步进电机开始运行,并到达目标位置的整个过程;在此过程中,目标位置可以保持不变,或者实时更新。例如位置随动系统抓取一个移动的小球,那么该直至位置随动系统抓取到小球,为一个控制周期,该控制周期中目标位置随小球的位置而更新。
需要说明的是,本申请实施例中,对于步进电机的控制为直线加减速控制。
所述步进电机运行过程中的加减速控制,是根据编码器实际反馈值对发送脉冲进行调整,以达到精确定位的目的。
请出参照图2,图2示出了现有技术中步进电机直线加减速的三个阶段。
如图2所示,直线加减速控制将电机的运行分为三个阶段:加速阶段、匀速阶段和减速阶段。
现有技术中,常见的步进电机加减速实现算法为:根据加速度、启动速度、最大限速、需运行的脉冲数计算出电机运行的加速步数、匀速步数(可无)和减速步数,然后控制系统开始按照各阶段数据发送脉冲,脉冲数控制着整个运行阶段的切换。如果发生失步,控制系统无法进行检测,同时由于参数在运行前就已经确定,在运行过程中是无法实时改变的。
本申请实施例采用基于目标位置的闭环直线加减速算法。算法无需预先计算加速步数、匀速步数和减速步数等参数。
在所述步骤S102中,控制所述步进电机运行,并记录所述步进电机在加速阶段的加速步数。
控制所述步进电机运行,并记录所述步进电机在加速阶段的加速步数,包括:
当所述步进电机开始运行时,控制所述步进电机加速;
记录所述步进电机在加速运行过程中的已运行步数作为加速步数,直至步进电机的实时速度达到预设最大速度。
步进电机的实时速度达到预设最大速度,保持加速步数不变。
也就是说,当所述步进电机开始运行,处于加速状态时,已运行步数就是加速步数,加速步数随着步进电机运行不断增加;步进电机的实时速度达到预设最大速度,保持加速步数不变。
这里,在目标控制周期中的步进电机启动运行前,将记录步进电机加速步数Srun、剩余步数Sleft、实时速度Vcur等参数置于初始状态。
当接收到目标位置时,加速步数清零(Srun=0),控制电机立即进入加速阶段,在此过程中,每走一步(即发送一个脉冲)就将加速步数加1,当加速阶段完成后Srun不再递增,保持当前值。
在步进电机运行过程中,在动态记录加速步数的同时,还记录步进电机的实时速度。为实现闭环控制,本申请实施例所述步进电机都安装有编码器来记录电机当前位置,运行中根据编码器反馈来确定进入减速状态,为实时调整参数提供了基础条件。
在所述步骤S103中,计算距离目标位置的剩余步数。
具体的,根据步进电机的编码器反馈的实时位置,计算距离目标位置的剩余步数。
剩余步数=目标位置-当前编码器位置。
所述剩余步数,表征了距离目标位置的距离,因此,所述剩余步数也可称之为剩余距离。
在所述步骤S104中,根据所述加速步数和剩余步数,控制步进电机的运行状态,以使步进电机到达目标位置。
这里,所述步进电机到达目标位置并非一定发生了移动,步进电机本体移动到了目标位置,而是说步进电机走完了剩余步数,步进电机停止运行。
具体的,请参照图3,所述根据所述加速步数和剩余步数,控制步进电机的运行状态,包括以下步骤S301-S303;
S301、当所述加速步数小于剩余步数,且步进电机的实时速度小于预设最大速度时,控制所述步进电机加速运行;
S302、当所述加速步数小于剩余步数,且步进电机的实时速度等于预设最大速度时,控制所述步进电机匀速运行;
S303、当所述加速步数大于或等于剩余步数,控制所述步进电机减速运行。
所述预设最大速度,通常是由步进电机的性能确定的。
这里,本申请实施例无需预先计算各阶段运行步数,但也将步进电机的运行状态分为图1所述三个阶段。
所述根据所述加速步数和剩余步数,控制步进电机的运行状态的具体实现方法为:
当接收到目标位置数据时,将已运行步数清零(Srun=0),控制电机立即进入加速阶段,并重新记录加速步数Srun。加速、匀速过程中将加速步数Srun与剩余步数Sleft、实时速度Vcur、预设最大速度Vmax进行综合比较,根据以下情况控制电机进入不同运行阶段。
具体的,则综合条件判断为:
第一:Srun<Sleft且Vcur<Vmax:加速;即所述加速步数小于剩余步数,且步进电机的实时速度小于预设最大速度时,控制所述步进电机加速运行;
第二:Srun<Sleft且Vcur=Vmax:匀速,保持Srun不变,即当所述加速步数小于剩余步数,且步进电机的实时速度等于预设最大速度时,控制所述步进电机匀速运行;
第三:Srun>=Sleft:减速,当所述加速步数大于或等于剩余步数,控制所述步进电机减速运行。
在进入减速阶段后,在每个运行周期都要读取编码器反馈的实时位置数据,当实时位置与目标位置之间的差值进入允许范围内时,就控制电机停止,从而实现闭环控制。
由于从起点到达目标位置的距离不同,因此在距离较短的情况下会没有匀速运行阶段,加速到某一速度后就直接进入减速运行阶段。
具体的,请参照图4、图5和图6。
图4示出了本申请实施例所述一种步进电机加减速控制状态图;当全程过短时,加速无法达到最大速度时的电机状态变化图;即只有加速状态和减速状态。剩余步数Sleft等于加速步数Srun,即直接从加速状态进入减速状态,加速步数Srun对应的实时速度小于最大速度。
图5示出了本申请实施例所述另一种步进电机加减速控制状态图;全程刚好满足加速达到最大速度的电机状态变化图,依然只有加速状态和减速状态。剩余步数Sleft等于加速步数Srun,即直接从加速状态进入减速状态进入减速状态,加速步数Srun对应的实时速度等于最大速度。
图6示出了本申请实施例所述另一种步进电机加减速控制状态图;全程满足加速到最大速度并且有匀速运行阶段时的电机状态变化图,包括加速状态、匀速状态和减速状态。直接从加速状态进入减速状态。达到最大速度时加速步数Srun不再增加;即步进电机从加速状态进入匀速状态,剩余步数Sleft等于加速步数Srun时,从匀速状态进入减速状态。
请参照图7,图7示出了本申请实施例所述步进电机实时运行状态迁移图。如图7所示,包括:从停止状态切换至加速状态,从加速状态切换至匀速状态,从匀速状态切换至减速状态,从减速状态切换至停止状态,从加速状态直接切换至减速状态,保持停止状态,保持加速状态,保持匀速状态,保持减速状态。
请参照图8,图8示出了本申请实施例所述加减速的状态迁移流程图。也即,所述步进电机的动态控制方法的另一种方法流程图。
具体的,如图8所示,在步进电机启动后,计算剩余步数;判断是否Srun<Sleft,若是,则判断是否Vcur<Vmax;若否,则说明Srun≥Sleft,进去减速状态。若Vcur<Vmax,则进入加速状态;反之则进入匀速状态。
在本申请实施例中,为了实现对动态数据的实时跟踪(跟随),将电机运行用状态机进行控制,当目标位置发生改变时,在目标控制周期内更新目标参数,并根据当前状态和目标参数进行状态切换。
具体的,请参照图9,本申请实施例所述的步进电机的动态控制方法还包括以下步骤S901-S903;
S901、获取位置跟随系统针在目标控制周期中针对所述步进电机目标位置的位置更新数据;
S902、根据所述位置更新数据,更新所述步进电机的目标位置,得到更新后的目标位置;
S903、根据更新后的目标位置和步进电机的已运行步数,更新所述剩余步数。
也就是说,本申请实施例中的剩余步数Sleft为接收到新的目标位置后计得到的。
具体的,Sleft=更新后的目标位置-当前实际位置。
在更新剩余步数后,依然根据所述加速步数和剩余步数,控制步进电机的运行状态,以使步进电机到达更新后的目标位置。
这里,本申请书实施例中,在更新所述剩余步数后,根据所述加速步数和剩余步数,控制步进电机的运行状态,包括:
获取所述步进电机的实时运行状态,以及步进电机的实时位置和更新后的目标位置的相对关系;
根据加速步数和更新后的剩余步数的对比结果、所述实时运行状态和所述相对关系,控制步进电机进行状态切换。
所述步进电机的实时运行状态,又可以称之为实时状态;所述步进电机的实时运行状态即步进电机在加减速过程中的阶段,具体包括加速状态、匀速状态或减速状态。
控制步进电机进行状态切换,即控制电机在不同的实时运行状态之间迁移,可参照图7。
具体的,根据加速步数和更新后的剩余步数的对比结果、所述实时运行状态和所述相对关系,控制步进电机进行状态切换,包括:
当判断所述相对关系为更新后的目标位置与实时位置方向相反时,控制所述步进电机先减速至0,再反向运行至更新后的目标位置。
所述更新后的目标位置与实时位置方向相反,即实时位置在当前运行方向上已经超过更新后的目标位置,此时需要控制步进电机反向退回到更新后的目标位置。
这里,具体有两种情况,情况一:步进电机的实时运行状态为加速或者匀速状态,当目标位置在当前位置相反方向时,执行减速到0,然后在反向加速运行到目标点的过程;情况二:步进电机的实时运行状态为减速状态,当目标位置在当前位置相反方向时,执行减速到0,然后再反向加速运行到目标点的过程。
本申请实施例中,根据加速步数和更新后的剩余步数的对比结果、所述实时运行状态和所述相对关系,控制步进电机进行状态切换,包括:
当所述相对关系为更新后的目标位置与实时目标位置方向相同,且所述实时运行状态为加速状态或者匀速状态时,判断所述更新后的剩余步数大于所述加速步数,控制步进电机保持当前运行状态;
判断所述更新后的剩余步数等于所述加速步数,控制步进电机减速至0,到达更新后的目标位置;
判断所述更新后的剩余步数小于所述加速步数,控制步进电机先减速至0,再反向运行至更新后的目标位置。
也就是说,步进电机的实时运行状态为加速或者匀速状态,且更新后的目标位置与实时目标位置方向相同时,有以下情况A和情况B。
情况A.Sleft>Srun,表示更新后的目标位置仍远离当前实时位置且未到减速点,所以保持当前状态。
情况B.Sleft<=Srun:表示新的目标位置远离当前位置,但是新位置导致即使立即减速也会发生越界情况,所以需要执行先减速,再反向运行到达目标点的过程;需要注意的是,在Sleft=Srun的情况下不需要反向运行。
本申请实施例中,根据加速步数和更新后的剩余步数的对比结果、所述实时运行状态和所述相对关系,控制步进电机进行状态切换,包括:
当所述相对关系为更新后的目标位置与实时目标位置方向相同,且所述实时运行状态为减速状态时,判断所述更新后的剩余步数大于所述加速步数时控制步进电机退出减速状态,控制步进电机进入加速状态;
判断所述更新后的剩余步数等于所述加速步数,控制步进电机先减速至0,到达到更新后的目标位置。
判断所述更新后的剩余步数小于所述加速步数,控制步进电机先减速至0,再反向运行至更新后的目标位置。
也就是说,步进电机的实时运行状态为减速状态,且更新后的目标位置与实时目标位置方向相同时,有以下情况C和情况D。
情况C.Sleft>Srun:表示新的目标位置远离当前位置且未到减速点,所以退出减速,进入加速阶段。
情况D.Sleft<=Srun:表示新的目标位置远离当前位置,但是新位置导致即使立即减速也会发生越界情况,所以需要在减速完成后再反向运行到目标点,需要注意的是,在Sleft=Srun的情况下不需要反向运行。
以上动态调整步进电机运行状态的过程,中断了对电机一次完整基本运行的加速、匀速和减速过程;发生调整后,如果后续没有再发生动态调整,则按照正常的三个顺序执行直到停止。
请参照图10,图10示出了本申请实施例所述控制步进电机进行状态切换的方法流程图。
如图10所示,当一个目标控制周期开始后,若接收到新的目标位置,则更新目标位置,计算当前实时位置与更新后的目标位置之间的差值,更新剩余步数Sleft。
当判断当前步进电机当前在加速和匀速状态后,判断是否Sleft>Srun,若是,保持当前状态;若否,则说明Sleft<=Srun,进入减速状态;进入减速状态后,再判断是否Sleft=Srun,若是,则减速至0;若否,则Sleft<Srun,反向运行至更新后的目标位置。
当判断当前步进电机当前在减速状态后,判断是否Sleft>Srun,若否,在进入减速状态;进入减速状态后,再判断是否Sleft=Srun,若是,则减速至0;若否,则Sleft<Srun,反向运行至更新后的目标位置;若Sleft>Srun,则进入加速状态。
基于同一发明构思,本申请实施例中还提供了与步进电机的动态控制方法对应的步进电机的动态控制装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述步进电机的动态控制方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参照图11,图11示出了本申请实施例所述步进电机的动态控制装置的结构示意图;具体的,所述动态控制装置包括:
获取模块1101,用于获取位置跟随系统中的步进电机在目标控制周期的目标位置;
记录模块1102,用于控制所述步进电机运行,并记录所述步进电机在加速阶段的加速步数,
计算模块1103,用于计算距离目标位置的剩余步数;
控制模块1104,用于根据所述加速步数和剩余步数,控制步进电机的运行状态,以使步进电机到达目标位置。
本申请实施例提供一种步进电机的动态控制装置,获取位置跟随系统中的步进电机在目标控制周期的目标位置;控制所述步进电机运行,并记录所述步进电机在加速阶段的加速步数,计算距离目标位置的剩余步数;根据所述加速步数和剩余步数,控制步进电机的运行状态,以使步进电机到达目标位置;通过建立加速步数和剩余步数两个过程变量来控制电机的运行状态,无需像传统的直线加减速那样预先计算加速步数、匀速步数和减速步数,而是直接依靠编码器反馈的实际位置来决定步进电机的运行状态,提高了效率和灵活度;根据编码器提供的真实数据来决定最后的停止,实现了位置的闭环控制;在运行过程中还可以实时修改运行参数和运行状态,实现了位置的跟踪功能,且控制逻辑更加清晰、简单。
在一些实施例中,所述步进电机的动态控制装置中的记录模块,在控制所述步进电机运行,并记录所述步进电机在加速阶段的加速步数时,具体用于:
当所述步进电机开始运行时,控制所述步进电机加速;
记录所述步进电机在加速运行过程中的已运行步数作为加速步数,直至步进电机的实时速度达到预设最大速度。
在一些实施例中,所述步进电机的动态控制装置中的控制模块,在根据所述加速步数和剩余步数,控制步进电机的运行状态时,具体用于:
当所述加速步数小于剩余步数,且步进电机的实时速度小于预设最大速度时,控制所述步进电机加速运行;
当所述加速步数小于剩余步数,且步进电机的实时速度等于预设最大速度时,控制所述步进电机匀速运行;
当所述加速步数大于或等于剩余步数,控制所述步进电机减速运行。
在一些实施例中,所述步进电机的动态控制装置还包括:
更新模块,用于获取位置跟随系统针在目标控制周期中针对所述步进电机目标位置的位置更新数据;
根据所述位置更新数据,更新所述步进电机的目标位置,得到更新后的目标位置;
根据更新后的目标位置和步进电机的已运行步数,更新所述剩余步数。
在一些实施例中,所述步进电机的动态控制装置中的控制模块,在更新所述剩余步数后,在根据所述加速步数和剩余步数,控制步进电机的运行状态时,具体用于:
获取所述步进电机的实时运行状态,以及步进电机的实时位置和更新后的目标位置的相对关系;
根据加速步数和更新后的剩余步数的对比结果、所述实时运行状态和所述相对关系,控制步进电机进行状态切换。
在一些实施例中,所述步进电机的动态控制装置中的控制模块,在根据加速步数和更新后的剩余步数的对比结果、所述实时运行状态和所述相对关系,控制步进电机进行状态切换时,具体用于:
当判断所述相对关系为更新后的目标位置与实时位置方向相反时,控制所述步进电机先减速至0,再反向运行至更新后的目标位置。
在一些实施例中,所述步进电机的动态控制装置中的控制模块,在根据加速步数和更新后的剩余步数的对比结果、所述实时运行状态和所述相对关系,控制步进电机进行状态切换时,具体用于:
当所述相对关系为更新后的目标位置与实时目标位置方向相同,且所述实时运行状态为加速状态或者匀速状态时,判断所述更新后的剩余步数大于所述加速步数,控制步进电机保持当前运行状态;
判断所述更新后的剩余步数等于所述加速步数,控制步进电机减速至0,到达更新后的目标位置;
判断所述更新后的剩余步数小于所述加速步数,控制步进电机先减速至0,再反向运行至更新后的目标位置。
在一些实施例中,所述步进电机的动态控制装置中的控制模块,在根据加速步数和更新后的剩余步数的对比结果、所述实时运行状态和所述相对关系,控制步进电机进行状态切换时,具体用于:
当所述相对关系为更新后的目标位置与实时目标位置方向相同,且所述实时运行状态为减速状态时,判断所述更新后的剩余步数大于所述加速步数时控制步进电机退出减速状态,控制步进电机进入加速状态;
判断所述更新后的剩余步数等于所述加速步数,控制步进电机先减速至0,到达到更新后的目标位置;
判断所述更新后的剩余步数小于所述加速步数,控制步进电机先减速至0,再反向运行至更新后的目标位置。
基于同一发明构思,本申请实施例中还提供了通过所述步进电机的动态控制方法控制步进电机的位置跟随系统,由于本申请实施例中的位置跟随系统解决问题的原理与本申请实施例上述步进电机的动态控制方法相似,因此位置跟随系统的实施可以参见方法的实施,重复之处不再赘述。
本申请实施例提供一种位置跟随系统,所述系统包括位置跟随机构和步进电机,所述步进电机通过所述的步进电机的动态控制方法进行控制。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,平台服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种步进电机的动态控制方法,其特征在于,所述动态控制方法包括以下步骤:
获取位置跟随系统中的步进电机在目标控制周期的目标位置;
控制所述步进电机运行,并记录所述步进电机在加速阶段的加速步数;
计算距离目标位置的剩余步数;
根据所述加速步数和剩余步数,控制步进电机的运行状态,以使步进电机到达目标位置。
2.根据权利要求1所述的步进电机的动态控制方法,其特征在于,控制所述步进电机运行,并记录所述步进电机在加速阶段的加速步数,包括:
当所述步进电机开始运行时,控制所述步进电机加速;
记录所述步进电机在加速运行过程中的已运行步数作为加速步数,直至步进电机的实时速度达到预设最大速度。
3.根据权利要求1所述的步进电机的动态控制方法,其特征在于,所述根据所述加速步数和剩余步数,控制步进电机的运行状态,包括:
当所述加速步数小于剩余步数,且步进电机的实时速度小于预设最大速度时,控制所述步进电机加速运行;
当所述加速步数小于剩余步数,且步进电机的实时速度等于预设最大速度时,控制所述步进电机匀速运行;
当所述加速步数大于或等于剩余步数,控制所述步进电机减速运行。
4.根据权利要求1所述的步进电机的动态控制方法,其特征在于,所述动态控制方法还包括:
获取位置跟随系统针在目标控制周期中针对所述步进电机目标位置的位置更新数据;
根据所述位置更新数据,更新所述步进电机的目标位置,得到更新后的目标位置;
根据更新后的目标位置和步进电机的已运行步数,更新所述剩余步数。
5.根据权利要求4所述的步进电机的动态控制方法,其特征在于,在更新所述剩余步数后,根据所述加速步数和剩余步数,控制步进电机的运行状态,包括:
获取所述步进电机的实时运行状态,以及步进电机的实时位置和更新后的目标位置的相对关系;
根据加速步数和更新后的剩余步数的对比结果、所述实时运行状态和所述相对关系,控制步进电机进行状态切换。
6.根据权利要求5所述的步进电机的动态控制方法,其特征在于,根据加速步数和更新后的剩余步数的对比结果、所述实时运行状态和所述相对关系,控制步进电机进行状态切换,包括:
当判断所述相对关系为更新后的目标位置与实时位置方向相反时,控制所述步进电机先减速至0,再反向运行至更新后的目标位置。
7.根据权利要求6所述的步进电机的动态控制方法,其特征在于,根据加速步数和更新后的剩余步数的对比结果、所述实时运行状态和所述相对关系,控制步进电机进行状态切换,包括:
当所述相对关系为更新后的目标位置与实时目标位置方向相同,且所述实时运行状态为加速状态或者匀速状态时,判断所述更新后的剩余步数大于所述加速步数,控制步进电机保持当前运行状态;
判断所述更新后的剩余步数等于所述加速步数,控制步进电机减速至0,到达更新后的目标位置;
判断所述更新后的剩余步数小于所述加速步数,控制步进电机先减速至0,再反向运行至更新后的目标位置。
8.根据权利要求6所述的步进电机的动态控制方法,其特征在于,根据加速步数和更新后的剩余步数的对比结果、所述实时运行状态和所述相对关系,控制步进电机进行状态切换,包括:
当所述相对关系为更新后的目标位置与实时目标位置方向相同,且所述实时运行状态为减速状态时,判断所述更新后的剩余步数大于所述加速步数时控制步进电机退出减速状态,控制步进电机进入加速状态;
判断所述更新后的剩余步数等于所述加速步数,控制步进电机先减速至0,到达到更新后的目标位置;
判断所述更新后的剩余步数小于所述加速步数,控制步进电机先减速至0,再反向运行至更新后的目标位置。
9.一种步进电机的动态控制装置,其特征在于,所述动态控制装置包括:
获取模块,用于获取位置跟随系统中的步进电机在目标控制周期的目标位置;
记录模块,用于控制所述步进电机运行,并记录所述步进电机在加速阶段的加速步数,
计算模块,用于计算距离目标位置的剩余步数;
控制模块,用于根据所述加速步数和剩余步数,控制步进电机的运行状态,以使步进电机到达目标位置。
10.一种位置跟随系统,其特征在于,所述系统包括位置跟随机构和步进电机,所述步进电机通过如权利要求1至8任意一项所述的步进电机的动态控制方法进行控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211458997.6A CN115800840A (zh) | 2022-11-17 | 2022-11-17 | 一种步进电机的动态控制方法、装置及位置跟随系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211458997.6A CN115800840A (zh) | 2022-11-17 | 2022-11-17 | 一种步进电机的动态控制方法、装置及位置跟随系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115800840A true CN115800840A (zh) | 2023-03-14 |
Family
ID=85439559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211458997.6A Pending CN115800840A (zh) | 2022-11-17 | 2022-11-17 | 一种步进电机的动态控制方法、装置及位置跟随系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115800840A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116915101A (zh) * | 2023-09-11 | 2023-10-20 | 深圳市帝迈生物技术有限公司 | 一种应用于样本分析仪的电机的控制装置及其控制方法 |
CN117081437A (zh) * | 2023-10-17 | 2023-11-17 | 深圳市恒永达科技股份有限公司 | 步进电机驱动控制方法和装置 |
CN117081438A (zh) * | 2023-10-13 | 2023-11-17 | 季华实验室 | 基于fpga的步进电机开环定位控制方法及其相关设备 |
-
2022
- 2022-11-17 CN CN202211458997.6A patent/CN115800840A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116915101A (zh) * | 2023-09-11 | 2023-10-20 | 深圳市帝迈生物技术有限公司 | 一种应用于样本分析仪的电机的控制装置及其控制方法 |
CN116915101B (zh) * | 2023-09-11 | 2024-03-01 | 深圳市帝迈生物技术有限公司 | 一种应用于样本分析仪的电机的控制装置及其控制方法 |
CN117081438A (zh) * | 2023-10-13 | 2023-11-17 | 季华实验室 | 基于fpga的步进电机开环定位控制方法及其相关设备 |
CN117081438B (zh) * | 2023-10-13 | 2024-02-13 | 季华实验室 | 基于fpga的步进电机开环定位控制方法及其相关设备 |
CN117081437A (zh) * | 2023-10-17 | 2023-11-17 | 深圳市恒永达科技股份有限公司 | 步进电机驱动控制方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115800840A (zh) | 一种步进电机的动态控制方法、装置及位置跟随系统 | |
CN107850887B (zh) | S型曲线规划方法、装置及数控机床 | |
CN109747651B (zh) | 一种车辆控制方法、装置及系统 | |
US20120109359A1 (en) | Machining time predicting apparatus of numerically controlled machine tool | |
US10228676B2 (en) | Servo control device | |
US9952420B2 (en) | Image obtaining apparatus and stage control method | |
CN103676779A (zh) | 修正齿隙的电动机控制装置 | |
CN102927945B (zh) | 一种行程检测方法及系统 | |
CN106953579B (zh) | 一种音圈电机位置运动控制方法 | |
JPH09191679A (ja) | モータ制御装置 | |
EP3355140B1 (en) | Performing position control of a controlled object | |
US5070287A (en) | Method for a numerical positioning control system | |
CN109313429B (zh) | S型速度规划方法、装置、系统、机器人以及数控机床 | |
CN102467101A (zh) | 驱动控制设备和用于致动器的驱动控制方法 | |
CN112491313A (zh) | 一种电机控制方法、装置、设备及计算机可读存储介质 | |
CN110460274B (zh) | 一种步进电机梯形调速控制算法 | |
CN105549543B (zh) | 数值控制装置 | |
CN111813132B (zh) | 定位控制方法、装置、可编程逻辑控制器及可读存储介质 | |
US10528035B2 (en) | Numerical controller | |
CN115847395A (zh) | 取出机判断移动到位的方法、系统、电子设备及存储介质 | |
US20240213901A1 (en) | Method for controlling multi-mover direct drive transmission system and related device | |
CN112865627B (zh) | 一种步进电机的控制方法及装置 | |
CN106887990B (zh) | 一种音圈电机位置运动控制装置 | |
CN100394336C (zh) | 数值控制装置 | |
CN112596529B (zh) | 基于方向的机器人行走速度调节方法、芯片及视觉机器人 |
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 |