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

一种智能控制的电动舵机角度修正方法与流程

2022-09-03 20:17:14 来源:中国专利 TAG:


1.本发明属于机械控制技术领域,尤其涉及一种智能控制的电动舵机角度修正方法。


背景技术:

2.电动舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统,由电动机、传动部件和离合器组成。在高档遥控玩具(如飞机、潜艇模型、遥控机器人等),航天领域、船舶中已经得到了普遍应用。但是电动舵机长期运行后,常会出现转动角度偏差。目前,发现和修正转动角度偏差的方法,主要还是靠人工的方式进行,首先向电动舵机发送转动一个预设角度的指令,然后通过角度测量工具确定电动舵机是否转动了预设角度,如果没有转动预设角度,则需要人工对电动舵机转动角度进行修正,修正完成后,再次重复此过程,直至电动舵机精度的转动了预设角度为止,整个转动角度修正过程不智能,效率较低,耗时较长,并存在着修正不准确的问题。


技术实现要素:

3.有鉴于此,本发明实施例提供一种智能控制的电动舵机角度修正方法,用于解决现有发现和修正电动舵机转动角度偏差的方法,不够智能,整个转动角度修正过程效率较低,耗时较长,并存在着修正不准确的问题。本发明能够根据控制板向电动舵机输入的第一脉冲的数量以及电动舵机返回的第二脉冲的数量,智能、自动地对电动舵机进行转动角度修正,提高了转动角度修正效率,使得电动舵机角度转动的更加准确。
4.本发明实施例提供一种智能控制的电动舵机角度修正方法,包括:
5.实时记录所述电动舵机从初始位置转动开始,控制板向电动舵机输入的第一脉冲的数量以及所述电动舵机返回的第二脉冲的数量;其中,所述第一脉冲用于控制所述电动舵机转动,所述第二脉冲为所述电动舵机根据第一脉冲成功转动角度后向所述控制板返回的确认脉冲;
6.根据所述第一脉冲的数量和第二脉冲的数量,对所述电动舵机进行转动角度修正。
7.在一可选实施例中,在所述实时记录从所述电动舵机从初始位置转动开始,控制板向电动舵机输入的第一脉冲的数量以及所述电动舵机返回的第二脉冲的数量之前,还包括:
8.控制所述电动舵机进行通电归位;
9.根据电动舵机的标准转动角度,通过所述控制板向所述电动舵机输出第一数量个第一脉冲;其中,所述标准转动角度为360
°
的约数,所述第一数量为360
°
与所述标准转动角度之商;
10.采集从控制所述电动舵机进行通电归位的时刻开始到通过所述控制板向所述电动舵机输出第一数量个第一脉冲后,所述电动舵机返回的第二脉冲的数量,记为第二数量;
11.根据所述第一数量和第二数量,判断是否需要对所述电动舵机进行转动角度修正;
12.若不需要对所述电动舵机进行转动角度修正,则结束流程;
13.若需要对所述电动舵机进行转动角度修正,则根据所述第一数量和第二数量,确定对所述电动舵机进行转动角度修正的分割角度,随后继续执行所述实时记录从所述电动舵机从初始位置转动开始,控制板向电动舵机输入的第一脉冲的数量以及所述电动舵机返回的第二脉冲的数量的步骤。
14.在一可选实施例中,所述根据所述第一数量和第二数量,判断是否需要对所述电动舵机进行转动角度修正,包括:
15.根据第一公式计算所述电动舵机的转动角度修正判定值;
16.判断所述电动舵机的转动角度修正判定值是否等于1;
17.若所述电动舵机的转动角度修正判定值等于1,则确定需要对所述电动舵机进行转动角度修正,否则,确定不需要对所述电动舵机进行转动角度修正;
18.其中,所述第一公式为:
[0019][0020]
所述第一公式中,y表示所述电动舵机的转动角度修正判定值;θ0表示预设的所述电动舵机接收到一个第一脉冲后转动的标准转动角度值;表示所述第一数量;f表示所述第二数量。
[0021]
在一可选实施例中,所述根据所述第一脉冲的数量和第二脉冲的数量,对所述电动舵机进行转动角度修正,包括:
[0022]
判断当前记录的第二脉冲的数量是否为第一整数值的整数倍;其中,所述第一整数值为所述分割角度与所述标准转动角度之商;
[0023]
若当前记录的第二脉冲的数量为第一整数值的整数倍,则对所述电动舵机进行转动角度修正。
[0024]
在一可选实施例中,所述分割角度值与所述标准转动角度值成倍数关系。
[0025]
在一可选实施例中,所述根据所述第一数量和第二数量,确定对所述电动舵机进行转动角度修正的分割角度,包括:
[0026]
将整数变量f的值从0开始依次加1代入第二公式中,直至得到满足所述第二公式的两个条件算式的整数变量f的值,记为第二整数值;
[0027]
根据所述第一脉冲的数量和第二脉冲的数量差以及所述第二整数值,基于第三公式确定对所述电动舵机进行转动角度修正的分割角度;
[0028]
其中,所述第二公式为:
[0029][0030]
所述第二公式中,f表示整数变量,取值范围为[0,f];x[]表示检测括号内的分数是否可以除尽的函数,若括号内的分数可以除尽则函数值为1,反之为0;%表示取余符号;
[0031]
所述第三公式为:
[0032][0033]
所述第三公式中,α表示对所述电动舵机进行转动角度修正的分割角度,a表示所述第二整数值。
[0034]
在一可选实施例中,所述若当前记录的第二脉冲的数量为第一整数值的整数倍,则对所述电动舵机进行转动角度修正,包括:
[0035]
获取当前记录的第一脉冲的数量;
[0036]
在第一对应关系表中建立第一倍数和当前获取的第一脉冲的数量之间的对应关系;所述第一倍数为当前记录的第二脉冲的数量与第一整数值之商;
[0037]
根据所述第一对应关系表,基于第四公式计算当前所述电动舵机对应的角度修正值;
[0038]
根据所述当前所述电动舵机对应的角度修正值对所述电动舵机进行角度修正;
[0039]
其中,所述第四公式为:
[0040]
β(i)=θ0×
{f0(i)-f0(i-1)-f[α(i)]}
[0041]
所述第四公式中,β(i)表示当前记录的第二脉冲的数量为第一整数值的i倍时,所述电动舵机对应的角度修正值;f0(i)表示所述第一对应关系表记录的第一倍数值为i时对应的第一脉冲的数量;f0(i-1)表示所述第一对应关系表记录的第一倍数值为i-1时对应的第一脉冲的数量;f[α(i)]表示所述第一整数值。
[0042]
在一可选实施例中,当所述当前记录的第二脉冲的数量等于所述第三数量时,在基于第四公式计算当前所述电动舵机对应的角度修正值之后,所述方法还包括:
[0043]
清空当前记录的第一脉冲的数量和第二脉冲的数量,并清空所述第一对应关系表中存储的数据;
[0044]
其中,所述第三数量等于所述电动舵机的最大旋转角度与所述标准转动角度之商。
[0045]
本发明提供的一种智能控制的电动舵机角度修正方法,首先实时记录电动舵机从初始位置转动开始,控制板向电动舵机输入的第一脉冲的数量以及所述电动舵机返回的第二脉冲的数量,然后根据第一脉冲的数量和第二脉冲的数量,对所述电动舵机进行转动角度修正,使得电动舵机角度转动的更加准确。
附图说明
[0046]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0047]
图1为本发明实施例提供的一种智能控制的电动舵机角度修正方法实施例一流程图;
[0048]
图2为本发明实施例提供的一种智能控制的电动舵机角度修正方法实施例二流程图;
[0049]
图3为本发明实施例提供的一种智能控制的电动舵机角度修正方法实施例三流程图。
具体实施方式
[0050]
下面结合附图对本发明实施例进行详细描述。
[0051]
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0052]
图1为本发明实施例提供的一种智能控制的电动舵机角度修正方法实施例一流程图。参见图1,该方法包括如下步骤s101-s102:
[0053]
s101:实时记录所述电动舵机从初始位置转动开始,控制板向电动舵机输入的第一脉冲的数量以及所述电动舵机返回的第二脉冲的数量。
[0054]
其中,所述第一脉冲用于控制所述电动舵机转动,所述第二脉冲为所述电动舵机根据第一脉冲成功转动角度后向所述控制板返回的确认脉冲。
[0055]
本实施例中,电动舵机为反馈式电动舵机,控制板通过向电动舵机输入脉冲(即第一脉冲),电动舵机会根据此脉冲响应角度,并且会在成功响应角度后返回与旋转角度相对应的脉冲(第二脉冲)个数,第一脉冲数量与第二脉冲数量的差异值从客观上反映了电动舵机转动角度偏差情况,便于后续根据此第一和第二脉冲数量,对电动舵机进行转动角度修正。
[0056]
s102:根据所述第一脉冲的数量和第二脉冲的数量,对所述电动舵机进行转动角度修正。
[0057]
本实施例中,第一脉冲为一触发电动舵机转动的脉冲信号,第二脉冲为电动舵机成功响应第一脉冲的信号,二者之间的差值客观的反映了舵机角度偏差情况,通过这个偏差情况,就可以对所述电动舵机进行转动角度修正,从而达到自动的修正电动舵机转动角度。
[0058]
本发明提供的一种智能控制的电动舵机角度修正方法,首先实时记录电动舵机从初始位置转动开始,控制板向电动舵机输入的第一脉冲的数量以及所述电动舵机返回的第二脉冲的数量,然后根据第一脉冲的数量和第二脉冲的数量,对所述电动舵机进行转动角度修正,提高了电动舵机转动角度修正的效率,使得电动舵机角度转动的更加准确。
[0059]
图2为本发明实施例提供的一种智能控制的电动舵机角度修正方法实施例二流程图。参见图2,该方法包括如下步骤s201-s207:
[0060]
s201:控制所述电动舵机进行通电归位。
[0061]
本实施例中,电动舵机一般在通电后会自动回归到初始位置,即可以理解为将电动舵机转动角度置为初始状态,如0
°
,便于后续进行360
°
的转动。
[0062]
s202:根据电动舵机的标准转动角度,通过所述控制板向所述电动舵机输出第一数量个第一脉冲。
[0063]
其中,所述标准转动角度为360
°
的约数,所述第一数量为360
°
与所述标准转动角度之商。
[0064]
本实施例中,假设标准转动角度为30
°
,则控制板需向电动舵机输入360
°
/30
°
=12个第一脉冲,使得电动舵机旋转一圈,便于后续根据第一脉冲数量对舵机转动角度进行修正。
[0065]
s203:采集从控制所述电动舵机进行通电归位的时刻开始到通过所述控制板向所述电动舵机输出第一数量个第一脉冲后,所述电动舵机返回的第二脉冲的数量,记为第二数量。
[0066]
本实施例中,因为电动舵机为反馈式电动舵机,因此可以非常方便的获取第二脉冲数量,便于后续开展电动舵机的角度修正。
[0067]
s204:根据所述第一数量和第二数量,判断是否需要对所述电动舵机进行转动角度修正,是则执行s205;否则退出流程。
[0068]
本实施例中,判断所述电动舵机是否需要进行角度修正,从而在一开始就进行电动舵机的自检判断,节省了后续不必要的控制和计算,节省了系统功耗,提高了系统执行的效率。
[0069]
s205:根据所述第一数量和第二数量,确定对所述电动舵机进行转动角度修正的分割角度。
[0070]
本实施例中,所述分割角度值与所述标准转动角度值成倍数关系。分割角度主要用于确定在哪个时候进行电动舵机转动角度修正。例如,分割角度值为90
°
,电动舵机的标准转动角度为30
°
,则每当控制电动舵机转动90
°
,即第二脉冲数量为3的倍数时,就触发一次对电动舵机进行转动角度修正,从而实现了自动地对电动舵机角度的修正。
[0071]
s206:实时记录所述电动舵机从初始位置转动开始,控制板向电动舵机输入的第一脉冲的数量以及所述电动舵机返回的第二脉冲的数量。
[0072]
s207:根据所述第一脉冲的数量和第二脉冲的数量,对所述电动舵机进行转动角度修正。
[0073]
作为一可选实施例,步骤s204,可以包括以下步骤s2041-s2044:
[0074]
s2041:根据第一公式计算所述电动舵机的转动角度修正判定值。
[0075]
优选地,所述第一公式为:
[0076][0077]
所述第一公式中,y表示所述电动舵机的转动角度修正判定值;θ0表示预设的所述电动舵机接收到一个第一脉冲后转动的标准转动角度值;表示所述第一数量;f表示所述第二数量。
[0078]
本实施例中,假设θ0=30
°
,则第一脉冲的数量为此时,如果f=10,则根据第一公式,y=1;如果f=12,则y=0,此时表示每个第一脉冲都被响应,所述电动舵机不需要进行角度修正,反之y=1则表示有脉冲丢数,所述电动舵机需要进行角度修正。通过第一公式计算的结果,便于后续快速的根据此结果,判断所述电动舵机是否需要进行角度修正,从而在一开始就进行电动舵机的自检判断,节省了后续不必要的控制和计算,节省了系统功耗,提高了系统执行的效率。
[0079]
s2042:判断所述电动舵机的转动角度修正判定值是否等于1;是则执行s2043,否则执行s2044。
[0080]
s2043:确定需要对所述电动舵机进行转动角度修正。
[0081]
s2044:确定不需要对所述电动舵机进行转动角度修正。
[0082]
作为一可选实施例,步骤s205,可以包括以下步骤s2051-s2052:
[0083]
s2051:将整数变量f的值从0开始依次加1代入第二公式中,直至得到满足所述第二公式的两个条件算式的整数变量f的值,记为第二整数值;
[0084]
其中,所述第二公式为:
[0085][0086]
所述第二公式中,f表示整数变量,取值范围为[0,f];x[]表示检测括号内的分数是否可以除尽的函数,若括号内的分数可以除尽则函数值为1,反之为0;%表示取余符号。
[0087]
本实施例中,假设电动舵机的标准转动角度为30
°
,f=10,则根据第二公式得出f=0,便于后续计算获得分割角度。
[0088]
s2052:根据所述第一脉冲的数量和第二脉冲的数量差以及所述第二整数值,基于第三公式确定对所述电动舵机进行转动角度修正的分割角度。
[0089]
其中,所述第三公式为:
[0090][0091]
所述第三公式中,α表示对所述电动舵机进行转动角度修正的分割角度,a表示所述第二整数值。
[0092]
本实施例中,假设电动舵机的标准转动角度为30
°
,f=10,根据第二公式得出f=0,根据第三公式可得α=180
°
。根据所述脉冲的丢数个数(即)将所述360
°
平均分割成多份相等的角度值,并且每一份角度值与单个脉冲的角度成倍数关系,一是可以将所述电动舵机的一圈进行平均分割便于后续的角度补偿,并且用分割的方式进行补偿角度可以进一步的保证补偿的准确性,二是分割的角度与单个脉冲的角度成倍数关系,进而增强后续补偿角度计算时的便捷性,节省控制时间。
[0093]
作为一可选实施例,步骤s207,包括:
[0094]
s2071:判断当前记录的第二脉冲的数量是否为第一整数值的整数倍;是则执行s2072,否则返回执行s206。
[0095]
其中,所述第一整数值为所述分割角度与所述标准转动角度之商。
[0096]
s2072:对所述电动舵机进行转动角度修正。
[0097]
本发明实施例提供的一种智能控制的电动舵机角度修正方法,首先判断电动舵机是否需要进行角度修正,接着确定电动舵机需要进行转动角度修正时,计算确定电动舵机进行转动角度修正的分割角度。最后每当电动舵机转动分割角度后,则根据实时记录的第一脉冲的数量和第二脉冲的数量,对所述电动舵机进行转动角度修正。本发明实现了智能、自动的对电动舵机进行转动角度修正,使得电机舵机角度转动的更加准确,同时在电动舵机需要进行修正的情况下,才开展修正工作,有效地提高了系统的效率。
[0098]
图3为本发明实施例提供的一种智能控制的电动舵机角度修正方法实施例三流程图。参见图3,该方法包括如下步骤s301-s315:
[0099]
s301:控制所述电动舵机进行通电归位。
[0100]
s302:根据电动舵机的标准转动角度,通过所述控制板向所述电动舵机输出第一数量个第一脉冲。
[0101]
s303:采集从控制所述电动舵机进行通电归位的时刻开始到通过所述控制板向所述电动舵机输出第一数量个第一脉冲后,所述电动舵机返回的第二脉冲的数量,记为第二数量。
[0102]
s304:根据第一公式计算所述电动舵机的转动角度修正判定值。
[0103]
s305:判断所述电动舵机的转动角度修正判定值是否等于1;是则执行s306,否则执行s315。
[0104]
s306:确定需要对所述电动舵机进行转动角度修正。
[0105]
s307:将整数变量f的值从0开始依次加1代入第二公式中,直至得到满足所述第二公式的两个条件算式的整数变量f的值,记为第二整数值。
[0106]
s308:根据所述第一脉冲的数量和第二脉冲的数量差以及所述第二整数值,基于第三公式确定对所述电动舵机进行转动角度修正的分割角度。
[0107]
s309:实时记录所述电动舵机从初始位置转动开始,控制板向电动舵机输入的第一脉冲的数量以及所述电动舵机返回的第二脉冲的数量。
[0108]
s310:判断当前记录的第二脉冲的数量是否为第一整数值的整数倍;是则执行s311,否则返回执行s309。
[0109]
s311:获取当前记录的第一脉冲的数量。
[0110]
s312:在第一对应关系表中建立第一倍数和当前获取的第一脉冲的数量之间的对应关系。
[0111]
其中,所述第一倍数为当前记录的第二脉冲的数量与第一整数值之商。
[0112]
例如:若第二脉冲的数量为第一整数值的1倍时,s311获取到对应的第一脉冲的数量为7,则在第一对应关系表中建立倍数值1和第一脉冲数量7之间的对应关系;随后,当电动舵机继续在第一脉冲控制下转动,当记录的第二脉冲的数量为第一整数值的2倍时,s311获取到对应的第一脉冲的数量为13,则在第一对应关系表中建立倍数值2和第一脉冲数量13之间的对应关系;所述第一对应关系表记录的内容例如下表1所示:
[0113]
表1第一对应关系表
[0114][0115]
s313:根据所述第一对应关系表,基于第四公式计算当前所述电动舵机对应的角度修正值。
[0116]
其中,所述第四公式为:
[0117]
β(i)=θ0×
{f0(i)-f0(i-1)-f[α(i)]}
ꢀꢀꢀ
(4)
[0118]
所述第四公式中,β(i)表示当前记录的第二脉冲的数量为第一整数值的i倍时,所述电动舵机对应的角度修正值;f0(i)表示所述第一对应关系表记录的第一倍数值为i时对应的第一脉冲的数量;f0(i-1)表示所述第一对应关系表记录的第一倍数值为i-1时对应的第一脉冲的数量;f0(0)=0;f[α(i)]表示所述第一整数值。
[0119]
本实施例中,假设电动舵机的标准转动角度为30
°
,f=8,根据第二和第三公式得出f=0,α=90
°
,第一整数值f[α(1)]=90
°
/30
°
=3,则电动舵机从初始位置开始,当记录的第二脉冲的数量达到3时,代表电动舵机第1次转动了90
°
,此时记录的对应第一脉冲的数量为f0(1)=4,则根据第四公式可计算出β(1)=θ0×
{f0(1)-f0(0)-f[α(1)]}=30
°×
{4-0-3}=30
°
,显然,本次需要对电动舵机转动角度修正(增加30
°
)后,则电动舵机的实际转动的角度为90
°
30
°
=120
°
;随后,继续向电动舵机发送第一脉冲,当记录的第二脉冲的数量达到6时,代表电动舵机第2次转动了90
°
,此时记录的对应第一脉冲的数量为f0(2)=7时,则根据第四公式计算出β(2)=θ0×
{f0(2)-f0(1)-f[α(2)]}=30
°×
{7-4-3}=0,即本次电动舵机转动的分割角度90
°
是准确的,本次不用对电动舵机角度进行修正,此时电动舵机相对于初始位置的实际合计转动的角度为120
°
90
°
=210
°
,与f0(2)*30
°
相同,从而就完成了对电动舵机的角度修正。
[0120]
本实施例中,结合控制板发送给所述电动舵机输入脉冲,得到360
°
平均分割成的每一份角度值时的角度修正值,从而进行分段角度补偿,使得角度转动的更加准确。
[0121]
作为一可选实施例,当所述当前记录的第二脉冲的数量等于所述第三数量时,在步骤s313之后,还包括:清空当前记录的第一脉冲的数量和第二脉冲的数量,并清空所述第一对应关系表中存储的数据。
[0122]
s314:根据所述当前所述电动舵机对应的角度修正值对所述电动舵机进行角度修正,并返回执行s309。
[0123]
s315:确定不需要对所述电动舵机进行转动角度修正。
[0124]
本发明实施例提供的一种智能控制的电动舵机角度修正方法,首先判断电动舵机
是否需要进行角度修正,接着确定电动舵机需要进行角度修正时,计算确定电动舵机进行转动角度修正的分割角度,然后每当电动舵机转动了分割角度后,根据实时记录的第一脉冲的数量和第二脉冲的数量,计算电动舵机对应的角度修正值,最后使用角度修正值对所述电动舵机进行角度修正。本发明实现了智能、自动的对电动舵机进行转动角度修正,有效的提高了电动舵机转动角度修正效率,使得电机舵机角度转动的更加准确。
[0125]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0126]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0127]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0128]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

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

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

相关文献