一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

伺服电机定位方法和伺服定位装置与流程

2022-03-31 08:23:51 来源:中国专利 TAG:


1.本发明涉及伺服驱动器领域,具体涉及一种伺服电机定位方法和伺服定位装置。


背景技术:

2.伺服驱动器在工业控制领域应用场所非常广泛,产线上设备各运动轴一般为顺序控制。
3.现有技术中一般通过控制器将各电机轴位置、速度信息转换为脉冲信号传递给各伺服驱动器,伺服驱动器根据接收到的脉冲个数及频率控制伺服电机运转,从而实现定位控制。在需要高速运行的设备中,由于脉冲频率较高,容易受到外界电磁干扰,影响接收脉冲个数,从而影响定位精度。
4.而且伺服驱动器与控制器之间每个信号都需要独立的信号线连接传输,在伺服轴数较多的设备中会有接线混乱、不方便设备维护的问题。除此之外还会占用控制器较多i/o口和脉冲输入/输出口,增加硬件成本,同时控制器编程也相对复杂。


技术实现要素:

5.本发明的主要目的是,提供一种伺服电机定位方法和伺服定位装置,旨在简化伺服定位装置内部结构,提高系统稳定性。
6.为实现上述目的,本发明提出一种伺服电机定位方法,应用于伺服定位装置,所述伺服定位装置包括伺服驱动器和带编码器的伺服电机,所述伺服驱动器通过通信接口连接上位机,所述伺服电机定位方法包括:
7.伺服驱动器通过通信接口接收上位机发送的第一运动控制参数,根据所述第一运动控制参数中的运行距离计算伺服电机实际运行所需的运行脉冲总数p
sum
,根据所述运行脉冲总数和所述第一运动控制参数中的目标速度计算得到匀速阶段每个控制周期的脉冲数p
vmax
,以及根据第一运动控制参数中的加速时间t
acc
和减速时间t
dec
,计算在每个控制周期的加速脉冲增量δp
acc
和减速脉冲增量δp
dec

8.获取伺服电机工作累计运行的脉冲数p
total
,并根据累计运行的脉冲数p
total
、加速脉冲增量δp
acc
和减速脉冲增量δp
dec
确定伺服电机当前的运行轨迹;
9.当确定伺服电机当前的运行轨迹处于加速阶段时,则在加速阶段的每个控制周期内,生成位置控制指令p
cmd
为:p
cmd
=p’cmd
δp
acc
,其中p’cmd
为上一控制周期的位置控制指令;若p
cmd
≥p
vmax
,生成位置控制指令p
cmd
为:p
cmd
=p
vmax

10.当确定伺服电机当前的运行轨迹处于均速阶段,则在加速阶段的每个控制周期内,生成位置控制指令p
cmd
为:p
cmd
=p
vmax

11.当确定伺服电机当前的运行轨迹处于减速阶段,则在加速阶段的每个控制周期内,生成位置控制指令p
cmd
为:p
cmd
=p’cmd-δp
dec
;若p
cmd
≤δp
dec
,生成位置控制指令p
cmd
为:p
cmd
=δp
dec

12.根据伺服电机当前的运行轨迹所处的阶段采用对应生成的位置控制指令驱动伺
服电机工作。
13.在一实施例中,所述根据累计运行的脉冲数p
total
、加速脉冲增量δp
acc
和减速脉冲增量δp
dec
确定伺服电机当前运行轨迹具体包括:
14.根据伺服电机工作累计运行的脉冲数p
total
、运行脉冲总数p
sum
、加速脉冲增量δp
acc
和减速脉冲增量δp
dec
配置加速阶段实际运行的脉冲数p
acc
、减速过程实际运行的脉冲数p
dec
和匀速过程实际运行脉冲数p
con

15.当累计运行的脉冲数p
total
不大于加速阶段实际所需的运行脉冲数p
acc
时,确定伺服电机当前的运行轨迹处于加速阶段;
16.当累计运行的脉冲数p
total
大于加速阶段实际所需的运行脉冲数p
acc
,且小于运行脉冲总数p
sum
与减速阶段实际所需的运行脉冲数p
dec
的差值时,确定伺服电机当前的运行轨迹处于均速阶段;
17.当累计运行的脉冲数p
total
大于运行脉冲总数p
sum
与减速阶段实际所需的运行脉冲数p
dec
的差值时,确定伺服电机当前的运行轨迹处于减速阶段。
18.在一实施例中,所述根据伺服电机工作累计运行的脉冲数p
total
、运行脉冲总数p
sum
、加速脉冲增量δp
acc
和减速脉冲增量δp
dec
配置加速阶段实际运行的脉冲数p
acc
、减速过程实际运行的脉冲数p
dec
和匀速过程实际运行脉冲数p
con
具体为:
19.根据第一计算公式计算加速阶段中的理论脉冲数p’acc
和减速过程中的理论脉冲数p’dec
,所述第一计算公式为其中p
vint
为根据起始速度计算得到的每个控制周期的脉冲数;
20.根据第二计算公式计算减速过程中的理论脉冲数p’dec
,所述第二计算公式为其中p
vend
为根据终止速度计算得到的每个控制周期的脉冲数;
21.当p’acc
p’dec
≥p
sum
时,则配置加速阶段实际运行的脉冲数p
acc
、减速过程实际运行的脉冲数p
dec
和匀速过程实际运行脉冲数p
con
分别为:
[0022][0023]
p
acc
=p
sum-p
dec
[0024]
p
con
=0;
[0025]
当p’acc
p’dec
《p
sum
时,则配置加速阶段实际运行的脉冲数p
acc
、减速过程实际运行的脉冲数p
dec
和匀速过程实际运行脉冲数p
con
分别为:
[0026]
p
acc
=p’acc
[0027]
p
dec
=p’dec
[0028]
p
con
=p
sum-p
acc-p
dec

[0029]
在一实施例中,所述伺服电机定位方法还包括:
[0030]
在伺服电机运行过程中,若伺服驱动器通过通信接口接收到上位机发送的第二运
动控制参数,则根据第二运动控制参数重新确定伺服电机的运行轨迹并按照重新确定的运行轨迹控制伺服电机运行。
[0031]
在一实施例中,所述伺服电机定位方法还包括:
[0032]
在伺服电机运行过程中,若伺服驱动器通过通信接口接收到上位机发送的暂停信号,则控制伺服电机减速停机,待接收到上位机发送的继续运行信号后,根据第一运动控制参数和当前位置重新确定伺服电机的运行轨迹,并按照重新确定的运行轨迹控制伺服电机运行。
[0033]
在一实施例中,所述伺服电机定位方法还包括:
[0034]
在伺服电机每次上电时,获取当前伺服电机的电机轴位置,根据所述电机轴位置、预设原点位置和预设原点位置进行回原点操作。
[0035]
在一实施例中,所述伺服电机定位方法还包括:
[0036]
获取当前伺服电机的电机轴位置,将当前电机轴位置与预设正向限位阈值和负向限位阈值分别进行比较,当电机轴位置超出预设正向限位阈值或负向限位阈值时控制伺服电机停止工作操作并报警。
[0037]
本发明还提供一种伺服定位装置,所述伺服定位装置包括:
[0038]
伺服驱动器,所述伺服驱动器具有通信端、驱动端和信号检测端,所述通信端用于与上位机电连接;
[0039]
伺服电机,所述伺服电机与所述伺服驱动器的驱动端电连接;
[0040]
编码器,所述编码器与所述伺服驱动器的信号检测端电连接,所述编码器用于检测伺服电机的电机轴的位置,并输出位置信号;
[0041]
所述伺服驱动器包括存储器、处理器和存储在存储器上并可在处理器上运行的伺服电机定位控制程序,所述处理器执行所述伺服电机定位控制程序时实现如上所述的伺服电机定位方法。
[0042]
在一实施例中,所述伺服驱动器包括位置指令生成器;
[0043]
所述位置指令生成器与所述编码器和所述伺服电机分别电连接,所述位置指令生成器用于根据所述累计运行的脉冲数p
total
、加速脉冲增量δp
acc
和减速脉冲增量δp
dec
生成控制指令。
[0044]
在一实施例中,所述通信端可以采用can、rs485、rs232或rs422接口。
[0045]
本发明中上位机通过通信接口直接向伺服驱动器发送第一运动控制参数,由伺服驱动器生成位置控制指令,并向伺服电机发送相应的电压信号来驱动伺服电机工作。位置控制指令由内部伺服驱动器生成,不易受到外界干扰。上位机与伺服驱动器直接通过通信接口连接,节省硬件成本,解决了接线混乱、不方便设备维护的问题。
附图说明
[0046]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获取其他的附图。
[0047]
图1为本发明控制方法一实施例的步骤流程示意图;
[0048]
图2为本发明当前运行轨迹一实施例的速度与时间关系示意图;
[0049]
图3为本发明插段运行一实施例的速度与时间关系示意图;
[0050]
图4为本发明伺服定位装置一实施例的结构示意图;
[0051]
图5为本发明位置指令生成器一实施例的输入参数示意图。
[0052]
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0053]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
[0054]
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后
……
)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
[0055]
另外,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
[0056]
参照图1,本发明提出一种伺服电机定位方法,应用于伺服定位装置,伺服定位装置包括伺服驱动器和带编码器的伺服电机,伺服驱动器通过通信接口连接上位机,伺服电机定位方法包括:
[0057]
s100:伺服驱动器通过通信接口接收上位机发送的第一运动控制参数,根据第一运动控制参数中的运行距离计算伺服电机实际运行所需的运行脉冲总数p
sum
,根据运行脉冲总数和第一运动控制参数中的目标速度计算得到匀速阶段每个控制周期的脉冲数p
vmax
,以及根据第一运动控制参数中的加速时间t
acc
和减速时间t
dec
,计算在每个控制周期的加速脉冲增量δp
acc
和减速脉冲增量δp
dec

[0058]
s200:获取伺服电机工作累计运行的脉冲数p
total
,并根据累计运行的脉冲数p
total
、加速脉冲增量δp
acc
和减速脉冲增量δp
dec
确定伺服电机当前的运行轨迹;
[0059]
s300:当确定伺服电机当前的运行轨迹处于加速阶段时,则在加速阶段的每个控制周期内,生成位置控制指令p
cmd
为:p
cmd
=p’cmd
δp
acc
,其中p’cmd
为上一控制周期的位置控制指令;若p
cmd
≥p
vmax
,生成位置控制指令p
cmd
为:p
cmd
=p
vmax

[0060]
s400:当确定伺服电机当前的运行轨迹处于均速阶段,则在加速阶段的每个控制周期内,生成位置控制指令p
cmd
为:p
cmd
=p
vmax

[0061]
s500:当确定伺服电机当前的运行轨迹处于减速阶段,则在加速阶段的每个控制周期内,生成位置控制指令p
cmd
为:p
cmd
=p’cmd-δp
dec
;若p
cmd
≤δp
dec
,生成位置控制指令p
cmd
为:p
cmd
=δp
dec

[0062]
s600:根据伺服电机当前的运行轨迹所处的阶段采用对应生成的位置控制指令驱
动伺服电机工作。
[0063]
伺服驱动器用于与上位机连接的通信接口可以采用can、rs485、rs232、rs422等接口。
[0064]
为了方便理解在此定义如下参数:
[0065]
加速时间t
acc
:电机从起始速度加速到目标速度所需时间;
[0066]
减速时间t
dec
:电机从目标速度减速到终止速度所需时间;
[0067]
f:伺服定位装置位置控制环路执行频率(单位:hz),是存储在驱动器内部的驱动器系统参数;
[0068]
m:电机编码器分辨率,是存储在驱动器内部的驱动器系统参数;
[0069]
n:设备减速机构传动比,是上位机控制器通信给定的设定参数;
[0070]
k:减速机构旋转一圈负载的位移量(单位mm或度),是上位机控制器通信给定的设定参数;
[0071]
转换系数a=n*m/k,用于将运行距离转换为电机所需转动的脉冲个数;
[0072]
转换系数b=n*m/(k*f),用于将目标速度转换为每个控制周期内的脉冲数;
[0073]
转换系数c=10^6*m/(60*f^2),用于将加减速时间转换为每个控制周期的脉冲增量。
[0074]
步骤s100中,根据第一运动控制参数中的运行距离s计算伺服电机实际运行所需的运行脉冲总数p
sum
具体为:p
sum
=s
·
a;根据运行脉冲总数和第一运动控制参数中的目标速度计算得到匀速阶段每个控制周期的脉冲数p
vmax
具体为:p
vmax
=v
max
·
b;根据第一运动控制参数中的加速时间t
acc
和减速时间t
dec
,计算在每个控制周期的加速脉冲增量δp
acc
和减速脉冲增量δp
dec
具体为:
[0075]
上位机向伺服驱动器发送第一运动控制参数,第一运动控制参数包括控制字、运行距离s、目标速度v
max
、加速时间t
acc
和减速时间t
dec
,其中控制字包括伺服使能、回原点、暂停、插段运行等信息。
[0076]
伺服驱动器通过编码器获取当前伺服电机工作累计运行的脉冲数p
total
,并根据累计运行的脉冲数p
total
、加速脉冲增量δp
acc
和减速脉冲增量δp
dec
确定伺服电机当前运行轨迹。伺服电机当前运行轨迹具有加速阶段、减速阶段或者加速阶段、减速阶段、匀速阶段。
[0077]
当确定伺服电机当前的运行轨迹处于加速阶段时,则在加速阶段的每个控制周期内,生成位置控制指令p
cmd
为:p
cmd
=p’cmd
δp
acc
,其中p’cmd
为上一控制周期的位置控制指令;当p
cmd
≥p
vmax
,说明伺服电机的运行速度已经达到目标速度,即将进入匀速阶段,此时需要将位置控制指令p
cmd
限定在p
vmax
,避免位置控制指令p
cmd
大于匀速阶段每个控制周期的脉冲数p
vmax
,导致实际运行轨迹与根据累计运行的脉冲数p
total
、加速脉冲增量δp
acc
和减速脉冲增量δp
dec
确定的伺服电机当前的运行轨迹不同,定位失准,因此生成位置控制指令p
cmd
为:p
cmd
=p
vmax

[0078]
当确定伺服电机当前的运行轨迹处于匀速阶段,则在匀速阶段的每个控制周期内,生成位置控制指令p
cmd
为:p
cmd
=p
vmax

[0079]
当确定伺服电机当前的运行轨迹处于减速阶段,则在减速阶段的每个控制周期内,生成位置控制指令p
cmd
为:p
cmd
=p’cmd-δp
dec
;当p
cmd
≤δp
dec
,说明伺服电机的运动速度
趋近于零,生成位置控制指令p
cmd
为:p
cmd
=δp
dec
,使伺服电机以δp
dec
的减速脉冲增量运动,完成定位。这里当p
cmd
≤δp
dec
时,并不直接控制伺服电机停机,可以避免出现由于实际运行过程中的误差,导致减速阶段的脉冲数尚未运行完成就停机的情况。
[0080]
根据伺服电机当前的运行轨迹所处的阶段采用对应生成的位置控制指令向伺服电机发送相应的电压信号,以驱动伺服电机工作。
[0081]
本发明中上位机通过通信接口直接向伺服驱动器发送第一运动控制参数,由伺服驱动器生成位置控制指令,并向伺服电机发送相应的电压信号来驱动伺服电机工作。位置控制指令由内部伺服驱动器生成,不易受到外界干扰。上位机与伺服驱动器直接通过通信接口连接,节省硬件成本,解决了接线混乱、不方便设备维护的问题。
[0082]
在一实施例中,根据累计运行的脉冲数p
total
、加速脉冲增量δp
acc
和减速脉冲增量δp
dec
确定伺服电机当前运行轨迹具体包括:
[0083]
根据伺服电机工作累计运行的脉冲数p
total
、运行脉冲总数p
sum
、加速脉冲增量p
acc
和减速脉冲增量δp
dec
配置加速阶段实际运行的脉冲数p
acc
,减速过程实际运行的脉冲数p
dec
和匀速过程实际运行脉冲数p
con

[0084]
当累计运行的脉冲数p
total
不大于加速阶段实际所需的运行脉冲数p
acc
时,确定伺服电机当前的运行轨迹处于加速阶段;
[0085]
当累计运行的脉冲数p
total
大于加速阶段实际所需的运行脉冲数p
acc
,且小于运行脉冲总数p
sum
与减速阶段实际所需的运行脉冲数p
dec
的差值时,确定伺服电机当前的运行轨迹处于均速阶段;
[0086]
当累计运行的脉冲数p
total
大于运行脉冲总数p
sum
与减速阶段实际所需的运行脉冲数p
dec
的差值时,确定伺服电机当前的运行轨迹处于减速阶段。
[0087]
参照图2,起始速度为零,累计运行的脉冲数p
total
为零,伺服电机的运行状态为加速

匀速

减速,或者加速

减速。当p
total
≤p
acc
时,说明伺服电机累计运行的脉冲数p
total
尚未达到加速阶段实际所需的运行脉冲数p
acc
,即伺服电机尚未达到目标速度,处于加速阶段;当p
acc
《p
total
《p
sum-p
dec
时,说明伺服电机累计运行的脉冲数p
total
已经达到加速阶段实际所需的运行脉冲数p
acc
,但尚未达到加速阶段实际所需的运行脉冲数p
acc
和匀速阶段实际所需的运行脉冲数p
con
之和,即伺服电机已经达到目标速度且尚未进入减速阶段,即伺服电机处于匀速阶段;当p
total
≥p
sum-p
dec
时,说明伺服电机累计运行的脉冲数p
total
已经运行完加速阶段和匀速阶段,即正在减速,处于减速阶段。
[0088]
本实施例通过累计运行的脉冲数p
total
、加速脉冲增量δp
acc
和减速脉冲增量δp
dec
判断当前伺服电机处于加速阶段、匀速阶段或减速阶段,以便生成位置控制指令控制伺服电机工作。
[0089]
在一实施例中,根据伺服电机工作累计运行的脉冲数p
total
、运行脉冲总数p
sum
、加速脉冲增量δp
acc
和减速脉冲增量δp
dec
配置加速阶段实际运行的脉冲数p
acc
,减速过程实际运行的脉冲数p
dec
和匀速过程实际运行脉冲数p
con
具体为:
[0090]
根据第一计算公式计算加速阶段中的理论脉冲数p’acc
,减速过程中的理论脉冲数p’dec
,第一计算公式为其中p
vint
为根据起始速度计算得到
的每个控制周期的脉冲数;
[0091]
根据第二计算公式计算减速过程中的理论脉冲数p’dec
,第二计算公式为
[0092]
当p’acc
p’dec
≥p
sum
时,则配置加速阶段实际运行的脉冲数p
acc
、减速过程实际运行的脉冲数p
dec
和匀速过程实际运行脉冲数p
con
分别为:
[0093][0094]
p
acc
=p
sum-p
dec
[0095]
p
con
=0;
[0096]
当p’acc
p’dec
《p
sum
时,则配置加速阶段实际运行的脉冲数p
acc
、减速过程实际运行的脉冲数p
dec
和匀速过程实际运行脉冲数p
con
分别为:
[0097]
p
acc
=p’acc
[0098]
p
dec
=p’dec
[0099]
p
con
=p
sum-p
acc-p
dec

[0100]
当p’acc
p’dec
≥p
sum
时,说明伺服电机实际运行中的运行脉冲总数p
sum
无法满足为了达到目标速度,在加速阶段所需的脉冲数和在减速阶段所需的脉冲数,即伺服电机在运行距离s中无法达到目标速度。伺服驱动器将根据运行距离s自动修正伺服电机最大运行速度,此时伺服电机的运行轨迹只有加速阶段和减速阶段。配置加速阶段实际运行的脉冲数p
acc
和减速过程实际运行的脉冲数p
dec
分别为:
[0101][0102]
p
acc
=p
sum-p
dec

[0103]
减速过程实际运行的脉冲数的计算结果为非整数取余。若令加速阶段实际运行的脉冲数则p
acc
p
dec
<p
sum
,实际运行过程中会存在误差。令加速阶段实际运行的脉冲数p
acc
=p
sum-p
dec
,可以减小运行过程的误差,实现更精确的控制。
[0104]
当p’acc
p’dec
《p
sum
时,说明伺服电机实际运行中的运行脉冲总数p
sum
可以满足为了达到目标速度,在加速阶段所需的脉冲数和在减速阶段所需的脉冲数,即伺服电机在运行距离s中可以达到目标速度。配置加速阶段实际运行的脉冲数p
acc
、减速过程实际运行的脉冲数p
dec
和匀速过程实际运行脉冲数p
con
分别为:
[0105]
p
acc
=p’acc
[0106]
p
dec
=p’dec
[0107]
p
con
=p
sum-p
acc-p
dec

[0108]
在一实施例中,伺服电机定位方法还包括:
[0109]
在伺服电机运行过程中,若伺服驱动器通过通信接口接收到上位机发送的第二运
动控制参数,则根据第二运动控制参数重新确定伺服电机的运行轨迹并按照重新确定的运行轨迹控制伺服电机运行。
[0110]
上述根据第二运动控制参数重新确定运行轨迹的方式与根据第一运动控制参数确定运行轨迹的方式原理相同。具体为:
[0111]
根据第二运动控制参数中的运行距离计算伺服电机实际运行所需的运行脉冲总数p
sum
:p
sum
=s
·
a;
[0112]
根据运行脉冲总数和第二运动控制参数中的目标速度计算得到匀速阶段每个控制周期的脉冲数p
vmax
:p
vmax
=v
max
·
b;
[0113]
根据第二运动控制参数中的加速时间t
acc
和减速时间t
dec
,计算在每个控制周期的加速脉冲增量δp
acc
和减速脉冲增量:
[0114]
伺服驱动器通过编码器获取当前伺服电机工作累计运行的脉冲数p
total
,根据第一计算公式计算加速阶段中的理论脉冲数p’acc
,减速过程中的理论脉冲数
[0115]
根据加速阶段中的理论脉冲数p’acc
和减速过程中的理论脉冲数p’dec
计算加速阶段实际运行的脉冲数p
acc
,减速过程实际运行的脉冲数p
dec
和匀速过程实际运行脉冲数p
con
:当p’acc
p’dec
≥p
sum
时,加速阶段实际运行的脉冲数p
acc
、则配置减速过程实际运行的脉冲数p
dec
和匀速过程实际运行脉冲数p
con
分别为:
[0116][0117]
p
acc
=p
sum-p
dec
[0118]
p
con
=0,
[0119]
当p’acc
p’dec
《p
sum
时,则配置加速阶段实际运行的脉冲数p
acc
、减速过程实际运行的脉冲数p
dec
和匀速过程实际运行脉冲数p
con
分别为:
[0120]
p
acc
=p’acc
[0121]
p
dec
=p’dec
[0122]
p
con
=p
sum-p
acc-p
dec

[0123]
根据当前伺服电机工作累计运行的脉冲数p
total
、加速阶段实际运行的脉冲数p
acc
和减速过程实际运行的脉冲数p
dec
确定伺服电机新的运行轨迹:
[0124]
当p
total
≤p
acc
时,伺服电机的运行轨迹处于加速阶段,在加速阶段的每个控制周期内,生成位置控制指令p
cmd
为:p
cmd
=p’cmd
δp
acc

[0125]
当p
acc
《p
total
《p
sum-p
dec
时,伺服电机的运行轨迹处于匀速阶段,在匀速阶段的每个控制周期内,生成位置控制指令p
cmd
为:p
cmd
=p
vmax

[0126]
当p
total
≥p
sum-p
dec
时,伺服电机的运行轨迹处于减速阶段,在减速阶段的每个控制周期内,生成位置控制指令p
cmd
为:p
cmd
=p’cmd-δp
dec
,当p
cmd
≤δp
dec
,生成位置控制指令p
cmd
为:p
cmd
=δp
dec

[0127]
参照图3,在根据第一运动控制参数确定的伺服电机的运行轨迹运行到t1时刻,伺
服驱动器通过通信接口接收到上位机发送的第二运动控制参数,根据第二运动控制参数重新确定伺服电机的运行轨迹。在根据第一运动控制参数确定的伺服电机的运行轨迹时按起始速度等于零,终止速度等于零处理。在根据第二运动控制参数重新确定伺服电机的运行轨迹时,起始速度不等于零,其值为t1时刻的速度,终止速度等于零。
[0128]
本实施例采用起始速度与终止速度可不为零、加速度与减速度可不相同的梯形加减速控制方法,可以实现插段运行。伺服电机在运行过程中可以随时处理新的运动控制参数,且不影响定位精度。
[0129]
在一实施例中,伺服电机定位方法还包括:
[0130]
在伺服电机运行过程中,若伺服驱动器通过通信接口接收到上位机发送的暂停信号,则控制伺服电机减速停机,待接收到上位机发送的继续运行信号后,根据第一运动控制参数和当前位置重新确定伺服电机的运行轨迹,并按照重新确定的运行轨迹控制伺服电机运行。
[0131]
在一实施例中,伺服电机定位方法还包括:
[0132]
在伺服电机每次上电时,获取当前伺服电机的电机轴位置,根据电机轴位置、预设原点位置和预设原点位置进行回原点操作。
[0133]
伺服定位装置在每次上电后需要先进行回原点操作。伺服驱动器通过编码器获取预设原点位置、预设回原点速度和当前伺服电机的电机轴位置,根据当前伺服电机的电机轴位置和预设原点位置自动计算回原点距离,根据回原点距离和预设的回原点速度产生运动位置指令,不需要主控制器参与。
[0134]
本实施例通过编码器存储预设原点位置信息,替代由传感器指定机械原点,受外部环境影响小,减少系统故障点,增加系统可靠性,且节省硬件成本。
[0135]
在一实施例中,伺服电机定位方法还包括:
[0136]
获取当前伺服电机的电机轴位置,将当前电机轴位置与预设正向限位阈值和负向限位阈值分别进行比较,当电机轴位置超出预设正向限位阈值或负向限位阈值时控制伺服电机停止工作操作并报警。
[0137]
伺服驱动器通过编码器存储正向限位阈值和负向限位阈值,采用软限位功能,替代由传感器指定正/负极限位置。受外部环境影响小,减少系统故障点,增加系统可靠性,且节省硬件成本。
[0138]
下面将结合附图具体阐述本发明的原理:
[0139]
s1:伺服驱动器通过通信接口接收上位机发送的第一运动控制参数,根据第一运动控制参数中的运行距离计算伺服电机实际运行所需的运行脉冲总数p
sum
:p
sum
=s
·
a;
[0140]
s2:根据运行脉冲总数和第一运动控制参数中的目标速度计算得到匀速阶段每个控制周期的脉冲数p
vmax
:p
vmax
=v
max
·
b;
[0141]
s3:根据第一运动控制参数中的加速时间t
acc
和减速时间t
dec
,计算在每个控制周期的加速脉冲增量δp
acc
和减速脉冲增量δp
dec

[0142]
s4:伺服驱动器通过编码器获取当前伺服电机工作累计运行的脉冲数p
total
,根据第一计算公式计算加速阶段中的理论脉冲数p’acc
,减速过程中的理论脉冲数p’dec

[0143]
s5:根据加速阶段中的理论脉冲数p’acc
和减速过程中的理论脉冲数p’dec
计算加速阶段实际运行的脉冲数p
acc
,减速过程实际运行的脉冲数p
dec
和匀速过程实际运行脉冲数p
con
:当p’acc
p’dec
≥p
sum
时,说明伺服电机实际运行中的运行脉冲总数p
sum
无法满足为了达到目标速度,在加速阶段所需的脉冲数和在减速阶段所需的脉冲数,即伺服电机在运行距离s中无法达到目标速度。伺服驱动器将根据运行距离s自动修正伺服电机最大运行速度,此时伺服电机的运行轨迹只有加速阶段和减速阶段。配置加速阶段实际运行的脉冲数p
acc
、减速过程实际运行的脉冲数p
dec
和匀速过程实际运行脉冲数p
con
分别为:
[0144][0145]
p
acc
=p
sum-p
dec
[0146]
p
con
=0,
[0147]
当p’acc
p’dec
《p
sum
时,说明伺服电机实际运行中的运行脉冲总数p
sum
可以满足为了达到目标速度,在加速阶段所需的脉冲数和在减速阶段所需的脉冲数,即伺服电机在运行距离s中可以达到目标速度。配置加速阶段实际运行的脉冲数p
acc
、减速过程实际运行的脉冲数p
dec
和匀速过程实际运行脉冲数p
con
分别为:
[0148]
p
acc
=p’acc
[0149]
p
dec
=p’dec
[0150]
p
con
=p
sum-p
acc-p
dec

[0151]
s6:根据当前伺服电机工作累计运行的脉冲数p
total
、加速阶段实际运行的脉冲数p
acc
和减速过程实际运行的脉冲数p
dec
确定伺服电机当前运行轨迹:
[0152]
当p
total
≤p
acc
时,伺服电机尚未达到目标速度,处于加速阶段,在加速阶段的每个控制周期内,生成位置控制指令p
cmd
为:p
cmd
=p’cmd
δp
acc
,若p
cmd
≥p
vmax
,生成位置控制指令p
cmd
为:p
cmd
=p
vmax

[0153]
当p
acc
《p
total
《p
sum-p
dec
时,伺服电机已经达到目标速度且尚未进入减速阶段,处于匀速阶段,在匀速阶段的每个控制周期内,生成位置控制指令p
cmd
为:p
cmd
=p
vmax

[0154]
当p
total
≥p
sum-p
dec
时,伺服电机正在减速,处于减速阶段,在减速阶段的每个控制周期内,生成位置控制指令p
cmd
为:p
cmd
=p’cmd-δp
dec
,若p
cmd
≤δp
dec
,生成位置控制指令p
cmd
为:p
cmd
=δp
dec

[0155]
s7:根据伺服电机当前的运行轨迹所处的阶段采用对应生成的位置控制指令驱动伺服电机工作。
[0156]
在伺服电机运行过程中,伺服驱动器通过通信接口接收到上位机发送的第二运动控制参数时,暂停按照当前的运行轨迹控制伺服电机工作,按照上述方法根据第二运动控制参数计算确定伺服电机新的运动轨迹,并根据伺服电机新的运行轨迹所处的阶段采用对应生成的位置控制指令驱动伺服电机工作。按照新的运行轨迹控制伺服电机工作完成后,继续按照当前的运行轨迹生成位置控制指令驱动伺服电机工作。
[0157]
本发明中上位机通过通信接口直接向伺服驱动器发送第一运动控制参数,由伺服
驱动器生成位置控制指令,并向伺服电机发送相应的电压信号来驱动伺服电机工作。位置控制指令由内部伺服驱动器生成,不易受到外界干扰。上位机与伺服驱动器直接通过通信接口连接,节省硬件成本,解决了接线混乱、不方便设备维护的问题。本发明采用起始速度与终止速度可不为零、加速度与减速度可不相同的梯形加减速控制方法,可以实现插段运行。
[0158]
参照图4,本发明还提供一种伺服定位装置,伺服定位装置包括伺服驱动器10、伺服电机20和编码器30。
[0159]
伺服驱动器10具有通信端、驱动端和信号检测端,通信端用于与上位机电连接。
[0160]
伺服电机20与伺服驱动器10的驱动端电连接。
[0161]
编码器30与伺服驱动器10的信号检测端电连接,编码器30用于检测伺服电机20的电机轴的位置,并输出位置信号。
[0162]
伺服驱动器10包括存储器、处理器和存储在存储器上并可在处理器上运行的伺服电机定位控制程序,处理器执行伺服电机定位控制程序时实现上述伺服电机定位方法。
[0163]
电机编码器30可以采用多圈绝对值编码器30,既检测电机旋转1周内的位置,又对电机旋转圈数进行计数。
[0164]
本发明中上位机通过通信接口直接向伺服驱动器发送第一运动控制参数,由伺服驱动器生成位置控制指令,并向伺服电机发送相应的电压信号来驱动伺服电机工作。位置控制指令由内部伺服驱动器生成,不易受到外界干扰。上位机与伺服驱动器直接通过通信接口连接,节省硬件成本,解决了接线混乱、不方便设备维护的问题。
[0165]
在一实施例中,伺服驱动器10包括位置指令生成器11。
[0166]
位置指令生成器11与编码器30和伺服电机20分别电连接,位置指令生成器11用于根据累计运行的脉冲数p
total
、加速脉冲增量δp
acc
和减速脉冲增量δp
dec
生成控制指令。
[0167]
参照图5,位置指令生成器11的输入参数包括:控制字、限位信号、预设原点位置、运行距离、目标速度、预设回原点速度、加速时间、减速时间等。其中,控制字、运行距离、目标速度、回原点速度、加速时间、减速时间等由上位机通过通信给定。控制字包括伺服使能、回原点、暂停、插段运行等信息。
[0168]
伺服驱动器10在接收到运动控制参数后,位置指令生成器11根据运动控制参数生成运动位置指令。运动位置指令输入位置控制环路,位置控制环路根据编码器30输出的伺服电机20反馈位置控制生成运动速度指令;运动速度指令输入到速度控制环路,速度控制环路根据编码器30输出的伺服电机20的反馈位置计算反馈速度,以生成电流指令;电流指令输入到力矩控制环路,力矩控制环路根据编码器30输出的电机反馈电流生成pwm脉冲输出到逆变器,驱动伺服电机20运行。
[0169]
伺服驱动器10内部自带位置指令生成器11,上位机不需要给伺服驱动器10发送位置控制脉冲,而是通过通信端口将运动控制参数发送到伺服驱动器10,由伺服驱动器10内部的位置指令生成器11自动生成伺服电机20的位置控制指令,实现伺服电机20定位功能,不易受到外界干扰。
[0170]
在一实施例中,通信端可以采用can、rs485、rs232或rs422接口。
[0171]
以上仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其
他相关的技术领域均包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献