CN114257153A - 伺服电机定位方法和伺服定位装置 - Google Patents
伺服电机定位方法和伺服定位装置 Download PDFInfo
- Publication number
- CN114257153A CN114257153A CN202111418471.0A CN202111418471A CN114257153A CN 114257153 A CN114257153 A CN 114257153A CN 202111418471 A CN202111418471 A CN 202111418471A CN 114257153 A CN114257153 A CN 114257153A
- Authority
- CN
- China
- Prior art keywords
- servo motor
- dec
- acc
- cmd
- servo
- 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
Images
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
- H02P23/00—Arrangements or methods for the control of AC motors characterised by a control method other than vector control
- H02P23/14—Estimation or adaptation of motor parameters, e.g. rotor time constant, flux, speed, current or voltage
-
- 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
- H02P23/00—Arrangements or methods for the control of AC motors characterised by a control method other than vector control
- H02P23/20—Controlling the acceleration or deceleration
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Control Of Position Or Direction (AREA)
Abstract
本发明公开了一种伺服电机定位方法和伺服定位装置,伺服电机定位方法包括以下步骤:伺服驱动器根据上位机发送的第一运动控制参数确定伺服电机当前运行轨迹;在加速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=p’cmd+Δpacc;在匀速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=pV max;在减速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=p’cmd‑Δpdec;当pcmd≤Δpdec,生成位置控制指令pcmd为:pcmd=Δpdec;根据伺服电机当前的运行轨迹所处的阶段采用对应生成的位置控制指令驱动伺服电机工作。本发明上位机通过通信接口直接向伺服驱动器发送第一运动控制参数,伺服驱动器生成位置控制指令,向伺服电机发送电压信号驱动伺服电机工作。
Description
技术领域
本发明涉及伺服驱动器领域,具体涉及一种伺服电机定位方法和伺服定位装置。
背景技术
伺服驱动器在工业控制领域应用场所非常广泛,产线上设备各运动轴一般为顺序控制。
现有技术中一般通过控制器将各电机轴位置、速度信息转换为脉冲信号传递给各伺服驱动器,伺服驱动器根据接收到的脉冲个数及频率控制伺服电机运转,从而实现定位控制。在需要高速运行的设备中,由于脉冲频率较高,容易受到外界电磁干扰,影响接收脉冲个数,从而影响定位精度。
而且伺服驱动器与控制器之间每个信号都需要独立的信号线连接传输,在伺服轴数较多的设备中会有接线混乱、不方便设备维护的问题。除此之外还会占用控制器较多I/O口和脉冲输入/输出口,增加硬件成本,同时控制器编程也相对复杂。
发明内容
本发明的主要目的是,提供一种伺服电机定位方法和伺服定位装置,旨在简化伺服定位装置内部结构,提高系统稳定性。
为实现上述目的,本发明提出一种伺服电机定位方法,应用于伺服定位装置,所述伺服定位装置包括伺服驱动器和带编码器的伺服电机,所述伺服驱动器通过通信接口连接上位机,所述伺服电机定位方法包括:
伺服驱动器通过通信接口接收上位机发送的第一运动控制参数,根据所述第一运动控制参数中的运行距离计算伺服电机实际运行所需的运行脉冲总数psum,根据所述运行脉冲总数和所述第一运动控制参数中的目标速度计算得到匀速阶段每个控制周期的脉冲数pVmax,以及根据第一运动控制参数中的加速时间tacc和减速时间tdec,计算在每个控制周期的加速脉冲增量Δpacc和减速脉冲增量Δpdec;
获取伺服电机工作累计运行的脉冲数ptotal,并根据累计运行的脉冲数ptotal、加速脉冲增量Δpacc和减速脉冲增量Δpdec确定伺服电机当前的运行轨迹;
当确定伺服电机当前的运行轨迹处于加速阶段时,则在加速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=p’cmd+Δpacc,其中p’cmd为上一控制周期的位置控制指令;若pcmd≥pVmax,生成位置控制指令pcmd为:pcmd=pVmax;
当确定伺服电机当前的运行轨迹处于均速阶段,则在加速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=pVmax;
当确定伺服电机当前的运行轨迹处于减速阶段,则在加速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=p’cmd-Δpdec;若pcmd≤Δpdec,生成位置控制指令pcmd为:pcmd=Δpdec;
根据伺服电机当前的运行轨迹所处的阶段采用对应生成的位置控制指令驱动伺服电机工作。
在一实施例中,所述根据累计运行的脉冲数ptotal、加速脉冲增量Δpacc和减速脉冲增量Δpdec确定伺服电机当前运行轨迹具体包括:
根据伺服电机工作累计运行的脉冲数ptotal、运行脉冲总数psum、加速脉冲增量Δpacc和减速脉冲增量Δpdec配置加速阶段实际运行的脉冲数pacc、减速过程实际运行的脉冲数pdec和匀速过程实际运行脉冲数pcon;
当累计运行的脉冲数ptotal不大于加速阶段实际所需的运行脉冲数pacc时,确定伺服电机当前的运行轨迹处于加速阶段;
当累计运行的脉冲数ptotal大于加速阶段实际所需的运行脉冲数pacc,且小于运行脉冲总数psum与减速阶段实际所需的运行脉冲数pdec的差值时,确定伺服电机当前的运行轨迹处于均速阶段;
当累计运行的脉冲数ptotal大于运行脉冲总数psum与减速阶段实际所需的运行脉冲数pdec的差值时,确定伺服电机当前的运行轨迹处于减速阶段。
在一实施例中,所述根据伺服电机工作累计运行的脉冲数ptotal、运行脉冲总数psum、加速脉冲增量Δpacc和减速脉冲增量Δpdec配置加速阶段实际运行的脉冲数pacc、减速过程实际运行的脉冲数pdec和匀速过程实际运行脉冲数pcon具体为:
当p’acc+p’dec≥psum时,则配置加速阶段实际运行的脉冲数pacc、减速过程实际运行的脉冲数pdec和匀速过程实际运行脉冲数pcon分别为:
pacc=psum-pdec
pcon=0;
当p’acc+p’dec<psum时,则配置加速阶段实际运行的脉冲数pacc、减速过程实际运行的脉冲数pdec和匀速过程实际运行脉冲数pcon分别为:
pacc=p’acc
pdec=p’dec
pcon=psum-pacc-pdec。
在一实施例中,所述伺服电机定位方法还包括:
在伺服电机运行过程中,若伺服驱动器通过通信接口接收到上位机发送的第二运动控制参数,则根据第二运动控制参数重新确定伺服电机的运行轨迹并按照重新确定的运行轨迹控制伺服电机运行。
在一实施例中,所述伺服电机定位方法还包括:
在伺服电机运行过程中,若伺服驱动器通过通信接口接收到上位机发送的暂停信号,则控制伺服电机减速停机,待接收到上位机发送的继续运行信号后,根据第一运动控制参数和当前位置重新确定伺服电机的运行轨迹,并按照重新确定的运行轨迹控制伺服电机运行。
在一实施例中,所述伺服电机定位方法还包括:
在伺服电机每次上电时,获取当前伺服电机的电机轴位置,根据所述电机轴位置、预设原点位置和预设原点位置进行回原点操作。
在一实施例中,所述伺服电机定位方法还包括:
获取当前伺服电机的电机轴位置,将当前电机轴位置与预设正向限位阈值和负向限位阈值分别进行比较,当电机轴位置超出预设正向限位阈值或负向限位阈值时控制伺服电机停止工作操作并报警。
本发明还提供一种伺服定位装置,所述伺服定位装置包括:
伺服驱动器,所述伺服驱动器具有通信端、驱动端和信号检测端,所述通信端用于与上位机电连接;
伺服电机,所述伺服电机与所述伺服驱动器的驱动端电连接;
编码器,所述编码器与所述伺服驱动器的信号检测端电连接,所述编码器用于检测伺服电机的电机轴的位置,并输出位置信号;
所述伺服驱动器包括存储器、处理器和存储在存储器上并可在处理器上运行的伺服电机定位控制程序,所述处理器执行所述伺服电机定位控制程序时实现如上所述的伺服电机定位方法。
在一实施例中,所述伺服驱动器包括位置指令生成器;
所述位置指令生成器与所述编码器和所述伺服电机分别电连接,所述位置指令生成器用于根据所述累计运行的脉冲数ptotal、加速脉冲增量Δpacc和减速脉冲增量Δpdec生成控制指令。
在一实施例中,所述通信端可以采用CAN、RS485、RS232或RS422接口。
本发明中上位机通过通信接口直接向伺服驱动器发送第一运动控制参数,由伺服驱动器生成位置控制指令,并向伺服电机发送相应的电压信号来驱动伺服电机工作。位置控制指令由内部伺服驱动器生成,不易受到外界干扰。上位机与伺服驱动器直接通过通信接口连接,节省硬件成本,解决了接线混乱、不方便设备维护的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获取其他的附图。
图1为本发明控制方法一实施例的步骤流程示意图;
图2为本发明当前运行轨迹一实施例的速度与时间关系示意图;
图3为本发明插段运行一实施例的速度与时间关系示意图;
图4为本发明伺服定位装置一实施例的结构示意图;
图5为本发明位置指令生成器一实施例的输入参数示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参照图1,本发明提出一种伺服电机定位方法,应用于伺服定位装置,伺服定位装置包括伺服驱动器和带编码器的伺服电机,伺服驱动器通过通信接口连接上位机,伺服电机定位方法包括:
S100:伺服驱动器通过通信接口接收上位机发送的第一运动控制参数,根据第一运动控制参数中的运行距离计算伺服电机实际运行所需的运行脉冲总数psum,根据运行脉冲总数和第一运动控制参数中的目标速度计算得到匀速阶段每个控制周期的脉冲数pVmax,以及根据第一运动控制参数中的加速时间tacc和减速时间tdec,计算在每个控制周期的加速脉冲增量Δpacc和减速脉冲增量Δpdec;
S200:获取伺服电机工作累计运行的脉冲数ptotal,并根据累计运行的脉冲数ptotal、加速脉冲增量Δpacc和减速脉冲增量Δpdec确定伺服电机当前的运行轨迹;
S300:当确定伺服电机当前的运行轨迹处于加速阶段时,则在加速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=p’cmd+Δpacc,其中p’cmd为上一控制周期的位置控制指令;若pcmd≥pVmax,生成位置控制指令pcmd为:pcmd=pVmax;
S400:当确定伺服电机当前的运行轨迹处于均速阶段,则在加速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=pVmax;
S500:当确定伺服电机当前的运行轨迹处于减速阶段,则在加速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=p’cmd-Δpdec;若pcmd≤Δpdec,生成位置控制指令pcmd为:pcmd=Δpdec;
S600:根据伺服电机当前的运行轨迹所处的阶段采用对应生成的位置控制指令驱动伺服电机工作。
伺服驱动器用于与上位机连接的通信接口可以采用CAN、RS485、RS232、RS422等接口。
为了方便理解在此定义如下参数:
加速时间tacc:电机从起始速度加速到目标速度所需时间;
减速时间tdec:电机从目标速度减速到终止速度所需时间;
F:伺服定位装置位置控制环路执行频率(单位:Hz),是存储在驱动器内部的驱动器系统参数;
M:电机编码器分辨率,是存储在驱动器内部的驱动器系统参数;
N:设备减速机构传动比,是上位机控制器通信给定的设定参数;
K:减速机构旋转一圈负载的位移量(单位mm或度),是上位机控制器通信给定的设定参数;
转换系数A=N*M/K,用于将运行距离转换为电机所需转动的脉冲个数;
转换系数B=N*M/(K*F),用于将目标速度转换为每个控制周期内的脉冲数;
转换系数C=10^6*M/(60*F^2),用于将加减速时间转换为每个控制周期的脉冲增量。
步骤S100中,根据第一运动控制参数中的运行距离S计算伺服电机实际运行所需的运行脉冲总数psum具体为:psum=S·A;根据运行脉冲总数和第一运动控制参数中的目标速度计算得到匀速阶段每个控制周期的脉冲数pVmax具体为:pVmax=Vmax·B;根据第一运动控制参数中的加速时间tacc和减速时间tdec,计算在每个控制周期的加速脉冲增量Δpacc和减速脉冲增量Δpdec具体为:
上位机向伺服驱动器发送第一运动控制参数,第一运动控制参数包括控制字、运行距离S、目标速度Vmax、加速时间tacc和减速时间tdec,其中控制字包括伺服使能、回原点、暂停、插段运行等信息。
伺服驱动器通过编码器获取当前伺服电机工作累计运行的脉冲数ptotal,并根据累计运行的脉冲数ptotal、加速脉冲增量Δpacc和减速脉冲增量Δpdec确定伺服电机当前运行轨迹。伺服电机当前运行轨迹具有加速阶段、减速阶段或者加速阶段、减速阶段、匀速阶段。
当确定伺服电机当前的运行轨迹处于加速阶段时,则在加速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=p’cmd+Δpacc,其中p’cmd为上一控制周期的位置控制指令;当pcmd≥pVmax,说明伺服电机的运行速度已经达到目标速度,即将进入匀速阶段,此时需要将位置控制指令pcmd限定在pVmax,避免位置控制指令pcmd大于匀速阶段每个控制周期的脉冲数pVmax,导致实际运行轨迹与根据累计运行的脉冲数ptotal、加速脉冲增量Δpacc和减速脉冲增量Δpdec确定的伺服电机当前的运行轨迹不同,定位失准,因此生成位置控制指令pcmd为:pcmd=pVmax;
当确定伺服电机当前的运行轨迹处于匀速阶段,则在匀速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=pVmax;
当确定伺服电机当前的运行轨迹处于减速阶段,则在减速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=p’cmd-Δpdec;当pcmd≤Δpdec,说明伺服电机的运动速度趋近于零,生成位置控制指令pcmd为:pcmd=Δpdec,使伺服电机以Δpdec的减速脉冲增量运动,完成定位。这里当pcmd≤Δpdec时,并不直接控制伺服电机停机,可以避免出现由于实际运行过程中的误差,导致减速阶段的脉冲数尚未运行完成就停机的情况。
根据伺服电机当前的运行轨迹所处的阶段采用对应生成的位置控制指令向伺服电机发送相应的电压信号,以驱动伺服电机工作。
本发明中上位机通过通信接口直接向伺服驱动器发送第一运动控制参数,由伺服驱动器生成位置控制指令,并向伺服电机发送相应的电压信号来驱动伺服电机工作。位置控制指令由内部伺服驱动器生成,不易受到外界干扰。上位机与伺服驱动器直接通过通信接口连接,节省硬件成本,解决了接线混乱、不方便设备维护的问题。
在一实施例中,根据累计运行的脉冲数ptotal、加速脉冲增量Δpacc和减速脉冲增量Δpdec确定伺服电机当前运行轨迹具体包括:
根据伺服电机工作累计运行的脉冲数ptotal、运行脉冲总数psum、加速脉冲增量pacc和减速脉冲增量Δpdec配置加速阶段实际运行的脉冲数pacc,减速过程实际运行的脉冲数pdec和匀速过程实际运行脉冲数pcon;
当累计运行的脉冲数ptotal不大于加速阶段实际所需的运行脉冲数pacc时,确定伺服电机当前的运行轨迹处于加速阶段;
当累计运行的脉冲数ptotal大于加速阶段实际所需的运行脉冲数pacc,且小于运行脉冲总数psum与减速阶段实际所需的运行脉冲数pdec的差值时,确定伺服电机当前的运行轨迹处于均速阶段;
当累计运行的脉冲数ptotal大于运行脉冲总数psum与减速阶段实际所需的运行脉冲数pdec的差值时,确定伺服电机当前的运行轨迹处于减速阶段。
参照图2,起始速度为零,累计运行的脉冲数ptotal为零,伺服电机的运行状态为加速→匀速→减速,或者加速→减速。当ptotal≤pacc时,说明伺服电机累计运行的脉冲数ptotal尚未达到加速阶段实际所需的运行脉冲数pacc,即伺服电机尚未达到目标速度,处于加速阶段;当pacc<ptotal<psum-pdec时,说明伺服电机累计运行的脉冲数ptotal已经达到加速阶段实际所需的运行脉冲数pacc,但尚未达到加速阶段实际所需的运行脉冲数pacc和匀速阶段实际所需的运行脉冲数pcon之和,即伺服电机已经达到目标速度且尚未进入减速阶段,即伺服电机处于匀速阶段;当ptotal≥psum-pdec时,说明伺服电机累计运行的脉冲数ptotal已经运行完加速阶段和匀速阶段,即正在减速,处于减速阶段。
本实施例通过累计运行的脉冲数ptotal、加速脉冲增量Δpacc和减速脉冲增量Δpdec判断当前伺服电机处于加速阶段、匀速阶段或减速阶段,以便生成位置控制指令控制伺服电机工作。
在一实施例中,根据伺服电机工作累计运行的脉冲数ptotal、运行脉冲总数psum、加速脉冲增量Δpacc和减速脉冲增量Δpdec配置加速阶段实际运行的脉冲数pacc,减速过程实际运行的脉冲数pdec和匀速过程实际运行脉冲数pcon具体为:
当p’acc+p’dec≥psum时,则配置加速阶段实际运行的脉冲数pacc、减速过程实际运行的脉冲数pdec和匀速过程实际运行脉冲数pcon分别为:
pacc=psum-pdec
pcon=0;
当p’acc+p’dec<psum时,则配置加速阶段实际运行的脉冲数pacc、减速过程实际运行的脉冲数pdec和匀速过程实际运行脉冲数pcon分别为:
pacc=p’acc
pdec=p’dec
pcon=psum-pacc-pdec。
当p’acc+p’dec≥psum时,说明伺服电机实际运行中的运行脉冲总数psum无法满足为了达到目标速度,在加速阶段所需的脉冲数和在减速阶段所需的脉冲数,即伺服电机在运行距离S中无法达到目标速度。伺服驱动器将根据运行距离S自动修正伺服电机最大运行速度,此时伺服电机的运行轨迹只有加速阶段和减速阶段。配置加速阶段实际运行的脉冲数pacc和减速过程实际运行的脉冲数pdec分别为:
pacc=psum-pdec。
减速过程实际运行的脉冲数的计算结果为非整数取余。若令加速阶段实际运行的脉冲数则pacc+pdec<psum,实际运行过程中会存在误差。令加速阶段实际运行的脉冲数pacc=psum-pdec,可以减小运行过程的误差,实现更精确的控制。
当p’acc+p’dec<psum时,说明伺服电机实际运行中的运行脉冲总数psum可以满足为了达到目标速度,在加速阶段所需的脉冲数和在减速阶段所需的脉冲数,即伺服电机在运行距离S中可以达到目标速度。配置加速阶段实际运行的脉冲数pacc、减速过程实际运行的脉冲数pdec和匀速过程实际运行脉冲数pcon分别为:
pacc=p’acc
pdec=p’dec
pcon=psum-pacc-pdec。
在一实施例中,伺服电机定位方法还包括:
在伺服电机运行过程中,若伺服驱动器通过通信接口接收到上位机发送的第二运动控制参数,则根据第二运动控制参数重新确定伺服电机的运行轨迹并按照重新确定的运行轨迹控制伺服电机运行。
上述根据第二运动控制参数重新确定运行轨迹的方式与根据第一运动控制参数确定运行轨迹的方式原理相同。具体为:
根据第二运动控制参数中的运行距离计算伺服电机实际运行所需的运行脉冲总数psum:psum=S·A;
根据运行脉冲总数和第二运动控制参数中的目标速度计算得到匀速阶段每个控制周期的脉冲数pVmax:pVmax=Vmax·B;
根据加速阶段中的理论脉冲数p’acc和减速过程中的理论脉冲数p’dec计算加速阶段实际运行的脉冲数pacc,减速过程实际运行的脉冲数pdec和匀速过程实际运行脉冲数pcon:当p’acc+p’dec≥psum时,加速阶段实际运行的脉冲数pacc、则配置减速过程实际运行的脉冲数pdec和匀速过程实际运行脉冲数pcon分别为:
pacc=psum-pdec
pcon=0,
当p’acc+p’dec<psum时,则配置加速阶段实际运行的脉冲数pacc、减速过程实际运行的脉冲数pdec和匀速过程实际运行脉冲数pcon分别为:
pacc=p’acc
pdec=p’dec
pcon=psum-pacc-pdec;
根据当前伺服电机工作累计运行的脉冲数ptotal、加速阶段实际运行的脉冲数pacc和减速过程实际运行的脉冲数pdec确定伺服电机新的运行轨迹:
当ptotal≤pacc时,伺服电机的运行轨迹处于加速阶段,在加速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=p’cmd+Δpacc;
当pacc<ptotal<psum-pdec时,伺服电机的运行轨迹处于匀速阶段,在匀速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=pVmax;
当ptotal≥psum-pdec时,伺服电机的运行轨迹处于减速阶段,在减速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=p’cmd-Δpdec,当pcmd≤Δpdec,生成位置控制指令pcmd为:pcmd=Δpdec。
参照图3,在根据第一运动控制参数确定的伺服电机的运行轨迹运行到T1时刻,伺服驱动器通过通信接口接收到上位机发送的第二运动控制参数,根据第二运动控制参数重新确定伺服电机的运行轨迹。在根据第一运动控制参数确定的伺服电机的运行轨迹时按起始速度等于零,终止速度等于零处理。在根据第二运动控制参数重新确定伺服电机的运行轨迹时,起始速度不等于零,其值为T1时刻的速度,终止速度等于零。
本实施例采用起始速度与终止速度可不为零、加速度与减速度可不相同的梯形加减速控制方法,可以实现插段运行。伺服电机在运行过程中可以随时处理新的运动控制参数,且不影响定位精度。
在一实施例中,伺服电机定位方法还包括:
在伺服电机运行过程中,若伺服驱动器通过通信接口接收到上位机发送的暂停信号,则控制伺服电机减速停机,待接收到上位机发送的继续运行信号后,根据第一运动控制参数和当前位置重新确定伺服电机的运行轨迹,并按照重新确定的运行轨迹控制伺服电机运行。
在一实施例中,伺服电机定位方法还包括:
在伺服电机每次上电时,获取当前伺服电机的电机轴位置,根据电机轴位置、预设原点位置和预设原点位置进行回原点操作。
伺服定位装置在每次上电后需要先进行回原点操作。伺服驱动器通过编码器获取预设原点位置、预设回原点速度和当前伺服电机的电机轴位置,根据当前伺服电机的电机轴位置和预设原点位置自动计算回原点距离,根据回原点距离和预设的回原点速度产生运动位置指令,不需要主控制器参与。
本实施例通过编码器存储预设原点位置信息,替代由传感器指定机械原点,受外部环境影响小,减少系统故障点,增加系统可靠性,且节省硬件成本。
在一实施例中,伺服电机定位方法还包括:
获取当前伺服电机的电机轴位置,将当前电机轴位置与预设正向限位阈值和负向限位阈值分别进行比较,当电机轴位置超出预设正向限位阈值或负向限位阈值时控制伺服电机停止工作操作并报警。
伺服驱动器通过编码器存储正向限位阈值和负向限位阈值,采用软限位功能,替代由传感器指定正/负极限位置。受外部环境影响小,减少系统故障点,增加系统可靠性,且节省硬件成本。
下面将结合附图具体阐述本发明的原理:
S1:伺服驱动器通过通信接口接收上位机发送的第一运动控制参数,根据第一运动控制参数中的运行距离计算伺服电机实际运行所需的运行脉冲总数psum:psum=S·A;
S2:根据运行脉冲总数和第一运动控制参数中的目标速度计算得到匀速阶段每个控制周期的脉冲数pVmax:pVmax=Vmax·B;
S4:伺服驱动器通过编码器获取当前伺服电机工作累计运行的脉冲数ptotal,根据第一计算公式计算加速阶段中的理论脉冲数p’acc,减速过程中的理论脉冲数p’dec:
S5:根据加速阶段中的理论脉冲数p’acc和减速过程中的理论脉冲数p’dec计算加速阶段实际运行的脉冲数pacc,减速过程实际运行的脉冲数pdec和匀速过程实际运行脉冲数pcon:当p’acc+p’dec≥psum时,说明伺服电机实际运行中的运行脉冲总数psum无法满足为了达到目标速度,在加速阶段所需的脉冲数和在减速阶段所需的脉冲数,即伺服电机在运行距离S中无法达到目标速度。伺服驱动器将根据运行距离S自动修正伺服电机最大运行速度,此时伺服电机的运行轨迹只有加速阶段和减速阶段。配置加速阶段实际运行的脉冲数pacc、减速过程实际运行的脉冲数pdec和匀速过程实际运行脉冲数pcon分别为:
pacc=psum-pdec
pcon=0,
当p’acc+p’dec<psum时,说明伺服电机实际运行中的运行脉冲总数psum可以满足为了达到目标速度,在加速阶段所需的脉冲数和在减速阶段所需的脉冲数,即伺服电机在运行距离S中可以达到目标速度。配置加速阶段实际运行的脉冲数pacc、减速过程实际运行的脉冲数pdec和匀速过程实际运行脉冲数pcon分别为:
pacc=p’acc
pdec=p’dec
pcon=psum-pacc-pdec;
S6:根据当前伺服电机工作累计运行的脉冲数ptotal、加速阶段实际运行的脉冲数pacc和减速过程实际运行的脉冲数pdec确定伺服电机当前运行轨迹:
当ptotal≤pacc时,伺服电机尚未达到目标速度,处于加速阶段,在加速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=p’cmd+Δpacc,若pcmd≥pVmax,生成位置控制指令pcmd为:pcmd=pVmax,
当pacc<ptotal<psum-pdec时,伺服电机已经达到目标速度且尚未进入减速阶段,处于匀速阶段,在匀速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=pVmax,
当ptotal≥psum-pdec时,伺服电机正在减速,处于减速阶段,在减速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=p’cmd-Δpdec,若pcmd≤Δpdec,生成位置控制指令pcmd为:pcmd=Δpdec;
S7:根据伺服电机当前的运行轨迹所处的阶段采用对应生成的位置控制指令驱动伺服电机工作。
在伺服电机运行过程中,伺服驱动器通过通信接口接收到上位机发送的第二运动控制参数时,暂停按照当前的运行轨迹控制伺服电机工作,按照上述方法根据第二运动控制参数计算确定伺服电机新的运动轨迹,并根据伺服电机新的运行轨迹所处的阶段采用对应生成的位置控制指令驱动伺服电机工作。按照新的运行轨迹控制伺服电机工作完成后,继续按照当前的运行轨迹生成位置控制指令驱动伺服电机工作。
本发明中上位机通过通信接口直接向伺服驱动器发送第一运动控制参数,由伺服驱动器生成位置控制指令,并向伺服电机发送相应的电压信号来驱动伺服电机工作。位置控制指令由内部伺服驱动器生成,不易受到外界干扰。上位机与伺服驱动器直接通过通信接口连接,节省硬件成本,解决了接线混乱、不方便设备维护的问题。本发明采用起始速度与终止速度可不为零、加速度与减速度可不相同的梯形加减速控制方法,可以实现插段运行。
参照图4,本发明还提供一种伺服定位装置,伺服定位装置包括伺服驱动器10、伺服电机20和编码器30。
伺服驱动器10具有通信端、驱动端和信号检测端,通信端用于与上位机电连接。
伺服电机20与伺服驱动器10的驱动端电连接。
编码器30与伺服驱动器10的信号检测端电连接,编码器30用于检测伺服电机20的电机轴的位置,并输出位置信号。
伺服驱动器10包括存储器、处理器和存储在存储器上并可在处理器上运行的伺服电机定位控制程序,处理器执行伺服电机定位控制程序时实现上述伺服电机定位方法。
电机编码器30可以采用多圈绝对值编码器30,既检测电机旋转1周内的位置,又对电机旋转圈数进行计数。
本发明中上位机通过通信接口直接向伺服驱动器发送第一运动控制参数,由伺服驱动器生成位置控制指令,并向伺服电机发送相应的电压信号来驱动伺服电机工作。位置控制指令由内部伺服驱动器生成,不易受到外界干扰。上位机与伺服驱动器直接通过通信接口连接,节省硬件成本,解决了接线混乱、不方便设备维护的问题。
在一实施例中,伺服驱动器10包括位置指令生成器11。
位置指令生成器11与编码器30和伺服电机20分别电连接,位置指令生成器11用于根据累计运行的脉冲数ptotal、加速脉冲增量Δpacc和减速脉冲增量Δpdec生成控制指令。
参照图5,位置指令生成器11的输入参数包括:控制字、限位信号、预设原点位置、运行距离、目标速度、预设回原点速度、加速时间、减速时间等。其中,控制字、运行距离、目标速度、回原点速度、加速时间、减速时间等由上位机通过通信给定。控制字包括伺服使能、回原点、暂停、插段运行等信息。
伺服驱动器10在接收到运动控制参数后,位置指令生成器11根据运动控制参数生成运动位置指令。运动位置指令输入位置控制环路,位置控制环路根据编码器30输出的伺服电机20反馈位置控制生成运动速度指令;运动速度指令输入到速度控制环路,速度控制环路根据编码器30输出的伺服电机20的反馈位置计算反馈速度,以生成电流指令;电流指令输入到力矩控制环路,力矩控制环路根据编码器30输出的电机反馈电流生成PWM脉冲输出到逆变器,驱动伺服电机20运行。
伺服驱动器10内部自带位置指令生成器11,上位机不需要给伺服驱动器10发送位置控制脉冲,而是通过通信端口将运动控制参数发送到伺服驱动器10,由伺服驱动器10内部的位置指令生成器11自动生成伺服电机20的位置控制指令,实现伺服电机20定位功能,不易受到外界干扰。
在一实施例中,通信端可以采用CAN、RS485、RS232或RS422接口。
以上仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
Claims (10)
1.一种伺服电机定位方法,应用于伺服定位装置,所述伺服定位装置包括伺服驱动器和带编码器的伺服电机,其特征在于,所述伺服驱动器通过通信接口连接上位机,所述伺服电机定位方法包括:
伺服驱动器通过通信接口接收上位机发送的第一运动控制参数,根据所述第一运动控制参数中的运行距离计算伺服电机实际运行所需的运行脉冲总数psum,根据所述运行脉冲总数和所述第一运动控制参数中的目标速度计算得到匀速阶段每个控制周期的脉冲数pVmax,以及根据第一运动控制参数中的加速时间tacc和减速时间tdec,计算在每个控制周期的加速脉冲增量Δpacc和减速脉冲增量Δpdec;
获取伺服电机工作累计运行的脉冲数ptotal,并根据累计运行的脉冲数ptotal、加速脉冲增量Δpacc和减速脉冲增量Δpdec确定伺服电机当前的运行轨迹;
当确定伺服电机当前的运行轨迹处于加速阶段时,则在加速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=p’cmd+Δpacc,其中p’cmd为上一控制周期的位置控制指令;若pcmd≥pVmax,生成位置控制指令pcmd为:pcmd=pVmax;
当确定伺服电机当前的运行轨迹处于均速阶段,则在匀速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=pVmax;
当确定伺服电机当前的运行轨迹处于减速阶段,则在减速阶段的每个控制周期内,生成位置控制指令pcmd为:pcmd=p’cmd-Δpdec;若pcmd≤Δpdec,生成位置控制指令pcmd为:pcmd=Δpdec;
根据伺服电机当前的运行轨迹所处的阶段采用对应生成的位置控制指令驱动伺服电机工作。
2.如权利要求1所述的伺服电机定位方法,其特征在于,所述根据累计运行的脉冲数ptotal、加速脉冲增量Δpacc和减速脉冲增量Δpdec确定伺服电机当前运行轨迹具体包括:
根据伺服电机工作累计运行的脉冲数ptotal、运行脉冲总数psum、加速脉冲增量Δpacc和减速脉冲增量Δpdec配置加速阶段实际运行的脉冲数pacc、减速过程实际运行的脉冲数pdec和匀速过程实际运行脉冲数pcon;
当累计运行的脉冲数ptotal不大于加速阶段实际所需的运行脉冲数pacc时,确定伺服电机当前的运行轨迹处于加速阶段;
当累计运行的脉冲数ptotal大于加速阶段实际所需的运行脉冲数pacc,且小于运行脉冲总数psum与减速阶段实际所需的运行脉冲数pdec的差值时,确定伺服电机当前的运行轨迹处于均速阶段;
当累计运行的脉冲数ptotal大于运行脉冲总数psum与减速阶段实际所需的运行脉冲数pdec的差值时,确定伺服电机当前的运行轨迹处于减速阶段。
3.如权利要求2所述的伺服电机定位方法,其特征在于,所述根据伺服电机工作累计运行的脉冲数ptotal、运行脉冲总数psum、加速脉冲增量Δpacc和减速脉冲增量Δpdec配置加速阶段实际运行的脉冲数pacc、减速过程实际运行的脉冲数pdec和匀速过程实际运行脉冲数pcon具体为:
当p’acc+p’dec≥psum时,则配置加速阶段实际运行的脉冲数pacc、减速过程实际运行的脉冲数pdec和匀速过程实际运行脉冲数pcon分别为:
pacc=psum-pdec
pcon=0;
当p’acc+p’dec<psum时,则配置加速阶段实际运行的脉冲数pacc、减速过程实际运行的脉冲数pdec和匀速过程实际运行脉冲数pcon分别为:
pacc=p’acc
pdec=p’dec
pcon=psum-pacc-pdec。
4.如权利要求1-3任一项所述的伺服电机定位方法,其特征在于,所述伺服电机定位方法还包括:
在伺服电机运行过程中,若伺服驱动器通过通信接口接收到上位机发送的第二运动控制参数,则根据第二运动控制参数重新确定伺服电机的运行轨迹并按照重新确定的运行轨迹控制伺服电机运行。
5.如权利要求1-3任一项所述的伺服电机定位方法,其特征在于,所述伺服电机定位方法还包括:
在伺服电机运行过程中,若伺服驱动器通过通信接口接收到上位机发送的暂停信号,则控制伺服电机减速停机,待接收到上位机发送的继续运行信号后,根据第一运动控制参数和当前位置重新确定伺服电机的运行轨迹,并按照重新确定的运行轨迹控制伺服电机运行。
6.如权利要求1-3任一项所述的伺服电机定位方法,其特征在于,所述伺服电机定位方法还包括:
在伺服电机每次上电时,获取当前伺服电机的电机轴位置,根据所述电机轴位置、预设原点位置和预设原点位置进行回原点操作。
7.如权利要求1-3任一项所述的伺服电机定位方法,其特征在于,所述伺服电机定位方法还包括:
获取当前伺服电机的电机轴位置,将当前电机轴位置与预设正向限位阈值和负向限位阈值分别进行比较,当电机轴位置超出预设正向限位阈值或负向限位阈值时控制伺服电机停止工作操作并报警。
8.一种伺服定位装置,其特征在于,所述伺服定位装置包括:
伺服驱动器,所述伺服驱动器具有通信端、驱动端和信号检测端,所述通信端用于与上位机电连接;
伺服电机,所述伺服电机与所述伺服驱动器的驱动端电连接;
编码器,所述编码器与所述伺服驱动器的信号检测端电连接,所述编码器用于检测伺服电机的电机轴的位置,并输出位置信号;
所述伺服驱动器包括存储器、处理器和存储在存储器上并可在处理器上运行的伺服电机定位控制程序,所述处理器执行所述伺服电机定位控制程序时实现如权利要求1-7任一项所述的伺服电机定位方法。
9.如权利要求8所述的伺服定位装置,其特征在于,所述伺服驱动器包括位置指令生成器;
所述位置指令生成器与所述编码器和所述伺服电机分别电连接,所述位置指令生成器用于根据所述累计运行的脉冲数ptotal、加速脉冲增量Δpacc和减速脉冲增量Δpdec生成控制指令。
10.如权利要求8所述的伺服定位装置,其特征在于,所述通信端可以采用CAN、RS485、RS232或RS422接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111418471.0A CN114257153A (zh) | 2021-11-25 | 2021-11-25 | 伺服电机定位方法和伺服定位装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111418471.0A CN114257153A (zh) | 2021-11-25 | 2021-11-25 | 伺服电机定位方法和伺服定位装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114257153A true CN114257153A (zh) | 2022-03-29 |
Family
ID=80793375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111418471.0A Pending CN114257153A (zh) | 2021-11-25 | 2021-11-25 | 伺服电机定位方法和伺服定位装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114257153A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114928300A (zh) * | 2022-06-17 | 2022-08-19 | 重庆智能机器人研究院 | 工业机器人控制中绝对式编码器数据循环冗余校验(crc)报警处理方法 |
CN115001324A (zh) * | 2022-06-16 | 2022-09-02 | 广东亿云智控技术有限公司 | 一种基于单片机的可调整升降频率控制高速脉冲的方法 |
-
2021
- 2021-11-25 CN CN202111418471.0A patent/CN114257153A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115001324A (zh) * | 2022-06-16 | 2022-09-02 | 广东亿云智控技术有限公司 | 一种基于单片机的可调整升降频率控制高速脉冲的方法 |
CN115001324B (zh) * | 2022-06-16 | 2023-03-21 | 广东亿云智控技术有限公司 | 一种基于单片机的可调整升降频率控制高速脉冲的方法 |
CN114928300A (zh) * | 2022-06-17 | 2022-08-19 | 重庆智能机器人研究院 | 工业机器人控制中绝对式编码器数据循环冗余校验(crc)报警处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108121201B (zh) | 一种内部位置伺服控制方法 | |
CN114257153A (zh) | 伺服电机定位方法和伺服定位装置 | |
EP2380710B1 (en) | Robot arm control method and control device | |
US11307057B2 (en) | Encoder abnormality detection method | |
JP3509413B2 (ja) | モータ制御装置 | |
WO1989008538A1 (en) | Method of detecting collision of moving portions driven by servo motor | |
CN103676779A (zh) | 修正齿隙的电动机控制装置 | |
KR910009266B1 (ko) | 산업용 로보트의 속도 제어방법 및 장치 | |
US4815007A (en) | Apparatus for controlling a robot | |
EP1840687A1 (en) | Electric motor control unit | |
KR100362611B1 (ko) | 로봇 및 로봇의 모터속도제어방법 | |
CN102467131A (zh) | 伺服控制器 | |
JP3370845B2 (ja) | アブソリュートエンコーダ | |
KR0168065B1 (ko) | 수치제어시스템의 모터제어방법 및 그 장치 | |
CN107645979B (zh) | 用于使机器人手臂的运动同步的机器人系统 | |
JP3508677B2 (ja) | ロボット制御装置 | |
JP3063562B2 (ja) | 移動体の速度制御方法およびその制御装置 | |
CN111352385A (zh) | 一种作业机械减速运动控制系统和方法 | |
JPS6246003B2 (zh) | ||
JPS6337597B2 (zh) | ||
US6879119B2 (en) | Positioning controller | |
JP3171860B2 (ja) | サーボ制御システム | |
CN112165278B (zh) | 一种原点回归方法及装置 | |
JPH07110715A (ja) | ロボットシステムの位置制御装置及びその制御方法 | |
CN111273708A (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 |