一种步进电机控制方法、装置、系统及存储介质

文档序号:1774854 发布日期:2019-12-03 浏览:23次 >En<

阅读说明:本技术 一种步进电机控制方法、装置、系统及存储介质 (A kind of method for controlling stepping motor, device, system and storage medium ) 是由 李�浩 于 2018-05-23 设计创作,主要内容包括:本发明实施例提供了一种步进电机控制方法、装置、系统及存储介质,所述方法包括:按预设周期,在每一个预设周期开始前,获取该预设周期对应的电机运行信息,电机运行信息包括目标脉冲参数和预设脉冲参数,按目标脉冲参数,控制步进电机在该预设周期内进行转动;若在该预设周期的下一个预设周期开始前,没有获取到下一个预设周期对应的电机运行信息,则按已获取的预设脉冲参数,控制步进电机在下一个预设周期开始逐步减速,直至停止或接收到新的电机运行信息。从而避免了因没有获取到电机运行信息,而造成的步进电机失步,从而保证了步进电机的平稳运行。(The embodiment of the invention provides a kind of method for controlling stepping motor, device, system and storage mediums, the described method includes: pressing predetermined period, before each predetermined period starts, obtain the corresponding motor operation information of the predetermined period, motor operation information includes target pulse parameter and predetermined pulse parameter, according to target pulse parameter, control stepper motor are rotated in the predetermined period;If before next predetermined period of the predetermined period starts, the corresponding motor operation information of next predetermined period is not got, it then by the predetermined pulse parameter obtained, controls stepper motor and starts gradually to slow down in next predetermined period, until stopping or receiving new motor operation information.So as to avoid because not getting motor operation information, and caused by step out of stepping motor, to ensure that the even running of stepper motor.)

一种步进电机控制方法、装置、系统及存储介质

技术领域

本发明涉及步进电机技术领域,特别是涉及一种步进电机控制方法、装置、系统及存储介质。

背景技术

随着工业技术的进步,步进电机因其良好的可控性,已经在很多领域得到了越来越多的应用。尤其在安防领域或视频设备领域中,由于可以对步进电机的旋转角度的进行准确控制,从而能够实现步进电机与所拍摄视频的视频帧的同步控制,进而能够实现对动态目标的目标跟踪、或者随所拍摄的动态目标的距离变化实现自动变焦等功能。

为了实现步进电机的自动保护,步进电机根据一个控制指令完成转动后,都会自动的将下一周期的准备执行的转动标记为停电机,如果步进电机在下一周期再次接收到控制指令,则放弃停止转动的标记,而按照新接收到的控制指令继续转动。如果没有接收到控制指令,就停止步进电机的转动。

然而,由于各种原因,例如系统故障、系统延时等。可以会出现在进入下一个周期时,步进电机没有及时接收到控制指令,在这种情况下,步进电机在会按照自动设置的停止转动的标记,突然停止转动或转速将至很低。从而由于没有及时接收到控制指令,没有脉冲对步进电机进行控制,造成了步进电机失步,使得步进电机不能平稳运行。

发明内容

本发明实施例的目的在于提供一种步进电机控制方法、装置、系统及存储介质,以避免步进电机失步。具体技术方案如下:

本发明实施例提供了一种步进电机控制方法,包括:

按预设周期,在每一个预设周期开始前,获取该预设周期对应的电机运行信息,所述电机运行信息包括目标脉冲参数和预设脉冲参数,其中所述目标脉冲参数为用于控制步进电机在该预设周期内进行转动的脉冲参数,所述预设脉冲参数为用于控制所述步进电机逐步减速至停止的脉冲参数;

按所述目标脉冲参数,控制所述步进电机在该预设周期内进行转动;

若在该预设周期的下一个预设周期开始前,没有获取到所述下一个预设周期对应的电机运行信息,则按已获取的所述预设脉冲参数,控制所述步进电机在所述下一个预设周期开始逐步减速,直至停止或接收到新的电机运行信息。

可选的,所述预设周期为帧率时间,所述帧率时间为一个视频帧的时间长度。

可选的,所述按预设周期,在每一个预设周期开始前,获取该预设周期对应的电机运行信息,包括:

在每个帧率时间开始前的帧率中断时,获取该帧率时间对应的电机运行信息。

可选的,所述预设脉冲参数包括多个预设周期分别对应的脉冲参数;

所述按已获取的所述预设脉冲参数,驱动所述步进电机在所述下一个预设周期开始逐步减速,直至停止或接收到新的电机运行信息,包括:

从所述下一个预设周期开始,根据已获取的所述预设脉冲参数中的多个预设周期的脉冲参数,逐个周期的控制所述步进电机进行减速,直至所述步进电机停止或接收到新的电机运行信息。

可选的,所述目标脉冲参数包括预设数量的脉冲参数组;

所述按所述目标脉冲参数,控制所述步进电机在该预设周期内进行转动,包括:

将该预设周期划分为所述预设数量的,且时间长度相等子周期;

分别根据所述目标脉冲参数中的各所述脉冲参数组,确定出该周期的各子周期内的脉冲数量和脉冲宽度;

根据所述脉冲数量和脉冲宽度,控制所述步进电机在所述各子周期内进行转动。

可选的,所述预设脉冲参数包括一个预设周期对应的所述预设数量的脉冲参数组,或多个预设周期各自分别对应的所述预设数量的脉冲参数组;

所述按已获取的所述预设脉冲参数,控制所述步进电机在所述下一个预设周期开始逐步减速,直至停止或接收到新的电机运行信息,包括:

将所述下一个预设周期划分为预设数量的,且时间长度相等子周期,或将所述下一个预设周期,以及所述下一个预设周期后的多个预设周期分别划分为所述预设数量的,且时间长度相等子周期;

分别根据已获取的所述预设脉冲参数中的各所述脉冲参数组,从所述下一个预设周期开始,确定出各子周期的内的脉冲数量和脉冲宽度;

根据所述各子周期内的脉冲数量和脉冲宽度,驱动所述步进电机逐步减速,直至停止或接收到新的电机运行信息。

可选的,所述方法还包括:

在每一个预设周期结束时,获取所述步进电机位置坐标;

根据所述位置坐标,计算出该预设周期的下一个预设周期需要转动的角度;

根据所述下一个预设周期需要转动的角度确定出所述下一个预设周期对应的目标脉冲参数。

可选的,所述目标脉冲参数还包括操作标识,所述操作标识用于确定所述步进电机的运行状态。

本发明实施例还提供了一种步进电机控制装置,包括:

获取模块,用于按预设周期,在每一个预设周期开始前,获取该预设周期对应的电机运行信息,所述电机运行信息包括目标脉冲参数和预设脉冲参数,其中所述目标脉冲参数为用于控制步进电机在该预设周期内进行转动的脉冲参数,所述预设脉冲参数为用于控制所述步进电机逐步减速至停止的脉冲参数;

第一控制模块,用于按所述目标脉冲参数,控制所述步进电机在该预设周期内进行转动;

第二控制模块,用于若在该预设周期的下一个预设周期开始前,没有获取到所述下一个预设周期对应的电机运行信息,则按已获取的所述预设脉冲参数,控制所述步进电机在所述下一个预设周期开始逐步减速,直至停止或接收到新的电机运行信息。

可选的,所述装置中的所述预设周期为帧率时间,所述帧率时间为一个视频帧的时间长度。

可选的,所述获取模块,具体用于:

在每个帧率时间开始前的帧率中断时,获取该帧率时间对应的电机运行信息。

可选的,所述装置中的所述预设脉冲参数包括多个预设周期分别对应的脉冲参数;

所述第二控制模块,具体用于:

从所述下一个预设周期开始,根据已获取的所述预设脉冲参数中的多个预设周期的脉冲参数,逐个周期的控制所述步进电机进行减速,直至所述步进电机停止或接收到新的电机运行信息。

可选的,所述装置中的所述目标脉冲参数包括预设数量的脉冲参数组;

所述第一控制模块,具体用于:

将该预设周期划分为所述预设数量的,且时间长度相等子周期;分别根据所述目标脉冲参数中的各所述脉冲参数组,确定出该周期的各子周期内的脉冲数量和脉冲宽度;根据所述脉冲数量和脉冲宽度,控制所述步进电机在所述各子周期内进行转动。

可选的,所述装置中的所述预设脉冲参数包括一个预设周期对应的所述预设数量的脉冲参数组,或多个预设周期各自分别对应的所述预设数量的脉冲参数组;

所述第二控制模块,具体用于:

将所述下一个预设周期划分为预设数量的,且时间长度相等子周期,或将所述下一个预设周期,以及所述下一个预设周期后的多个预设周期分别划分为所述预设数量的,且时间长度相等子周期;分别根据已获取的所述预设脉冲参数中的各所述脉冲参数组,从所述下一个预设周期开始,确定出各子周期的内的脉冲数量和脉冲宽度;根据所述各子周期内的脉冲数量和脉冲宽度,驱动所述步进电机逐步减速,直至停止或接收到新的电机运行信息。

可选的,所述装置还包括:

坐标获取模块,在每一个预设周期结束时,获取所述步进电机位置坐标;

角度计算模块,用于根据所述位置坐标,计算出该预设周期的下一个预设周期需要转动的角度;

计算模块,用于根据所述下一个预设周期需要转动的角度确定出所述下一个预设周期对应的目标脉冲参数。

可选的,所述装置中的所述目标脉冲参数还包括操作标识,所述操作标识用于确定所述步进电机的运行状态。

本发明实施例还提供了一种步进电机控制系统,所述步进电机控制系统包括上位机和驱动器,所述上位机与所述驱动器相连接,所述驱动器与步进电机相连接;

所述上位机用于按预设周期,在每一个预设周期开始前,获取该预设周期对应的电机运行信息,所述电机运行信息包括目标脉冲参数和预设脉冲参数,其中所述目标脉冲参数为用于控制步进电机在该预设周期内进行转动的脉冲参数,所述预设脉冲参数为用于控制所述步进电机逐步减速至停止的脉冲参数;

所述上位机将该预设周期对应的电机运行信息传输至所述驱动器,所述驱动器按所述目标脉冲参数,控制所述步进电机在该预设周期内进行转动;

并且,若在该预设周期的下一个预设周期开始前,所述上位机没有获取到所述下一个预设周期对应的电机运行信息,则所述驱动器按已获取的所述预设脉冲参数,控制所述步进电机在所述下一个预设周期开始逐步减速,直至停止或接收到新的电机运行信息。

在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一种步进电机控制方法。

在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一种步进电机控制方法。

本发明实施例提供的一种步进电机控制方法、装置、系统及存储介质,通过在每一个预设周期开始前,获取该预设周期对应的电机运行信息。由于所获取的电机运行信息中,不仅含有针对当前预设周期的目标脉冲参数,同时还包括了使步进电机逐步进行减速的预设脉冲参数,所以,当前的预设周期结束后,在下一个预设周期开始前没有获取对应的电机运行信息时,可以采用已获取的电运行信息中的预设脉冲参数来对步进电机进行控制,并且使得步进电机逐步减速,避免了因没有获取到电机运行信息,而造成的步进电机失步,从而保证了步进电机的平稳运行。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

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

图1为本发明实施例提供的步进电机控制方法的流程图;

图2为本发明实施例提供的步进电机控制装置的结构图;

图3为本发明实施例提供的步进电机控制系统的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,图1为本发明实施例提供的步进电机控制方法的流程图,包括:

步骤101,按预设周期,在每一个预设周期开始前,获取该预设周期对应的电机运行信息,所述电机运行信息包括目标脉冲参数和预设脉冲参数,其中目标脉冲参数为用于控制步进电机在该预设周期内进行转动的脉冲参数,预设脉冲参数为用于控制步进电机逐步减速至停止的脉冲参数。

本发明实施例可以应用于各类控制步进电机进行转动的电子设备或控制系统中,例如步进电机的驱动器,以及步进电机的驱动器和上位机所组成的控制系统等。

预设周期可以是预先设定的时间周期,具体的时间长度可以根据需要进行设置,例如,可以为一个视频帧的时间长度、或者多个视频帧的时间长度等。

在每一个预设周期开始前,或者在每一个预设周期刚开始时,可以通过计算或者外部输入的方式获取针对该预设周期的电机运行信息,电机运行信息中至少可以包括目标脉冲参数和预设脉冲参数。目标脉冲参数中可以含有针对一个该预设周期的脉冲参数,脉冲参数为驱动步进电机所使用的脉冲电流的参数或信息,例如脉冲的频率、脉冲数量、脉冲幅值、脉冲宽度等参数,或者也可以为需要转过的角度、速度等信息。并且由于脉冲可以连续的脉冲,所以在一个预设周期内,预设周期的时间长度可以等于该预设周期内的脉冲数量乘以脉冲宽度。

预设脉冲参数为针对该预设周期之后的一个或多个预设周期的脉冲参数,当按该预设脉冲参数控制步进电机运行时,步进电机会按一定的减速规律,例如匀减速,和/或加速度逐步减小的减速等,使步进电机逐步的减速直至停止。

具体的,目标脉冲参数和预设脉冲参数可以为驱动表的形式,驱动表中以表格的形式记录了控制步进电机运行的脉冲参数,例如,驱动表中记录有驱动电机各相绕组在预设周期内的各个脉冲电流的幅值和数量等。通过该驱动表,步进电机的驱动器能够按驱动表中的脉冲参数对步进电机的各相绕组输出脉冲电流,从而实现步进电机的控制。

本发明实施例在实际应用时,尤其是当对步进电机与视频帧同步控制时,为了提高对步进电机的控制精度,使得步进电机配合视频帧的每一帧画面进行准确的转动。本发明实施例中的预设周期可以为帧率时间,帧率时间为一个视频帧的时间长度。

当预设周期为帧率时间时,则可以在每一个视频帧开始前,获取针对该视频帧的电机运行信息。从而更准确的实现步进电机与视频帧的同步控制。

更进一步的,每两个视频帧之间会产生一个时间极短的中断,该中断可以称为帧率中断,为了使获取电机运行信息的过程不影响步进电机在正常的帧率时间内的运行。所以,在本发明实施例中,步骤101,按预设周期,在每一个预设周期开始前,获取该预设周期对应的电机运行信息,可以包括:

在每个帧率时间开始前的帧率中断时,获取该帧率时间对应的电机运行信息。

在每个帧率时间开始前所产生的帧率中断时,可以获取该帧率时间对应的电机运行信息,当进入该帧率时间就可以直接根据电机运行信息中的目标脉冲参数对步进电机进行控制。使得获取电机运行信息的过程所占用的时间,并不会影响到在帧率时间内步进电机的运行。从而提高了步进电机与视频帧同步控制的准确性。

例如,在一个实际的应用场景中,步进电机带动摄像头等设备转动,摄像头对特定区域内的目标进行动态跟踪,摄像头拍摄一帧视频时,控制该摄像头的监控系统可以根据目标的位置及运动速度,计算出下一帧步进电机需要转过的角度以及转动的速度,然后确定出实现该角度和运动速度所需要的脉冲参数,作为目标脉冲参数。同时,确定出用于在按目标脉冲参数运行了步进电机后,能够使步进电机逐步平稳的减速至停止的预设脉冲参数。

当完成这一帧视频的拍摄,进入帧率中断,在下一个视频帧的帧率时间开始前,就可以向控制步进电机的电子设备或步进电机的控制系统下发针对该下一个帧率时间的目标脉冲参数和预设脉冲参数,如向步进电机的驱动器发送针对该下一个帧率时间的电机运行信息。当然,在另一种实现方式中,控制步进电机的电子设备或步进电机的控制系统自身也可以直接根据目标的位置及运动速度,确定出电机运行信息,从而在帧率中断时,直接得到目标脉冲参数和预设脉冲参数,从而不需要其他系统来输入目标脉冲参数和预设脉冲参数。

步骤102,按目标脉冲参数,控制步进电机在该预设周期内进行转动。

在该预设周期开始前,当获取了针对该预设周期的电机运行信息后,就可以根据电机运行信息中的目标脉冲参数,控制步进电机转动。

具体的,当目标脉冲参数为脉冲电流的参数时,则可以直接根据该脉冲电流的参数,来设置需要向步进电机输出的脉冲电流,例如,目标脉冲参数为各相绕组在该预设周期中的脉冲幅值、脉冲数量及脉冲宽度等,则在该预设周期内,步进电机的驱动器可以直接根据上述参数向步进电机各相绕组输出脉冲电流,从而在该预设周期内按目标脉冲参数实现步进电机的运行。

或者,当目标脉冲参数为该预设周期内,步进电机需要转过的角度和速度等信息时,控制步进电机的电子设备或步进电机的控制系统还需要根据该角度和速度等信息,计算出具体的能够实现该角度和速度所需要的具体的脉冲电流的参数,然后再使用该参数对步进电机进行控制。

并且,在目标脉冲参数中,还可以含有操作标识,操作标识用于确定步进电机在该预设周期中的运行状态。操作标识可以包括:驱动器初始化、电机运行、停电机、电机掉电等。

当接收到目标脉冲参数时,可以首先查看该目标脉冲参数所具有的操作标识,从而可以确定在该预设周期内,步进电机是否需要进行转动。

例如,若目标脉冲参数中的操作标识为驱动器初始化,则代表该预设周期内只是对步进电机的驱动器进行初始化,在该预设周期内步进电机不需要转动,并且该目标脉冲参数中可以不含有具体的脉冲电流的参数值。

若目标脉冲参数中的操作标识为电机运行,则在该预设周期内需要对步进电机进行控制,从而实现步进电机在该预设周期内的转动,并且该电机运行的操作标识中还可以包括带保护运行和不带保护运行的两种运行方式。带保护运行时,可以实现对步进电机的限位,避免步进电机所驱动的摄像头等部件转过过大的角度从而发生碰撞等事故。不带保护运行时,则对步进电机的转动角度不进行限制。

若目标脉冲参数中的操作标识为停电机,则表示该预设周期内,步进电机不需要进行转动,目标脉冲参数中可以不含有具体的脉冲电流的参数值,或参数值均为0。

若目标脉冲参数中的操作标识为电机掉电,则可以根据该操作标识,在该预设周期内断开步进电机的电源,或者,还可以当连续接收到超过预设次数的操作标识为电机掉电的目标脉冲参数时,才断开步进电机的电源。

步骤103,若在该预设周期的下一个预设周期开始前,没有获取到该下一个预设周期对应的电机运行信息,则按已获取的预设脉冲参数,控制步进电机在该下一个预设周期开始逐步减速,直至停止或接收到新的电机运行信息。

在正常情况下,在每一个预设周期开始前,例如在每一个帧率中断时,都会获得该预设周期对应的电机运行信息,所以在实际运行时,所有的预设周期都会按照各自对应的电机运行信息中的目标脉冲参数来控制步进电机进行转动,即在正常运行情况下,电机运行信息中的预设脉冲参数不会被使用。通过各个预设周期对应的目标脉冲参数,就可以完成步进电机的控制,使步进电机实现各种运行方式,例如,加速度增加的加速运动、匀加速运动、匀速运动、加速度减小的加速运动、匀减速运动等。

然而由于系统延时,数据传输延时等各类原因,在该预设周期的下一个预设周期开始前,例如,下一个帧率中断时,控制步进电机的电子设备或步进电机的控制系统可能会没有接收到、或没有计算出对应该下一个预设周期的电机运行信息,从而没有与该下一个预设周期对应的目标脉冲参数,也就不会存在脉冲电流对步进电机进行驱动,导致步进电机失步。

所以为了避免步进电机失步,当在该下一个预设周期开始前,没有获取到下一个预设周期对应的电机运行信息时,可以采用最近一次获取的电机运行信息中的预设脉冲参数,来对步进电机进行控制。由于预设脉冲参数为使步进电机逐步减速至停止的脉冲参数,所以,使得步进电机不会直接停止,而是按照预设脉冲参数中所设定好的减速规则,逐步并且平稳的进行减速。并且在减速过程中,如果获得了新的电机运行信息,则停止按预设脉冲参数对步进电机进行控制,按新获取的电机运行信息中的目标脉冲参数,来对步进电机进行控制。

具体的,在本发明实施例的一种实现方式中,预设脉冲参数可以只含有一个预设周期对应的脉冲参数,即在一个预设周期内,使步进电机减速至停止。当再次接收到新的电机运行信息时,再按新的电机运行信息中的目标脉冲参数,对已停止的步进电机进行控制。

例如,在第一预设周期获取了第一预设周期对应的电机运行信息,并根据其中的目标脉冲参数,在第一预设周期内完成了步进电机的控制;然后在第二预设周期开始前,没有接收到第二预设周期对应的电机运行信息,则可以使用第一预设周期对应的电机运行信息中的预设脉冲参数在第二预设周期内对步进电机进行控制,预设脉冲参数包含一个预设周期对应的脉冲参数,并且该脉冲参数为时步进电机减速至停止的脉冲参数,如,预设脉冲参数为在一个预设周期时间内,脉冲的频率逐步由快到慢再到零,从而使得步进电机在第二预设周期内,逐步减速至停止。当在第二预设周期后的第三预设周期开始前,接收到了第三预设周期对应的电机运行信息,则可以按该电机运行信息中的目标脉冲参数再对步进电机进行控制。

然而在实际应用中,在一个预设周期内将步进电机减速至停止,可能由于脉冲频率变化过快,使得步进电机形成失步或过冲,不利于步进电机的平稳减速,所以,为了使得步进电机的减速更加平稳,避免失步和过冲,在本发明实施例的另一种实现方式中,预设脉冲参数可以包括多个预设周期分别对应的脉冲参数。

相应的,本发明实施例提供的步进电机控制方法中,按已获取的预设脉冲参数,控制步进电机在该下一个预设周期开始逐步减速,直至停止或接收到新的电机运行信息,可以包括:

从该预设周期后的下一个预设周期开始,根据预设脉冲参数中的多个预设周期的脉冲参数,逐个周期的控制步进电机进行减速,直至步进电机停止或接收到新的电机运行信息。

预设脉冲参数中含有多个预设周期的脉冲参数,从而可以在多个预设周期的时间内,逐步的将步进电机平稳的减速至停止,例如,多个预设周期对应的脉冲参数中的脉冲频率逐步的减小,从而能够逐渐的降低步进电机的转速。一般在实际应用时,预设脉冲参数中可以含有3个或3个以上的预设周期的脉冲参数。

当在该多个预设周期之间,重新获取了新的电机运行信息时,则按新获取的电机运行信息中的目标脉冲参数,来对步进电机进行控制。

例如,在上面的例子中,在第二预设周期开始前,没有接收到第二预设周期对应的电机运行信息,则可以使用第一预设周期对应的电机运行信息中的预设脉冲参数在第二预设周期内对步进电机进行控制。该预设脉冲参数含有3个预设周期对应的脉冲参数。所以在第二预设周期内,可以按该预设脉冲参数中的首个预设周期对应的脉冲参数,对步进电机实现减速;当在第二预设周期后的第三预设周期开始前,依然没有接收到第三预设周期对应的电机运行信息时,则在第三预设周期内,继续按预设脉冲参数中的下一个预设周期对应的脉冲参数,对步进电机实现减速;当在第三预设周期后的第四预设周期开始前,重新接收到了第四预设周期对应的电机运行信息,则按第四预设周期对应的电机运行信息中的目标脉冲参数,在第四预设周期内对步进电机进行控制。

由于,在第四预设周期开始前,步进电机还没有完全停止,所以当根据第四预设周期对应的电机运行信息中的目标脉冲参数,在第四预设周期内对步进电机进行控制时,即使该目标脉冲参数中脉冲频率较高,步进电机也能够较为平稳的转动,从而避免了从停止状态直接按较高的脉冲频率进行转动而造成的失步。所以,预设脉冲参数中含有多个预设周期的脉冲参数,并通过多个预设周期来对步进电机进行减速,可以进一步提高步进电机的稳定性。

在本发明实施例提供的步进电机控制方法中,通过在每一个预设周期开始前,获取该预设周期对应的电机运行信息。由于所获取的电机运行信息中,不仅含有针对当前预设周期的目标脉冲参数,同时还包括了使步进电机逐步进行减速的预设脉冲参数,所以,当前的预设周期结束后,在下一个预设周期开始前没有获取对应的电机运行信息时,可以采用已获取的电运行信息中的预设脉冲参数来对步进电机进行控制,并且使得步进电机逐步减速,避免了因没有获取到电机运行信息,而造成的步进电机失步,从而保证了步进电机的平稳运行。

步进电机在运行过程中,在步进电机启动时需要有加速过程,在步进电机停止时需要有减速过程。启动时如果没有加速过程可能会导致无法启动,或在最高速时产生过冲,在停止时没有减速也可能会产生过冲。所以,在对步进电机的控制时,为了能使得步进电机平稳的运动,步进电机应按照“S”的速度曲线进行转动,即在启动时可以存在加速度增加的加速阶段,加速度不变的匀加速阶段,加速度减小的加速阶段;当步进电机完成启动后,可以处于匀速阶段;当步进电机需要进行减速时,可以处于加速度增加的减速阶段、加速度不变的匀减速阶段,加速度减小的减速阶段。通过上述7个阶段,能够构成“S”型的速度曲线,从而使得步进电机平稳的运行。

在本发明实施例中,在正常运行情况下,需要通过各个预设周期对应的目标脉冲参数,在各个预设周期内对步进电机进行控制,所以需要通过目标脉冲参数实现上述7个阶段的不同转速。具体的,由于通过脉冲频率可以直接控制步进电机的转速,所以,目标脉冲参数中可以设置不同的脉冲频率来使得步进电机实现不同转速的控制。

所以,为了能够通过目标脉冲参数,使得步进电机在预设周期内实现各种速度状态。

结合上述的实施例,在本发明实施例提供的步进电机控制方法中,目标脉冲参数可以包括预设数量的脉冲参数组。

相应的,在本发明实施例中,步骤102,按所述目标脉冲参数,控制所述步进电机在该预设周期内进行转动,包括:

第一步,将该预设周期划分为预设数量的,且时间长度相等的子周期。

预设数量可以根据需要进行确定,当预设数量越大时,对步进电机的控制越精细,一般预设数量可以为4。

每一个目标脉冲参数中,都可以具有预设数量的脉冲参数组,并且每一个脉冲参数组对应一个预设周期内的子周期。脉冲参数组中可以记录有脉冲数量和/或者脉冲宽度,以及各个脉冲的幅值等脉冲参数。

第二步,分别根据所述目标脉冲参数中的各脉冲参数组,确定出该周期的各子周期内的脉冲数量和脉冲宽度。

由于每一个脉冲参数组分别对应一个预设周期内的子周期,可以将脉冲参数组中的脉冲参数,作为与该脉冲参数组对应的子周期内的脉冲参数。从而可以确定出各个子周期内的脉冲数量和脉冲宽度。

第三步,根据脉冲数量和脉冲宽度,控制步进电机在各子周期内进行转动。

当得到了各个子周期的脉冲数量和脉冲宽度后,就可以控制该步进电机在各个子周期内,按照相应的脉冲数量和脉冲宽度进行转动。

当各个子周期的脉冲数量和脉冲宽度相同时,则各个子周期内脉冲的频率是相等的,所以在该预设周期内,步进电机可以实现匀速的转动;

当目标脉冲参数中的各个脉冲参数组中的脉冲参数各不相同时,例如,第一个脉冲参数组中脉冲数量为1,第二个脉冲参数组中脉冲数量为2,第三个脉冲参数组中脉冲数量为3,第四个脉冲参数组中脉冲数量为4。同时由于各个子周期的时间长度相同,所以,在各个子周期内,脉冲的频率逐渐增大,从而实现了在该预设周期内,步进电机的匀加速的转动。同理,当在目标脉冲参数中的各个脉冲参数组中设置不同的脉冲参数时,就可以通过目标脉冲参数,使得步进电机在预设周期内具有不同的速度状态。

与目标脉冲参数类似,为了使预设脉冲参数能够按“S”型速度曲线中的各个减速阶段来实现步进电机的减速,在本发明实施例提供的步进电机控制方法中,预设脉冲参数包括一个预设周期对应的预设数量的脉冲参数组,或多个预设周期各自分别对应的预设数量的脉冲参数组。

预设脉冲参数可以通过一个预设周期时步进电机停止,也可以通过多个预设周期使步进电机停止,所以,预设脉冲参数中可以只含有一个预设周期对应的预设数量的脉冲参数组,或含有多个预设周期各自分别对应的预设数量的脉冲参数组。

相应的,步骤103中的,按已获取的所述预设脉冲参数,控制所述步进电机在所述下一个预设周期开始逐步减速,直至停止或接收到新的电机运行信息,可以包括:

第一步,将所述下一个预设周期划分为预设数量的子周期,或将所述下一个预设周期,以及所述下一个预设周期后的多个预设周期分别划分为预设数量的子周期。

当预设脉冲参数中可以只含有一个预设周期对应的预设数量的脉冲参数组时,相应的,只需要将下一个预设周期划分为预设数量的子周期,例如划分为4个子周期。

当预设脉冲参数中可以只含有多个预设周期各自分别对应的预设数量的脉冲参数组时,相应的,将下一个预设周期,以及下一个预设周期后的多个预设这走起分别划分为预设数量的子周期。例如,预设脉冲参数中含有3个预设周期各自分别对应的预设数量的脉冲参数组,且预设数量为4时,则预设脉冲参数中一共具有12个脉冲参数组,分别对应划分出的12个子周期。

第二步,分别根据已获取的所述预设脉冲参数中的各所述脉冲参数组,从所述下一个预设周期开始,确定出各子周期的内的脉冲数量和脉冲宽度。

同样,可以根据每一个子周期对应的脉冲参数组,确定出各个子周期内的脉冲数量和脉冲宽度。

第三步,根据所述各子周期内的脉冲数量和脉冲宽度,驱动所述步进电机逐步减速,直至停止或接收到新的电机运行信息。

根据确定出的各个子周期的脉冲数量和脉冲宽度,驱动所述步进电机逐步减速。例如,预设脉冲参数中的含有12个脉冲参数组,其中每4个脉冲参数组对应一个预设周期的4个子周期,一共对应3个预设周期。在该3个预设周期内,通过预设脉冲参数可以使得步进电机逐步减速至停止,如第一个预设周期的4个子周期内的脉冲数量均为4,第二个预设周期的4个子周期内的脉冲数量均为2,第三个预设周期的4个子周期内的脉冲数量分别为1,1,1,0。即当第三个预设周期的第4个子周期时,步进电机中不存在脉冲电流,步进电机停止,实现了对步进电机加速度不变的匀减速。

通过在预设脉冲参数的各个脉冲参数组中,设置不相同的脉冲参数,从而逐步的减小脉冲频率,进而能够实现各种不同方式减速,如加速度增加的减速、匀减速、加速度减小的减速等。

结合上述的各个实施例,在步骤102,在按目标脉冲参数,控制步进电机在该预设周期内进行转动的之后,所述方法还包括:

步骤104,在每一个预设周期结束时,获取步进电机位置坐标。

当根据目标脉冲参数或预设脉冲参数,使得步进电机在预设周期内进行了转动后,步进电机会转过一定角度,从而步进电机的坐标发生了变化。尤其根据当预设脉冲参数在预设周期内进行了转动时,由于步进电机没有按照正常的该预设周期对应的目标脉冲参数进行转动,所以不能准确的预测出步进电机转过的角度。

所以,为了及时得知经过一个预设周期后,步进电机实际所转动的角度,可以在每一个预设周期结束时,及时获取步进电机的位置坐标。

步骤105,根据位置坐标,计算出该预设周期的下一个预设周期需要转动的角度。

当获取了步进电机当前的位置坐标后,可以得知步进电机的实际位置,从而可以根据该实际位置,可以更加准确的确定出在下一个预设周期内需要转动的角度。

步骤106,根据下一个预设周期需要转动的角度确定出下一个预设周期对应的目标脉冲参数。

当确定出所要转动的角度后,就可以通过步进电机的固有步距角等参数,确定出转过该角度所需的脉冲数量等参数,从而得到下一个预设周期对应的目标脉冲参数。

通过及时获取位置坐标,能够更加准确的确定出下一个预设周期对应的目标脉冲参数,从而使得步进电机能够更准确的运行。

参见图2,图2为本发明实施例提供的步进电机控制装置的结构图,包括:

获取模块201,用于按预设周期,在每一个预设周期开始前,获取该预设周期对应的电机运行信息,所述电机运行信息包括目标脉冲参数和预设脉冲参数,其中所述目标脉冲参数为用于控制步进电机在该预设周期内进行转动的脉冲参数,所述预设脉冲参数为用于控制所述步进电机逐步减速至停止的脉冲参数;

第一控制模块202,用于按所述目标脉冲参数,控制所述步进电机在该预设周期内进行转动;

第二控制模块203,用于若在该预设周期的下一个预设周期开始前,没有获取到所述下一个预设周期对应的电机运行信息,则按已获取的所述预设脉冲参数,控制所述步进电机在所述下一个预设周期开始逐步减速,直至停止或接收到新的电机运行信息。

在本发明实施例中,通过在每一个预设周期开始前,获取该预设周期对应的电机运行信息。由于所获取的电机运行信息中,不仅含有针对当前预设周期的目标脉冲参数,同时还包括了使步进电机逐步进行减速的预设脉冲参数,所以,当前的预设周期结束后,在下一个预设周期开始前没有获取对应的电机运行信息时,可以采用已获取的电运行信息中的预设脉冲参数来对步进电机进行控制,并且使得步进电机逐步减速,避免了因没有获取到电机运行信息,而造成的步进电机失步,从而保证了步进电机的平稳运行。

可选的,在本发明实施例提供的步进电机控制装置中,所述装置中的所述预设周期为帧率时间,所述帧率时间为一个视频帧的时间长度。

可选的,在本发明实施例提供的步进电机控制装置中,所述获取模块201,具体用于:

在每个帧率时间开始前的帧率中断时,获取该帧率时间对应的电机运行信息。

可选的,在本发明实施例提供的步进电机控制装置中,所述装置中的所述预设脉冲参数包括多个预设周期分别对应的脉冲参数;

相应的,所述第二控制模块203,具体用于:

从所述下一个预设周期开始,根据已获取的所述预设脉冲参数中的多个预设周期的脉冲参数,逐个周期的控制所述步进电机进行减速,直至所述步进电机停止或接收到新的电机运行信息。

可选的,在本发明实施例提供的步进电机控制装置中,所述装置中的所述目标脉冲参数包括预设数量的脉冲参数组;

相应的,所述第一控制模块202,具体用于:

将该预设周期划分为所述预设数量的,且时间长度相等子周期;分别根据所述目标脉冲参数中的各所述脉冲参数组,确定出该周期的各子周期内的脉冲数量和脉冲宽度;根据所述脉冲数量和脉冲宽度,控制所述步进电机在所述各子周期内进行转动。

可选的,在本发明实施例提供的步进电机控制装置中,所述装置中的所述预设脉冲参数包括一个预设周期对应的所述预设数量的脉冲参数组,或多个预设周期各自分别对应的所述预设数量的脉冲参数组;

相应的,所述第二控制模块203,具体用于:

将所述下一个预设周期划分为预设数量的,且时间长度相等子周期,或将所述下一个预设周期,以及所述下一个预设周期后的多个预设周期分别划分为所述预设数量的,且时间长度相等子周期;分别根据已获取的所述预设脉冲参数中的各所述脉冲参数组,从所述下一个预设周期开始,确定出各子周期的内的脉冲数量和脉冲宽度;根据所述各子周期内的脉冲数量和脉冲宽度,驱动所述步进电机逐步减速,直至停止或接收到新的电机运行信息。

可选的,在本发明实施例提供的步进电机控制装置中,所述装置还包括:

坐标获取模块,在每一个预设周期结束时,获取所述步进电机位置坐标;

角度计算模块,用于根据所述位置坐标,计算出该预设周期的下一个预设周期需要转动的角度;

计算模块,用于根据所述下一个预设周期需要转动的角度确定出所述下一个预设周期对应的目标脉冲参数。

可选的,在本发明实施例提供的步进电机控制装置中,所述装置中的所述目标脉冲参数还包括操作标识,所述操作标识用于确定所述步进电机的运行状态。

参见图3,图3为本发明实施例提供的步进电机控制系统的结构图。

步进电机控制系统包括上位机301和驱动器302,所述上位机301与所述驱动器302相连接,所述驱动器302与步进电机相303连接.

上位机301可以为计算机、服务器等具有数据处理能力的设备。

驱动器302可以为驱动芯片等设备,可以根据脉冲参数,向步进电机输出相应的脉冲电流,以驱动步进电机进行转动。上位机301与驱动器302可以通过数据总线、电缆等相连接,从而实现各种数据或信息的传输。

所述上位机301能够用于按预设周期,在每一个预设周期开始前,获取该预设周期对应的电机运行信息,所述电机运行信息包括目标脉冲参数和预设脉冲参数,其中所述目标脉冲参数为用于控制步进电机在该预设周期内进行转动的脉冲参数,所述预设脉冲参数为用于控制所述步进电机逐步减速至停止的脉冲参数。例如,上位机302中内置有计算程序,可以通过该计算程序计算出针对各个预设周期的目标脉冲参数,已经能够使步进电机逐步减速至停止的预设目标参数。

所述上位机301将该预设周期对应的电机运行信息传输至所述驱动器302,所述驱动器302按所述目标脉冲参数,控制所述步进电机在该预设周期内进行转动;

并且,若在该预设周期的下一个预设周期开始前,所述上位机301没有获取到所述下一个预设周期对应的电机运行信息,则所述驱动器302按已获取的所述预设脉冲参数,控制所述步进电机在所述下一个预设周期开始逐步减速,直至停止或接收到新的电机运行信息。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的步进电机控制方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的步进电机控制方法。

对于步进电机控制装置、步进电机控制系统、计算机可读存储介质以及计算机程序产品实施例而言,由于其所涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种发电机组电气控制系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!