System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于编码器,更具体地,涉及一种具有绝对式编码器的伺服电机驱动方向判断方法及设备。
技术介绍
1、绝对式编码器:编码器是对旋转角度及线性位移位置编码的传感器。检测旋转角度的编码器称为旋转编码器,而检测线性位移的编码器称为线性编码器。编码器按检测方法分为机械式(接触式)、广电式、磁性式、电感式。编码器有两种方式检测位移与位置信息:相对位置检测和绝对位置检测。检测从一个位置到下一个位置的移动量称为相对式编码器。直接检测距离起始位置有多远的编码器称为绝对式编码器。绝对式编码器断电后重新启动,可以检测到重新启动时的位置。在绝对式编码器中有两种输出方式,一种是将二进制码作为数字信号输出;另一种是将二进制码转换为模拟电压并输出。此外,对于数字信号也是有两种输出方式的,一种是并行输出,通过多个信号线从多个狭缝中得到的二进制代码原样输出;另一种是串行输出,使用一个信号线传输,同时将并行输出的多个信号转换为串行数据,并随时间顺序依次传输。
2、伺服电机是伺服机构中使用的电机,为了精确控制电机的旋转角度,部分伺服电机通过绝对式编码器检测位置。伺服控制器根据当前编码位置及目标编码位置判断电机驱动的方向。编码器可以不直接检测电机位置而是通过检测与电机输出端连接的具有固定传动比的传动机构位置间接检测电机位置。如图4所示,在绝对式编码器精度较低,即位置编码较少时,可以通过嵌套式判断语句实现,例如若存在3个位置编码依次为x、y和z,从x到z为正转,从z到x为反转,通常使用下列方法实现驱动方向的判断:首先判断目标位置编码是否为x,是则判断当
3、上述方法在编码值数量为n时,最多将进行超过n^2次判断,才可获得当前电机驱动的方向。在编码器精度较高时,即编码位置较多时,代码量将急剧增加。如某电机绝对式位置编码器具有30个位置编码值,如按上述方法,获得当前电机驱动方向最多可能需要进行超过900次判断。该方法耗费时间长,代码量大,在控制系统中对内存的占用也更大。对于控制芯片的性能要求更高。
技术实现思路
1、针对现有技术的以上缺陷或改进需求,本专利技术提供了一种具有绝对式编码器的伺服电机驱动方向判断方法及设备,其能够以较少的步骤实现电机驱动方向的判断,在编码值数量为n时,最多进行约2n次判断,可以减少控制系统中的代码量及运算次数,缩短计算时间,减少对于伺服控制器控制芯片性能要求。
2、为实现上述目的,按照本专利技术的一个方面,提出了一种具有绝对式编码器的伺服电机驱动方向判断方法,包括以下步骤:
3、步骤一,将绝对式位置编码器编码值按照其实际顺序依次排列存入一维编码数组中;
4、步骤二,获取当前编码值及目标编码值,判断当前编码值是否合法,若前编码值合法,若合法,进入步骤三,否者结束判断;
5、步骤三,分别计算当前编码值及目标编码值在编码数组的位置;
6、步骤四,判断当前编码值在编码数组中所处的位置与目标编码值在编码数组中的所处的位置,若当前编码值在编码数组中所处的位置大于目标编码值在编码数组中的所处的位置,则伺服电机驱动方向为反转,结束判断,输出判断结果,若当前编码值在编码数组中所处的位置小于目标编码值在编码数组中的所处的位置,则伺服电机驱动方向为正转,结束判断。
7、作为进一步优选的,步骤一中,编码数组中,每个编码值都有唯一一个位置索引与其对应,并且相邻编码值位置差值为固定的值。
8、作为进一步优选的,步骤一中,当前编码值根据绝对式编码器输出方式通过不同的采样电路实现采集,目标编码值根据伺服控制器控制需求,从伺服控制器外部或内部获取。
9、作为进一步优选的,所述判断当前编码值是否合法包括:
10、将当前编码值与编码值数组中每一个编码值进行对比,若当前编码值与编码值数组中的某一个编码值相等,则当前编码值合法,若当前编码值与编码值数组中的任何一个编码值不相等则当前编码值非法。
11、作为进一步优选的,所述计算当前编码值在编码数组的位置包括:
12、(1)获取编码值数组中相邻编码值位置的差值;
13、(2)将计数器的初始值设置为编码值数组的第一个编码值的位置索引;
14、(3)将当前编码值与编码值数组中所述计数器作为位置索引对应的编码值进行对比;
15、(4)若相等,则当前编码值在编码值数组中的位置为该计数器值,退出计算,否则,计数器在自身基础上增加一个所述差值,并将该值作为新的计数器值;
16、(5)重复上述步骤(3)和(4),直至退出计算,输出当前编码值在编码数组的位置。
17、作为进一步优选的,所述计算目标编码值在编码数组的位置包括:
18、(1)获取编码值数组中相邻编码值位置的差值;
19、(2)将计数器的初始值设置为编码值数组的第一个编码值的位置索引;
20、(3)将目标编码值与编码值数组中所述计数器作为位置索引对应的编码值进行对比;
21、(4)若相等,则目标编码值在编码值数组中的位置为该计数器值,退出计算,否则,计数器在自身基础上增加一个所述差值,并将该值作为新的计数器值;
22、(5)重复上述步骤(3)和(4),直至退出计算,输出目标编码值在编码分数组的位置。
23、作为进一步优选的,步骤四中,设定伺服电机驱动方向为正转时,将导致当前编码值在编码数组中的位置索引增大,伺服电机驱动方向为反转时,将导致当前编码值在编码数组中的位置索引减小。
24、按照本专利技术的另一个方面,还提供了一种具有绝对式编码器的伺服电机驱动方向判断系统,包括:
25、第一主控模块,用于将绝对式位置编码器编码值按照其实际顺序依次排列存入一维编码数组中;
26、第二主控模块,用于获取当前编码值及目标编码值,判断当前编码值是否合法性,并将判断结果传输给第三主控模块;
27、第三主控模块,用于在当前编码值合法时,分别计算当前编码值及目标编码值在编码数组的位置;
28、第四主控模块,用于判断当前编码值在编码数组中所处的位置与目标编码值在编码数组中的所处的位置,若当前编码值在编码数组中所处的位置大于目标编码值在编码数组中的所处的位置,则伺服电机驱动方为反转,结束判断,输出判断结果,若当前编码值在编码数组中所处的位置小于目标编码值在编码数组中的所处的位置,则伺服电机驱动方为正转,结束判断。
29、按照本专利技术的另一个方面,还提供了一种电子设备,包括:
30、至少一个处理器、本文档来自技高网...
【技术保护点】
1.一种具有绝对式编码器的伺服电机驱动方向判断方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种具有绝对式编码器的伺服电机驱动方向判断方法,其特征在于,步骤一中,编码数组中,每个编码值都有唯一一个位置索引与其对应,并且相邻编码值位置差值为固定的值。
3.根据权利要求1所述的一种具有绝对式编码器的伺服电机驱动方向判断方法,其特征在于,步骤一中,当前编码值根据绝对式编码器输出方式通过不同的采样电路实现采集,目标编码值根据伺服控制器控制需求,从伺服控制器外部或内部获取。
4.根据权利要求1所述的一种具有绝对式编码器的伺服电机驱动方向判断方法,其特征在于,所述判断当前编码值是否合法包括:
5.根据权利要求1所述的一种具有绝对式编码器的伺服电机驱动方向判断方法,其特征在于,所述计算当前编码值在编码数组的位置包括:
6.根据权利要求1所述的一种具有绝对式编码器的伺服电机驱动方向判断方法,其特征在于,所述计算目标编码值在编码数组的位置包括:
7.根据权利要求1所述的一种具有绝对式编码器的伺服电机驱动方向判断方法
8.一种具有绝对式编码器的伺服电机驱动方向判断系统,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行权利要求1至7中任一项权利要求所述的一种具有绝对式编码器的伺服电机驱动方向判断方法。
...【技术特征摘要】
1.一种具有绝对式编码器的伺服电机驱动方向判断方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种具有绝对式编码器的伺服电机驱动方向判断方法,其特征在于,步骤一中,编码数组中,每个编码值都有唯一一个位置索引与其对应,并且相邻编码值位置差值为固定的值。
3.根据权利要求1所述的一种具有绝对式编码器的伺服电机驱动方向判断方法,其特征在于,步骤一中,当前编码值根据绝对式编码器输出方式通过不同的采样电路实现采集,目标编码值根据伺服控制器控制需求,从伺服控制器外部或内部获取。
4.根据权利要求1所述的一种具有绝对式编码器的伺服电机驱动方向判断方法,其特征在于,所述判断当前编码值是否合法包括:
5.根据权利要求1所述的一种具有绝对式编码器的伺服电机驱动方向判断方法,其特征在于,所述计算当前编码值在编码数...
【专利技术属性】
技术研发人员:李兴旺,刘志柱,汪振晓,李进伟,肖建君,
申请(专利权)人:东风越野车有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。