CN107070327B - 一种步进电机控制方法及装置 - Google Patents
一种步进电机控制方法及装置 Download PDFInfo
- Publication number
- CN107070327B CN107070327B CN201710196880.8A CN201710196880A CN107070327B CN 107070327 B CN107070327 B CN 107070327B CN 201710196880 A CN201710196880 A CN 201710196880A CN 107070327 B CN107070327 B CN 107070327B
- Authority
- CN
- China
- Prior art keywords
- step number
- stepper motor
- target
- formula
- phase
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000001133 acceleration Effects 0.000 claims abstract description 37
- 238000010586 diagram Methods 0.000 description 8
- 230000005611 electricity Effects 0.000 description 6
- 238000006073 displacement reaction Methods 0.000 description 3
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- JEIPFZHSYJVQDO-UHFFFAOYSA-N ferric oxide Chemical compound O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000007787 solid Substances 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
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Control Of Stepping Motors (AREA)
Abstract
本发明提供了一种步进电机控制方法及装置,该方法包括:根据步进电机的目标速度和第一公式,计算所述步进电机在加速阶段和减速阶段的总步数;根据所述总步数和以及预设步数参数确定目标公式,所述预设步数参数为所述目标速度对应的步数参数;根据所述目标公式计算所述步进电机在减速阶段的目标减速步数;根据所述步进电机当前已运行的步数、所述目标减速步数及所述预设步数参数,控制所述步进电机的运行状态,其中,所述运行状态包括加速状态、匀速状态和减速状态。本发明通过采用上述技术方案,能够实时控制步进电机的运行,准确确定步进电机的减速点,提高控制步进电机运行的精准性。
Description
技术领域
本发明涉及电机控制技术领域,尤其涉及一种步进电机控制方法及装置。
背景技术
步进电机是将电脉冲信号转变为角位移或线位移的开环控制电机,是现代数字程序控制系统中的主要执行元件,应用极为广泛。在非超载的情况下,步进电机的转速、停止的位置只取决于电机驱动器所接收到的脉冲信号的频率和脉冲数,而不受负载变化的影响。当电机驱动器接收到一个脉冲信号,就会驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,步进电机的旋转是以固定的角度一步一步运行的,可以通过控制脉冲个数来控制步进电机的角位移量,从而达到准确定位的目的,并且可以通过控制脉冲频率来控制步进电机转动的速度和加速度,从而达到调速的目的。
现有的控制步进电机运行的方法通常提前计算出步进电机加速运行阶段步数、匀速运行阶段步数和减速运行阶段步数,并设定步数运行参数,来控制步进步进电机按照固定步数运行,但是可能存在计算误差较大,或设定的步数运行参数较小,在电机运行时出现计算的运行步数和电机实际运行的步数不等,导致电机的速度还没降到零或起始速度,该走的距离就走完了,电机急刹车,或者电机速度未达到目标速度就降下来了,该走的距离还没走完,电机还会“噔-噔-噔”的再走几步才停下来,无法精确控制电机运行。
发明内容
有鉴于此,本发明提供一种步进电机控制方法及装置,以解决现有步进电机控制技术无法精确控制电机运行的技术缺陷。
第一方面,本发明提供了一种步进电机控制方法,包括:
根据步进电机的目标速度和第一公式,计算所述步进电机在加速阶段和减速阶段的总步数;
根据所述总步数和以及预设步数参数确定目标公式,所述预设步数参数为所述目标速度对应的步数参数;
根据所述目标公式计算所述步进电机在减速阶段的目标减速步数;
根据所述步进电机当前已运行的步数、所述目标减速步数及所述预设步数参数,控制所述步进电机的运行状态,其中,所述运行状态包括加速状态、匀速状态和减速状态。
第二方面,本发明还提供了一种步进电机控制装置,包括:
第一步数计算模块,用于根据步进电机的目标速度和第一公式,计算所述步进电机在加速阶段和减速阶段的总步数;
目标公式确定模块,用于根据所述总步数和以及预设步数参数确定目标公式,所述预设步数参数为所述目标速度对应的步数参数;
第二步数计算模块,用于根据所述目标公式计算所述步进电机在减速阶段的目标减速步数;
控制模块,用于根据所述步进电机当前已运行的步数、所述目标减速步数及所述预设步数参数,控制所述步进电机的运行状态,其中,所述运行状态包括加速状态、匀速状态和减速状态。
本发明提供的技术方案,通过目标速度与第一公式计算出加速阶段和减速阶段的总步数后,根据预设步数参数确定出目标公式,并根据目标公式计算出减速阶段的目标减速度,根据步进电机的实时运行步数、计算的目标减速度步数和预设步数运行参数,来控制步进电机的运行。本发明通过采用上述技术方案,能够实时控制步进电机的运行,准确确定步进电机的减速点,提高控制步进电机运行的精准性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的内容和这些附图获得其他的附图。
图1为本发明实施例一提供的一种步进电机控制方法的流程示意图;
图2为本发明实施例二提供的一种步进电机控制方法的流程示意图;
图3为本发明实施例三提供的一种步进电机控制方法的流程示意图;
图4为本发明实施例四提供的一种步进电机控制装置的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1为本发明实施例一提供的一种步进电机控制方法的流程示意图。本实施例适用于控制步进电机运行的情况,该方法可以由步进电机控制装置执行,其中该装置可由软件和/或硬件实现,一般可集成在步进电机控制设备中。如图1所示,该方法包括如下步骤:
步骤110、根据步进电机的目标速度和第一公式,计算所述步进电机在加速阶段和减速阶段的总步数。
示例性的,目标速度可以理解为期望步进电机运行达到的转速,第一公式用于根据目标速度计算步进电机在加速阶段和减速阶段运行的步数,该公式中的相关参数可以包括:步进电机的目标速度、步进电机的启动速度、步进电机转一圈的步数和步进电机的加速度,其中,步进电机的加速度可以为步进电机在加速阶段的加速度或步进电机在减速阶段的加速度,从而分别计算出步进电机在加速阶段的步数和减速阶段的步数,得到上述总步数。
步骤120、根据所述总步数和以及预设步数参数确定目标公式,所述预设步数参数为所述目标速度对应的步数参数。
示例性的,预设步数参数为根据目标速度计算得到的步进电机所应运行的步数,在步进电机的运行过程中,通常需要进行加速-匀速-减速停止的过程,以梯形加减速为例,即步进电机按直线的方式,以一定的比例进行加速或减速,可以根据步进电机运行的期望控制曲线,分别计算出加速阶段、匀速阶段及减速阶段的步数,三个阶段的步数和即为上述预设步数参数,将计算得到预设步数参数提供给上位机,上位机发送控制指令,使得电机驱动器按照上述预设步数参数控制步进电机按照固定步数运行,但在电机实际运行中,可能存在设置的运行步数参数较小,使得步进电机还未达到目标速度就进入减速阶段的问题。
示例性的,将步骤110中计算得到的总步数与预设步数参数进行比较,根据比较结果确定目标公式。
可选的,判断所述总步数是否达到所述预设步数参数;如果所述总步数达到所述预设步数参数,则将所述第一公式确定为目标公式;如果所述总步数小于所述预设步数参数,则将第二公式确定为目标公式。
示例性的,第二公式为根据预设步数参数计算步进电机在加速阶段或减速阶段步数的公式。将根据公式一计算得到的上述总步数与所述预设步数参数进行比较,若上述总步数达到所述预设步数参数,表明设置的预设步数参数较小,可能出现步进电机还未达到目标速度就进入减速阶段,因而将公式二确定为目标公式,若上述总步数小于所述预设步数参数,表明设置的预设步数参数足够使得步进电机在达到目标速度后才进入减速阶段,因而将公式一确定为目标公式,通过对公式一和公式二进行选择来确定目标公式,使得在后续根据目标公式计算得到的目标减速步数具有更高的精准性。
步骤130、根据所述目标公式计算所述步进电机在减速阶段的目标减速步数。
步骤140、根据所述步进电机当前已运行的步数、所述目标减速步数及所述预设步数参数,控制所述步进电机的运行状态。
其中,所述运行状态包括加速状态、匀速状态和减速状态。
示例性的,在步进电机运行过程中,能够实时记录步进电机已运行的步数,将步进电机已运行的步数与目标减速步数求和后,与预设步数参数进行比较,根据比较结果,判断步进电机是否应进入减速阶段,进而精确控制步进电机的运行状态。
可选的,根据所述步进电机当前已运行的步数、所述目标减速步数及所述预设步数参数,控制所述步进电机的运行状态,可以包括:
步骤a、根据所述预设步数参数和所述目标减速步数确定减速起始步数。
示例性的,预设步数参数减去计算得到的目标减速步数,得到减速起始步数。
步骤b、判断所述步进电机当前已运行的步数是否达到所述减速起始步数。
示例性的,步进电机运行过程中,按照步距角一步一步运行,每运行一步则对步进电机已运行的步数进行累加,实时获取步进电机已运行的步数,并判断步进电机已运行的步数是否达到减速起始步数。
步骤c、如果所述步进电机当前已运行的步数达到所述减速起始步数,则控制所述步进电机的进行减速。
示例性的,若实时获取的步进电机已运行的步数大于或等于减速起始步数,则控制步进电机进入减速阶段。
本实施例提供的技术方案,通过目标速度与第一公式计算出加速阶段和减速阶段的总步数后,根据预设步数参数确定出目标公式,并根据目标公式计算出减速阶段的目标减速度,根据步进电机的实时运行步数、计算的目标减速度步数和预设步数运行参数,来控制步进电机的运行。能够实时控制步进电机的运行,准确确定步进电机的减速点,提高控制步进电机运行的精准性。
实施例二
图2为本发明实施例二提供的一种步进电机控制方法的流程示意图。本实施例以上述实施例一为基础,对确定目标公式进行优化,该方法包括如下步骤:
步骤210、根据步进电机的目标速度和第一公式,计算所述步进电机在加速阶段和减速阶段的总步数。
可选的,步骤210可以包括:计算所述目标速度和所述步进电机的启动速度的平方差;
根据所述平方差、预设常数参数、所述步进电机转一圈的步数以及目标阶段的加速度,计算所述目标阶段的步数,所述目标阶段为加速阶段或减速阶段;
将计算得到的加速阶段的步数和减速阶段的步数相加,得到所述步进电机在所述加速阶段和所述减速阶段的总步数。
具体的,第一公式可以为如下所示的公式(1),按照公式(1),计算所述步进电机在加速阶段或减速阶段的步数:
其中,vm为步进电机的目标速度,v0为步进电机的启动速度,a表示步进电机转一圈的步数,i=1或2,当i=1时,ω1表示步进电机在加速阶段的加速度,step1表示步进电机在加速阶段的步数;当i=2时,ω2表示步进电机在减速阶段的加速度,step2表示步进电机在减速阶段的步数,其中,步进电机转一圈的步数a可以根据步进电机的步距角和细分数进行计算。
将计算得到的step1与step2相加,则得到步进电机在加速阶段和减速阶段的总步数。
步骤220、判断所述总步数是否达到预设步数参数,若是,执行步骤230、若否,则执行步骤240。
示例性的,可以将上述总步数与预设步数参数进行相减或相除,来判断上述总步数与预设步数参数的大小。
步骤230、将第一公式确定为目标公式。
步骤240、将第二公示确定为目标公式。
示例性的,第二公式中的参数包括:预设步数参数、步进电机在加速阶段的加速度和步进电机在减速阶段的加速度。
步骤250、根据所述目标公式计算所述步进电机在减速阶段的目标减速步数。
示例性的,若所述目标公式为第一公式,则根据上述公式(1)计算所述步进电机在减速阶段的目标减速步数,取i=2,将计算得到的step2确定为步进电机在减速阶段的目标减速步数。
示例性的,若所述目标公式为第二公式,则根据所述目标公式计算所述步进电机在减速阶段的目标减速步数,包括:
根据所述预设步数参数、所述步进电机在加速阶段的加速度、所述步进电机在减速阶段的加速度,计算加速阶段步数;根据所述预设步数参数和所述加速阶段步数确定减速阶段步数。
具体的,第二公式可以为如下所示的公式(2),按照公式(2)计算步进电机在加速阶段的步数,之后根据公式(3)计算步进电机在减速阶段的目标减速步数。
step2=steptotal-step1 (3)
其中,ω1表示步进电机在加速阶段的加速度,ω2表示步进电机在减速阶段的加速度,steptotal表示预设步数参数,step1表示步进电机在加速阶段的步数,step2表示步进电机在减速阶段的步数。
步骤260、步进电机启动。
示例性的,设置步进电机的起始速度v0,开启步进电机,步进电机升速时的起始速度等于或略小于系统的极限启动频率即可,即使步进电机能够运转起来。
步骤270、步进电机驱动。
示例性的,信号发生器发出脉冲信号至电机驱动器,由电机驱动器驱动步进电机按照步距角一步一步运行。
步骤280、判断步进电机已运行的步数与所述目标减速步数的步数和是否达到预设步数参数,若是,执行步骤290,若否,则返回执行步骤270。
示例性的,若步进电机已运行的步数与所述目标减速步数的步数和大于或等于预设步数参数,则执行步骤290,若小于,则返回执行步骤270。
示例性的,在返回执行步骤270时,根据步进电机的当前状态对步进电机进行驱动,例如,若步进电机当前处于加速阶段,则继续驱动步进电机加速运行,若步进电机当前处于匀速阶段,则继续驱动步进电机匀速运行。
步骤290、控制步进电机进入减速状态。
示例性的,通过降低步进电机接收到的脉冲信号的频率,控制步进电机进行减速,直至步进电机所运行的步数达到预设步数参数时,步进电机停止运行。
本实施例提供的技术方案,根据目标速度与第一公式计算出的加速阶段和减速阶段的总步数与预设步数参数的比较结果,从第一公式与第二公式中选择目标公式,根据目标公式计算目标减速步数,并用于判断步进电机是否进入减速状态,能够实时控制步进电机的运行,准确确定步进电机的减速点,提高控制步进电机运行的精准性。
实施例三
图3为本发明实施例三提供的一种步进电机控制方法的流程示意图。本实施例以上述各实施例为基础,对控制步进电机的运行状态进行优化,如图3所示,该方法包括如下步骤:
步骤310、根据步进电机的目标速度和第一公式,计算所述步进电机在加速阶段和减速阶段的总步数。
步骤320、根据所述总步数和以及预设步数参数确定目标公式,所述预设步数参数为所述目标速度对应的步数参数。
步骤330、根据所述目标公式计算所述步进电机在减速阶段的目标减速步数。
步骤340、根据所述步进电机当前已运行的步数、所述目标减速步数及所述预设步数参数,控制所述步进电机的运行状态。
其中,所述运行状态包括加速状态、匀速状态和减速状态。
示例性的,根据所述步进电机当前已运行的步数、所述目标减速步数及所述预设步数参数判断出步进电机是否进入减速状态,若是,则控制步进电机进入减速状态,若否,则控制步进电机以当前状态继续驱动。
其中,在控制步进电机的运行状态时,步骤340还可以包括如下步骤:
步骤341、确定所述步进电机的下一速度。
示例性的,下一速度可以理解为期望步进电机在下一时刻或下一运行周期达到的运行速度。
步骤342、根据所述步进电机的下一速度与所述步进电机转一圈的步数,计算所述步进电机的下一运行频率。
示例性的,步进电机的运行频率也即驱动步进电机运行的脉冲发射频率。
步骤343、根据所述步进电机的下一运行频率,控制所述步进电机的运行状态。
示例性的,根据计算得到的步进电机的下一运行频率,调整电机驱动器接收到的脉冲频率,使电机驱动器以下一运行频率来驱动步进电机,对步进电机的运行状态进行控制。
可选的,确定所述步进电机的下一速度,可以包括如下步骤:
步骤A、根据所述步进电机的当前速度与所述步进电机转一圈的步数,计算所述步进电机的当前运行频率。
示例性的,可以按照如下公式(4),计算所述步进电机的当前运行频率:
其中,vn表示步进电机的当前速度,fn表示步进电机的当前运行频率,a表示步进电机转一圈的步数。
示例性的,控制芯片能够实时获取步进电机的运行速度vn,可以根据步进电机的步距角和细分数计算步进电机转一圈的步数a,通常在步进电机的步距角与细分数设定后,a固定不变。
步骤B、根据所述步进电机的当前运行频率与控制芯片的固有时钟频率,计算所述控制芯片的当前装载值。
示例性的,可以按照如下公式(5),计算所述步进电机的当前装载值:
其中,fn表示上述步骤A中计算得到步进电机的当前运行频率,cn表示步进电机控制芯片的当前装载值,f表示控制芯片的固有时钟频率,控制芯片可以包括FPGA芯片。
步骤C、根据所述控制芯片的当前装载值、所述控制芯片的固有时钟频率、所述步进电机的当前速度与所述步进电机的加速度,计算所述步进电机的下一速度。
示例性的,可以按照如下公式(6),计算所述步进电机的下一速度:
其中,vn、cn和f与上述公式(4)和(5)中的含义相同,vn+1表示步进电机的下一速度,i=1或2,当i=1时,ω1表示所述电机在加速阶段的加速度,对应上述公式中的“+”符号,当i=2时,ω2表示所述电机在减速阶段的加速度,对应上述公式中的“-”符号。
示例性的,若步进电机处于加速阶段,则上述公式(6)中i=1,对应“+”符号,若步进电机处于减速阶段,则上述公式(6)中i=2,对应“-”符号。
示例性的,将上述步骤C中计算得到的步进电的下一速度返回代入上述公式(4)中,则计算得到步进电机的下一运行频率,根据计算得到的步进电机的下一运行频率,控制电机驱动器接收到的脉冲频率,从而调整步进电机的运行速度。
示例性的,通过公式(4)~公式(6)的循环代入计算,不断更新步进电机的下一速度,实现步进电机在加速阶段或减速阶段内速度的自动控制。可以理解的是,在步进电机驱动过程中,也可以通过公式(4)~公式(6)的循环代入计算,对步进电机进行驱动。
现有的步进电机控制技术,针对不同的步进电机,通常需根据实际运行操作,建立步进电机的运行速度与运行频率(也即脉冲发射频率)之间的对应关系,如建立电机的运行速度与运行频率一一对应的丰富列表,以查表的方式不断改变步进电机的运行频率,实现对步进电机运行状态的调整,控制过程复杂,且针对不同的步进电机,如电机型号不同或负载不同等,均需要重新建立上述列表,使得现有步进电机控制技术可移植性差。
本实施例提供的技术方案,根据循环计算不断更新步进电机的下一速度,并根据步进电机的下一速度确定步进电机的下一运行频率,进而控制所述步进电机的运行状态,实现对步进电机实时地、自动地控制,并能够准确确定步进电机的减速点,控制步进电机进行减速,提高控制步进电机运行的精准性,并且针对不同的步进电机,只需改变相应的设置参数即可,该方法可移植性较高,通用性强,简化用户操作,提升用户体验。
实施例四
图4为本发明实施例四提供的一种步进电机控制装置的结构示意图。该装置可由软件和/或硬件实现,一般集成在控制步进电机的设备中,可通过执行步进电机控制方法来控制电机运行。如图4所示,该装置包括:第一步数计算模块410、目标公式确定模块420、第二步数计算模块430和控制模块440。
其中,第一步数计算模块410,用于根据步进电机的目标速度和第一公式,计算所述步进电机在加速阶段和减速阶段的总步数;
目标公式确定模块420,用于根据所述总步数和以及预设步数参数确定目标公式,所述预设步数参数为所述目标速度对应的步数参数;
第二步数计算模块430,用于根据所述目标公式计算所述步进电机在减速阶段的目标减速步数;
控制模块440,用于根据所述步进电机当前已运行的步数、所述目标减速步数及所述预设步数参数,控制所述步进电机的运行状态,其中,所述运行状态包括加速状态、匀速状态和减速状态。
本发明实施例提供的技术方案,通过目标速度与第一公式计算出加速阶段和减速阶段的总步数后,根据预设步数参数确定出目标公式,并根据目标公式计算出减速阶段的目标减速度,根据步进电机的实时运行步数、计算的目标减速度步数和预设步数运行参数,来控制步进电机的运行。能够实时控制步进电机的运行,准确确定步进电机的减速点,提高控制步进电机运行的精准性。
在上述实施例的基础上,所述目标公式确定模块420具体用于:
判断所述总步数是否达到所述预设步数参数;
如果所述总步数达到所述预设步数参数,则将所述第一公式确定为目标公式;
如果所述总步数小于所述预设步数参数,则将第二公式确定为目标公式。
在上述各实施例的基础上,所述控制模块440具体用于:
根据所述预设步数参数和所述目标减速步数确定减速起始步数;
判断所述步进电机当前已运行的步数是否达到所述减速起始步数;
如果所述步进电机当前已运行的步数达到所述减速起始步数,则控制所述步进电机的进行减速。
在上述各实施例的基础上,所述第一步数计算模块410具体用于:
计算所述目标速度和所述步进电机的启动速度的平方差;
根据所述平方差、预设常数参数、所述步进电机转一圈的步数以及目标阶段的加速度,计算所述目标阶段的步数,所述目标阶段为加速阶段或减速阶段;
将计算得到的加速阶段的步数和减速阶段的步数相加,得到所述步进电机在所述加速阶段和所述减速阶段的总步数。
在上述各实施例的基础上,所述第二步数计算模块430还用于:
在当所述目标公式为所述第二公式时,根据所述预设步数参数、所述步进电机在加速阶段的加速度、所述步进电机在减速阶段的加速度,计算加速阶段步数;
根据所述预设步数参数和所述加速阶段步数确定减速阶段步数。
在上述各实施例的基础上,所述控制模块440可以包括:
速度确定单元,用于确定所述步进电机的目标转速;
运行频率确定单元,用于根据所述步进电机的目标转速与所述步进电机转一圈的步数,计算所述步进电机的下一运行频率;
控制单元,用于根据所述步进电机的下一运行频率,控制所述步进电机的运行状态。
在上述各实施例的基础上,所述速度确定单元,可以包括:
频率计算子单元,用于根据所述步进电机的当前速度与所述步进电机转一圈的步数,计算所述步进电机的当前运行频率;
装载值计算子单元,用于根据所述步进电机的当前运行频率与控制芯片的固有时钟频率,计算所述控制芯片的当前装载值;
速度确定子单元,用于根据所述控制芯片的当前装载值、所述控制芯片的固有时钟频率、所述步进电机的当前速度与所述步进电机的加速度,计算所述步进电机的下一速度。
上述实施例中提供的步进电机控制装置可执行本发明任意实施例所提供的步进电机控制方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的步进电机控制方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新控制和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种步进电机控制方法,其特征在于,包括:
根据步进电机的目标速度和第一公式,计算所述步进电机在加速阶段和减速阶段的总步数,所述第一公式为根据所述目标速度计算步进电机在加速阶段运行的步数和减速阶段运行的步数的公式;
根据所述总步数和以及预设步数参数确定目标公式,所述预设步数参数为所述目标速度对应的步数参数;
根据所述目标公式计算所述步进电机在减速阶段的目标减速步数;
根据所述步进电机当前已运行的步数、所述目标减速步数及所述预设步数参数,控制所述步进电机的运行状态,其中,所述运行状态包括加速状态、匀速状态和减速状态。
2.根据权利要求1所述的方法,其特征在于,所述根据所述总步数以及预设步数参数确定目标公式,包括:
判断所述总步数是否达到所述预设步数参数;
如果所述总步数达到所述预设步数参数,则将所述第一公式确定为目标公式;
如果所述总步数小于所述预设步数参数,则将第二公式确定为目标公式,所述第二公式为根据所述预设步数参数计算步进电机在加速阶段的步数或减速阶段的步数的公式。
3.根据权利要求1所述的方法,其特征在于,根据所述步进电机当前已运行的步数、所述目标减速步数及所述预设步数参数,控制所述步进电机的运行状态,包括:
根据所述预设步数参数和所述目标减速步数确定减速起始步数;
判断所述步进电机当前已运行的步数是否达到所述减速起始步数;
如果所述步进电机当前已运行的步数达到所述减速起始步数,则控制所述步进电机的进行减速。
4.根据权利要求1所述的方法,其特征在于,根据步进电机的目标速度和第一公式,计算所述步进电机在加速阶段和减速阶段的总步数,包括:
计算所述目标速度和所述步进电机的启动速度的平方差;
根据所述平方差、预设常数参数、所述步进电机转一圈的步数以及目标阶段的加速度,计算所述目标阶段的步数,所述目标阶段为加速阶段或减速阶段;
将计算得到的加速阶段的步数和减速阶段的步数相加,得到所述步进电机在所述加速阶段和所述减速阶段的总步数。
5.根据权利要求2所述的方法,其特征在于,当所述目标公式为所述第二公式时,所述根据所述目标公式计算所述步进电机在减速阶段的目标减速步数,包括:
根据所述预设步数参数、所述步进电机在加速阶段的加速度、所述步进电机在减速阶段的加速度,计算加速阶段步数;
根据所述预设步数参数和所述加速阶段步数确定减速阶段步数。
6.根据权利要求1所述的方法,其特征在于,控制所述步进电机的运行状态包括:
确定所述步进电机的下一速度;
根据所述步进电机的下一速度与所述步进电机转一圈的步数,计算所述步进电机的下一运行频率;
根据所述步进电机的下一运行频率,控制所述步进电机的运行状态。
7.根据权利要求6所述的方法,其特征在于,确定所述步进电机的下一速度,包括:
根据所述步进电机的当前速度与所述步进电机转一圈的步数,计算所述步进电机的当前运行频率;
根据所述步进电机的当前运行频率与控制芯片的固有时钟频率,计算所述控制芯片的当前装载值;
根据所述控制芯片的当前装载值、所述控制芯片的固有时钟频率、所述步进电机的当前速度与所述步进电机的加速度,计算所述步进电机的下一速度。
8.一种步进电机控制装置,其特征在于,包括:
第一步数计算模块,用于根据步进电机的目标速度和第一公式,计算所述步进电机在加速阶段和减速阶段的总步数,所述第一公式为根据所述目标速度计算步进电机在加速阶段运行的步数和减速阶段运行的步数的公式;
目标公式确定模块,用于根据所述总步数和以及预设步数参数确定目标公式,所述预设步数参数为所述目标速度对应的步数参数;
第二步数计算模块,用于根据所述目标公式计算所述步进电机在减速阶段的目标减速步数;
控制模块,用于根据所述步进电机当前已运行的步数、所述目标减速步数及所述预设步数参数,控制所述步进电机的运行状态,其中,所述运行状态包括加速状态、匀速状态和减速状态。
9.根据权利要求8所述的装置,其特征在于,所述第一步数计算模块具体用于:
计算所述目标速度和所述步进电机的启动速度的平方差;
根据所述平方差、预设常数参数、所述步进电机转一圈的步数以及目标阶段的加速度,计算所述目标阶段的步数,所述目标阶段为加速阶段或减速阶段;
将计算得到的加速阶段的步数和减速阶段的步数相加,得到所述步进电机在所述加速阶段和所述减速阶段的总步数。
10.根据权利要求8所述的装置,其特征在于,所述控制模块包括:
速度确定单元,用于确定所述步进电机的下一速度;
运行频率确定单元,用于根据所述步进电机的下一速度与所述步进电机转一圈的步数,计算所述步进电机的下一运行频率;
控制单元,用于根据所述步进电机的下一运行频率,控制所述步进电机的运行状态;
其中,所述速度确定单元,包括:
频率计算子单元,用于根据所述步进电机的当前速度与所述步进电机转一圈的步数,计算所述步进电机的当前运行频率;
装载值计算子单元,用于根据所述步进电机的当前运行频率与控制芯片的固有时钟频率,计算所述控制芯片的当前装载值;
速度确定子单元,用于根据所述控制芯片的当前装载值、所述控制芯片的固有时钟频率、所述步进电机的当前速度与所述步进电机的加速度,计算所述步进电机的下一速度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710196880.8A CN107070327B (zh) | 2017-03-29 | 2017-03-29 | 一种步进电机控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710196880.8A CN107070327B (zh) | 2017-03-29 | 2017-03-29 | 一种步进电机控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107070327A CN107070327A (zh) | 2017-08-18 |
CN107070327B true CN107070327B (zh) | 2019-07-26 |
Family
ID=59618043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710196880.8A Active CN107070327B (zh) | 2017-03-29 | 2017-03-29 | 一种步进电机控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107070327B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107544573B (zh) * | 2017-08-29 | 2021-01-01 | 深圳怡化电脑股份有限公司 | 步进电机驱动的控制方法及系统 |
CN107681933B (zh) * | 2017-08-29 | 2020-06-09 | 深圳怡化电脑股份有限公司 | 步进电机驱动的控制方法及系统 |
CN109597390A (zh) * | 2017-09-30 | 2019-04-09 | 深圳迈瑞生物医疗电子股份有限公司 | 承载盘的运动控制方法、运动故障分析方法及生化分析仪 |
CN107800338B (zh) * | 2017-11-17 | 2020-06-09 | 深圳怡化电脑股份有限公司 | 基于fpga的步进电机升降速控制方法 |
CN108416904A (zh) * | 2018-03-09 | 2018-08-17 | 深圳怡化电脑股份有限公司 | 闸门控制方法、系统、自助设备及计算机可读存储介质 |
CN109586628A (zh) * | 2018-11-15 | 2019-04-05 | 桂林优利特医疗电子有限公司 | 一种自适应的步进电机控制算法 |
CN109687782B (zh) * | 2019-01-08 | 2021-06-04 | 蓝怡科技集团股份有限公司 | 一种步进电机的控制装置和控制系统 |
CN110460274B (zh) * | 2019-07-05 | 2020-11-10 | 广东工业大学 | 一种步进电机梯形调速控制算法 |
CN110535379A (zh) * | 2019-08-21 | 2019-12-03 | 广芯微电子(广州)股份有限公司 | 一种伺服电机控制方法及系统 |
CN111092575B (zh) * | 2019-12-12 | 2022-04-12 | 珠海博杰电子股份有限公司 | 一种基于单片机控制步进电机的t型加减速控制方法 |
CN112865627B (zh) * | 2021-03-12 | 2023-09-08 | 广州安凯微电子股份有限公司 | 一种步进电机的控制方法及装置 |
CN113783481B (zh) * | 2021-08-10 | 2024-02-02 | 深圳市国赛生物技术有限公司 | 电机控制方法、装置、系统及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6074997A (ja) * | 1983-09-30 | 1985-04-27 | Hitachi Ltd | ステツプモ−タの駆動方法 |
JP3133233B2 (ja) * | 1995-07-06 | 2001-02-05 | 株式会社ユニシアジェックス | ステップモータの駆動制御方法 |
CN1485977A (zh) * | 2002-09-24 | 2004-03-31 | 力捷电脑股份有限公司 | 步进马达线性加减速的控制方法与装置 |
CN101710814B (zh) * | 2009-12-25 | 2011-12-14 | 青岛朗讯科技通讯设备有限公司 | 产生任意频率脉冲的方法以及步进电机的升降速控制方法 |
-
2017
- 2017-03-29 CN CN201710196880.8A patent/CN107070327B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107070327A (zh) | 2017-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107070327B (zh) | 一种步进电机控制方法及装置 | |
JP5343081B2 (ja) | 経路計画器用の加加速度制限軌道計画システムおよび方法 | |
CN106060380B (zh) | 一种联动相机控制系统及控制方法 | |
US9768720B2 (en) | Method and system for estimating operation parameters of a servomotor | |
CN108319300A (zh) | 执行机构的运行控制方法及装置 | |
CN108762117A (zh) | 一种伺服驱动器控制方法及装置 | |
CN109391191B (zh) | 一种电机控制系统及方法 | |
CN106843304A (zh) | 电机通用控制系统及方法 | |
CN107276469A (zh) | 步进电机的驱动方法和驱动装置 | |
CN106374798B (zh) | 一种可变细分数的步进电机加减速控制方法 | |
JPH05228794A (ja) | 主軸位置決め方式 | |
CN103253565B (zh) | 电梯及其运行速度设置的方法和装置 | |
CN112865627B (zh) | 一种步进电机的控制方法及装置 | |
CN110456728A (zh) | 基于变频器的控制方法及相关控制系统 | |
CN113359620B (zh) | 一种用于轴运动的软限位控制方法及基于rtx64的开放式运动控制器 | |
CN106933261A (zh) | 基于步进驱动的位置随动控制系统及控制方法 | |
CN111884564B (zh) | 变频器控制方法、变频器系统及存储介质 | |
CN110535379A (zh) | 一种伺服电机控制方法及系统 | |
CN206601628U (zh) | 基于步进驱动的指挥镜两维转台随动控制系统 | |
JPH1039916A (ja) | 多関節ロボットの加減速制御方法 | |
CN109742987B (zh) | 一种基于定时器变频中断的步进电机变速调节控制方法 | |
US4700321A (en) | Timing signal generator | |
CN106301116B (zh) | 脉冲步进电机的控制系统 | |
CN113285645B (zh) | 电动机控制方法、电动机驱动装置、工业用机器人的控制方法及工业用机器人 | |
JPS5991514A (ja) | 主軸定位置停止制御方法及び装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |