一种舵机的控制方法及控制装置与流程

文档序号:12736960阅读:313来源:国知局
一种舵机的控制方法及控制装置与流程

本发明涉及机械控制领域,尤其涉及舵机控制领域。



背景技术:

随着近年来机器人行业的火热发展,舵机作为机器人制造的重要组成部分,也越来越受到行业的关注。目前市场上常用的舵机都是以模拟舵机为主,传统的模拟舵机只能通过脉冲信号来控制,没有实时信息反馈,并且模拟舵机由于其输入特性不能支持模块化设计,因此此种舵机已经不能满足舵机智能控制、模块化设计的需求。



技术实现要素:

为了克服现有技术的不足,本发明的目的在于提供一种舵机的控制方法及控制装置,能对舵机的控制信息进行实时信息反馈,并且支持模块化设计,使舵机的控制满足智能,模块化的需求。

本发明的目的采用以下技术方案实现:

一种舵机的控制方法,包括:

获取主控模块发出的数据包;

识别所述数据包;

根据所述数据包执行所述指令模式。

优选的,所述数据包包括:命令码和数组;,所述指令模式为:运行模式、待机模式、第一设置模式、第二设置模式、更新模式;所述根据所述数据包执行对应的指令模式具体包括:

判断所述数据包中命令码是否第一预设值,若是,将所述数组分解为速度和角度,舵机执行所述运行模式,若否,重新对命令码的判断;

判断所述数据包中命令码是否为第二预设值,若是,查询舵机信息,舵机执行所述待机模式,若否,重新对命令码的判断;

判断所述数据包中命令码是否为第三预设值,若是,将所述数组分解为地址值,舵机执行所述第一设置模式,若否,重新对命令码的判断;

判断所述数据包中命令码是否为第四预设值,若是,将所述数组分解为绝对位置值,舵机执行所述第二设置模式,若否,重新对命令码的判断;

判断所述数据包中命令码是否为第五预设值,若是,舵机执行所述更新模式,若否,重新对命令码的判断。

优选地,所述舵机执行所述运行模式包括:舵机按所述速度和角度进行转动,并实时向主控模块反馈及发送角度和电流信息;

所述舵机执行待机模式包括:查询舵机的运行角度、舵机状态和故障信息,并实时向主控模块反馈及发送查询到的信息;

所述舵机执行第一设置模式包括:根据所述地址值对舵机设置地址值,并实时向主控模块反馈及发送地址;

所述舵机执行第二设置模式包括:根据所述绝对位置值对舵机设置绝对位置,并实时向主控模块反馈及发送设置好的绝对位置,所述绝对位置为当前角度为0度时的位置;

所述舵机执行更新模式包括:舵机跳转到更新程序,进行更新。

优选地,其特征在于,所述命令码包括数字、字符、代码。

优选地,所述舵机与主控模块通过总线接收主控模块发过来的数据包,并进行信息反馈。

根据本公开实施例的第二方面,提供了一种舵机的控制装置,所述装置包括:

获取模块,用于获取主控模块发出的数据包;

识别模块,用于识别所述数据包;

执行模块,用于根据所述数据包执行相应的指令模式。

优选地,所述舵机的控制装置,所述数据包包括:命令码和数组;所述指令模式包括:运行模式、待机模式、第一设置模式、第二设置模式、更新模式;所述执行模块具体包括:

第一判断模块,用于判断所述数据包中命令码是否为第一预设值;

第一分解模块,用于当所述数据包中的命令码是第一预设值时,将所述数组分解为速度和角度;

第一执行子模块,用于当所述数据包中的命令码是第一预设值时,执行所述运行模式;

第二判断模块,用于判断所述数据包中命令码是否为第二预设值;

查询模块,用于当所述数据包中命令码为第二预设值时,查询舵机信息;

第二执行子模块,用于当所述数据包中命令码为第二预设值时,执行所述待机模式;

第三判断模块,用于判断所述数据包中命令码是否为第三预设值;

第二分解模块,用于当所述数据包中命令码为第三预设值时,将所述数组分解为地址值;

第三执行子模块,用于当所述数据包中命令码为第三预设值时,执行所述第一设置模式;

第四判断模块,用于判断所述数据包中命令码是否为第四预设值;

第三分解模块,用于当所述数据包中命令码为第四预设值时,将所述数组分解为绝对位置值;

第四执行子模块,用于当所述数据包中命令码为第四预设值时,执行所述第二设置模式;

第五判断模块,用于判断所述数据包中命令码是否为第五预设值;

第五执行子模块,用于当所述数据包中命令码为第五预设值时,执行所述的更新模式。

优选地,所述的舵机的控制装置,所述第一执行子模块,还具体用于当所述数据包中的命令码是第一预设值时,按所述速度和角度转动,并实时向主控模块反馈及发送角度和电流信息;

所述查询模块,还具体用于当所述数据包中命令码为第二预设值时,查询舵机的运行角度,舵机状态和故障信息,并实时向主控模块反馈及发送查询到的信息;

所述第三执行子模块,还用于当所述数据包中命令码为第三预设值时,根据所述地址值对舵机设置地址值,并实时向主控模块反馈及发送地址;

所述第四执行子模块,用于当所述数据包中命令码为第四预设值时,根据所述绝对位置值对舵机设置绝对位置,并实时向主控模块反馈及发送设置好的绝对位置,所述绝对位置为当前角度设置为0度时的位置;

第五执行子模块,用于当所述数据包中命令码为第五预设值时,跳转到更新程序,进行更新。

优选地,所述舵机的控制装置,所述命令码包括数字、字符或代码。

根据本公开实施例的第三方面,提供了一种舵机的控制装置,其特征在于,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

获取主控模块发出的数据包;

识别所述数据包;

根据所述数据包执行相应的指令模式,所述指令模式包括:运行模式、待机模式、第一设置模式、第二设置模式、更新模式。

相比现有技术,本发明的有益效果在于:可以对舵机的控制信息进行实时信息反馈,并且支持模块化设计,使舵机的控制满足智能,模块化的需求。

附图说明

图1为本发明较佳实施例的一种舵机的控制方法的流程图。

图2为本发明较佳实施例的一种舵机的控制方法的流程图。

图3为本发明较佳实施例的一种舵机的控制装置的模块图。

图4为本发明较佳实施例的一种舵机的控制方法的模块图。

图5为本发明较佳实施例的一种舵机的控制方法的结构框图。

标记说明:201、获取模块;202、识别模块;203、执行模块;20301、第一判断模块;20302、第一分解模块;20303、第一执行模块;20304、第二判断模块;20305、查询模块;20306、第二执行模块;20307、第三判断模块;20308、第二分解模块;20309、第三执行子模块;20310、第四判断模块;20311、第三分解模块;20312、第四执行子模块;20313、第五判断模块;20314、第五执行子模块;

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述:

图1是本发明较佳实施例示出的一种舵机的控制方法的流程图,如图1所示,舵机的控制方法可用于舵机控制器中,在本实施例中舵机与主控模块通过总线连接,并进行双向通讯,舵机的控制方法具体包括以下步骤:

步骤101:获取主控模块发出的数据包,所述数据包包括:命令码和数组;

步骤102:识别所述数据包所对应的指令模式;

步骤103:根据所述数据包执行相应的指令模式,所述指令模式包括:运行模式、待机模式、第一设置模式、第二设置模式、更新模式;

如图2所示,所述步骤102中对数据包进行识别所对应的指令模式具体为:

判断所述数据包中命令码是否为第一预设值,若是,将所述数组分解为速度和角度,舵机执行所述运行模式,若否,重新对命令码的判断;

判断所述数据包中命令码是否为第二预设值,若是,查询舵机信息,舵机执行所述待机模式,若否,重新对命令码的判断;

判断所述数据包中命令码是否为第三预设值,若是,将所述数组分解为地址值,舵机执行所述第一设置模式,若否,重新对命令码的判断;

判断所述数据包中命令码是否为第四预设值,若是,所述数组分解为绝对位置值,舵机执行所述第二设置模式,若否,重新对命令码的判断;

判断所述数据包中命令码是否为第五预设值,若是,数组分解为更新程序,舵机执行所述更新模式,若否,重新对命令码的判断。

所述步骤102中命令码包括数字1、2、3、4、5,本实施例中采用数字主要是用来区分主控模块所发送的不同指令,因此命令码实质是被赋予上了指令,所以命令码还可以为字符、代码等所替代,命令码的判断主要是为了更加精准的执行主控模块所发出的指令。

所述舵机执行运行模式包括:舵机按所述数组分解的速度和角度进行转动,即按照主控模块所发出数据包中的指令运行,并实时向主控模块反馈角度和电流信息;

所述舵机执行待机模式包括:查询舵机的运行角度,舵机状态和故障信息;并实时向主控模块反馈及发送查询到的信息。

所述舵机执行第一设置模式包括:根据所述地址值对舵机设置地址值,并实时向主控模块反馈及发送地址;所述舵机的地址ID可根据连接舵机和其他总线的数量选择,所述选择具体采用标准标识符(11位)或扩展标识符(18位);

所述舵机执行第二设置模式包括:对舵机进行设置绝对位置,并实时向主控模块反馈及发送设置好的绝对位置,所述绝对位置即当前角度设置为0度时的位置。

所述舵机执行更新模式包括:舵机跳转到更新程序,准备更新;所述更新程序具体是指跳转到IAP程序,准备对舵机自身程序更新。

本公开实施例提供的方法,在舵机与主控模块之间通过控制器局域网络进行连接,并通过具体的判断命令码精确执行主控模块所发出的指令,舵机通过总线可以与主控模块进行双向通讯,可以对舵机的控制信息进行实时信息反馈,并且支持模块化设计,使舵机的控制满足智能,模块化的需求。

基于上述舵机的控制方法,本发明实施例还提供了一种舵机的控制装置,如图3所示,该装置包括:获取模块201、识别模块202、执行模块203;

该获取模块201被配置为获取主控模块发出的数据包;

该识别模块202被配置为识别所述数据包所对应的指令模式;

该执行模块203被配置为执行所述指令模式;

如图4所示,所述执行模块203具体包括:

第一判断模块20301,用于判断述数据包中命令码是否为第一预设值;

第一分解模块20302,用于当所述数据包中的命令码是第一预设值时,将所述数组分解为速度和角度;

第一执行子模块20303,用于当所述数据包中的命令码是第一预设值时,执行所述运行模式;

第二判断模块20304,用于判断所述数据包中命令码是否为第二预设值;

查询模块20305,用于当所述数据包中命令码为第二预设值时,查询舵机信息;

第二执行子模块20306,用于当所述数据包中命令码为第二预设值时,执行所述待机模式;

第三判断模块20307,用于判断所述数据包中命令码是否为第三预设值;

第二分解模块20308,用于当所述数据包中命令码为第三预设值时,将所述数组分解为地址值;

第三执行子模块20309,用于当所述数据包中命令码为第三预设值时,执行所述第一设置模式;

第四判断模块20310,用于判断所述数据包中命令码是否为第四预设值;

第三分解模块20311,用于当所述数据包中命令码为第四预设值时,将所述数组分解为绝对位置值;

第四执行子模块20312,用于当所述数据包中命令码为第四预设值时,执行所述第二设置模式;

第五判断模块20313,用于判断所述数据包中命令码是否为第五预设值;

第五执行子模块20314,用于当所述数据包中命令码为第五预设值时,执行所述的更新模式。

所述第一执行子模块20303,还具体用于当所述数据包中的命令码是第一预设值时,按所述速度和角度转动,并实时向主控模块反馈及发送角度和电流信息;

所述查询模块20305,还具体用于当所述数据包中命令码为第二预设值时,查询舵机的运行角度,舵机状态和故障信息,并实时向主控模块反馈及发送查询到的信息;

所述第三执行子模块20309,还用于当所述数据包中命令码为第三预设值时,根据所述地址值对舵机设置地址值,并实时向主控模块反馈及发送地址;

所述第四执行子模块20312,用于当所述数据包中命令码为第四预设值时,根据所述绝对位置值对舵机设置绝对位置,并实时向主控模块反馈及发送设置好的绝对位置,所述绝对位置为当前角度设置为0度时的位置;

第五执行子模块20314,用于当所述数据包中命令码为第五预设值时,跳转到更新程序,进行更新。

本实施例中所述舵机的控制装置可以应用到机器鱼的舵机中,可以将机器鱼摆动或其他指令输入到主控模块,主控模块通过此装置控制机器鱼内部舵机的运行,从而达到对机器鱼实时,精准且接收反馈的数据,此装置还可以分别装在机器鱼的不同位置上的舵机上,将舵机的控制器形成模块化,从而达到对机器鱼舵机的模块化控制,也可按照实际需求实时增加和删减舵机,方便对机器鱼的调试。

关于上述实施例中的装置,其中各个模块的执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再详细阐述说明。

图5为本发明实施例提供的又一舵机的控制装置的结构框图300,装置300可以被提供为一服务器。参照图5,装置300包括处理组件302,其进一步包括一个或多个处理器以及由存储器303所代表的存储资源,用于存储可由处理组件302的执行的指令,存储器303中存储的指令包括一个或一个以上的每一个对应的指令模式,此处,处理组件302被配置为执行指令,用来执行上述方法舵机的控制方法:

获取主控模块发出的数据包;

识别所述数据包;

根据所述数据包执行所述指令模式,所述指令模式包括:运行模式、待机模式、第一设置模式、第二设置模式、更新模式。

装置300还包括一个电源组件301被配置为执行装置300的电源管理,一个网络接口304被配置为将装置300连接到网络中,还包括一个输入输出接口305。装置300可以操作基于存储器303的操作系统,例如Windows,linux,FressBSD或类似。

本公开实施例提供的控制装置,舵机通过总线可以与主控模块进行双向通讯,可以对舵机的控制信息进行实时信息反馈,并且支持模块化设计,使舵机的控制满足智能,模块化的需求。

对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

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