CN109959327B - 多圈舵机转动角度检测方法、装置、多圈舵机及存储介质 - Google Patents
多圈舵机转动角度检测方法、装置、多圈舵机及存储介质 Download PDFInfo
- Publication number
- CN109959327B CN109959327B CN201711336712.0A CN201711336712A CN109959327B CN 109959327 B CN109959327 B CN 109959327B CN 201711336712 A CN201711336712 A CN 201711336712A CN 109959327 B CN109959327 B CN 109959327B
- Authority
- CN
- China
- Prior art keywords
- angle
- steering engine
- turn
- power
- turn steering
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
- G01D5/00—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
- G01D5/12—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
- G01D5/00—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
- G01D5/12—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
- G01D5/244—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains
- G01D5/24428—Error prevention
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B7/00—Measuring arrangements characterised by the use of electric or magnetic techniques
- G01B7/30—Measuring arrangements characterised by the use of electric or magnetic techniques for measuring angles or tapers; for testing the alignment of axes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
- G01D5/00—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
- G01D5/12—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
- G01D5/244—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains
- G01D5/24471—Error correction
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
- G01D2205/00—Indexing scheme relating to details of means for transferring or converting the output of a sensing member
- G01D2205/20—Detecting rotary movement
- G01D2205/26—Details of encoders or position sensors specially adapted to detect rotation beyond a full turn of 360°, e.g. multi-rotation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Measurement Of Length, Angles, Or The Like Using Electric Or Magnetic Means (AREA)
- Transmission And Conversion Of Sensor Element Output (AREA)
Abstract
本发明公开了一种多圈舵机转动角度检测方法、装置、多圈舵机及存储介质,用于多圈舵机转动角度的检测。该圈舵机转动角度检测方法包括:调整多圈舵机至零点位置;获取多圈舵机在零点位置时的实际角度和转动圈数;实时检测多圈舵机的当前角度;每当检测到的当前角度与上一次检测的当前角度出现零点正向跳变时,则将转动圈数增加一圈数单位,其中,零点正向跳变是指多圈舵机顺着指定方向转动跨域零点位置时的角度变化;每当检测到的当前角度与上一次检测的当前角度出现零点反向跳变时,则将转动圈数减少一圈数单位。本发明可以准确检测舵机多圈运行中的转动角度,实现多圈位置的角度控制,扩大了舵机的检测角度,扩展了舵机的应用领域。
Description
技术领域
本发明涉及舵机技术领域,尤其涉及一种多圈舵机转动角度检测方法、装置、多圈舵机及存储介质。
背景技术
舵机是一种将电机转动运动转换为特定角度运动的电气部件,广泛应用于需控制旋转角度或者提供高扭力的场合,如航模控制、云台控制、机械手提供动力等领域。
传统舵机一般采用电位器进行舵机转动角度的检测,而由于受电位器结构的限制,其一般只能进行180度以内的角度检测,超过部分则无法检测。随着舵机技术的发展,目前,很多舵机内通过安装磁编码传感器来扩大舵机的角度检测范围,如实现舵机360度的角度检测,但不管是安装电位器的舵机还是安装磁编码传感器的舵机,其转动角度检测均不会超过一圈,即360度。随着舵机应用场合的增加,舵机的转动角度也在逐渐扩大,如需进行多圈运行,而现有的舵机如进行多圈运行的话,则往往无法准确确定舵机的转动角度,从而无法实现舵机多圈位置的角度控制,影响舵机的工作性能。
综上,如何进行舵机多圈运行中的转动角度检测成为本领域技术人员亟待解决的问题之一。
发明内容
本发明实施例提供了一种多圈舵机转动角度检测方法、装置、多圈舵机及存储介质,能够准确检测舵机多圈运行中的转动角度。
本发明实施例的第一方面提供了一种多圈舵机转动角度检测方法,包括以下步骤:
调整多圈舵机至零点位置;
获取所述多圈舵机在所述零点位置时的实际角度和转动圈数;
实时检测所述多圈舵机的当前角度;
每当检测到的当前角度与上一次检测的当前角度出现零点正向跳变时,则将所述转动圈数增加一圈数单位,其中,所述零点正向跳变是指所述多圈舵机顺着指定方向转动跨域所述零点位置时的角度变化;
每当检测到的当前角度与上一次检测的当前角度出现零点反向跳变时,则将所述转动圈数减少一圈数单位,其中,所述零点反向跳变是指所述多圈舵机顺着所述指定方向的反方向转动跨域所述零点位置时的角度变化;
根据所述实际角度、所述当前角度和所述转动圈数确定所述多圈舵机当前的转动角度。
本发明实施例的第二方面提供了一种多圈舵机转动角度检测装置,包括:
零点位置调整模块,用于调整多圈舵机至零点位置;
零点信息获取模块,用于获取所述多圈舵机在所述零点位置时的实际角度和转动圈数;
当前角度检测模块,用于实时检测所述多圈舵机的当前角度;
转动圈数增加模块,用于每当检测到的当前角度与上一次检测的当前角度出现零点正向跳变时,则将所述转动圈数增加一圈数单位,所述零点正向跳变是指所述多圈舵机顺着指定方向转动跨越所述零点位置时的角度变化;
转动圈数减少模块,用于每当检测到的当前角度与上一次检测的当前角度出现零点反向跳变时,则将所述转动圈数减少一圈数单位,所述零点反向跳变是指所述多圈舵机顺着所述指定方向的反方向转动跨越所述零点位置时的角度变化;
转动角度确定模块,用于根据所述实际角度、所述当前角度和所述转动圈数确定所述多圈舵机当前的转动角度。
本发明实施例的第三方面提供了一种多圈舵机,包括磁编码传感器、存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述磁编码传感器用于检测角度信息,所述存储器还用于存储所述角度信息和所述多圈舵机的转动圈数,所述处理器执行所述计算机程序时实现如前述第一方面所述的多圈舵机转动角度检测方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前述第一方面所述的多圈舵机转动角度检测方法的步骤。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,在进行多圈舵机转动圈数统计之前先通过调整多圈舵机至零点位置,并获取多圈舵机在零点位置时的实际角度和转动圈数,以准确标定多圈舵机的零点位置,从而方便转动圈数的确定与统计;随后,在多圈舵机转动过程中实时检测多圈舵机的当前角度,并根据前后两次检测到的当前角度是否出现零点正向跳变或者零点反向跳变来实时统计多圈舵机的转动圈数,以准确记录舵机多圈运行中的转动圈数,从而准确确定舵机多圈运行中的转动角度,实现舵机多圈位置的角度控制,扩大了舵机的角度检测范围,扩展了舵机的应用领域。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的多圈舵机转动角度检测方法的方法流程图;
图2为本发明实施例二提供的多圈舵机转动角度检测方法的方法流程图;
图3为本发明实施例二提供的多圈舵机转动角度检测方法中步骤S270的流程示意图;
图4为本发明实施例三提供的多圈舵机转动角度检测装置的示意图;
图5为本发明实施例四提供的多圈舵机的示意图。
具体实施方式
本发明实施例提供了一种多圈舵机转动角度检测方法、装置、多圈舵机及存储介质,能够准确检测舵机多圈运行中的转动角度,实现多圈位置的角度控制,扩大了舵机的角度检测范围,扩展了舵机的应用领域。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例一提供了一种多圈舵机转动角度检测方法,包括以下步骤:步骤S110:调整多圈舵机至零点位置;步骤S120:获取所述多圈舵机在所述零点位置时的实际角度和转动圈数;步骤S130:实时检测所述多圈舵机的当前角度;步骤S140:每当检测到的当前角度与上一次检测的当前角度出现零点正向跳变时,则将所述转动圈数增加一圈数单位,其中,所述零点正向跳变是指所述多圈舵机顺着指定方向转动跨域所述零点位置时的角度变化;步骤S150:每当检测到的当前角度与上一次检测的当前角度出现零点反向跳变时,则将所述转动圈数减少一圈数单位,其中,所述零点反向跳变是指所述多圈舵机顺着所述指定方向的反方向转动跨域所述零点位置时的角度变化;步骤S160:根据所述实际角度、所述当前角度和所述转动圈数确定所述多圈舵机当前的转动角度。
步骤S110:调整多圈舵机至零点位置。
在本实施例中,在所述多圈舵机开始工作时,首先根据用户确定的零点信息或者根据所述多圈舵机自身携带的零点信息将所述多圈舵机调整至零点位置,以方便控制所述多圈舵机的转动角度。
在此,步骤S110:调整多圈舵机至零点位置,具体包括:获取所述多圈舵机在初始位置时的初始角度;若所述初始角度与预设的指定角度相同,则将所述初始位置标定为所述零点位置,其中,所述指定角度是指所述多圈舵机在所述零点位置时的应有角度;若所述初始角度与所述指定角度不相同,则将所述初始角度调整至所述指定角度,并将调整后的位置标定为所述多圈舵机的零点位置。
在本实施例中,所述零点位置可以根据用户输入的零点信息确定,也可以直接根据所述多圈舵机自身携带的零点信息确定,其中,所述零点信息包括预设的指定角度,即所述多圈舵机在所述零点位置时应具有的角度。在所述多圈舵机上电后开始转动前,首先检测所述多圈舵机在该初始位置处的初始角度,并判断所述初始角度与所述指定角度是否相同,若所述初始角度与所述指定角度相同,则表明所述多圈舵机已在零点位置处,即可直接将所述初始位置标定为零点位置;若所述初始角度与所述指定角度不相同,则需要将所述多圈舵机的所述初始角度调整至所述指定角度,从而将所述多圈舵机调整至零点位置。
步骤S120:获取所述多圈舵机在所述零点位置时的实际角度和转动圈数。
在进行所述多圈舵机零点位置的调整过程中,往往会因为操作精度等各种原因而造成调整误差,使得调整后的所述多圈舵机的实际角度与所述指定角度并不完全相同,因而,在本实施例中,在根据所述指定角度调整所述多圈舵机至零点位置以后,再重新检测所述多圈舵机在所述零点位置的实际角度,并记录存储所述实际角度及所述多圈舵机在所述零点位置时的转动圈数,其中,在所述零点位置时往往将所述转动圈数存储记录为0,当然,也可以根据需要存储为其他数值。
步骤S130:实时检测所述多圈舵机的当前角度。
在本实施例中,在所述多圈舵机转动过程中,实时检测并存储所述多圈舵机的当前角度,以根据当前角度的变化来统计所述多圈舵机的转动圈数。
步骤S140:每当检测到的当前角度与上一次检测的当前角度出现零点正向跳变时,则将所述转动圈数增加一圈数单位,其中,所述零点正向跳变是指所述多圈舵机顺着指定方向转动跨域所述零点位置时的角度变化。
步骤S150:每当检测到的当前角度与上一次检测的当前角度出现零点反向跳变时,则将所述转动圈数减少一圈数单位,其中,所述零点反向跳变是指所述多圈舵机顺着所述指定方向的反方向转动跨域所述零点位置时的角度变化。
在此,以顺时针转动为所述多圈舵机的角度增加方向、以0°为所述零点位置的实际角度为例进行说明。假设所述多圈舵机的最大转速为ω,每隔时间t对所述多圈舵机的当前角度进行检测,即前后两次检测的最大角度差为ω*t,因而,每当检测到的当前角度与上次检测的当前角度出现从(360°-ω*t°,360°)到(0°,ω*t°)的跳变时,表明所述多圈舵机出现了零点正向跳变,则应将所述转动圈数增加一圈数单位;每当检测到的当前角度与上一次检测的当前角度出现从(0°,ω*t°)到(360°,360°-ω*t°)的跳变时,表明所述多圈舵机出现了零点反向跳变,则应将所述转动圈数减少一圈数单位。本实施例中,一圈数单位可以是一圈,也可以是多圈,或者是其他设定的圈数值。
具体地,假设前后两次检测的最大角度差ω*t为5°,若在所述多圈舵机转动过程中,上一次检测到的当前角度为357°,间隔时间t后又检测到的当前角度为1°,则说明出现了零点正向跳变,此时应将转动圈数增加一圈数单位后记录保存;若在所述多圈舵机转动过程中,上一次检测到的当前角度为1°,而间隔时间t后又检测的当前角度为356°,则表明出现了零点反向跳变,此时应将所述转动圈数减少一圈数单位后记录保存。
本实施例中的以顺时针转动为所述多圈舵机的角度增加方向、以0°为所述零点位置的实际角度仅作示意性说明,不应理解为对本实施例的限制,本实施例当然也可以以逆时针为角度增加方向,如以逆时针转动为所述多圈舵机的角度增加方向、以0°为所述零点位置的实际角度,因而,每当检测到的当前角度与上次检测的当前角度出现从(360°-ω*t°,360°)到(0°,ω*t°)的跳变时,将所述转动圈数减少一圈数单位;每当检测到的当前角度与上一次检测的当前角度出现从(0°,ω*t°)到(360°,360°-ω*t°)的跳变时,将所述转动圈数增加一圈数单位。又比如,以逆时针转动为所述多圈舵机的角度增加方向、以30°为所述零点位置的实际角度,相应地,每当检测到的当前角度与上一次检测到的当前角度出现从(30°-ω*t°,30°)到(30°,30°+ω*t°)的跳变时,将所述转动圈数减少一圈数单位;每当检测到的当前角度与上一次检测到的当前角度出现从(30°,30°+ω*t°)到(30°-ω*t°,30°)的跳变时,所述转动圈数增加一圈数单位。
步骤S160:根据所述实际角度、所述当前角度和所述转动圈数确定所述多圈舵机当前的转动角度。
本实施例中,具体地,根据下述公式确定所述多圈舵机当前的转动角度φ:
φ=(n’–n)*360°+θ’–θ;
其中,n为所述多圈舵机在所述零点位置处的转动圈数,n’为所述多圈舵机在当前位置时的转动圈数,θ为所述多圈舵机在所述零点位置处的实际角度,θ’为所述多圈舵机在当前位置处的当前角度。
本实施例中,在进行多圈舵机转动圈数统计之前先通过调整多圈舵机至零点位置,并获取多圈舵机在零点位置时的实际角度和转动圈数,以准确标定多圈舵机的零点位置,从而方便转动圈数的确定与统计;随后,在多圈舵机转动过程中实时检测多圈舵机的当前角度,并根据前后两次检测到的当前角度是否出现零点正向跳变或者零点反向跳变来实时统计多圈舵机的转动圈数,以准确记录舵机多圈运行中的转动圈数,从而准确确定舵机多圈运行中的转动角度,实现舵机多圈位置的角度控制,扩大了舵机的角度检测范围,扩展了舵机的应用领域。
请参阅图2,本发明实施例二提供了一种多圈舵机转动角度检测方法,包括以下步骤:步骤S210:调整多圈舵机至零点位置;步骤S220:获取所述多圈舵机在所述零点位置时的实际角度和转动圈数;步骤S230:实时检测所述多圈舵机的当前角度;步骤S240:每当检测到的当前角度与上一次检测的当前角度出现零点正向跳变时,则将所述转动圈数增加一圈数单位,其中,所述零点正向跳变是指所述多圈舵机顺着指定方向转动跨域所述零点位置时的角度变化;步骤S250:每当检测到的当前角度与上一次检测的当前角度出现零点反向跳变时,则将所述转动圈数减少一圈数单位,其中,所述零点反向跳变是指所述多圈舵机顺着所述指定方向的反方向转动跨域所述零点位置时的角度变化;步骤S270:当所述多圈舵机出现下电情况时,根据所述多圈舵机重新上电后的上电角度纠正所述转动圈数;步骤S260:根据所述实际角度、所述当前角度和所述转动圈数确定所述多圈舵机当前的转动角度。
在此,步骤S210、步骤S220、步骤S230、步骤S240、步骤S250、步骤S260分别与实施例一中的步骤S110、步骤S120、步骤S130、步骤S140相同,与实施例一中的步骤S150、步骤S160相同,因而,为简明起见,本实施例中不再赘述。
具体地,在步骤S270中,当所述多圈舵机出现下电情况时,根据所述多圈舵机重新上电后的上电角度纠正所述转动圈数。
当所述多圈舵机在运行过程中出现下电情况时,因在下电期间,由于重力或其他原因可能使得所述多圈舵机继续发生转动,而造成所述转动圈数的统计错误,因而,本实施例中,根据重新上电后的上电角度对所述转动圈数进行纠正。
本发明实施例二中多圈舵机转动角度检测方法中的步骤S270具体包括:获取所述多圈舵机下电前的下电角度和下电圈数;检测所述多圈舵机重新上电后的上电角度;若所述上电角度小于所述下电角度,且两者之差大于预设的对比角度,则将所述下电圈数增加一圈数单位;若所述上电角度大于所述下电角度,且两者之差大于所述对比角度,则将所述下电圈数减少一圈数单位。
具体地,如图3所示,本实施例中,所述多圈舵机重新上电后,在步骤S271中直接获取存储的所述多圈舵机下电前的下电角度和下电圈数;在步骤S272中检测重新上电后,所述多圈舵机的上电角度;在步骤S273中判断所述上电角度是否小于述下电角度;若所述上电角度小于所述下电角度,则在步骤S274中判断所述上电角度比所述下电角度小的角度差值是否大于所述对比角度;若所上电角度大于所述下电角度,则在步骤S275中,判断所述上电角度比所述下电角度大的角度差值是否大于所述对比角度;若所述上电角度比所述下电角度小的角度差值大于所述对比角度,则在步骤S276中,将所述下电圈数增加一圈数单位;若所述上电角度比所述下电角度小的角度差值小于所述对比角度,则在步骤S277中,保持所述下电圈数不变;若所述上电角度比所述下电角度大的角度差值大于所述对比角度,则在步骤S278中,将所述下电圈数减少一圈数单位;若所述上电角度比所述下电角度大的角度差值小于所述对比角度,则在步骤S279中,保持所述下电圈数不变,从而纠正所述转动圈数。
在此,以顺时针转动为所述多圈舵机的角度增加方向、以0°为所述零点位置的实际角度、以所述多圈舵机在下电期间的转动不超过正负半圈为例进行说明。因所述多圈舵机在下电期间的相对偏移在(-180°,180°)的范围内,因而,将预设的对比角度设定为180°。
具体地,若所述上电角度小于所述下电角度,其两者的角度差大于180°的话,表明所述多圈舵机在下电期间顺时针转动了一个小于180°的角度,且该转动跨越了零点位置,则应将下电前记录的所述下电圈数增加一圈数单位后作为所述多圈舵机当前的转动圈数;若两者的角度差小于180°的话,表明所述多圈舵机在下电期间逆时针转动了一个小于180°的角度,但该转动并未跨越所述零点位置,即转动后的所述多圈舵机仍在下电前的所述下电圈数内,因而,此时的转动圈数应仍为下电前的所述下电圈数。
若所述上电角度大于所述下电角度,且两者的角度差大于180°的话,表明所述多圈舵机在下电期间逆时针转动了一个小于180°的角度,且该转动跨越了零点位置,则应将下电前记录的所述下电圈数减少一圈数单位后作为所述多圈舵机当前的转动圈数;若两者的角度差小于180°,表明所述多圈舵机在下电期间顺时针转动了一个小于180°的角度,但该转动并未跨越所述零点位置,即转动后的所述多圈舵机仍在下电前的所述下电圈数内,因而,此时的转动圈数应仍为下电前的所述下电圈数。
比如,某多圈舵机下电前的所述下电角度为270°,上电后检测的所述上电角度为60°,即所述下电角度比所述上电角度大210°,而因所述多圈舵机在下电期间的转动范围为(-180°,180°),则表明所述多圈舵机在下电期间顺时针转动了150°,且该转动跨越了所述零点位置(即0°位置),因而,应将所述下电圈数增加一圈数单位后作为所述多圈舵机当前的转动圈数。比如,某多圈舵机下电前的所述下电角度为270°,上电后检测的所述上电角度为120°,即所述下电角度比所述上电角度大150°,则表明所述多圈舵机在下电期间逆时针转动了150°,但转动后的所述多圈舵机仍在所述下电圈数内,则此时的转动圈数应仍为所述下电圈数。
再比如,某多圈舵机下电前的所述下电角度为40°,上电后检测的所述上电角度为230°,即所述上电角度比所述下电角度大190°,而因所述多圈舵机在下电期间的转动范围为(-180°,180°),则表明所述多圈舵机在下电期间逆时针转动了170°,且该转动跨越了所述零点位置,因而,应将所述下电圈数减少一个圈数单位后作为所述多圈舵机当前的转动圈数。再比如,某多圈舵机下电前的所述下电角度为110°,上电后检测的所述上电角度为200°,则表明所述多圈舵机在下电期间顺时针转动了90°,而转动后的所述多圈舵机与下电前的所述多圈舵机仍在同一圈数内,则所述下电圈数即为所述多圈舵机当前的转动圈数。
本实施例中,通过将上电后检测的所述上电角度作为当前角度,将纠正后的转动圈数作为当前的转动圈数即可确定所述多圈舵机重新上电后的转动角度。
本实施例中,当所述多圈舵机在运行过程中突然出现下电情况时,根据重新上电的上电角度及下电前的下电角度,及时准确纠正所述转动圈数,以准确确定重新上电后的所述多圈舵机的转动角度,实现舵机多圈位置的角度控制,扩大了舵机的角度检测范围,扩展了舵机的应用领域。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上面主要描述了一种多圈舵机转动角度检测方法,下面将对一种多圈舵机转动角度检测装置进行详细描述。
请参阅图4,本发明实施例三提供了一种多圈舵机转动角度检测装置,包括:零点位置调整模块310,用于调整多圈舵机至零点位置;零点信息获取模块320,用于获取所述多圈舵机在所述零点位置时的实际角度和转动圈数;当前角度检测模块330,用于实时检测所述多圈舵机的当前角度;转动圈数增加模块340,用于每当检测到的当前角度与上一次检测的当前角度出现零点正向跳变时,则将所述转动圈数增加一圈数单位,其中,所述零点正向跳变是指所述多圈舵机顺着指定方向转动跨域所述零点位置时的角度变化;转动圈数减少模块350,用于每当检测到的当前角度与上一次检测的当前角度出现零点反向跳变时,则将所述转动圈数减少一圈数单位,其中,所述零点反向跳变是指所述多圈舵机顺着所述指定方向的反方向转动跨域所述零点位置时的角度变化;转动角度确定模块360,用于根据所述实际角度、所述当前角度和所述转动圈数确定所述多圈舵机当前的转动角度。
进一步地,零点位置调整模块310具体包括:初始角度获取单元,用于获取所述多圈舵机在初始位置时的初始角度;零点第一标定单元,用于当所述初始角度与预设的指定角度相同时,则将所述初始位置标定为所述零点位置,其中,所述指定角度是指所述多圈舵机在所述零点位置时的应有角度;零点第二标定单元,用于当所述初始角度与所述指定角度不相同时,则将所述初始角度调整至所述指定角度,并将调整后的位置标定为所述多圈舵机的零点位置。
更进一步地,本实施例提供的多圈舵机转动角度检测装置,还包括转动圈数纠正模块,用于当所述多圈舵机出现下电情况时,根据所述多圈舵机重新上电后的上电角度纠正所述转动圈数。
优选地,本实施例中的转动圈数纠正模块具体包括:下电信息获取单元,用于获取所述多圈舵机下电前的下电角度和下电圈数;上电角度检测单元,用于检测所述多圈舵机重新上电后的上电角度;下电圈数增加单元,用于当所述上电角度小于所述下电角度,且两者之差大于预设的对比角度,则将所述下电圈数增加一圈数单位;下电圈数减少单元,用于当所述上电角度大于所述下电角度,且两者之差大于所述对比角度,则将所述下电圈数减少一圈数单位。
本实施例中,在所述多圈舵机在运行过程中突然出现下电情况时,根据重新上电的上电角度及下电前的下电角度,及时准确纠正所述转动圈数,以准确确定重新上电后的所述多圈舵机的转动角度,实现舵机多圈位置的角度控制,扩大了舵机的角度检测范围,扩展了舵机的应用领域。
图5是本发明实施例四提供的多圈舵机的示意图。如图5所示,该实施例的多圈舵机5包括:包括磁编码传感器53、存储器51、处理器50以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52,所述磁编码传感器53用于检测角度信息,所述存储器51还用于存储所述角度信息和所述多圈舵机5的转动圈数,所述处理器50执行所述计算机程序时实现上述各个多圈舵机转动角度检测方法实施例中的步骤,例如图1所示的步骤S110至160。或者,所述处理器50执行所述计算机程序52时实现上述各装置实施例中各模块/单元的功能,例如图4所示模块210至260的功能。
示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述多圈舵机5中的执行过程。例如,所述计算机程序52可以被分割成零点位置调整模块、零点信息获取模块、当前角度检测模块、转动圈数增加模块、转动圈数减少模块及转动角度确定模块,各模块具体功能如下:
零点位置调整模块,用于调整多圈舵机至零点位置;
零点信息获取模块,用于获取所述多圈舵机在所述零点位置时的实际角度和转动圈数;
当前角度检测模块,用于实时检测所述多圈舵机的当前角度;
转动圈数增加模块,用于每当检测到的当前角度与上一次检测的当前角度出现零点正向跳变时,则将所述转动圈数增加一圈数单位,所述零点正向跳变是指所述多圈舵机顺着指定方向转动跨越所述零点位置时的角度变化;
转动圈数减少模块,用于每当检测到的当前角度与上一次检测的当前角度出现零点反向跳变时,则将所述转动圈数减少一圈数单位,所述零点反向跳变是指所述多圈舵机顺着所述指定方向的反方向转动跨越所述零点位置时的角度变化;
转动角度确定模块,用于根据所述实际角度、所述当前角度和所述转动圈数确定所述多圈舵机当前的转动角度。
所述处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述多圈舵机5的内部存储单元,例如多圈舵机5的硬盘或内存。所述存储器51也可以是所述多圈舵机5的外部存储设备,例如所述多圈舵机5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所多圈舵机5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述多圈舵机所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实施例的模块、单元和/或方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种多圈舵机转动角度检测方法,其特征在于,包括以下步骤:
调整多圈舵机至零点位置;
获取所述多圈舵机在所述零点位置时的实际角度和转动圈数;
实时检测所述多圈舵机的当前角度;
每当检测到的当前角度与上一次检测的当前角度出现零点正向跳变时,则将所述转动圈数增加一圈数单位,其中,所述零点正向跳变是指所述多圈舵机顺着指定方向转动跨域所述零点位置时的角度变化;
每当检测到的当前角度与上一次检测的当前角度出现零点反向跳变时,则将所述转动圈数减少一圈数单位,其中,所述零点反向跳变是指所述多圈舵机顺着所述指定方向的反方向转动跨域所述零点位置时的角度变化;
根据所述实际角度、所述当前角度和所述转动圈数确定所述多圈舵机当前的转动角度;
其中,在所述根据所述零点角度、所述当前角度和所述转动圈数确定所述多圈舵机的转动角度之前,还包括:
当所述多圈舵机出现下电情况时,获取所述多圈舵机下电前的下电角度和下电圈数;
检测所述多圈舵机重新上电后的上电角度;
若所述上电角度小于所述下电角度,且两者之差大于预设的对比角度,则将所述下电圈数增加一圈数单位;
若所述上电角度大于所述下电角度,且两者之差大于所述对比角度,则将所述下电圈数减少一圈数单位。
2.根据权利要求1所述的多圈舵机转动角度检测方法,其特征在于,所述调整多圈舵机至零点位置,包括:
获取所述多圈舵机在初始位置时的初始角度;
若所述初始角度与预设的指定角度相同,则将所述初始位置标定为所述零点位置,其中,所述指定角度是指所述多圈舵机在所述零点位置时的应有角度;
若所述初始角度与所述指定角度不相同,则将所述初始角度调整至所述指定角度,并将调整后的位置标定为所述多圈舵机的零点位置。
3.一种多圈舵机转动角度检测装置,其特征在于,包括:
零点位置调整模块,用于调整多圈舵机至零点位置;
零点信息获取模块,用于获取所述多圈舵机在所述零点位置时的实际角度和转动圈数;
当前角度检测模块,用于实时检测所述多圈舵机的当前角度;
转动圈数增加模块,用于每当检测到的当前角度与上一次检测的当前角度出现零点正向跳变时,则将所述转动圈数增加一圈数单位,所述零点正向跳变是指所述多圈舵机顺着指定方向转动跨越所述零点位置时的角度变化;
转动圈数减少模块,用于每当检测到的当前角度与上一次检测的当前角度出现零点反向跳变时,则将所述转动圈数减少一圈数单位,所述零点反向跳变是指所述多圈舵机顺着所述指定方向的反方向转动跨越所述零点位置时的角度变化;
转动角度确定模块,用于根据所述实际角度、所述当前角度和所述转动圈数确定所述多圈舵机当前的转动角度;
其中,所述装置还包括:
转动圈数纠正模块,用于在所述多圈舵机出现下电情况时,获取所述多圈舵机下电前的下电角度和下电圈数;检测所述多圈舵机重新上电后的上电角度;当所述上电角度小于所述下电角度,且两者之差大于预设的对比角度时,则将所述下电圈数增加一圈数单位;当所述上电角度大于所述下电角度,且两者之差大于所述对比角度时,则将所述下电圈数减少一圈数单位。
4.根据权利要求3所述的多圈舵机转动角度检测装置,其特征在于,所述零点位置调整模块,包括:
初始角度获取单元,用于获取所述多圈舵机在初始位置时的初始角度;
零点第一标定单元,用于当所述初始角度与预设的指定角度相同时,则将所述初始位置标定为所述零点位置,其中,所述指定角度是指所述多圈舵机在所述零点位置时的应有角度;
零点第二标定单元,用于当所述初始角度与所述指定角度不相同时,则将所述初始角度调整至所述指定角度,并将调整后的位置标定为所述多圈舵机的零点位置。
5.一种多圈舵机,其特征在于,包括磁编码传感器、存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述磁编码传感器用于检测角度信息,所述存储器还用于存储所述角度信息和所述多圈舵机的转动圈数,所述处理器执行所述计算机程序时实现如权利要求1至2中任一所述的多圈舵机转动角度检测方法的步骤。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至2中任一项所述的多圈舵机转动角度检测方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711336712.0A CN109959327B (zh) | 2017-12-14 | 2017-12-14 | 多圈舵机转动角度检测方法、装置、多圈舵机及存储介质 |
US16/141,987 US10823582B2 (en) | 2017-12-14 | 2018-09-26 | Angle detection device and method of multi-turn servo, and multi-turn servo |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711336712.0A CN109959327B (zh) | 2017-12-14 | 2017-12-14 | 多圈舵机转动角度检测方法、装置、多圈舵机及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109959327A CN109959327A (zh) | 2019-07-02 |
CN109959327B true CN109959327B (zh) | 2021-01-08 |
Family
ID=66814341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711336712.0A Active CN109959327B (zh) | 2017-12-14 | 2017-12-14 | 多圈舵机转动角度检测方法、装置、多圈舵机及存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10823582B2 (zh) |
CN (1) | CN109959327B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113411486B (zh) * | 2020-03-16 | 2022-05-17 | 浙江宇视科技有限公司 | 云台摄像机控制方法、装置、云台摄像机和存储介质 |
CN112129211A (zh) * | 2020-09-10 | 2020-12-25 | 宁波金兴量具有限公司 | 一种基于变化磁场的抗干扰测距方法 |
WO2022087977A1 (zh) * | 2020-10-29 | 2022-05-05 | 深圳市大疆创新科技有限公司 | 云台的控制方法、云台、设备和存储介质 |
CN113252353B (zh) * | 2021-04-06 | 2023-09-22 | 浙江蓝箭航天空间科技有限公司 | 运载火箭机电伺服机构水平测试方法及计算机存储介质 |
CN114279483B (zh) * | 2021-12-30 | 2024-05-14 | 南京埃斯顿自动化股份有限公司 | 一种低功耗多圈编码器圈数纠错方法 |
CN114636843B (zh) * | 2022-04-01 | 2024-05-17 | 常州中量高新技术有限公司 | 基于传感器模块的牵引电机的转动方向判别方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107116556A (zh) * | 2017-06-29 | 2017-09-01 | 深圳诺欧博智能科技有限公司 | 一种舵机控制方法、舵机控制系统、舵机和机器人 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201152751Y (zh) * | 2008-01-22 | 2008-11-19 | 上海精浦机电有限公司 | 电磁多圈绝对值编码器 |
CN201522288U (zh) * | 2009-09-22 | 2010-07-07 | 张永生 | 旋转体多圈绝对角度测量装置 |
ES2605802T3 (es) * | 2011-11-01 | 2017-03-16 | Moog Inc. | Sistema y método de aislamiento de vibraciones |
CN203203607U (zh) * | 2013-01-11 | 2013-09-18 | 江苏多维科技有限公司 | 一种多圈绝对磁编码器 |
US9964418B2 (en) * | 2015-09-11 | 2018-05-08 | Joral Llc | Inter-sensor communication system for absolute position sensing |
CN105222814A (zh) * | 2015-11-04 | 2016-01-06 | 上海无线电设备研究所 | 多圈记忆旋转变压器解码电路及其位置解算方法 |
CN106774451B (zh) * | 2016-12-31 | 2019-11-15 | 深圳市优必选科技有限公司 | 基于磁编码的多圈角度控制方法及装置 |
US10576622B2 (en) * | 2017-04-21 | 2020-03-03 | Qualcomm Incorporated | Robotic manipulator |
CN107340005A (zh) * | 2017-06-27 | 2017-11-10 | 珠海意动智能装备有限公司 | 多圈绝对值编码器、驱动装置、存储介质及控制方法 |
-
2017
- 2017-12-14 CN CN201711336712.0A patent/CN109959327B/zh active Active
-
2018
- 2018-09-26 US US16/141,987 patent/US10823582B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107116556A (zh) * | 2017-06-29 | 2017-09-01 | 深圳诺欧博智能科技有限公司 | 一种舵机控制方法、舵机控制系统、舵机和机器人 |
Also Published As
Publication number | Publication date |
---|---|
US10823582B2 (en) | 2020-11-03 |
CN109959327A (zh) | 2019-07-02 |
US20190186954A1 (en) | 2019-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109959327B (zh) | 多圈舵机转动角度检测方法、装置、多圈舵机及存储介质 | |
US8729890B2 (en) | Magnetic angle and rotation speed sensor with continuous and discontinuous modes of operation based on rotation speed of a target object | |
CN109959400B (zh) | 绝对编码器参数计算的方法、装置及终端设备 | |
US8736260B2 (en) | Magnetic field sensor and associated method that can establish a measured threshold value and that can store the measured threshold value in a memory device | |
CN109283967B (zh) | 一种微控制单元mcu时钟校准方法及相关设备 | |
CN110405749B (zh) | 关节限位检测方法、装置、机器人及计算机可读存储介质 | |
CN110501094A (zh) | 电器温度传感器的故障检测校准方法、空调器及计算机可读存储介质 | |
JP6479068B2 (ja) | 出力を提供するための可変の切換閾値の使用 | |
WO2013157279A1 (ja) | 多回転エンコーダ | |
JP5469670B2 (ja) | 地磁気検出装置 | |
US20210099112A1 (en) | Method and system for obtaining initial mechanical angle of electric motor | |
US10739166B2 (en) | Systems and methods for correcting non-sinusoidal signals generated from high speed inductive sensors | |
US9647606B2 (en) | Counter based circuit for measuring movement of an object | |
CN109696120B (zh) | 一种舵机及其角度检测方法、装置及计算机可读存储介质 | |
US10697803B2 (en) | Motion detecting apparatus | |
CN107856740B (zh) | 一种方向盘转向角度的计算方法和系统 | |
EP3584541A1 (en) | Initialization method and initialization device | |
CN104052352B (zh) | 用于驱动步进马达的马达驱动设备及其控制方法 | |
CN115931036B (zh) | 一种磁编码器故障检测方法、装置、电子设备和存储介质 | |
CN107076825A (zh) | 用于确定钟表设定柄轴的位置的位置传感器和方法 | |
JP2010236935A (ja) | 回転角度検出装置 | |
US11933641B2 (en) | Position detection apparatus, method, and system utilizing an array of magnetic sensors each comprising a sensor signal conditioning circuit | |
US20170122843A1 (en) | Stable manufacturing efficiency generating method and system and non-transitory computer readable storage medium | |
EP4196752A1 (en) | Systems and methods for detecting magnetic turn counter errors | |
CN112181046A (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 |