舵机控制方法、系统、装置和存储介质与流程

文档序号:16810651发布日期:2019-02-10 13:36阅读:221来源:国知局
舵机控制方法、系统、装置和存储介质与流程

本发明涉及舵机控制技术领域,尤其涉及一种舵机控制方法、系统、装置和存储介质。



背景技术:

随着近几年自动化设备应用的拓展,舵机的需求越来越广泛,各种应用场合对舵机的控制方式都提出了更高的要求。目前的舵机,在控制转动的时候,仅仅根据控制器发送的信号驱动舵机的电机运行,实现舵机转动,当舵机转动的角度出现偏差时,无法获取舵机实际偏转角度与期望角度的角度差,因此在角度出现偏差时无法进行准确的控制。且大部分舵机在未运行状态时被外力所控制发生偏转后,易使得舵机实际偏转角度发生变化。因此,如何在舵机实际转动角度和期望角度存在误差时能够精准地进行调节是本领域技术人员目前亟需解决的一项技术问题。



技术实现要素:

本发明的主要目的在于提供一种舵机控制方法、系统、装置和存储介质,旨在解决现有技术中舵机转动角度不精准的问题。

为实现上述目的,本发明提供一种舵机控制方法,所述舵机控制方法应用于控制舵机旋转,所述舵机控制方法包括以下步骤:

接收控制器发送的数字信号;

根据所述数字信号得到期望角度,根据所述期望角度生成驱动信号,并将所述驱动信号发送至所述舵机的电机,以驱动所述舵机进行转动;

通过角度检测电路检测所述舵机旋转的实际角度,根据所述期望角度,计算得出角度差;

根据所述角度差,控制所述舵机转动至期望角度。

可选地,所述接收控制器发送的数字信号的步骤和根据所述数字信号得到期望角度的步骤之间包括:

根据所述数字信号获取舵机的功能模式;

当所述功能模式为角度控制时,执行步骤:根据所述数字信号得到期望角度。

可选地,所述根据所述数字信号获取舵机的功能模式的步骤之后包括:

当所述功能模式为故障检测时,接收检测电路发送的状态参数;

根据所述状态参数,判断所述舵机是否正常运行;

若是,则控制所述舵机运行;

若否,则控制所述舵机中状态指示器指示故障。

可选地,所述检测电路包括温度检测电路和电压检测电路,所述状态参数包括舵机运行温度和电源电压,所述根据所述状态参数,判断所述舵机是否正常运行的步骤包括:

根据所述舵机运行温度和预设的舵机正常的温度范围进行对比,以及根据所述电源电压和预设的舵机正常电压范围进行对比,判断所述舵机是否正常运行。

可选地,所述根据所述数字信号获取舵机的功能模式的步骤之后还包括:

当所述功能模式为运动控制时,根据所述数字信号,获取舵机的期望旋转角度、期望旋转速度和期望旋转圈数;

根据所述期望旋转角度、所述期望旋转速度和所述期望旋转圈数,生成驱动信号,并将所述驱动信号发送至所述舵机的电机,以驱动所述舵机进行转动。

可选地,所述接收控制器发送的数字信号,根据所述数字信号得到期望角度,并生成驱动信号的步骤包括:

根据接收到的控制器发送的数字信号,对所述数字信号进行转换;

根据转换后的所述数字信号,解析出相应的指令,获得期望角度;

根据所述指令,生成驱动信号。

可选地,所述根据接收到的控制器发送的数字信号,对所述数字信号进行转换的步骤包括:

通过总线缓冲器接收控制器发送的高频数字信号,利用所述总线缓冲器将所述高频数字信号转换成全双工串行信号。

本发明还提供一种舵机控制系统,所述舵机控制系统包括:控制装置和舵机,所述控制装置接收控制器发送的数字信号;根据所述数字信号得到期望角度,根据所述期望角度生成驱动信号,并将所述驱动信号发送至所述舵机的电机,以驱动所述舵机进行转动;通过角度检测电路检测所述舵机旋转的实际角度,根据所述期望角度,计算得出角度差;根据所述角度差,控制所述舵机转动至期望角度。

此外,为实现上述目的,本发明还提供一种舵机控制装置,所述舵机控制装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的舵机控制程序,所述舵机控制程序被所述处理器执行时实现如上所述的方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有舵机控制程序,所述舵机控制程序被处理器执行时实现如上所述的舵机控制方法的步骤。

在本发明中,处理器通过接收控制器发送的信号,根据控制器的信号得出舵机旋转的期望角度,并通过驱动信号控制电机运行,使得舵机旋转。但在实际过程中,舵机实际旋转角度与期望角度会产生误差,通过角度检测电路检测到舵机实际旋转角度后,根据实际旋转角度与期望角度的角度差,控制舵机旋转,以使得舵机旋转的角度符合期望角度,从而提升舵机运转的精准性。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;

图2为本发明舵机控制方法第一实施例的流程示意图;

图3为本发明舵机控制方法第二实施例和第四实施例的流程示意图;

图4为本发明舵机控制方法第三实施例的流程示意图;

图5为图1中根据所述数字信号得到期望角度,根据所述期望角度生成驱动信号的步骤的细化流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图。

如图1所示,该终端可以包括:处理器1001,例如cpu,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选的用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

可选地,终端还可以包括摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在硬件设备移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别硬件设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,硬件设备还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及舵机控制程序。

在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的舵机控制程序,并执行以下操作:

接收控制器发送的数字信号;

根据所述数字信号得到期望角度,根据所述期望角度生成驱动信号,并将所述驱动信号发送至所述舵机的电机,以驱动所述舵机进行转动;

通过角度检测电路检测所述舵机旋转的实际角度,根据所述期望角度,计算得出角度差;

根据所述角度差,控制所述舵机转动至期望角度。

进一步地,处理器1001可以调用存储器1005中存储的舵机控制程序,还执行以下操作:

根据所述数字信号获取舵机的功能模式;

当所述功能模式为角度控制时,执行步骤:根据所述数字信号得到期望角度。

进一步地,处理器1001可以调用存储器1005中存储的舵机控制程序,还执行以下操作:

当所述功能模式为故障检测时,接收检测电路发送的状态参数;

根据所述状态参数,判断所述舵机是否正常运行;

若是,则控制所述舵机运行;

若否,则控制所述舵机中状态指示器指示故障。

进一步地,所述检测电路包括温度检测电路和电压检测电路,所述状态参数包括舵机运行温度和电源电压,处理器1001可以调用存储器1005中存储的舵机控制程序,还执行以下操作:

根据所述舵机运行温度和预设的舵机正常的温度范围进行对比,以及根据所述电源电压和预设的舵机正常电压范围进行对比,判断所述舵机是否正常运行。

进一步地,处理器1001可以调用存储器1005中存储的舵机控制程序,还执行以下操作:

当所述功能模式为运动控制时,根据所述数字信号,获取舵机的期望旋转角度、期望旋转速度和期望旋转圈数;

根据所述期望旋转角度、所述期望旋转速度和所述期望旋转圈数,生成驱动信号,并将所述驱动信号发送至所述舵机的电机,以驱动所述舵机进行转动。

进一步地,处理器1001可以调用存储器1005中存储的舵机控制程序,还执行以下操作:

根据接收到的控制器发送的数字信号,对所述数字信号进行转换;

根据转换后的所述数字信号,解析出相应的指令,获得期望角度;

根据所述指令,生成驱动信号。

请参照图2,图2为本发明舵机控制方法第一实施例的流程示意图,其中,所述舵机控制方法包括如下步骤:

步骤s10,接收控制器发送的数字信号;

舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前,在飞机、潜艇模型,遥控机器人中已经得到了普遍应用。模拟舵机一般没有中央处理器,由减速速齿轮组、直流电机、角度传感器和模拟电路组成的,外部通过pwm信号控制舵机旋转的角度。而在舵机中加入了处理器的舵机为数字舵机,数字舵机区别于传统的模拟舵机,模拟舵机需要给它不停的发送pwm信号,才能让它保持在规定的位置或者让它按照某个速度转动,数字舵机则只需要发送一次pwm信号就能保持在规定的某个位置。因此,与模拟舵机相比,数字舵机能够以更高的频率响应控制器端的信号,反应迅速,在舵机加速和减速的过程中也更为柔和,能够提供更高的精度以及更强的稳定性,并减少舵机的抖动。

本实施例中,以该舵机控制方法在数字舵机上的应用为例,数字舵机上设置有处理器,处理器能够接受控制器或者上位机发送的数字信号,控制器或上位机指的是能够与舵机的处理器通过信号进行通讯,并且发出指令控制舵机精准运转的一种装置,舵机在接收到控制器发送的数字信号后,能够根据控制器发送的数字信号得出相应指令,并根据指令驱动舵机运转。

步骤s20,根据所述数字信号得到期望角度,根据所述期望角度生成驱动信号,并将所述驱动信号发送至所述舵机的电机,以驱动所述舵机进行转动;

在处理器获取到控制器发送的数字信号后,处理器对数字信号进行解析,得到控制器发送的数字信号中包含的具体指令,即期望角度。期望角度指控制器向舵机发送的要求舵机旋转的角度。处理器在得到期望角度后,根据期望角度的数值生成相应的驱动信号,驱动信号是指处理器向舵机的电机发送的信号,驱动信号包含电机运转的参数。驱动信号通过控制电机的启动与停止,控制电机运转的时间,进而控制舵机旋转的角度;驱动信号还能够控制电机输出的功率,电机运转带动舵机的输出轴旋转,改变电机运转的功率能够进而改变舵机输出轴旋转的速度,因此,驱动信号能够用户控制舵机旋转的角度与舵机旋转的速度。具有处理器将生成的驱动信号发送至舵机的电机内,电机运转能够驱动舵机的输出轴转动,实现舵机的输出轴旋转,电机根据驱动信号的指令进行运转,即能够使得舵机旋转的角度符合期望角度。

在处理器获取到数字信号后,将数字信号转化为驱动电机运转的驱动信号,并将驱动信号发送给舵机内的电机,以驱动电机运转,进而使舵机旋转。该方案能够将控制器发送的指令转化成电机所能够识别的驱动信号,使舵机快速响应控制器的指令,完成舵机的角度旋转。同时,通过驱动信号控制电机运转,能够准确地控制电机运转的时间和功率,使得舵机旋转的角度符合控制器发送的数字信号中包含的期望角度,增加了舵机控制的精准性。

步骤s30,通过角度检测电路检测所述舵机旋转的实际角度,根据所述期望角度,计算得出角度差;

舵机内部还设置有角度检测电路,角度检测电路与处理器相连接,能够在舵机运转时检测舵机旋转的角度。在舵机内的电机接收到驱动信号并运转时,舵机旋转过一定角度,通过角度检测电路对舵机旋转的角度进行检测,得到舵机旋转的实际角度,由于舵机内部包含驱动机构、传动机构和输出机构,在舵机内部的各个机构由于长期运转而产生磨损等损耗时,舵机实际旋转的角度与期望角度并不一致,因此,若舵机旋转的实际角度与期望角度不同,则根据实际角度与期望角度,计算出两个角度之间的差值,即角度差。需要说明的是,舵机内部的传动机构可以是减速机构,舵机电机运转在经过减速机构传动后,舵机输出轴的扭矩增大,能够在舵机的电机运转时的功率较低时提供较大扭矩,但在减速机构传动后,由于转速降低,舵机的输出轴转动的实际角度与期望角度之间不一致,也会产生角度差。

舵机的转动角度要求十分精准,通过角度检测电路检测舵机实际转动的角度,并与期望角度比较,得到角度差,根据角度差来控制舵机进一步转动,能够提升舵机的精准性。

步骤s40,根据所述角度差,控制所述舵机转动至期望角度。

在获得舵机转动的角度差,即实际转动的角度与期望角度的差值后,处理器能够根据角度差生成新的驱动信号,并将驱动信号发送至舵机内的电机中,控制电机转动以调整舵机转动的角度,使得舵机旋转的角度符合期望角度。同样地,舵机还能够根据角度差生成控制舵机旋转速度的驱动信号,以控制舵机旋转的速度。

在处理器控制舵机的旋转角度与旋转速度时,处理器能够根据处理器内部存储的以角度控制为外环,速度控制为内环的高精度pid算法精准地控制舵机进行旋转,使得舵机满足控制器的指令要求,提升舵机的精度与可控性。

进一步地,参照图3,可选地,在一实施例中,在所述步骤s10,接收控制器发送的数字信号的步骤和所述步骤s20,根据所述数字信号得到期望角度的步骤之间包括:

步骤s50,根据所述数字信号获取舵机的功能模式;

当所述功能模式为角度控制时,执行步骤:根据所述数字信号得到期望角度。

在本实施例中,处理器获取到控制器发送的数字信号后,能够从数字信号中获取到功能指令,功能指令是控制器发出的控制舵机功能模式的指令,舵机在不同的功能模式下能够实现不同的功能。当根据功能指令使舵机进入角度控制模式时,处理器根据控制器发送的数字信号获取到舵机的期望角度,进而控制舵机旋转。

通过控制器发送的功能指令,处理器能够控制舵机进入不同的功能模式,在不同的功能模式下舵机能够实现不同的功能,以提升舵机的实用性与多样性,在不同的需求以及不同的环境下实现不同的功能。

进一步地,参照图4,可选地,在一实施例中,在所述步骤s50,根据所述数字信号获取舵机的功能模式的步骤之后包括:

当所述功能模式为故障检测时,步骤s53,接收检测电路发送的状态参数,根据所述状态参数,判断所述舵机是否正常运行;

步骤s531,若是,则控制所述舵机运行;

步骤s532,若否,则控制所述舵机中状态指示器指示故障。

在本实施例中,处理器获取到控制器发送的数字信号后,根据数字信号获取到的功能指令为故障检测,处理器控制舵机进入故障检测模式,并接收舵机内的检测电路发送的舵机的状态参数。处理器根据接受到的状态参数,判断舵机是否处于正常运行状态,当状态参数表示舵机正常运行时,处理器判断舵机正常运行,并继续控制舵机进行运转;当状态参数表示舵机状态不符合正常运行状态时,处理器控制舵机中的状态指示器启动,通过状态指示器向外界传递舵机的故障状态,以提醒用户舵机需要进行检测维修。

进一步地,可选地,在一实施例中,在步骤s53,根据所述状态参数,判断所述舵机是否正常运行的步骤包括:

根据所述舵机运行温度和预设的舵机正常的温度范围进行对比,以及根据所述电源电压和预设的舵机正常电压范围进行对比,判断所述舵机是否正常运行。

检测电路包括温度检测电路和电压检测电路,温度检测电路用于检测舵机内部的温度,处理器内部预先设置有舵机正常运行的温度范围,当处理器获取到温度检测电路检测到的舵机内部温度后,将该温度与正常的温度范围进行对比,若舵机内部温度处于正常的温度范围,则认为舵机正常运行,若舵机内部温度超出正常的温度范围,则判断舵机产生故障。同样地,电压检测电路用于检测舵机的电源电压,处理器内部预先设置有舵机正常运行的所需电源电压的范围,当处理器获取到电压检测电路检测到的舵机的电源电压后,将该电源电压与正常的电源电压范围进行对比,若舵机电源电压处于能够使舵机正常运行的电源电压的范围,则认为舵机正常运行,若舵机电源电压超出使舵机正常运行的电源电压的范围,则判断舵机产生故障。

可选地,状态指示器可为led状态指示器,led状态指示器可通过显示不同颜色指示舵机处于正常运行状态或故障状态,或通过闪烁指示相应故障状态。

在舵机处于故障检测模式时,处理器能够通过接收检测电路检测到的舵机的状态参数,判断舵机是否发生故障,并利用状态指示器向用户指示响应故障状态,使舵机在非正常状态时及时被检测,提升舵机的在不同环境下的适用性,使用户能够简便地对舵机状态进行观察。

进一步地,继续参照图3,可选地,在一实施例中,在所述步骤s50,根据所述数字信号获取舵机的功能模式的步骤之后还包括:

步骤s51,当所述功能模式为运动控制时,根据所述数字信号,获取舵机的期望旋转角度、期望旋转速度和期望旋转圈数;

步骤s52,根据所述期望旋转角度、所述期望旋转速度和所述期望旋转圈数,生成驱动信号,并将所述驱动信号发送至所述舵机的电机,以驱动所述舵机进行转动。

在本实施例中,处理器获取到控制器发送的数字信号后,根据数字信号获取到的功能指令为运动控制,处理器控制舵机进入运动模式,并获取数字信号中所包含的控制器发送的舵机的期望旋转角度、期望旋转速度和期望旋转圈数,获取舵机的期望旋转角度、期望旋转速度和期望旋转圈数等旋转参数后,处理器根据旋转参数生成控制电机运转的驱动信号,并将驱动信号发送至舵机内部的电机,使得舵机根据旋转参数进行运转。

在舵机进入运动模式时,控制器能够发送数字信号,以控制舵机进行连续旋转,并且控制舵机旋转的速度和舵机旋转的圈数,并且还能够控制舵机的旋转角度。舵机能够被控制器控制进行精准的转动,实现舵机的旋转。

请参照图5,图5为本发明舵机控制方法一实施例的流程示意图,其中,所述步骤s20,根据所述数字信号得到期望角度,根据所述期望角度生成驱动信号的步骤包括:

s21,根据接收到的控制器发送的数字信号,对所述数字信号进行转换;

s22,根据转换后的所述数字信号,解析出相应的指令,获得期望角度;

s23,根据所述指令,生成驱动信号。

处理器接收到控制器发送的数字信号后,由于控制器发送的数字信号为具有特殊协议的高频数字信号数据包,处理器需要对数字信号进行处理,将高频数字信号转换成处理器能够识别的数据方式,并解析出控制器控制舵机运转的相应指令,以获得控制器期望舵机旋转的期望角度。在获取到相应指令后,处理器需要将其转化成电机能够识别的驱动信号,以控制电机运转,实现舵机的旋转。

可选地,控制器与处理器之间设置有总线缓冲器,总线缓冲器能够接受控制器发送的高频数字信号数据包,并将其转换为处理器能够识别的信号。具体地,总线缓冲器能够将高频数字信号转换成全双工串行通讯方式下的信号,以便于处理器能够进行识别。通过总线缓冲器对控制器发送的数字信号进行转换,能够使得处理器便于解析控制器发送的数字信号,使舵机运转的反应速度加快。

此外本发明实施例还提出一种计算机可读存储介质。

本发明计算机可读存储介质上存储有舵机控制程序,所述舵机控制程序被处理器执行时实现如上述所述的舵机控制方法的步骤。

其中,在所述处理器上运行的舵机控制程序被执行时所实现的方法可参照本发明舵机控制方法各个实施例,在此不再赘述。

可以理解的是,在本说明书的描述中,参考术语“一实施例”、“另一实施例”、“其他实施例”、或“第一实施例~第n实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1