本申请涉及自动化控制
技术领域:
,特别涉及一种电机控制方法,还涉及一种电机控制装置、设备及计算机可读存储介质。
背景技术:
:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件,随着电子计算和计算机技术的快速发展,步进电机的需求量与日俱增,应用极为广泛。步进电机主要采用“主处理器 电机驱动芯片”的控制方案,首先,由主处理产生电机驱动芯片所需的pwm(pulsewidthmodulation,脉冲宽度调制)波;进一步,电机驱动芯片根据pwm波产生电机运动所需的线圈工作电流,从而驱动电机运行。相关技术中,多采用fpga(field-programmablegatearray,现场可编程门阵列)作为主处理器实现电机控,然而,利用fpga控制电机加减速运行时只能实现逻辑较为简单的匀加减速控制,由于电机加速度恒定,在加速阶段无法提供大力矩,导致电机加速距离较长,而若直接使用较高的加速度启动电机,则容易出现电机丢步的问题,导致电机控制精度大大降低。因此,如何实现电机的变加减速控制是本领域技术人员亟待解决的问题。技术实现要素:本申请的目的是提供一种电机控制方法,该电机控制方法通过预设速率变化信息实现了电机的任意加减速控制,不仅可以避免处理器进行复杂的数据计算,减少处理器中计算资源的占用,还方便用户根据实际需求自定义设置电机的速率变化信息,具有较高的适用性;本申请的另一目的是提供一种电机控制装置、设备及计算机可读存储介质,均具有上述有益效果。第一方面,本申请提供了一种电机控制方法,包括:获取目标速率;根据预设速率变化信息确定所述目标速率对应的目标脉冲间隔;根据所述预设速率变化信息和所述目标脉冲间隔输出脉冲信号;根据所述脉冲信号控制电机运行。优选的,所述预设速率变化信息包括离散化的电机加速曲线和离散化的电机减速曲线;则所述根据预设速率变化信息确定所述目标速率对应的目标脉冲间隔,包括:根据所述离散化的电机加速曲线确定所述目标速率对应的第一目标脉冲间隔;根据所述离散化的电机减速曲线和所述第一目标脉冲间隔确定所述目标速率对应的第二目标脉冲间隔。优选的,所述根据所述离散化的电机加速曲线确定所述目标速率对应的第一目标脉冲间隔,包括:根据所述离散化的电机加速曲线判断所述目标速率是否对应于所述离散化的电机加速曲线上的离散点所对应的脉冲信号;若是,则将所述脉冲信号对应的脉冲间隔作为所述第一目标脉冲间隔;若否,则确定所述目标速率对应的前一脉冲信号和后一脉冲信号;当所述目标速率与所述前一脉冲信号对应的前一速率之间的差值小于所述后一脉冲信号对应的后一速率与所述目标速率之间的差值时,将所述前一脉冲信号对应的脉冲间隔作为所述第一目标脉冲间隔;当所述目标速率与所述前一脉冲信号对应的前一速率之间的差值不小于所述后一脉冲信号对应的后一速率与所述目标速率之间的差值时,将所述后一脉冲信号对应的脉冲间隔作为所述第一目标脉冲间隔。优选的,所述根据所述离散化的电机减速曲线和所述第一目标脉冲间隔确定所述目标速率对应的第二目标脉冲间隔,包括:根据所述离散化的电机减速曲线判断所述离散化的电机减速曲线上第一离散点对应的脉冲间隔的大小是否等于所述第一目标脉冲间隔的大小;若是,则将所述第一离散点对应的脉冲间隔作为所述第二目标脉冲间隔;若否,则在所述离散化的电机减速曲线中确定与所述第一目标脉冲间隔的大小最接近的脉冲间隔对应的第二离散点,并将所述第二离散点对应的脉冲间隔作为所述第二目标脉冲间隔。优选的,所述根据所述预设速率变化信息和所述目标脉冲间隔输出脉冲信号,包括:按照所述离散化的电机加速曲线,从起始速率对应的起始脉冲间隔开始输出所述脉冲信号,直至所述第一目标脉冲间隔;按照所述离散化的电机减速曲线,从所述第二目标脉冲间隔开始输出所述脉冲信号,直至终止速率对应的终止脉冲间隔。优选的,所述电机控制方法还包括:根据所述离散化的电机加速曲线确定加速步数;根据所述离散化的电机减速曲线确定减速步数;根据预设运行步数以及所述加速步数和所述减速步数确定恒速步数;按照所述恒速步数输出所述目标速率对应的脉冲信号。优选的,所述根据所述预设速率变化信息和所述目标脉冲间隔输出脉冲信号,包括:根据所述目标速率和所述第一目标脉冲间隔将所述离散化的电机加速曲线转换为所述目标速率对应的目标加速曲线,并按照所述目标加速曲线输出所述脉冲信号;根据所述目标速率和所述第二目标脉冲间隔将所述离散化的电机减速曲线转换为所述目标速率对应的目标减速曲线,并按照所述目标减速曲线输出所述脉冲信号。优选的,所述电机控制方法还包括:根据所述目标加速曲线确定加速步数;根据所述目标减速曲线确定减速步数;根据预设运行步数以及所述加速步数和所述减速步数确定恒速步数;按照所述恒速步数输出所述目标速率对应的脉冲信号。优选的,所述电机控制方法还包括:将所述目标速率作为预设最大速率,设定所述预设速率变化信息。优选的,所述电机控制方法还包括:获取上位机下发的所述离散化的电机加速曲线和离散化的电机减速曲线。优选的,所述电机控制方法还包括:将所述离散化后的电机加速曲线和所述离散化的电机减速曲线存储至预设脉冲规划表。优选的,所述电机控制方法还包括:对电机速率进行实时检测,当所述电机速率超出最大速率时,触发停机指令。第二方面,本申请还公开了一种电机控制装置,包括:目标信息获取模块,用于获取目标速率;脉冲间隔确定模块,用于根据预设速率变化信息确定所述目标速率对应的目标脉冲间隔;脉冲信号输出模块,用于根据所述预设速率变化信息和所述目标脉冲间隔输出脉冲信号;电机运行模块,用于根据所述脉冲信号控制电机运行。第三方面,本申请还公开了一种电机控制设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上所述的任一种电机控制方法的步骤。第四方面,本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的任一种电机控制方法的步骤。本申请所提供的一种电机控制方法,包括获取目标速率;根据预设速率变化信息确定所述目标速率对应的目标脉冲间隔;根据所述预设速率变化信息和所述目标脉冲间隔输出脉冲信号;根据所述脉冲信号控制电机运行。可见,本申请所提供的电机控制方法,预先根据实际需求配置好被控电机的速率变化信息,在电机控制过程中,用户只需输入目标速率,处理器即可直接根据预设速率变化信息输出该目标速率对应的脉冲信号,进而完成电机控制;由此可见,该电机控制方法可以通过自定义加减速信息实现电机的任意加减速控制,通过可变加速度控制电机加减速运行,既可以提供较大力矩,缩短电机的加减速距离,也可以有效避免电机丢步,保证电机控制精度;而且,处理器可以直接利用预设速率变化信息实现电机控制,无需进行其他复杂的数据计算,进一步减少了处理器计算资源的占用;此外,上述预设速率变化信息可由用户根据实际需求进行自定义配置,可以有效满足用户的多种需求,具有较高的适用性。本申请所提供的一种电机控制装置、设备及计算机可读存储介质,均具有上述有益效果,在此不再赘述。附图说明为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。图1为本申请所提供的一种电机控制方法的流程示意图;图2为本申请所提供的一种预设电机速率变化趋势图;图3为本申请所提供的一种离散化的电机加速曲线图;图4为本申请所提供的另一种离散化的电机加速曲线图;图5为本申请所提供的又一种离散化的电机加速曲线图;图6为本申请所提供的一种离散化的电机速度变化曲线图;图7为本申请所提供的另一种离散化的电机速度变化曲线图;图8为本申请所提供的又一种离散化的电机速度变化曲线图;图9为本申请所提供的再一种离散化的电机速度变化曲线图;图10为本申请所提供的再一种离散化的电机加速曲线图;图11为本申请所提供的一种电机控制装置的结构示意图;图12为本申请所提供的一种电机控制设备的结构示意图。具体实施方式本申请的核心是提供一种电机控制方法,该电机控制方法通过预设速率变化信息实现了电机的任意加减速控制,不仅可以避免处理器进行复杂的数据计算,减少处理器中计算资源的占用,还方便用户根据实际需求自定义设置电机的速率变化信息,具有较高的适用性;本申请的另一核心是提供一种电机控制装置、设备及计算机可读存储介质,也具有上述有益效果。为了对本申请实施例中的技术方案进行更加清楚、完整地描述,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行介绍。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。目前,电机控制多采用fpga实现,但fpga只能实现逻辑较为简单的匀加减速控制,由于电机加速度恒定,在加速阶段无法提供大力矩,导致电机加速距离较长,但若直接使用较高的加速度启动电机,又容易出现电机丢步的问题,导致电机控制精度大大降低。因此,为解决上述技术问题,本申请实施例提供了一种电机控制方法。需要说明的是,该电机控制方法可适用于多种类型的处理器,如arm(advancedriscmachines,一种risc微处理器)、dsp(digitalsignalprocessing,数字信号处理器)、fpga以及cpld(complexprogrammablelogicdevice,复杂可编程逻辑器件)等。其中,根据处理器自身特性,arm和dsp属于串行处理器,可实现单台电机的控制;fpga和cpld处于并行处理器,可实现多台电机的控制,因此,在具体实现过程中,可根据实际情况选择合适的处理器。请参考图1,图1为本申请所提供的一种电机控制方法的流程示意图,该电机控制方法可包括:s101:获取目标速率;本步骤旨在实现目标速率的获取,该目标速率是指用户指定的电机运行速率,即被控电机在加速过程中的最终速率,在减速过程中的初始速率。需要说明的是,该目标速率的获取方式并不唯一,可以由用户直接输入,也可以通过上位机进行获取,本申请对此不做限定。此外,目标速率的具体取值并不影响本技术方案的实施,由用户根据实际需求进行设定即可,可以理解的是,该目标速率不可超过被控电机的最大速率。当然,目标速率的数量同样不唯一,为实现多电机并行控制,该目标速率的数量可以为多个,且各个目标速率的取值可相同,也可不同,均可由用户根据实际需求进行设定。s102:根据预设速率变化信息确定目标速率对应的目标脉冲间隔;本步骤旨在实现目标脉冲间隔的确定,该目标脉冲间隔是指上述目标速率在预设速率变化信息中所对应的脉冲间隔。其中,预设速率变化信息是指电机速率与脉冲间隔之间的映射关系,可以包括被控电机任意运行速率的变化信息。当然,为实现电机的变加/减速控制,该预设速率变化信息至少包括电机变加/减速信息,在此基础上,还可进一步包括匀加/减速信息以及恒速信息等,以实现被控电机任意运行速率的控制。一般来说,电机拖动负载移动一定距离并精确定位时,其运行过程包括“启动-加速-高速运行(恒速)-减速-停止”五个阶段,因此,相应的预设速率变化信息具体可包括电机变加速信息、电机恒速信息以及电机变减速信息。可以理解的是,预设速率变化信息的获取方式并不唯一,可以是人工计算直接通过下位机输入,也可以从对应的主控设备中获取,如上位机等。此外,当对多台电机进行并行控制时,各台电机对应的预设速率变化信息可相同,也可不同,本申请对此同样不做限定。进一步,上述预设速率变化信息的具体表现形式可以为变化趋势图(如图2所示,图2为本申请所提供的一种预设电机速率变化趋势图)或映射表格(如表1所示,表1为本申请所提供的一种预设电机速率变化表)等:表1一种预设电机速率变化表ftf1t1f2t2f3t3f4t4如表1所示,f表示电机速率或电机运行频率,t表示时间;如图2所示,纵坐标f表示电机速率或电机运行频率,横坐标t表示时间,fmax表示电机最大速率,fk表示目标速率,该目标速率fk不大于电机最大速率fmax。由此,当处理器获取到目标速率之后,即可直接从预设速率变化信息中查询到该目标速率对应的目标脉冲间隔,而无需进行复杂的数据计算,有效地减少了处理器资源的占用,降低了电机的控制成本。其中,脉冲间隔的具体取值并不影响本技术方案的实施,本申请对此不做限定。为便于实现预设速率变化信息的获取,作为一种优选实施例,预设速率变化信息可以从上位机中获得。具体的,可以先通过上位机生成被控电机的速率变化信息,再将其下载至处理器中,由处理器基于该速率变化信息实现电机控制。进一步,当需要改变电机速率变化信息时,可以通过上位机重新计算生成新的电机速率变化信息,并下载至处理器。由此,通过上位机进行复杂的数据计算生成预设速率变化信息,更加便于处理器直接加载获取,不仅可以有效避免处理器进行数据计算操作所造成的时间浪费和资源浪费,也可以避免人工计算造成的计算结果的不准确性。s103:根据预设速率变化信息和目标脉冲间隔输出脉冲信号;本步骤旨在实现脉冲信号的输出,用以实现电机控制。具体而言,当确定目标脉冲间隔后,即可结合预设速率变化信息输出相应的脉冲信号,例如,对于电机加速过程,可以从电机初始速率对应的脉冲间隔开始进行脉冲信号的输出,直至达到上述目标脉冲间隔;对于电机减速过程,可以从目标脉冲间隔开始进行脉冲信号的输出,直至达到电机终止速率对应的脉冲间隔;对于电机恒速过程,则可以输出目标速率对应的脉冲信号,直至满足预设条件,其中,预设条件可以为用户预先设定的电机位移或电机运行时间等。可以理解的是,上述电机初始速率和电机终止速率一般为0,由此,实现了被控电机从0开始加速到目标速率、以目标速率恒速运行以及从目标速率减速至0的运行过程。s104:根据脉冲信号控制电机运行。本步骤旨在根据脉冲信号实现电机控制。具体的,处理器将产生的脉冲信号发送给电机驱动芯片,由此,电机驱动芯片即可根据该脉冲信号产生电机运行所需的线圈工作电流,进而驱动被控电机运行。更进一步的,在电机运行结束后,还可将最终的运行结果反馈至前端,以告知用户电机运行结束,方便用户了解电机运行情况。其中,运行结果包括但不限于实时电机速率、电机运行时间、电机位移等。为保证被控电机的稳定运行,作为一种优选实施例,该电机控制方法还可以包括:对电机速率进行实时检测,当电机速率超出最大速率时,触发停机指令。具体的,可以在电机运行过程中对电机速率进行实时检测,一旦检测到电机速率超出被控电机的最大速率,则立即触发停机指令,以停止被控电机运行,进而保证电机运行过程中的稳定性和安全性。同时,还可输出报警提示,以有效提醒用户及时进行异常维护,在电机运行过程中,若电机速率未能达到目标速率或超出目标速率,也可生成相应的提示信息并给与用户反馈。此外,若电机长时间处于高速运行状态,可能会对电机性能产生较大影响,缩短电极寿命,因此,当检测到电机速率达到最大速率时,还可对电机以最大速率运行的时间进行统计,并在最大速率运行时间超出预设时长时,发起提示信息;其中,预设时长的具体取值并不影响本技术方案的实施,根据电机自身性能进行设定即可,本申请对此不做限定。可见,本申请所提供的电机控制方法,预先根据实际需求配置好被控电机的速率变化信息,在电机控制过程中,用户只需输入目标速率,处理器即可直接根据预设速率变化信息输出该目标速率对应的脉冲信号,进而完成电机控制;由此可见,该电机控制方法可以通过自定义加减速信息实现电机的任意加减速控制,通过可变加速度控制电机加减速运行,既可以提供较大力矩,缩短电机的加减速距离,也可以有效避免电机丢步,保证电机控制精度;而且,处理器可以直接利用预设速率变化信息实现电机控制,无需进行其他复杂的数据计算,进一步减少了处理器计算资源的占用;此外,上述预设速率变化信息可由用户根据实际需求进行自定义配置,可以有效满足用户的多种需求,具有较高的适用性。如上所述,本申请所提供的电机控制方法可实现电机的变加减速控制,因此,在上述实施例的基础上,作为一种优选实施例,上述预设速率变化信息具体可包括离散化的电机加速曲线和离散化的电机减速曲线,则上述根据预设速率变化信息确定目标速率对应的目标脉冲间隔的过程具体可以包括:根据离散化的电机加速曲线确定目标速率对应的第一目标脉冲间隔;根据离散化的电机减速曲线和第一目标脉冲间隔确定目标速率对应的第二目标脉冲间隔。一般而言,电机的运行过程包括“启动-加速-高速运行(恒速)-减速-停止”五个阶段,因此,上述预设速率变化信息可包括电机加速信息和电机减速信息,其中,该电机加减速信息具体可以为按照预设时间间隔进行离散化处理的电机加速曲线和电机减速曲线,即对连续的电机加减速曲线进行离散化处理所形成的一系列的离散点,通过离散化曲线表示预设电机速率变化信息,更加方便处理器根据该离散化的电机加减速曲线进行目标脉冲间隔的确定,进而实现被控电机的变加减速控制。以电机加速过程为例,请参考图3,图3为本申请所提供的一种离散化的电机加速曲线图(实际曲线中离散点的数量并不唯一,图3所示离散点的数量仅用于举例说明),根据图3可知,离散化的电机加速曲线上的每个离散点均对应有一个电机速率和一个脉冲信号,每个脉冲信号均有对应的脉冲间隔,因此,离散化的电机加速曲线上的离散点、脉冲间隔、脉冲信号、电机速率存在一一对应的关系,通过离散化的电机加速曲线上的某个离散点可以查询到某个时刻的电机速率,进而可获得该时刻脉冲信号对应的脉冲间隔。当然,离散化的电机减速曲线亦是如此。需要说明的是,由于第一目标脉冲间隔对应的脉冲信号是实际驱动电机走向恒速运转的脉冲信号,而第二目标脉冲间隔对应的离散点是电机从恒速运行开始进行减速的起始点,因此,为实现平滑减速,在确定第二目标脉冲间隔时需要以第一目标脉冲间隔为基准。此外,上述离散化的电机加减速曲线中预设时间间隔的具体取值并不唯一,并且,离散化的电机加速曲线的预设时间间隔与离散化的电机减速曲线的预设时间间隔可相同,也可不同,均可由用户根据实际需求进行设定。此外,离散化的电机加速曲线和离散化的电机减速曲线可相互对称,互为镜像曲线,也可互不对称,本申请对此不做限定。其中,在对电机进行变加减速控制的过程中,用户设定的目标速率可能无法恰好对应于某个完整的脉冲信号,而是处于两个脉冲信号之间。因此,为解决该问题,可以选择最接近目标速率的脉冲信号所对应的脉冲间隔作为目标脉冲间隔,实现对应脉冲信号的输出,以实现电机速率的平滑过渡。换而言之,若目标速率更接近于前一脉冲信号对应的电机速率,则将前一脉冲信号对应的脉冲间隔作为目标脉冲间隔;若目标速率更接近于后一脉冲信号对应的电机速率,则将后一脉冲信号对应的脉冲间隔作为目标脉冲间隔。因此,作为一种优选实施例,上述根据离散化的电机加速曲线确定目标速率对应的第一目标脉冲间隔的过程具体可以包括:根据离散化的电机加速曲线判断目标速率是否对应于离散化的电机加速曲线上的离散点所对应的脉冲信号;若是,则将脉冲信号对应的脉冲间隔作为第一目标脉冲间隔;若否,则确定目标速率对应的前一脉冲信号和后一脉冲信号;当目标速率与前一脉冲信号对应的前一速率之间的差值小于后一脉冲信号对应的后一速率与目标速率之间的差值时,将前一脉冲信号对应的脉冲间隔作为第一目标脉冲间隔;当目标速率与前一脉冲信号对应的前一速率之间的差值不小于后一脉冲信号对应的后一速率与目标速率之间的差值时,将后一脉冲信号对应的脉冲间隔作为第一目标脉冲间隔。例如,请参考图4和图5,图4为本申请所提供的另一种离散化的电机加速曲线图,图5为本申请所提供的又一种离散化的电机加速曲线图。如图4所示,当目标速率fk恰好对应于离散化的电机加速曲线上的离散点a时,则可以直接将离散点a对应的脉冲信号的脉冲间隔作为第一目标脉冲间隔。如图5所示,当目标速率fk未能恰好对应于离散化的电机加速曲线上的离散点时,则先确定目标速率fk对应的前一脉冲信号(即离散点b2对应的脉冲信号)和后一脉冲信号(即离散点b1对应的脉冲信号),再将与目标速率fk最接近的离散点b1对应的脉冲信号的脉冲间隔作为第二目标脉冲间隔。可以理解的是,上述电机加速过程中第一目标脉冲间隔的确定方法同样适用于电机减速过程中第二目标脉冲间隔的确定方法,因此,作为一种优选实施例,上述根据离散化的电机减速曲线和第一目标脉冲间隔确定目标速率对应的第二目标脉冲间隔的过程具体可以包括:根据离散化的电机减速曲线判断离散化的电机减速曲线上第一离散点对应的脉冲间隔的大小是否等于第一目标脉冲间隔的大小;若是,则将第一离散点对应的脉冲间隔作为第二目标脉冲间隔;若否,则在离散化的电机减速曲线中确定与第一目标脉冲间隔的大小最接近的脉冲间隔对应的第二离散点,并将第二离散点对应的脉冲间隔作为第二目标脉冲间隔。例如,请参考图6和图7,图6为本申请所提供的一种离散化的电机速度变化曲线图,图7为本申请所提供的另一种离散化的电机速度变化曲线图,两种离散化的电机速度变化曲线均包括离散化的电机加速曲线和离散化的电机减速曲线。如图6所示,假设离散化的电机加速曲线上目标速率fk对应的脉冲间隔,即离散点c1对应的脉冲间隔为第一目标脉冲间隔,当离散化的电机减速曲线上存在某一离散点c2的脉冲间隔的大小恰好等于该第一脉冲间隔的大小时,说明离散点c1与离散点c2处于同一水平线上,此时,即可将离散点c2对应的脉冲间隔作为第二目标脉冲间隔。如图7所示,假设离散化的电机加速曲线上目标速率fk对应的脉冲间隔,即离散点d1对应的脉冲间隔为第一目标脉冲间隔,当离散化的电机减速曲线上不存在离散点的脉冲间隔大小恰好与第一目标脉冲间隔的大小相同时,则可以将更接近于第一目标脉冲间隔大小的离散点d2的脉冲间隔作为第二脉冲间隔,因为离散点d2的脉冲间隔大小相较于离散点d3的脉冲间隔大小更加接近于第一目标脉冲间隔的大小。进一步,在完成目标脉冲间隔的确认后,即可根据电机加减速曲线和目标脉冲间隔进行脉冲信号的输出。可以理解的是,基于离散化的电机加减速曲线进行脉冲信号的输出包括两种情况:1、目标速率为电机最大速率:当目标速率为电机最大速率时,预设的离散化的电机加减速曲线即为目标速率对应的加减速曲线,因此,可以直接按照该离散化的电机加减速曲线进行脉冲信号的输出,因此,作为一种优选实施例,上述根据预设速率变化信息和目标脉冲间隔输出脉冲信号的过程具体可以包括:按照离散化的电机加速曲线,从起始速率对应的起始脉冲间隔开始输出脉冲信号,直至第一目标脉冲间隔;按照离散化的电机减速曲线,从第二目标脉冲间隔开始输出脉冲信号,直至终止速率对应的终止脉冲间隔。具体的,请参考图8,图8为本申请所提供的又一种离散化的电机速度变化曲线图,在电机开始启动进行加速的阶段,按照图8中离散化的电机加速曲线,处理器从起始速率0对应的起始脉冲间隔开始输出相应的脉冲信号,直至第一目标脉冲间隔为止,当然,该第一目标脉冲间隔即为图8中离散化的电机加速曲线上电机最大速率fmax的脉冲间隔,由此,实现电机的变加速运行;在电机开始减速至停止运行的阶段,按照图8中离散化的电机减速曲线,处理器从第二目标脉冲间隔开始输出相应的脉冲信号,直至终止速率0对应的终止脉冲间隔为止,当然,该第二目标脉冲间隔即为图8中离散化的电机减速曲线上电机最大速率fmax的脉冲间隔,由此,实现电机的变减速运行。如上所述,电机的运行过程一般包括“启动-加速-高速运行(恒速)-减速-停止”五个阶段,但基于离散化的电机加减速曲线仅可以实现电机的加减速控制,而无法对电机恒速运行的过程进行控制,如电机恒速运行过程中的电机运行步数或电机运行时长等。因此,在上述实施例的基础上,作为一种优选实施例,该电机控制方法还可以包括:根据离散化的电机加速曲线确定加速步数;根据离散化的电机减速曲线确定减速步数;根据预设运行步数以及加速步数和减速步数确定恒速步数;按照恒速步数输出目标速率对应的脉冲信号。具体的,由于电机运行步数与位移具有一定的映射关系,因此,可以通过设置电机运行总步数,即上述预设运行步数,使得电机在运行过程中达到用户所需的电机运行位移。其中,预设运行步数可以从上位机获取,也可以由用户直接输入,通过自定义电机运行步数,可以有效满足用户的多样化需求。进一步,在电机运行过程中,可以先基于离散化的电机加减速曲线确定被控电机在加减速过程中所需的运行步数,分别对应于上述加速步数和减速步数,再计算预设运行步数和加速步数、减速步数的差值,该差值即为被控电机以目标速率恒速运行时所需的运行步数,即上述恒速步数,最后,按照该恒速步数输出目标速率对应的脉冲信号即可。可以理解的是,当离散化的电机加速曲线与离散化的电机减速曲线互为镜像曲线时,加速步数和减速步数必然相同,因此,可以只计算电机加速过程所需的加速步数进而直接确定减速步数,也可以只计算电机减速过程所需的减速步数进而直接确定加速步数,以有效减少计算量,进一步降低处理器计算资源的占用。2、目标速率低于电机最大速率:当目标速率低于电机最大速率时,如若直接按照预设的离散的电机加速曲线进行脉冲信号的输出,如图4所示,当电机速率加速到fk直接进入匀速状态时,很容易出现电机运行速率突变的情况,因此,为解决该问题,可以采用曲线转换的方式,将预设的离散化的电机加减速曲线转换为目标速率对应的离散化的电机加减速曲线,从而实现电机运行速率的平滑过渡。因此,作为一种优选实施例,上述根据预设速率变化信息和目标脉冲间隔输出脉冲信号的过程具体可以包括:根据目标速率和第一目标脉冲间隔将离散化的电机加速曲线转换为目标速率对应的目标加速曲线,并按照目标加速曲线输出脉冲信号;根据目标速率和第二目标脉冲间隔将离散化的电机减速曲线转换为目标速率对应的目标减速曲线,并按照目标减速曲线输出脉冲信号。具体的,为实现电机速率的平滑过渡,在完成目标脉冲间隔的确认后,即可结合目标速率将预设的离散化的电机加减速曲线转换为目标速率对应的离散化的电机加减速曲线,即上述目标加减速曲线,进而按照该目标加减速曲线进行脉冲信号的输出,完成电机的加减速控制。例如,请参考图9,图9为本申请所提供的再一种离散化的电机速度变化曲线图,曲线s1和曲线s3分别为预设的离散化的电机减速曲线和电机减速曲线,在确定目标速率fk后,对离散化的电机加速曲线进行曲线转换,获得目标加速曲线s2,对离散化的电机减速曲线进行曲线转换,获得目标减速曲线s4,进一步,按照目标加速曲线s2和目标减速曲线s4输出脉冲信号,即可实现电机的加减速控制。进一步,以电机加速过程为例,对上述曲线转换的具体实现过程进行介绍。请参考图10,图10为本申请所提供的一种离散化的电机加速曲线的示意图,如图10所示,目标速率fk对应的第一目标脉冲间隔为t5,根据图10所示的离散化的电机加速曲线可得到如下电机加速变化表(表2为图10所示电机加速曲线对应的电机加速表):表2图10所示离散化的电机加速曲线对应的电机加速表分段ft1f1t12f2t23f3t34f4t45f5t56f6t67f7t78f8(fmax)t8结合目标速率fk和第一目标脉冲间隔t5,将表2所示电机加速表转换为目标速率fk对应的目标加速表(如表3所示,表3为基于表2所示电机加速表转换获得的目标加速表);表3基于表2所示电机加速表转换获得的目标加速表分段ft1f1*fk/fmaxt1*fk/fmax2f2*fk/fmaxt2*fk/fmax3f3*fk/fmaxt3*fk/fmax4f4*fk/fmaxt4*fk/fmax5f5*fk/fmax(fk)t5*fk/fmax最后,将表3所示目标加速表转换为目标加速曲线,进而按照目标加速曲线进行相应脉冲信号的输出即可。相对应的,电机减速曲线的变换过程与电机加速曲线的变换过程类似,其具体实现过程参照上述电机加速曲线的变换过程即可,本申请在此不再赘述。如上所述,电机的运行过程一般包括“启动-加速-高速运行(恒速)-减速-停止”五个阶段,但基于离散化的电机加减速曲线仅可以实现电机的加减速控制,而无法对电机恒速运行的过程进行控制,如电机恒速运行过程中的电机运行步数或电机运行时长等。因此,在上述实施例的基础上,作为一种优选实施例,该电机控制方法还可以包括:根据目标加速曲线确定加速步数;根据目标减速曲线确定减速步数;根据预设运行步数以及加速步数和减速步数确定恒速步数;按照恒速步数输出目标速率对应的脉冲信号。具体的,由于电机运行步数与位移具有一定的映射关系,因此,可以通过设置电机运行总步数,即上述预设运行步数,使得电机在运行过程中达到用户所需的电机运行位移。其中,预设运行步数可以从上位机获取,也可以由用户直接输入,通过自定义电机运行步数,可以有效满足用户的多样化需求。进一步,在电机运行过程中,可以先基于目标加减速曲线确定被控电机在加减速过程中所需的运行步数,分别对应于上述加速步数和减速步数,再计算预设运行步数和加速步数、减速步数的差值,该差值即为被控电机以目标速率恒速运行时所需的运行步数,即上述恒速步数,最后,按照该恒速步数输出目标速率对应的脉冲信号即可。可以理解的是,当电机加速曲线与电机减速曲线互为镜像曲线时,对应的目标加速曲线和目标减速曲线也互为镜像曲线,此时,加速步数和减速步数必然相同,因此,可以只计算电机加速过程所需的加速步数进而直接确定减速步数,也可以只计算电机减速过程所需的减速步数进而直接确定加速步数,以有效减少计算量,进一步降低处理器计算资源的占用。此外,基于以上阐述可知,预设速率变化信息可以从上位机中获得,那么,当预设速率变化信息为离散化后的电机加速曲线和电机减速曲线时,该离散化后的电机加速曲线和电机减速曲线同样可从上位机中获得。进一步,在获得离散化后的电机加速曲线和离散化的电机减速曲线后,还可将其存储至预设脉冲规划表,通过表格形式对预设速率变化信息进行存储(如表2所示),以便后续可以高效地进行加载调用。可见,本申请实施例所提供的电机控制方法,通过自定义电机速率变化曲线实现了完整的“启动-变加速-恒速-变减速-停止”的电机运行过程,通过可变加速度控制电机加减速运行,既可以提供较大力矩,缩短电机的加减速距离,又可以有效避免电机丢步,保证电机控制精度;此外,处理器可以直接利用预设的电机速率变化曲线实现完整的电机控制,无需进行其他复杂的数据计算,有效减少了处理器计算资源的占用,而且,由于电机速率变化信息可以由用户根据实际需求进行自定义配置,可以有效满足用户的多种需求,具有较高的适用性。在以上各实施例所提供的电机控制方法中,其中的预设速率变化信息均是预先设定的,即在目标速率获取之前,预设速率变化信息即为已知信息,在此情况下,为保证被控电机的电机速率可以实现平滑过渡,当目标速率低于预设速率变化信息中的电机最大速率时,需要对预设速率变化信息进行转换,获得目标速率对应的速率变化信息,如上述曲线转换过程。可以理解的是,上述信息转换过程必然造成一定的计算资源占用以及电机控制效率的降低,因此,为解决该问题,作为一种优选实施例,上述获取目标速率之后,还可以包括:将目标速率作为预设最大速率,设定预设速率变化信息。可见,预设速率变化信息可以根据获取的目标速率进行设定,直接将目标速率作为预设最大速率,即上述电机最大速率,从而设定预设速率变化信息,也就是说,在获得目标速率fk后,可以直接根据目标速率fk生成如图9所示的曲线s2和曲线s4,并直接根据曲线s2和曲线s4进行脉冲信号输出,完成电机控制。可以理解的是,通过以上方式所设定的预设速率变化信息即为目标速率所对应的预设速率变化信息,此时无需再进行额外的信息转换操作,如上述曲线转换操作,不仅可以有效地减少对处理器计算资源的占用,还极大地提高了电机控制效率。为解决上述技术问题,本申请还提供了一种电机控制装置,请参考图11,图11为本申请所提供的一种电机控制装置的结构示意图,该电机控制装置可包括:目标信息获取模块1,用于获取目标速率;脉冲间隔确定模块2,用于根据预设速率变化信息确定目标速率对应的目标脉冲间隔;脉冲信号输出模块3,用于根据预设速率变化信息和目标脉冲间隔输出脉冲信号;电机运行模块4,用于根据脉冲信号控制电机运行。可见,本申请实施例所提供的电机控制装置,预先根据实际需求配置好被控电机的速率变化信息,在电机控制过程中,用户只需输入目标速率,处理器即可直接根据预设速率变化信息输出该目标速率对应的脉冲信号,进而完成电机控制;由此可见,该电机控制方法可以通过自定义加减速信息实现电机的任意加减速控制,通过可变加速度控制电机加减速运行,既可以提供较大力矩,缩短电机的加减速距离,也可以有效避免电机丢步,保证电机控制精度;而且,处理器可以直接利用预设速率变化信息实现电机控制,无需进行其他复杂的数据计算,进一步减少了处理器计算资源的占用;此外,上述预设速率变化信息可由用户根据实际需求进行自定义配置,可以有效满足用户的多种需求,具有较高的适用性。作为一种优选实施例,上述预设速率变化信息可以包括离散化的电机加速曲线和离散化的电机减速曲线;则上述脉冲间隔确定模块2可包括:第一确定单元,用于根据离散化的电机加速曲线确定目标速率对应的第一目标脉冲间隔;第二确定单元,用于根据离散化的电机减速曲线和第一目标脉冲间隔确定目标速率对应的第二目标脉冲间隔。作为一种优选实施例,上述第一确定单元可具体用于根据离散化的电机加速曲线判断目标速率是否对应于离散化的电机加速曲线上的离散点所对应的脉冲信号;若是,则将脉冲信号对应的脉冲间隔作为第一目标脉冲间隔;若否,则确定目标速率对应的前一脉冲信号和后一脉冲信号;当目标速率与前一脉冲信号对应的前一速率之间的差值小于后一脉冲信号对应的后一速率与目标速率之间的差值时,将前一脉冲信号对应的脉冲间隔作为第一目标脉冲间隔;当目标速率与前一脉冲信号对应的前一速率之间的差值不小于后一脉冲信号对应的后一速率与目标速率之间的差值时,将后一脉冲信号对应的脉冲间隔作为第一目标脉冲间隔。作为一种优选实施例,上述第二确定单元可具体用于根据离散化的电机减速曲线判断离散化的电机减速曲线上第一离散点对应的脉冲间隔的大小是否等于第一目标脉冲间隔的大小;若是,则将第一离散点对应的脉冲间隔作为第二目标脉冲间隔;若否,则在离散化的电机减速曲线中确定与第一目标脉冲间隔的大小最接近的脉冲间隔对应的第二离散点,并将第二离散点对应的脉冲间隔作为第二目标脉冲间隔。作为一种优选实施例,上述脉冲信号输出模块3可包括:第一输出单元,用于按照离散化的电机加速曲线,从起始速率对应的起始脉冲间隔开始输出脉冲信号,直至第一目标脉冲间隔;第二输出单元,用于按照离散化的电机减速曲线,从第二目标脉冲间隔开始输出脉冲信号,直至终止速率对应的终止脉冲间隔。作为一种优选实施例,该电机控制装置还可包括第一恒速运行模块,用于根据离散化的电机加速曲线确定加速步数;根据离散化的电机减速曲线确定减速步数;根据预设运行步数以及加速步数和减速步数确定恒速步数;按照恒速步数输出目标速率对应的脉冲信号。作为一种优选实施例,上述脉冲信号输出模块3可包括:加速曲线转换单元,用于根据目标速率和第一目标脉冲间隔将离散化的电机加速曲线转换为目标速率对应的目标加速曲线,并按照目标加速曲线输出脉冲信号;减速曲线转换单元,用于根据目标速率和第二目标脉冲间隔将离散化的电机减速曲线转换为目标速率对应的目标减速曲线,并按照目标减速曲线输出脉冲信号。作为一种优选实施例,该电机控制装置还可包括第二恒速运行模块,用于根据目标加速曲线确定加速步数;根据目标减速曲线确定减速步数;根据预设运行步数以及加速步数和减速步数确定恒速步数;按照恒速步数输出目标速率对应的脉冲信号。作为一种优选实施例,该电机控制装置还可包括预设信息设定模块,用于在上述获取目标速率之后,将目标速率作为预设最大速率,设定预设速率变化信息。作为一种优选实施例,该电机控制装置还可包括预设信息获取模块,用于获取上位机下发的离散化的电机加速曲线和离散化的电机减速曲线。作为一种优选实施例,该电机控制装置还可包括预设信息存储模块,用于将离散化的电机加速曲线和离散化的电机减速曲线存储至预设脉冲规划表。作为一种优选实施例,该电机控制装置还可包括电机速率监控模块,用于对电机速率进行实时检测,当电机速率超出最大速率时,触发停机指令。对于本申请提供的装置的介绍请参照上述方法实施例,本申请在此不做赘述。为解决上述技术问题,本申请还提供了一种电机控制设备,请参考图12,图12为本申请所提供的一种电机控制设备的结构示意图,该电机控制设备可包括:存储器10,用于存储计算机程序;处理器20,用于执行计算机程序时可实现如上述任意一种电机控制方法的步骤。对于本申请提供的设备的介绍请参照上述方法实施例,本申请在此不做赘述。为解决上述问题,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如上述任意一种电机控制方法的步骤。该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。对于本申请提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom或
技术领域:
内所公知的任意其它形式的存储介质中。以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本
技术领域:
的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请的保护范围内。当前第1页1 2 3 
技术特征:1.一种电机控制方法,其特征在于,包括:
获取目标速率;
根据预设速率变化信息确定所述目标速率对应的目标脉冲间隔;
根据所述预设速率变化信息和所述目标脉冲间隔输出脉冲信号;
根据所述脉冲信号控制电机运行。
2.根据权利要求1所述的电机控制方法,其特征在于,所述预设速率变化信息包括离散化的电机加速曲线和离散化的电机减速曲线;
则所述根据预设速率变化信息确定所述目标速率对应的目标脉冲间隔,包括:
根据所述离散化的电机加速曲线确定所述目标速率对应的第一目标脉冲间隔;
根据所述离散化的电机减速曲线和所述第一目标脉冲间隔确定所述目标速率对应的第二目标脉冲间隔。
3.根据权利要求2所述的电机控制方法,其特征在于,所述根据所述离散化的电机加速曲线确定所述目标速率对应的第一目标脉冲间隔,包括:
根据所述离散化的电机加速曲线判断所述目标速率是否对应于所述离散化的电机加速曲线上的离散点所对应的脉冲信号;
若是,则将所述脉冲信号对应的脉冲间隔作为所述第一目标脉冲间隔;
若否,则确定所述目标速率对应的前一脉冲信号和后一脉冲信号;
当所述目标速率与所述前一脉冲信号对应的前一速率之间的差值小于所述后一脉冲信号对应的后一速率与所述目标速率之间的差值时,将所述前一脉冲信号对应的脉冲间隔作为所述第一目标脉冲间隔;
当所述目标速率与所述前一脉冲信号对应的前一速率之间的差值不小于所述后一脉冲信号对应的后一速率与所述目标速率之间的差值时,将所述后一脉冲信号对应的脉冲间隔作为所述第一目标脉冲间隔。
4.根据权利要求2所述的电机控制方法,其特征在于,所述根据所述离散化的电机减速曲线和所述第一目标脉冲间隔确定所述目标速率对应的第二目标脉冲间隔,包括:
根据所述离散化的电机减速曲线判断所述离散化的电机减速曲线上第一离散点对应的脉冲间隔的大小是否等于所述第一目标脉冲间隔的大小;
若是,则将所述第一离散点对应的脉冲间隔作为所述第二目标脉冲间隔;
若否,则在所述离散化的电机减速曲线中确定与所述第一目标脉冲间隔的大小最接近的脉冲间隔对应的第二离散点,并将所述第二离散点对应的脉冲间隔作为所述第二目标脉冲间隔。
5.根据权利要求2至4任一项所述的电机控制方法,其特征在于,所述根据所述预设速率变化信息和所述目标脉冲间隔输出脉冲信号,包括:
按照所述离散化的电机加速曲线,从起始速率对应的起始脉冲间隔开始输出所述脉冲信号,直至所述第一目标脉冲间隔;
按照所述离散化的电机减速曲线,从所述第二目标脉冲间隔开始输出所述脉冲信号,直至终止速率对应的终止脉冲间隔。
6.根据权利要求5所述的电机控制方法,其特征在于,还包括:
根据所述离散化的电机加速曲线确定加速步数;
根据所述离散化的电机减速曲线确定减速步数;
根据预设运行步数以及所述加速步数和所述减速步数确定恒速步数;
按照所述恒速步数输出所述目标速率对应的脉冲信号。
7.根据权利要求2至4任一项所述的电机控制方法,其特征在于,所述根据所述预设速率变化信息和所述目标脉冲间隔输出脉冲信号,包括:
根据所述目标速率和所述第一目标脉冲间隔将所述离散化的电机加速曲线转换为所述目标速率对应的目标加速曲线,并按照所述目标加速曲线输出所述脉冲信号;
根据所述目标速率和所述第二目标脉冲间隔将所述离散化的电机减速曲线转换为所述目标速率对应的目标减速曲线,并按照所述目标减速曲线输出所述脉冲信号。
8.根据权利要求7所述的电机控制方法,其特征在于,还包括:
根据所述目标加速曲线确定加速步数;
根据所述目标减速曲线确定减速步数;
根据预设运行步数以及所述加速步数和所述减速步数确定恒速步数;
按照所述恒速步数输出所述目标速率对应的脉冲信号。
9.根据权利要求1至4任一项所述的电机控制方法,其特征在于,所述获取目标速率之后,还包括:
将所述目标速率作为预设最大速率,设定所述预设速率变化信息。
10.根据权利要求2所述的电机控制方法,其特征在于,还包括:
获取上位机下发的所述离散化的电机加速曲线和离散化的电机减速曲线。
11.根据权利要求10所述的电机控制方法,其特征在于,还包括:
将所述离散化的电机加速曲线和所述离散化的电机减速曲线存储至预设脉冲规划表。
12.根据权利要求1所述的电机控制方法,其特征在于,还包括:
对电机速率进行实时检测,当所述电机速率超出最大速率时,触发停机指令。
13.一种电机控制装置,其特征在于,包括:
目标信息获取模块,用于获取目标速率;
脉冲间隔确定模块,用于根据预设速率变化信息确定所述目标速率对应的目标脉冲间隔;
脉冲信号输出模块,用于根据所述预设速率变化信息和所述目标脉冲间隔输出脉冲信号;
电机运行模块,用于根据所述脉冲信号控制电机运行。
14.一种电机控制设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至12任一项所述的电机控制方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至12任一项所述的电机控制方法的步骤。
技术总结本申请公开了一种电机控制方法,包括获取目标速率;根据预设速率变化信息确定所述目标速率对应的目标脉冲间隔;根据所述预设速率变化信息和所述目标脉冲间隔输出脉冲信号;根据所述脉冲信号控制电机运行;该电机控制方法通过预设速率变化信息实现了电机的任意加减速控制,不仅可以避免处理器进行复杂的数据计算,减少处理器中计算资源的占用,还方便用户根据实际需求自定义设置电机的速率变化信息,具有较高的适用性。本申请还公开了一种电机控制装置、设备及计算机可读存储介质,均具有上述有益效果。
技术研发人员:李建刚;陈泉
受保护的技术使用者:深圳开立生物医疗科技股份有限公司
技术研发日:2020.12.08
技术公布日:2021.03.12