CN107508511B - 步进电机的加/减速控制方法和装置 - Google Patents

步进电机的加/减速控制方法和装置 Download PDF

Info

Publication number
CN107508511B
CN107508511B CN201710735231.0A CN201710735231A CN107508511B CN 107508511 B CN107508511 B CN 107508511B CN 201710735231 A CN201710735231 A CN 201710735231A CN 107508511 B CN107508511 B CN 107508511B
Authority
CN
China
Prior art keywords
control sequence
step number
current control
pulse
pulse frequency
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
Application number
CN201710735231.0A
Other languages
English (en)
Other versions
CN107508511A (zh
Inventor
关沛峰
何关金
刘经龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Shunde Industrial Design Institute
Original Assignee
Guangdong Shunde Industrial Design Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Shunde Industrial Design Institute filed Critical Guangdong Shunde Industrial Design Institute
Priority to CN201710735231.0A priority Critical patent/CN107508511B/zh
Publication of CN107508511A publication Critical patent/CN107508511A/zh
Application granted granted Critical
Publication of CN107508511B publication Critical patent/CN107508511B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P8/00Arrangements for controlling dynamo-electric motors rotating step by step
    • H02P8/14Arrangements for controlling speed or speed and torque
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P8/00Arrangements for controlling dynamo-electric motors rotating step by step
    • H02P8/36Protection against faults, e.g. against overheating or step-out; Indicating faults

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Control Of Stepping Motors (AREA)

Abstract

本发明涉及一种步进电机的加/减速控制方法和装置,该方法包括获取电机运动的目标总步数和电机运动的目标脉冲频率;获取基于控制序列的电机加速步数、减速步数与脉冲频率的对应关系;若目标总步数大于或等于当前控制序列的最大可控步数且目标脉冲频率大于或等于当前控制序列对应的脉冲频率,则控制以当前控制序列的脉冲频率输出脉冲,直至输出的总脉冲数等于当前控制序列的加速步数;将下一控制序列更新为当前控制序列,在更新的当前控制序列不为最大控制序列时返回判断设定的总步数是否大于当前控制序列的最大可控步数的步骤。该方法在更换电机时,极大的减少了工作量。

Description

步进电机的加/减速控制方法和装置
技术领域
本发明涉及电机控制技术领域,特别是涉及一种步进电机的加/减速控制方法和装置。
背景技术
步进电机的运动都会经历一个加速和减速的过程,一般来说,同样的加速度下,电机转速越快,其加速需要的力矩越大。因此,通过对步进电机进行加减速的控制可以使步进电机达到更高的转速并且能延长步进电机的寿命。步进电机的运动一般由驱动芯片控制,通过给驱动芯片脉冲可以控制电机运动的速度,脉冲的频率越高,步进电机的转速越快。目前对于步进电机的加减速控制主要通过给定的公式计算出加减速过程中的脉冲频率,从而控制电机加减速运动。
不同厂家的步进电机,加减速曲线各不相同,不同的加减速曲线需要用到不同的计算公式。这样在更换电机时,往往需要对控制程序进行大量的修改,极大的增加工作量。
发明内容
基于此,有必要针对更换电机时确定更换的电机的加减速曲线工作量大的问题,提供一种能够降低工作量的步进电机的加/减速控制方法。
一种步进电机的加/减速控制方法,包括:
获取电机运动的目标总步数和电机运动的目标脉冲频率;
基于预先存储控制序列的电机加速步数、减速步数与脉冲频率的对应关系;
判断所述目标总步数是否大于或等于当前控制序列的最大可控步数,所述当前控制序列的最大可控步数为当前控制序列的加速步数与当前控制序列的减速步数之和;
若所述目标总步数大于或等于当前控制序列的最大可控步数且目标脉冲频率大于或等于当前控制序列对应的脉冲频率,则控制以当前控制序列的脉冲频率输出脉冲,直至输出的总脉冲数等于当前控制序列的加速步数;
将下一控制序列更新为当前控制序列;
在更新的当前控制序列小于或等于最大控制序列时,返回判断设定的总步数是否大于当前控制序列的最大可控步数的步骤。
一种步进电机的加/减速控制装置,包括:第一获取模块、第二获取模块、第一判断模块、控制模块、更新模块和第二判断模块;
所述第一获取模块,用于电机运动的目标总步数和电机运动的目标脉冲频率;
基于预先存储的控制序列的电机加速步数、减速步数与脉冲频率的对应关系,所述第一判断模块,用于判断所述目标总步数是否大于或等于当前控制序列的最大可控步数,所述当前控制序列的最大可控步数为当前控制序列的加速步数与当前控制序列的减速步数之和;
所述控制模块,用于若所述目标总步数大于或等于当前控制序列的最大可控步数且目标脉冲频率大于或等于当前控制序列对应的脉冲频率,则控制以当前控制序列的脉冲频率输出脉冲,直至输出的总脉冲数等于当前控制序列的加速步数;
所述更新模块、将下一控制序列更新为当前控制序列;
所述第二判断模块,判断更新的当前控制序列是否小于或等于最大控制序列,
所述第一判断模块,还用于在所述第二判断模块的判断结果为是时,判断设定的总步数是否大于当前控制序列的最大可控步数。
上述的步进电机的加/减速控制方法,通过基于预先存储的控制序列和电机加速步数、减速步数和脉冲频率的对应关系,在目标总步数大于当前控制序列的最大可控步数且目标脉冲小于或等于当前控制序列对应的脉冲频率时,控制以当前控制序列的脉冲频率输出脉冲,直至输出的总脉冲数等于当前控制序列的加速步数,并将下一控制序列更新为当前控制序列,从而实现根据当前控制序列脉冲频率输出脉冲以进行加速。该方法在更换电机时,无需更换电机的修改程序,只需基于预先存储的控制序列和电机加速步数、减速步数与脉冲频率的对应关系即可实现,极大的减少了工作量。
附图说明
图1为一个实施例的步进电机的加/减速控制方法;
图2为一个实施例的步进电机的控制系统的结构示意图;
图3为另一个实施例的步进电机的加/减速控制方法;
图4为一个实施例的获取基于控制序列的电机加速步数、减速步数与脉冲频率的对应关系的步骤的流程示意图;
图5为一个实施例的电机的加减速曲线的示意图;
图6为另一个实施例的电机的加减速曲线的示意图;
图7为再一个实施例的电机的加减速曲线的示意图;
图8为一个实施例的步进电机的加/减速控制装置的结构示意图;
图9为另一个实施例的步进电机的加/减速控制装置的结构示意图。
具体实施方式
图1为一个实施例的步进电机的加/减速控制方法的流程示意图。如图1所示,该方法包括以下步骤:
S102:获取电机运动的目标总步数和电机运动的目标脉冲频率。
如图2的步进电机的控制系统的结构示意图所示,上位机201与步进电机的核心控制器202连接。一种步进电机的加/减速控制方法运行在核心控制器202中,电机运动的目标总步数和电机运动的目标脉冲频率可通过上位机进行设置后,发送至核心控制器202。核心控制器202与驱动芯片203连接,驱动芯片203与步进电机204连接。核心控制器202运行一种步进电机的加/减速控制方法得到控制脉冲,并将控制脉冲发送至驱动芯片203。步进电机204的运动由驱动芯片203控制,通过驱动芯片203的脉冲控制电机运动的速度。
S104:基于预先存储的控制序列的电机加速步数、减速步数与脉冲频率的对应关系,判断目标总步数是否大于或等于当前控制序列的最大可控步数,当前控制序列的最大可控步数为当前控制序列的加速步数与当前控制序列的减速步数之和。
脉冲频数是单位时间内的脉冲数量。每输入一个脉冲信号,步进电动机前进一步或后退一步,因此脉冲频率与步数频率相同。步数频率是指单位时间内电机的运动步数。
控制序列是由一系列唯一数字按照一定的顺序组成的对象。一个实施例中,控制序列包括1、2、3……N个元素。控制序列和电机加速步数、减速步数与脉冲频率的对应关系是指每一控制序列对应有电机的加速步数、减速步数和脉冲频率。存储这种对应关系的方式可以为数组和关系映射表等。
控制序列和电机加速步数、减速步数与脉冲频率的对应关系可以由用户手动输入,也可以采用其它方式对需要更新的加减速曲线进行离散化得到。
当前控制序列是指在当前时刻运行时所对应的控制序列。可以理解的是,初始化的当前控制序列为1。随着方法的运行,控制序列依次递增,当达到减速阶段时,依次递减。
每一控制序列的最大可控步数为其对应的加速步数与减速步数之和。若目标总步数大于当前控制序列的最大可控步数,说明目标总步数超出了当前控制序列的可控范围。
S106:若目标总步数大于或等于当前控制序列的最大可控步数,则判断目标脉冲频率是否大于或等于当前控制序列对应的脉冲频率。若是,则执行步骤S108。
每输入一个脉冲信号,步进电动机前进一步,因此脉冲频率与步数频率相同。若目标脉冲频率大于当前控制序列对应的脉冲频率,说明目标脉冲频率超出了当前控制序列的可控范围。
S108:控制以当前控制序列的脉冲频率输出脉冲,直至输出的总脉冲数等于当前控制序列的加速步数。
即,若目标总步数大于当前控制序列的最大可控步数且目标脉冲频率小于或等于当前控制序列对应的脉冲频率,则控制以当前控制序列的脉冲频率输出脉冲,输出的总脉冲数等于当前控制序列的加速步数。
S110:将下一控制序列更新为当前控制序列。
S112:判断更新的当前控制序列是否小于或等于最大控制序列。若是,则返回步骤S104。
上述的步进电机的加/减速控制方法,通过获取电机的控制序列和电机加速步数、减速步数和脉冲频率的对应关系,并在目标总步数大于当前控制序列的最大可控步数且目标脉冲大于或等于当前控制序列对应的脉冲频率时,控制以当前控制序列的脉冲频率输出脉冲,直至输出的总脉冲数等于当前控制序列的加速步数,并将下一控制序列更新为当前控制序列,从而实现根据当前控制序列脉冲频率输出脉冲以进行加速。该方法在更换电机时,无需更换电机的修改程序,只需获取电机的基于控制序列的电机加速步数、减速步数与脉冲频率的对应关系即可实现,极大的减少了工作量。
图3为另一个实施例的步进电机的加/减速控制方法的流程示意图。如图3所示,该方法包括以下步骤:
S302:获取电机运动的目标总步数s和电机运动的目标脉冲频率f。
电机运动的目标总步数和电机运动的目标脉冲频率可通过上位机进行设置。
S304:初始化i=1,i为当前控制序列。
S306:基于预先存储的控制序列和电机加速步数、减速步数与脉冲频率的对应关系,判断目标总步数是否大于或等于当前控制序列的最大可控步数。若是,则执行步骤S308,若否,则执行步骤S307。
脉冲频数是单位时间内的脉冲数量。每输入一个脉冲信号,步进电动机前进一步,因此脉冲频率与步数频率相同。步数频率是指单位时间内电机的运动步数。
本实施例中,存储的控制序列的电机加速步数、减速步数与脉冲频率的对应关系的方式为数组。包括加速步数数组SA[i]、减速步数数组SD[i]和脉冲频率数组F[i],各数组间基于数组中各元素的序列建立对应关系,如i=2时,F[2],SA[2],SD[2],i的值与对应数组中对应序号的实际值对应,各数组中各元素的序列即控制序列。
当前控制序列的最大可控步数为当前控制序列的加速步数与当前控制序列的减速步数之和。即,当前序列的最大可控步数为SA[i]+AD[i]。
S307:控制以当前控制序列的频率输出脉冲,直至输出的总脉冲达到设定的总步数与第i-1控制序列的减速步数之差,其中i为当前控制序列,然后更新当前控制序列,更新的当前控制序列为第i-1控制序列。
具体地,控制以当F[i]的频率输出脉冲,直至输出的总脉冲达到S-SD[i-1],则令i=i-1。
S308:判断目标脉冲频率是否大于或等于当前控制序列对应的脉冲频率。若是,则执行步骤S310,若否,则执行步骤S309。
具体地,判断目标频率f≥F[i]是否成立。若是,则执行步骤S310,若否,则执行步骤S309。
S309:控制以目标脉冲频率f输出脉冲,直到输出的总脉冲达到目标总步数与第i-1控制序列的减速步数之差时,更新当前控制序列,更新的当前控制序列为第i-1控制序列(令i=i-1)。
具体地,控制以f的频率输出脉冲,直至输出的总脉冲达到S-SD[i-1],令i=i-1。
S310:控制以当前控制序列F[i]的脉冲频率输出脉冲,直到根据脉冲频率输出的总脉冲数等于当前控制序列的加速步数。
S312:将下一控制序列更新为当前控制序列。
具体地,令i=i+1。
S314:判断i≤N,其中N为最大控制序列。若是,则返回步骤S306,若否,则执行S315。
S315:控制以最大控制序列的频率输出脉冲,直至根据最大控制序列的脉冲频率输出的总脉冲数达到总步数与第N-1控制序列的减速步数之差,并更新当前控制序列,令i=N-1。
具体地,控制以当F[N]的频率输出脉冲,直至输出的总脉冲达到S-SD[i-1],令i=N-1。
在步骤S315、S309、S307的步骤之后,执行步骤S316:根据更新的当前控制序列及减速步数进行减速。
具体地,步骤S316包括:
S3160:获取当前控制序列的减速步数以及脉冲频率。
具体地,获取SD[i]和F[i]。
S3161:控制以当前控制序列的脉冲频率输出脉冲,直至输出的总脉冲达到目标总步数与当前控制序列的前一控制序列的减速步数之差。
具体地,以F[i]的频率输出脉冲,直到总脉冲数达到目标总脉冲s-SD[i-1]。
S3162:更新当前控制序列;更新的当前控制序列为当前控制序列的前一控制序列,即令i=i-1。
S3163:判断i=1是否成立。若是,则执行步骤S3164,若否,则返回步骤S3160。
S3164:若更新的控制序列等于1,则以第一控制序列的频率输出脉冲直到输出的总脉冲达到目标总当步数。
具体地,若更新的控制序列等于1,则以F[1]的频率输出脉冲直到输出的总脉冲达到目标总步数s,然后结束减速过程。
在另一个实施例中,基于控制序列的电机加速步数、减速步数与脉冲频率的对应关系可以由上位机通过预先对电机的加减速曲线进行处理得到,具体地,包括以下步骤S1至步骤S3:
S1:获取电机的加减速曲线。
S2:对所述加减速曲线进行离散化处理,得到每个控制序列对应的电机加速步数、减速步数和脉冲频率。
S3:把得到的控制序列分作三个数组下发到核心控制器,以更新控制序列和电机加速步数、减速步数与脉冲频率的对应关系。在再一个实施例中,通过电机加速步数数组、减速步数数组和脉冲频率数组存储控制序列和电机加速步数、减速步数与脉冲频率的对应关系。具体地,如图4所示,包括以下步骤:
S402:获取上位机发送的三个数组的数据,三个数组的数据包括电机加速步数数组、减速步数数组与脉冲频率数组。
具体的,上位机获取三个数组的数据的步骤包括以下步骤S1至S4。
S1:获取电机的加减速曲线对应的公式f=FA(s)和f=FD(s)。
S2:自定义一个递增的加速步数数组SA[i]。
S3:令s=SA[i],把s逐个代入加速公式f=FA(s),得到频率数组F[i]
S4:令f=F[i],把f逐个代入减速公式f=FD(s),得到减速步数数组SD[i]。常用的电机的加减速曲线如图5至图7所示。
在另一个实施例中,请继续参阅图4,在步骤S402之后,还包括:
S404:核心控制器进行保护性判断。保护性判断的内容包括:根据控制序列与加速步数和减速步数的关系,判断加速步数和减速步数是否随着控制序列的递增而递增,判断加速步数、减速步数和脉冲频率对应的控制序列的长度是否相同。
若保护性判断通过,则执行步骤S406:根据接收到的数组数据,修改对应的数组数据。
若保护性判断不通过,则不执行操作。在其他实施例中,可以输入错误提示。
具体地,可输出错误提示以及错误原因,例如,加速步数、减速步数和脉冲频率对应的控制序列的长度不相同,又例如,加速步数和减速步数未随着控制序列的递增而递增。在其它的实施例中,也可以输出参数设置界面,以供用户重新输入控制序列和加速步数参数。
上述的步进电机的加/减速控制方法,在需要更换电机时,上位机根据电机的加减速曲线即可得到电机加速步数数组、减速步数数组与脉冲频率数组,然后通过发送参数指令更新到下位机的核心控制器中,这样在电机运动的时候无需再计算加减速曲线公式,直接通过查表(即读取数组数据)的方式来得到当前要达到的速度频率,减少计算量,。利用电机加速步数数组、减速步数数组与脉冲频率数组即可实现对电机的控制。对于电机加速步数数组、减速步数组数与脉冲频率数组还可以通过手动的方式进行修改,例如,可以对特地某个速度下的加速度进行特地的修改,这样可以根据需要使得电机在加速过程中在某一速度阶段的停留时间变得更长或更短,从而更新灵活地控制电机的加减速。
一种步进电机的加/减速控制装置,如图8所示,包括:第一获取模块801、第二获取模块802、第一判断模块803、控制模块804、更新模块805和第二判断模块805。
第一获取模块801,用于获取电机运动的目标总步数和电机运动的目标脉冲频率。
第一判断模块803,用于基于预先存储的制序列的电机加速步数、减速步数与脉冲频率的对应关系,判断目标总步数是否大于或等于当前控制序列的最大可控步数,当前控制序列的最大可控步数为当前控制序列的加速步数与当前控制序列的减速步数之和;
控制模块804,用于若目标总步数大于或等于当前控制序列的最大可控步数且目标脉冲频率大于或等于当前控制序列对应的脉冲频率,则控制以当前控制序列的脉冲频率输出脉冲,直至输出的总脉冲数等于当前控制序列的加速步数;
更新模块805、将下一控制序列更新为当前控制序列;
第二判断模块806,判断更新的当前控制序列是否小于或等于最大控制序列,
第一判断模块803,还用于在第二判断模块的判断结果为是时,判断设定的总步数是否大于当前控制序列的最大可控步数。
上述的步进电机的加/减速控制装置,通过获取电机的基于控制序列的电机加速步数、减速步数和脉冲频率的对应关系,并在目标总步数大于当前控制序列的最大可控步数且目标脉冲大于或等于当前控制序列对应的脉冲频率时,控制以当前控制序列的脉冲频率输出脉冲,直至输出的总脉冲数等于当前控制序列的加速步数,并将下一控制序列更新为当前控制序列,从而实现根据当前控制序列脉冲频率输出脉冲以进行加速。该方法在更换电机时,无需更换电机的修改程序,只需获取电机的基于控制序列的电机加速步数、减速步数与脉冲频率的对应关系即可实现,极大的减少了工作量。
在另一个实施例中,控制模块804,还用于若当前控制序列大于最大控制序列,则控制以最大控制序列的频率输出脉冲,直至输出的总脉冲数达到总步数与第N-1控制序列的减速步数之差;其中,N为最大控制序列。
更新模块805,还用于更新当前控制序列,更新的当前控制序列为第N-1控制序列。
在另一个实施例中,控制模块804,还用于若目标脉冲频率小于当前控制序列对应的脉冲频率,则控制以目标脉冲频率输出脉冲,直至输出的总脉冲达到目标总步数与第i-1控制序列的减速步数之差;其中i为当前控制序列。
更新模块805,还用于更新当前控制序列,更新的当前控制序列为第i-1控制序列。
在再一个实施例中,控制模块804,还用于若设定的总步数小于当前控制序列的最大可控步数,则控制以当前控制序列的脉冲频率输出脉冲,直至输出的总脉冲达到设定的总步数与第i-1控制序列的减速步数之差,其中i为当前控制序列。
更新模块805,还用于更新当前控制序列,更新的当前控制序列为第i-1控制序列。
控制模块804,还用于根据更新的当前控制序列及减速步数进行减速。
在另一个实施例中,第一获取模块801,还用于获取当前控制序列的减速步数以及脉冲频率。
控制模块804,还用于控制以当前控制序列的脉冲频率输出脉冲,直至输出的总脉冲达到目标总步数与当前控制序列的前一控制序列的减速步数之差。
更新模块805,还用于更新当前控制序列;更新的当前控制序列为当前控制序列的前一控制序列。
控制模块804,还用于在更新的当前控制序列等于1时,以第一控制序列的频率输出脉冲直到输出的总脉冲达到目标总步数。
第一获取模块801,还用于在更新的控制序列不等于1时,获取当前控制序列的减速步数以及脉冲频率。
在再一个实施例中,还包括第二获取模块802,用于获取输入的控制序列和电机加速步数、减速步数与脉冲频率的对应关系,或获取上位机根据电机的加减速曲线确定的控制序列和电机加速步数、减速步数与脉冲频率的对应关系。
在又一个实施例中,通过电机加速步数数组、减速步数数组和脉冲频率数组存储控制序列和电机加速步数、减速步数与脉冲频率的对应关系。如图9所示,步进电机的加/减速控制装置还包括:第三判断模块807、第四判断模块808更改模块809。
第三判断模块807,用于对加速步数数组、减速步数数组和脉冲频率数组进行保护性判断,保护性判断的内容包括判断加速步数和减速步数是否随着控制序列的递增而递增,以及判断加速步数数组、减速步数数组和脉冲频率数组对应的控制序列的长度是否相同。
所述更改模块809,用于在所述第三判断模块的判断结果为通过时,根据加速步数数组、减速步数数组和脉冲频率数组更改核心控制器内存储的控制序列和电机加速步数、减速步数与脉冲频率的对应关系。
上述的步进电机的加/减速控制装置,在需要更换电机时,上位机根据电机的加减速曲线即可得到电机加速步数数组、减速步数数组与脉冲频率数组,然后通过发送参数指令更新到下位机的核心控制器中,这样在电机运动的时候无需再计算加减速曲线公式,直接通过查表(即读取数组数据)的方式来得到当前要达到的速度频率,减少计算量,。利用电机加速步数数组、减速步数数组与脉冲频率数组即可实现对电机的控制。对于电机加速步数数组、减速步数组数与脉冲频率数组还可以通过手动的方式进行修改,例如,可以对特地某个速度下的加速度进行特地的修改,这样可以根据需要使得电机在加速过程中在某一速度阶段的停留时间变得更长或更短,从而更新灵活地控制电机的加减速。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种步进电机的加/减速控制方法,其特征在于,包括:
获取电机运动的目标总步数和电机运动的目标脉冲频率;
基于预先存储的控制序列和电机加速步数、减速步数与脉冲频率的对应关系,判断所述目标总步数是否大于或等于当前控制序列的最大可控步数,所述当前控制序列的最大可控步数为当前控制序列的加速步数与当前控制序列的减速步数之和;
若所述目标总步数大于或等于当前控制序列的最大可控步数且目标脉冲频率大于或等于当前控制序列对应的脉冲频率,则控制以当前控制序列的脉冲频率输出脉冲,直至输出的总脉冲数等于当前控制序列的加速步数;
将下一控制序列更新为当前控制序列;
在更新的当前控制序列小于或等于最大控制序列时,返回判断设定的总步数是否大于当前控制序列的最大可控步数的步骤;
若目标脉冲频率小于当前控制序列对应的脉冲频率,则控制以目标脉冲频率输出脉冲,直至输出的总脉冲达到目标总步数与第i-1控制序列的减速步数之差;其中i为当前控制序列;
更新当前控制序列,更新的当前控制序列为第i-1控制序列;
若所述目标总步数小于当前控制序列的最大可控步数,则控制以当前控制序列的脉冲频率输出脉冲,直至输出的总脉冲达到设定的总步数与第i-1控制序列的减速步数之差,其中i为当前控制序列;
更新当前控制序列,更新的当前控制序列为第i-1控制序列。
2.根据权利要求1所述的方法,其特征在于,
若当前控制序列大于最大控制序列,则控制以最大控制序列的频率输出脉冲,直至输出的总脉冲数达到总步数与第N-1控制序列的减速步数之差;其中,N为最大控制序列;
更新当前控制序列,更新的当前控制序列为第N-1控制序列;
在所述更新当前控制序列的步骤之后,还包括:根据更新的当前控制序列及减速步数进行减速。
3.根据权利要求2所述的方法,其特征在于,所述根据更新的当前控制序列及减速步数进行减速的步骤包括:
获取当前控制序列的减速步数以及脉冲频率;
控制以当前控制序列的脉冲频率输出脉冲,直至输出的总脉冲达到目标总步数与当前控制序列的前一控制序列的减速步数之差;
更新当前控制序列;更新的当前控制序列为当前控制序列的前一控制序列;
若更新的当前控制序列等于1,则以第一控制序列的频率输出脉冲直到输出的总脉冲达到目标总步数;
若更新的控制序列不等于1,则返回所述获取当前控制序列的减速步数以及脉冲频率的步骤。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取输入的控制序列和电机加速步数、减速步数与脉冲频率的对应关系并存储;
获取上位机根据电机的加减速曲线确定的控制序列和电机加速步数、减速步数与脉冲频率的对应关系。
5.根据权利要求4所述的方法,其特征在于,通过电机加速步数数组、减速步数数组和脉冲频率数组存储控制序列和电机加速步数、减速步数与脉冲频率的对应关系;
在获取上位机根据电机的加减速曲线确定的控制序列和电机加速步数、减速步数与脉冲频率的对应关系的步骤之后,还包括:
对加速步数数组、减速步数数组和脉冲频率数组进行保护性判断,保护性判断的内容包括判断加速步数和减速步数是否随着控制序列的递增而递增以及判断加速步数数组、减速步数数组和脉冲频率数组的长度是否相同;
若保护性判断通过,则根据加速步数数组、减速步数数组和脉冲频率数组修改存储在核心控制器内的控制序列和电机加速步数、减速步数与脉冲频率的对应关系。
6.一种步进电机的加/减速控制装置,其特征在于,包括:第一获取模块、第二获取模块、第一判断模块、控制模块、更新模块和第二判断模块;
所述第一获取模块,用于获取电机运动的目标总步数和电机运动的目标脉冲频率;
所述第一判断模块,用于基于预先存储的制序列的电机加速步数、减速步数与脉冲频率的对应关系,判断所述目标总步数是否大于或等于当前控制序列的最大可控步数,所述当前控制序列的最大可控步数为当前控制序列的加速步数与当前控制序列的减速步数之和;
所述控制模块,用于若所述目标总步数大于或等于当前控制序列的最大可控步数且目标脉冲频率大于或等于当前控制序列对应的脉冲频率,则控制以当前控制序列的脉冲频率输出脉冲,直至输出的总脉冲数等于当前控制序列的加速步数;
所述更新模块,将下一控制序列更新为当前控制序列;
所述第二判断模块,判断更新的当前控制序列是否小于或等于最大控制序列;
所述第一判断模块,还用于在所述第二判断模块的判断结果为是时,判断设定的总步数是否大于当前控制序列的最大可控步数;
所述控制模块,还用于若目标脉冲频率小于当前控制序列对应的脉冲频率,则控制以目标脉冲频率输出脉冲,直至输出的总脉冲达到目标总步数与第i-1控制序列的减速步数之差;其中i为当前控制序列;
所述更新模块,还用于更新当前控制序列,更新的当前控制序列为第i-1控制序列;
所述控制模块,还用于若目标总步数小于当前控制序列的最大可控步数,则控制以当前控制序列的脉冲频率输出脉冲,直至输出的总脉冲达到设定的总步数与第i-1控制序列的减速步数之差,其中i为当前控制序列;
所述更新模块,还用于更新当前控制序列,更新的当前控制序列为第i-1控制序列。
7.根据权利要求6所述的装置,其特征在于,
所述控制模块,还用于若当前控制序列大于最大控制序列,则控制以最大控制序列的频率输出脉冲,直至输出的总脉冲数达到总步数与第N-1控制序列的减速步数之差;其中,N为最大控制序列;
所述更新模块,还用于更新当前控制序列,更新的当前控制序列为第N-1控制序列;
所述控制模块,还用于根据更新的当前控制序列及减速步数进行减速。
8.根据权利要求7所述的装置,其特征在于,
所述第一获取模块,还用于获取当前控制序列的减速步数以及脉冲频率;
所述控制模块,还用于控制以当前控制序列的脉冲频率输出脉冲,直至输出的总脉冲达到目标总步数与当前控制序列的前一控制序列的减速步数之差;
所述更新模块,还用于更新当前控制序列;更新的当前控制序列为当前控制序列的前一控制序列;
所述控制模块,还用于在更新的当前控制序列等于1时,以第一控制序列的频率输出脉冲直到输出的总脉冲达到目标总步数;
所述第一获取模块,还用于在更新的控制序列不等于1时,获取当前控制序列的减速步数以及脉冲频率。
9.根据权利要求8所述的装置,其特征在于,还包括第二获取模块;
所述第二获取模块,用于获取输入的控制序列和电机加速步数、减速步数与脉冲频率的对应关系,或获取上位机根据电机的加减速曲线确定的控制序列和电机加速步数、减速步数与脉冲频率的对应关系。
10.根据权利要求9所述的装置,其特征在于,还包括:通过电机加速步数数组、减速步数数组和脉冲频率数组存储控制序列和电机加速步数、减速步数与脉冲频率的对应关系,所述装置还包括第三判断模块、第四判断模块和更改模块;
所述第三判断模块,用于对加速步数数组、减速步数数组和脉冲频率数组进行保护性判断,保护性判断的内容包括判断加速步数和减速步数是否随着控制序列的递增而递增,及判断加速步数数组、减速步数数组和脉冲频率数组的长度是否相同;
所述更改模块,用于在所述第三判断模块的判断结果为通过时,根据加速步数数组、减速步数数组和脉冲频率数组更改核心控制器内存储的控制序列和电机加速步数、减速步数与脉冲频率的对应关系。
CN201710735231.0A 2017-08-24 2017-08-24 步进电机的加/减速控制方法和装置 Active CN107508511B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710735231.0A CN107508511B (zh) 2017-08-24 2017-08-24 步进电机的加/减速控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710735231.0A CN107508511B (zh) 2017-08-24 2017-08-24 步进电机的加/减速控制方法和装置

Publications (2)

Publication Number Publication Date
CN107508511A CN107508511A (zh) 2017-12-22
CN107508511B true CN107508511B (zh) 2019-10-18

Family

ID=60692733

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710735231.0A Active CN107508511B (zh) 2017-08-24 2017-08-24 步进电机的加/减速控制方法和装置

Country Status (1)

Country Link
CN (1) CN107508511B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109742987B (zh) * 2018-12-22 2020-03-24 西安航天动力研究所 一种基于定时器变频中断的步进电机变速调节控制方法
CN109713956B (zh) * 2019-01-17 2020-09-15 深圳市强瑞精密技术股份有限公司 电机加减速控制方法及系统
CN109981008B (zh) * 2019-04-19 2021-04-09 广州富瑞价值医疗健康产业有限公司 具有步进电机的输注控制方法及其设备
CN112491313B (zh) * 2020-12-08 2023-07-07 深圳开立生物医疗科技股份有限公司 一种电机控制方法、装置、设备及计算机可读存储介质
CN112636658A (zh) * 2020-12-11 2021-04-09 广东智源机器人科技有限公司 电机变速控制方法、装置、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1224697A (en) * 1968-09-14 1971-03-10 Philips Electronic Associated Electric driving arrangement using a stepping motor
CN1485977A (zh) * 2002-09-24 2004-03-31 力捷电脑股份有限公司 步进马达线性加减速的控制方法与装置
CN1764057A (zh) * 2004-10-20 2006-04-26 致伸科技股份有限公司 步进马达加速系统
CN101119092A (zh) * 2007-09-06 2008-02-06 哈尔滨工业大学 高细分集成式步进电机驱动器
CN101977003A (zh) * 2010-11-16 2011-02-16 中国航天科技集团公司第五研究院第五一○研究所 自动控制升降速的步进电机控制器及控制脉冲的生成方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1224697A (en) * 1968-09-14 1971-03-10 Philips Electronic Associated Electric driving arrangement using a stepping motor
CN1485977A (zh) * 2002-09-24 2004-03-31 力捷电脑股份有限公司 步进马达线性加减速的控制方法与装置
CN1764057A (zh) * 2004-10-20 2006-04-26 致伸科技股份有限公司 步进马达加速系统
CN101119092A (zh) * 2007-09-06 2008-02-06 哈尔滨工业大学 高细分集成式步进电机驱动器
CN101977003A (zh) * 2010-11-16 2011-02-16 中国航天科技集团公司第五研究院第五一○研究所 自动控制升降速的步进电机控制器及控制脉冲的生成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《基于新型加减速曲线和实时控制方案的步进电机运行平稳性及噪声研究》;李小虎等;《中国机械工程》;20120831;第23卷(第16期);全文 *

Also Published As

Publication number Publication date
CN107508511A (zh) 2017-12-22

Similar Documents

Publication Publication Date Title
CN107508511B (zh) 步进电机的加/减速控制方法和装置
CN110109491A (zh) 连续s曲线加减速运动控制方法、系统及电子设备
CN111711387B (zh) 一种智能手套机电机的柔性速度控制方法
ES8204684A1 (es) Metodo,con su aparato correspondiente,para el control de unamaquina operable en ciclos
CN101373947A (zh) 一种步进电机速度的控制方法、装置及系统
CN201830194U (zh) 一种步进电机的驱动控制装置
CN104516309B (zh) 具有集成的优化器的控制装置
WO2011049568A1 (en) Stepper motor controller
CN102751944A (zh) 中高压变频器的控制方法和系统
CN106873444A (zh) 控制装置
CN101478856B (zh) 一种射频自动阻抗匹配器及其实现方法
CN109343589A (zh) 用于机器人的速度平滑方法及装置
CN107053169B (zh) 一种总线型智能伺服驱动系统、机器人及方法
CN115847395A (zh) 取出机判断移动到位的方法、系统、电子设备及存储介质
US20040044433A1 (en) Motion data command system and control signal definition system for motion program
WO2018234246A1 (en) METHOD OF LOGGING PROCESS DATA IN AN API CONTROLLED EQUIPMENT
CN106970652B (zh) 运动控制器
JP4226762B2 (ja) モータ制御回路及びそれを用いた制御システム
US9124198B2 (en) Multiplexed motor controller
CN109768738B (zh) 电动机控制装置、控制系统以及电动机控制方法
US9905264B2 (en) Servo control system having function of switching learning memory
CN106325221A (zh) 事先通知辅助功能的执行的数值控制装置
CN105353649B (zh) 基于mmc的直流输电仿真系统及仿真方法
CN109274296A (zh) 电机控制方法及系统
CN109268153A (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
GR01 Patent grant
GR01 Patent grant