CN117081437A - 步进电机驱动控制方法和装置 - Google Patents
步进电机驱动控制方法和装置 Download PDFInfo
- Publication number
- CN117081437A CN117081437A CN202311340295.2A CN202311340295A CN117081437A CN 117081437 A CN117081437 A CN 117081437A CN 202311340295 A CN202311340295 A CN 202311340295A CN 117081437 A CN117081437 A CN 117081437A
- Authority
- CN
- China
- Prior art keywords
- stepping motor
- running
- acceleration
- deceleration
- step number
- 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
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000001133 acceleration Effects 0.000 claims abstract description 104
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P8/00—Arrangements for controlling dynamo-electric motors rotating step by step
- H02P8/14—Arrangements for controlling speed or speed and torque
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P8/00—Arrangements for controlling dynamo-electric motors rotating step by step
- H02P8/24—Arrangements for stopping
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P8/00—Arrangements for controlling dynamo-electric motors rotating step by step
- H02P8/36—Protection against faults, e.g. against overheating or step-out; Indicating faults
- H02P8/38—Protection against faults, e.g. against overheating or step-out; Indicating faults the fault being step-out
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Control Of Stepping Motors (AREA)
Abstract
本申请公开提供了一种步进电机驱动控制方法和装置,涉及步进电机驱动控制技术,该方法根据驱动控制参数确定被控步进电机的运行速度曲线,基于运行总步数和运行速度曲线确定被控步进电机运行时的最佳加速步数和最佳减速步数;启动定时器,按照预定规律周期产生脉冲,每个中断触发执行中断任务;中断任务包括:获取中断时被控步进电机的运行状态和状态参数;若中断时被控步进电机的运行状态为加速状态或减速状态,则根据当时加速度值或当时减速度值调整定时器下一周期时间;步数递增后退出中断,等待下一次中断,若为减速状态,则直至预设运行步数走完,被控步进电机停止运行,解决了现有技术中步进电机运行不平稳的问题。
Description
技术领域
本发明涉及步进电机驱动控制技术领域,具体涉及一种步进电机驱动控制方法和装置。
背景技术
传统的步进电机驱动过程存在丢步现象,无法应对各种工况,难以实现平滑线性的加减速运动过程。
发明内容
本发明要解决的技术问题在于克服现有技术中步进电机进难以平稳运行的问题,从而提供一种步进电机驱动控制方法和装置。
为解决上述技术问题,本发明公开实施例至少提供一种步进电机驱动控制方法和装置。
第一方面,本发明公开实施例提供了一种步进电机驱动控制方法,包括:
获取被控步进电机的驱动控制参数,所述驱动控制参数包括运行总步数、运行加速度、运行减速度、目标速度、启动速度和停止速度;
根据所述驱动控制参数确定被控步进电机的运行速度曲线;
基于所述运行总步数和所述运行速度曲线确定被控步进电机运行时的最佳加速步数和最佳减速步数;
启动定时器,按照预定规律周期产生脉冲,每个中断触发执行中断任务;
所述中断任务包括:
获取中断时被控步进电机的运行状态和状态参数,所述运行状态包括加速状态、减速状态和匀速状态,所述状态参数包括加速度值或减速度值;
若中断时被控步进电机的运行状态为加速状态或减速状态,则根据当时加速度值或当时减速度值调整定时器下一周期时间;
步数递增后退出中断,等待下一次中断,若为减速状态,则直至预设运行步数走完,被控步进电机停止运行。
可选地,还包括:若中断时被控步进电机的运行状态为匀速状态,则被控步进电机按照所述目标速度保持运行,并进行步数递增。
可选地,根据所述驱动控制参数确定被控步进电机的运行速度曲线包括:
根据加速度步数与减速度步数分配关系,判断被控步进电机在所述运行总步数下是否能够达到所述目标速度;若能够,则所述运行速度曲线采用梯形曲线;若不能够,则所述运行速度曲线采用三角形曲线。
可选地,根据公式n1 = (n1+n2)decel / (accel + decel)确定加速度步数与减速度步分配关系,n1为加速步,n2为减速步数,accel为加速度值,decel为减速度值。
可选地,所述步数递增后退出中断之前,所述方法还包括:根据所述运行速度曲线和调整后的定时器下一周期时间,产生不同占空比的pwm输出。
可选地,所述获取被控步进电机的驱动控制参数包括。
可选地,所述获取被控步进电机的驱动控制参数包括:通过公式确定所述目标速度,其中,max_s_lim为以当前的加减速值达到目标速度时所需要的步数,n为达到目标速度所需的步数,α为步距角。
可选地,所述获取被控步进电机的驱动控制参数还包括:通过公式确定被控步进电机在所述运行总步数下能够达到的最大速度,其中,accel为加速度值,decel为减速度值,accel_lim为根据加减速值与总步数计算出来实际的加速步数,n1为加速步,Step为总步数。
第二方面,本发明公开实施例提供了一种步进电机驱动控制装置,包括:
控制参数获取模块,用于获取被控步进电机的驱动控制参数,所述驱动控制参数包括运行总步数、运行加速度、运行减速度、目标速度、启动速度和停止速度;
运行曲线确定模块,用于根据所述驱动控制参数确定被控步进电机的运行速度曲线;
加减速确定模块,用于基于所述运行总步数和所述运行速度曲线确定被控步进电机运行时的最佳加速步数和最佳减速步数;
驱动控制模块,用于启动定时器,按照预定规律周期产生脉冲,每个中断触发执行中断任务;
运行状态获取模块,用于获取中断时被控步进电机的运行状态和状态参数,所述运行状态包括加速状态、减速状态和匀速状态,所述状态参数包括加速度值或减速度值;
周期调整模块,用于若中断时被控步进电机的运行状态为加速状态或减速状态,则根据当时加速度值或当时减速度值调整定时器下一周期时间;
停止控制模块,用于步数递增后退出中断,等待下一次中断,若为减速状态,则直至预设运行步数走完,被控步进电机停止运行。
第三方面,本发明公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本发明公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
本发明的实施例提供的技术方案可以具有以下有益效果:
在速度曲线上更加平滑,且步数较少的情况下依旧能完整的体现加减速过程,实时计算及灵活的应变,在每个控制周期都进行计算,将运算参数放大相应倍数规避浮点数的运算,减少系统计算耗时,让整体呈现更加灵活且实时性,速度曲线的自动调节,使运动过程平稳顺滑。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明公开实施例所提供的一种步进电机驱动控制方法的流程示意图;
图2示出了本发明公开实施例所提供的另一种步进电机驱动控制方法的流程示意图;
图3示出了本发明公开实施例所提供的一种步进电机驱动控制装置的功能结构示意图;
图4示出了本发明公开实施例所提供的一种计算机设备的结构示意图;
图5示出了本发明公开实施例所提供的又一种步进电机驱动控制方法的流程示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附发明内容中所详述的、本发明的一些方面相一致的装置和方法的例子。
实施例1
如图1所示,本发明公开实施例所提供的一种步进电机驱动控制方法的流程图,该方法包括:
S11:获取被控步进电机的驱动控制参数,驱动控制参数包括运行总步数、运行加速度、运行减速度、目标速度、启动速度和停止速度。
S12:根据驱动控制参数确定被控步进电机的运行速度曲线。
S13:基于运行总步数和运行速度曲线确定被控步进电机运行时的最佳加速步数和最佳减速步数。
S14:启动定时器,按照预定规律周期产生脉冲,每个中断触发执行中断任务。
中断任务包括:
S15:获取中断时被控步进电机的运行状态和状态参数,运行状态包括加速状态、减速状态和匀速状态,状态参数包括加速度值或减速度值。
S16:若中断时被控步进电机的运行状态为加速状态或减速状态,则根据当时加速度值或当时减速度值调整定时器下一周期时间。
S17:步数递增后退出中断,等待下一次中断,若为减速状态,则直至预设运行步数走完,被控步进电机停止运行。
可以理解的是,本实施例提供的技术方案,在速度曲线上更加平滑,且步数较少的情况下依旧能完整的体现加减速过程,实时计算及灵活的应变,在每个控制周期都进行计算,将运算参数放大相应倍数规避浮点数的运算,减少系统计算耗时,让整体呈现更加灵活且实时性,速度曲线的自动调节,使运动过程平稳顺滑。
实施例2
如图2所示,本发明公开实施例所提供的另一种步进电机驱动控制方法的流程图,该方法包括:
S21:获取被控步进电机的驱动控制参数,驱动控制参数包括运行总步数、运行加速度、运行减速度、目标速度、启动速度和停止速度。
S22:根据驱动控制参数确定被控步进电机的运行速度曲线。
S23:基于运行总步数和运行速度曲线确定被控步进电机运行时的最佳加速步数和最佳减速步数。
S24:启动定时器,按照预定规律周期产生脉冲,每个中断触发执行中断任务。
中断任务包括:
S25:获取中断时被控步进电机的运行状态和状态参数,运行状态包括加速状态、减速状态和匀速状态,状态参数包括加速度值或减速度值。
S26:若中断时被控步进电机的运行状态为加速状态或减速状态,则根据当时加速度值或当时减速度值调整定时器下一周期时间。
S27:根据运行速度曲线和调整后的定时器下一周期时间,产生不同占空比的pwm输出。
S28:步数递增后退出中断,等待下一次中断,若为减速状态,则直至预设运行步数走完,被控步进电机停止运行。
S29:若中断时被控步进电机的运行状态为匀速状态,则被控步进电机按照目标速度保持运行,并进行步数递增。
在一些可选实施利中,S22可以通过但不限于以下过程实现(图中未示出):
S221:根据加速度步数与减速度步数分配关系,判断被控步进电机在运行总步数下是否能够达到目标速度。
在一些可选实施例中,根据公式n1 = (n1+n2)decel / (accel + decel)确定加速度步数与减速度步分配关系,n1为加速步(计算得来),n2为减速步数(计算得来),accel为加速度值(用户输入),decel为减速度值(用户输入)。
S222:若能够,则运行速度曲线采用梯形曲线。
S223:若不能够,则运行速度曲线采用三角形曲线。
在一些可选实施利中,S21可以通过但不限于以下过程实现:
通过公式确定目标速度,其中,max_s_lim为以当前的加减速值达到目标速度时所需要的步数,n为达到目标速度所需的步数,α为步距角。
通过公式确定被控步进电机在运行总步数下能够达到的最大速度,其中,accel为加速度值,decel为减速度值,accel_lim为根据加减速值与总步数计算出来实际的加速步数,n1为加速步,Step为总步数。accel_lim为根据加减速值与总步数计算出来,max_s_lim为以当前的加减速值达到目标速度时所需要的步数。因此实际不一定能达到用户的目标,只有accel_lim>max_s_lim时,说明加速步数足够加速到用户目标速度,在max_s_lim之后变成匀速。
可以理解的是,本实施例提供的技术方案,在速度曲线上更加平滑,且步数较少的情况下依旧能完整的体现加减速过程,实时计算及灵活的应变,在每个控制周期都进行计算,将运算参数放大相应倍数规避浮点数的运算,减少系统计算耗时,让整体呈现更加灵活且实时性,速度曲线的自动调节,使运动过程平稳顺滑。
实施例3
如图3所示,本发明实施例还提供又一种步进电机驱动控制装置,该装置包括:
控制参数获取模块31,用于获取被控步进电机的驱动控制参数,驱动控制参数包括运行总步数、运行加速度、运行减速度、目标速度、启动速度和停止速度。
在一些可选实施例中,控制参数获取模块31通过公式确定目标速度,其中,max_s_lim为以当前的加减速值达到目标速度时所需要的步数,n为达到目标速度所需的步数,α为步距角;通过公式确定被控步进电机在运行总步数下能够达到的最大速度,其中,accel为加速度值,decel为减速度值,accel_lim为根据加减速值与总步数计算出来实际的加速步数,n1为加速步,Step为总步数。
运行曲线确定模块32,用于根据驱动控制参数确定被控步进电机的运行速度曲线,具体的,根据加速度步数与减速度步数分配关系,判断被控步进电机在运行总步数下是否能够达到目标速度;若能够,则运行速度曲线采用梯形曲线;若不能够,则运行速度曲线采用三角形曲线。
在一些可选实施例中,根据公式n1 = (n1+n2)decel / (accel + decel)确定加速度步数与减速度步分配关系,n1为加速步,n2为减速步数,accel为加速度值,decel为减速度值。
加减速确定模块33,用于基于运行总步数和运行速度曲线确定被控步进电机运行时的最佳加速步数和最佳减速步数。
驱动控制模块34,用于启动定时器,按照预定规律周期产生脉冲,每个中断触发执行中断任务。
运行状态获取模块35,用于获取中断时被控步进电机的运行状态和状态参数,运行状态包括加速状态、减速状态和匀速状态,状态参数包括加速度值或减速度值。
周期调整模块36,用于若中断时被控步进电机的运行状态为加速状态或减速状态,则根据当时加速度值或当时减速度值调整定时器下一周期时间。
停止控制模块37,用于步数递增后退出中断,等待下一次中断,若为减速状态,则直至预设运行步数走完,被控步进电机停止运行。
匀速控制模块38,用于若中断时被控步进电机的运行状态为匀速状态,则被控步进电机按照目标速度保持运行,并进行步数递增。
周期调整模块36,还用于根据运行速度曲线和调整后的定时器下一周期时间,产生不同占空比的pwm输出。
可以理解的是,本实施例提供的技术方案,在速度曲线上更加平滑,且步数较少的情况下依旧能完整的体现加减速过程,实时计算及灵活的应变,在每个控制周期都进行计算,将运算参数放大相应倍数规避浮点数的运算,减少系统计算耗时,让整体呈现更加灵活且实时性,速度曲线的自动调节,使运动过程平稳顺滑。
实施例4
基于同一技术构思,本申请实施例还提供了一种计算机设备,包括存储器1和处理器2,如图4所示,存储器1存储有计算机程序,处理器2执行计算机程序时实现上述任一项的步进电机驱动控制方法。
其中,存储器1至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器1在一些实施例中可以是步进电机驱动控制系统的内部存储单元,例如硬盘。存储器1在另一些实施例中也可以是步进电机驱动控制系统的外部存储设备,例如插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,存储器1还可以既包括步进电机驱动控制系统的内部存储单元也包括外部存储设备。存储器1不仅可以用于存储安装于步进电机驱动控制系统的应用软件及各类数据,例如步进电机驱动控制程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器2在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器1中存储的程序代码或处理数据,例如执行步进电机驱动控制程序等。
可以理解的是,本实施例提供的技术方案,在速度曲线上更加平滑,且步数较少的情况下依旧能完整的体现加减速过程,实时计算及灵活的应变,在每个控制周期都进行计算,将运算参数放大相应倍数规避浮点数的运算,减少系统计算耗时,让整体呈现更加灵活且实时性,速度曲线的自动调节,使运动过程平稳顺滑。
为了便于读者理解发明实施例技术方案,下面通过具体实例对以上方案中的技术细节进行详细描述。
本发明实施提供的步进电机驱动算法根据输入的关键参数,如总步数、加减速值、目标运动速度值、启动速度和停止速度制定步进电机速度曲线,允许实时参数化和计算,只使用简单的定点算数运算,不需使用参数表。当加减速参数能够达到最大速度时,速度曲线以梯形形式为最佳曲线,当加减速参数无法达到最大速度时,速度曲线以三角形形式为最佳曲线。
根据公式n1 = (n1+n2)decel / (accel + decel),求得加速度与减速度步数之间的分配关系,得到规定运行步数下最佳的加减速步数值。
而目标速度在设定的运行步数下,由加速度与减速度绘制曲线得到最高速度的交点,判断是否能够达到目标速度,若能达到目标速度则为梯形曲线,达不到则为三角形曲线,具体公式如下。
,max_s_lim是加速到最大速度所需步数。
,accel_lim是在当前加速度与减速度,及总步数的前提下,能达到的最高速度时,所需的步数。
若accel_lim 大于max_s_lim则为梯形速度曲线,若accel_lim 小于max_s_lim则为三角形速度曲线。
启动定时器中断的目的是为了产生脉冲,同时调整定时器的周期,根据计算好的速度曲线,产生不同占空比的pwm(脉冲宽度调制,Pulse Width Modulation)输出。
该技术方案在速度曲线上更加平滑,且步数较少的情况下依旧能完整的体现加减速过程,实时计算及灵活的应变,在每个控制周期都进行计算,将运算参数放大相应倍数规避浮点数的运算,减少系统计算耗时,让整体呈现更加灵活且实时性,速度曲线的自动调节,使运动过程平稳顺滑。判断步数的状态是根据速度曲线计算出的梯形或三角形曲线的加速度步数数量,进行比较,若大于等于加速度步数数量,则根据梯形或者是三角形的速度曲线,判断是以目标速度运行,或者是开始减速。
上述方案中,匀速下的目标速度是根据用户输入的参数得来。减速状态下根据参数计算下一个周期的时间,该周期为定时器的中断周期,由该定时器周期中断产生脉冲驱动步进电机,因此每次进中断都需要计算下一次的定时器周期值,实现加速或减速时的周期时间变化规律。步数走完和终止是根据开始时用户输入的步进电机运行步数进行判断,若已经达到用户的目的,步数已经走完,那就终止运行,电机停止转动。
上述方案有效解决步进电机加减速的线性平滑且稳定不丢步的要求,特别是对于步数少于200步以及加减速与目标转速相差较大的情况下的运动。
本发明公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中的步进电机驱动控制方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本发明公开实施例所提供的步进电机驱动控制方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行上述方法实施例中的步进电机驱动控制方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本发明公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种步进电机驱动控制方法,其特征在于,包括:
获取被控步进电机的驱动控制参数,所述驱动控制参数包括运行总步数、运行加速度、运行减速度、目标速度、启动速度和停止速度;
根据所述驱动控制参数确定被控步进电机的运行速度曲线;
基于所述运行总步数和所述运行速度曲线确定被控步进电机运行时的最佳加速步数和最佳减速步数;
启动定时器,按照预定规律周期产生脉冲,每个中断触发执行中断任务;
所述中断任务包括:
获取中断时被控步进电机的运行状态和状态参数,所述运行状态包括加速状态、减速状态和匀速状态,所述状态参数包括加速度值或减速度值;
若中断时被控步进电机的运行状态为加速状态或减速状态,则根据当时加速度值或当时减速度值调整定时器下一周期时间;
步数递增后退出中断,等待下一次中断,若为减速状态,则直至预设运行步数走完,被控步进电机停止运行。
2.根据权利要求1所述的步进电机驱动控制方法,其特征在于,包括:
若中断时被控步进电机的运行状态为匀速状态,则被控步进电机按照所述目标速度保持运行,并进行步数递增。
3.根据权利要求2所述的步进电机驱动控制方法,其特征在于,根据所述驱动控制参数确定被控步进电机的运行速度曲线包括:
根据加速度步数与减速度步数分配关系,判断被控步进电机在所述运行总步数下是否能够达到所述目标速度;
若能够,则所述运行速度曲线采用梯形曲线;
若不能够,则所述运行速度曲线采用三角形曲线。
4.根据权利要求3所述的步进电机驱动控制方法,其特征在于,根据公式n1 = (n1+n2)decel / (accel + decel)确定加速度步数与减速度步分配关系,n1为加速步,n2为减速步数,accel为加速度值,decel为减速度值。
5.根据权利要求4所述的步进电机驱动控制方法,其特征在于,所述步数递增后退出中断之前,所述方法还包括:
根据所述运行速度曲线和调整后的定时器下一周期时间,产生不同占空比的pwm输出。
6.根据权利要求5所述的步进电机驱动控制方法,其特征在于,所述获取被控步进电机的驱动控制参数包括:
通过公式确定所述目标速度,其中,max_s_lim为以当前的加减速值达到目标速度时所需要的步数,n为达到目标速度所需的步数,α为步距角。
7.根据权利要求6所述的步进电机驱动控制方法,其特征在于,所述获取被控步进电机的驱动控制参数还包括:
通过公式确定被控步进电机在所述运行总步数下能够达到的最大速度,其中,accel为加速度值,decel为减速度值,accel_lim为根据加减速值与总步数计算出来实际的加速步数,n1为加速步,Step为总步数。
8.一种步进电机驱动控制装置,其特征在于,包括:
控制参数获取模块,用于获取被控步进电机的驱动控制参数,所述驱动控制参数包括运行总步数、运行加速度、运行减速度、目标速度、启动速度和停止速度;
运行曲线确定模块,用于根据所述驱动控制参数确定被控步进电机的运行速度曲线;
加减速确定模块,用于基于所述运行总步数和所述运行速度曲线确定被控步进电机运行时的最佳加速步数和最佳减速步数;
驱动控制模块,用于启动定时器,按照预定规律周期产生脉冲,每个中断触发执行中断任务;
运行状态获取模块,用于获取中断时被控步进电机的运行状态和状态参数,所述运行状态包括加速状态、减速状态和匀速状态,所述状态参数包括加速度值或减速度值;
周期调整模块,用于若中断时被控步进电机的运行状态为加速状态或减速状态,则根据当时加速度值或当时减速度值调整定时器下一周期时间;
停止控制模块,用于步数递增后退出中断,等待下一次中断,若为减速状态,则直至预设运行步数走完,被控步进电机停止运行。
9.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7中任一项所述步进电机驱动控制方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7中任一项所述步进电机驱动控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311340295.2A CN117081437A (zh) | 2023-10-17 | 2023-10-17 | 步进电机驱动控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311340295.2A CN117081437A (zh) | 2023-10-17 | 2023-10-17 | 步进电机驱动控制方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117081437A true CN117081437A (zh) | 2023-11-17 |
Family
ID=88704693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311340295.2A Pending CN117081437A (zh) | 2023-10-17 | 2023-10-17 | 步进电机驱动控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117081437A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5894209A (en) * | 1997-04-24 | 1999-04-13 | Pioneer Electronic Corporation | Apparatus for and method of controlling stepping motor |
JP3067212U (ja) * | 1999-09-06 | 2000-03-31 | 船井電機株式会社 | プリンタのモ―タ制御装置 |
CN102005997A (zh) * | 2010-10-27 | 2011-04-06 | 北京和利康源医疗科技有限公司 | 一种步进电机的驱动控制装置和方法 |
CN110535379A (zh) * | 2019-08-21 | 2019-12-03 | 广芯微电子(广州)股份有限公司 | 一种伺服电机控制方法及系统 |
CN111775716A (zh) * | 2020-06-09 | 2020-10-16 | 上海欣巴自动化科技股份有限公司 | 一种agv设备速度控制方法及系统 |
CN113003037A (zh) * | 2021-02-28 | 2021-06-22 | 哈尔滨理工大学 | 一种基于交叉带式分拣结构的智能垃圾分类系统 |
CN113489393A (zh) * | 2021-06-29 | 2021-10-08 | 中国科学院合肥物质科学研究院 | 一种永磁式步进电机细分驱动方法 |
CN114884408A (zh) * | 2022-05-20 | 2022-08-09 | 深圳数联天下智能科技有限公司 | 步进电机运转的控制方法、装置、设备和介质 |
CN115800840A (zh) * | 2022-11-17 | 2023-03-14 | 北京瑞祺皓迪技术股份有限公司 | 一种步进电机的动态控制方法、装置及位置跟随系统 |
-
2023
- 2023-10-17 CN CN202311340295.2A patent/CN117081437A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5894209A (en) * | 1997-04-24 | 1999-04-13 | Pioneer Electronic Corporation | Apparatus for and method of controlling stepping motor |
JP3067212U (ja) * | 1999-09-06 | 2000-03-31 | 船井電機株式会社 | プリンタのモ―タ制御装置 |
CN102005997A (zh) * | 2010-10-27 | 2011-04-06 | 北京和利康源医疗科技有限公司 | 一种步进电机的驱动控制装置和方法 |
CN110535379A (zh) * | 2019-08-21 | 2019-12-03 | 广芯微电子(广州)股份有限公司 | 一种伺服电机控制方法及系统 |
CN111775716A (zh) * | 2020-06-09 | 2020-10-16 | 上海欣巴自动化科技股份有限公司 | 一种agv设备速度控制方法及系统 |
CN113003037A (zh) * | 2021-02-28 | 2021-06-22 | 哈尔滨理工大学 | 一种基于交叉带式分拣结构的智能垃圾分类系统 |
CN113489393A (zh) * | 2021-06-29 | 2021-10-08 | 中国科学院合肥物质科学研究院 | 一种永磁式步进电机细分驱动方法 |
CN114884408A (zh) * | 2022-05-20 | 2022-08-09 | 深圳数联天下智能科技有限公司 | 步进电机运转的控制方法、装置、设备和介质 |
CN115800840A (zh) * | 2022-11-17 | 2023-03-14 | 北京瑞祺皓迪技术股份有限公司 | 一种步进电机的动态控制方法、装置及位置跟随系统 |
Non-Patent Citations (1)
Title |
---|
计兆麒 等: "基于STM32码垛机器人的控制方法研究", 《常熟理工学院学报(自然科学)》, vol. 34, no. 5, pages 19 - 23 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107070327B (zh) | 一种步进电机控制方法及装置 | |
CN112388297A (zh) | 自动锁螺丝方法、螺丝机及存储介质 | |
JPS62138274A (ja) | 印刷ヘッド・モータ制御システム | |
US11658593B2 (en) | Automated speed ramp control of stepper motors | |
JP2008199883A (ja) | S―曲線速度輪郭における不測の速度逆転の除去システム | |
CN107800338B (zh) | 基于fpga的步进电机升降速控制方法 | |
CN117081437A (zh) | 步进电机驱动控制方法和装置 | |
US6417642B2 (en) | Motor-controlling circuit for an optical-axis-adjusting unit of a vehicle illuminating device | |
JP4542668B2 (ja) | パルス発振ic並びにそのicを使用したモータの位置決め制御方法とその装置 | |
CN111130405A (zh) | 电机控制方法、装置及终端设备 | |
CN109760053A (zh) | 一种桁架机械手的动态规划速度控制方法 | |
CN111092575B (zh) | 一种基于单片机控制步进电机的t型加减速控制方法 | |
JP2004248392A (ja) | モータ制御方法及びモータ制御用パルス発生ic | |
CN117219984A (zh) | 用于新能源电池包的注液控制方法和装置 | |
CN111884564A (zh) | 变频器控制方法、变频器系统及存储介质 | |
CN114337404A (zh) | 直流电机控制方法、空调器和计算机可读存储介质 | |
CN111522328A (zh) | 用于伺服系统自调谐的方法及装置、伺服系统 | |
CN112583309B (zh) | 一种基于光电编码器的步进电机速度调整控制算法 | |
CN110943654A (zh) | 步进电机驱动芯片的驱动方法及系统 | |
JP7085101B1 (ja) | 走行制御装置 | |
JPH08290451A (ja) | 射出成形機の射出速度制御方法および装置 | |
CN117081463A (zh) | 阻尼电机驱动控制方法和装置 | |
KR100700187B1 (ko) | 모터의 가감속 운전 방법 | |
CN115133820A (zh) | 一种电机脉冲控制方法及电机脉冲控制系统 | |
CN114164313B (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 |