舵机控制器、舵机控制方法以及控制系统的制作方法

文档序号:6265814阅读:372来源:国知局
专利名称:舵机控制器、舵机控制方法以及控制系统的制作方法
技术领域
本发明涉及自动控制技术领域,尤其涉及一种可以同时对多个舵机进行控制的舵机控制器、舵机控制方法以及控制系统。
背景技术
舵机在航模、车模、船模以及机器人等领域有广泛的应用。舵机的工作原理就是控制一个电机,让它转过设定的角度然后停在这个位置。目前舵机作为单独的一个控制系统存在,控制端一般通过PWM (Pulse Width Modulation,脉冲宽度调制)控制协议对其进行控制。参考附图1,现有技术中的舵机结构示意图,舵机可以分为几部分转速控制模块
11、电机12、减速齿轮13、转动力臂14和电位器15。转速控制模块11分别与电机12以及电位器15相连,根据外部输入的P丽信号计算出目标角度,并接收电位器15的反馈值来确定当前角度,然后根据目标角度和反馈值这两个数值计算出误差信号,再根据误差信号产生电机12的驱动信号。电机12进一步与减速齿轮13相连,其转速快慢由转速控制模块11输入的驱动信号控制。电机12可以为直流或交流电机。减速齿轮13进一步与转动力臂14相连,用于将电机12的快速转动转换为相应的角度。比如减速齿轮13比为400:1,则意味着电机12转过400圈,经过减速齿轮13后转动力臂14转I圈,对应360度。转动力臂14进一步与电位器15相连,转动力臂14是一个传动装置,可以带动负载转到设定的角度。电位器15是一个反馈装置,转动力臂14在转动的同时会在电位器15上滑动产生不同的电压值,电位器15将所产生的电压值反馈给转速控制模块11。舵机的转速控制模块对转速的控制可以参考附图2。将外部输入的PWM信号进行目标值计算;将计算出目标角度以及接收到的电位器反馈值输入比较器;通过比较器比较后由电机驱动产生模块产生电机驱动信号。按照舵机的控制方式,舵机可以分为模拟舵机和数字舵机两种。这两种舵机的主要区别在比较器和电机驱动产生模块。模拟舵机主要是用模拟电路的方式来实现电位器和设定位置的电位比较,然后产生控制信号来让电机转动;数字舵机则将电位器反馈的电压量经过模数转换器(ADC)采样为数字信号后对其进行处理,用一些算法来计算出电机的控制信号让电机转动以达到设定位置。通常一个大的控制系统里面会有多个舵机,每个舵机以单独的系统形式存在,舵机控制器可以通过PWM信号对多个舵机进行控制,如图3所示现有技术中一个舵机控制器对N个舵机进行控制的系统框图。但是现有技术的不足之处在于舵机包括转速控制模块、电机、减速齿轮、转动力臂以及电位器,结构复杂;存在多个舵机时,每个舵机以单独的系统形式存在,增加了系统成本和系统复杂度。因此需要一种新的舵机控制系统,可以简化舵机的结构,同时大大简化对多个舵机进行控制的系统的复杂度。

发明内容
本发明所要解决的技术问题是,提供一种舵机控制器、舵机控制方法以及控制系统,解决现有技术中舵机结构复杂;多个舵机中每个舵机以单独的系统形式存在,增加了系统成本和系统复杂度的问题。为了解决上述问题,本发明提供了一种舵机控制器,包括一输入输出单元、一模数转换单元以及一中央处理单元;所述输入输出单元用于接收至少一舵机的电位器所传送的电位;所述模数转换单元与所述输入输出单元相连,用于对每一所述电位进行采样,分别获得相应舵机的电机当前转过的角度;所述中央处理单元与所述模数转换单元相连,用于根据所获得的电机当前转过的角度,通过电机控制算法获取相应电机需要的驱动信号;所述输入输出单元进一步与所述中央处理单元相连,用于将所述驱动信号传送至相应的电机,控制此电机转动,从而驱动相应的舵机达到设定位置。进一步,所述输入输出单元采用分时复用的方式接收相应的电位,以及输出相应的电机驱动信号。进一步,所述输入输出单兀包括一输入选择模块、输出选择模块以及状态控制模块;所述输入选择模块与所述状态控制模块相连,用于根据所述状态控制模块产生的选择信号从所述输入输出单元接收的多个电位中选择相应的电位;所述模数转换单元与所述输入选择模块相连,用于对所述输入选择模块所选择的电位进行采样,获得相应电机当前转过的角度;所述输出选择模块分别与所述模数转换单元以及所述中央处理单元相连,用于根据所述模数转换单元获得的相应电机当前转过的角度进行输出选择,通过所述中央处理单元采样相应的电机控制算法产生驱动信号;所述状态控制模块进一步与所述输出选择模块相连,用于在所述输出选择模块产生驱动信号后,产生新的选择信号。所述中央处理单元进一步包括误差处理模块、驱动信号产生模块所述误差处理模块用于计算目标电位和电位器传送的实际电位的误差,并经过误差处理算法对误差进行处理;所述驱动信号产生模块与所述误差处理模块相连,用于根据处理后的误差、预先设定电机启动转速以及预先设定最大转速的对应关系,产生相应转速的驱动信号。为了解决上述问题,本发明还提供了一种舵机控制方法,包括如下步骤(I)接收至少一舵机的电位器所传送的电位;(2)采用分时复用的方式对每一所述电位进行采样,获得相应舵机的电机当前转过的角度;(3)根据所述电机当前转过的角度,通过电机控制算法获取所述电机需要的驱动信号;(4)将所述驱动信号传送至所述电机,控制所述电机转动以达到设定位置。步骤(2)进一步包括(21)产生一选择信号,所述选择信号对应一接收到的电位;
(22)根据所述选择信号选择相应的电位;(23)对所选择的电位进行采样,获得相应电机当前转过的角度;步骤(3)之后进一步包括(31)在获取相应的驱动信号后,产生一新的选择信号,并返回执行步骤(22)。所述电机控制算法进一步采用(a)计算目标电位和电位器传送的实际电位的误差,并经过误差处理算法对误差进行处理;(b)预先设定电机启动转速和最大转速,根据处理后的误差、电机启动转速以及最大转速的对应关系,产生相应转速的驱动信号。为了解决上述问题,本发明还提供了一种舵机控制系统,包括一个舵机控制器、多个电位器以及多个电机,每一所述电位器分别与一电机相连,所述电位器根据所连接的电机转过的角度产生一电位;所述多个电位器进一步连接至所述舵机控制器,将产生的电位信号传送至所述舵机控制器;所述舵机控制器进一步与多个电机相连,根据电位器传送的电位信号生成相应的驱动信号,控制所连接的电机转动以驱动舵机达到设定位置。进一步,所述舵机控制器采用分时复用的方式对输入的所述多个电位器的电位进行采样,分别获得所述多个电机当前转过的角度,并通过电机控制算法获得所述多个电机需要的驱动信号。本发明的优点在于,通过本发明提供的舵机控制器,舵机控制器直接对N个电机进行控制,同时也接收N个电位器传送的电位,舵机控制器同时驱动N个电机来实现舵机的功能,本发明所述舵机控制器可通过专用的DSP/ASIC实现,也可通过软件实现,大大简化了多个舵机控制系统的复杂度。


图1,现有技术中的舵机结构示意 图2,现有技术中舵机的转速控制模块对转速的控制架构 图3,现有技术中一个舵机控制器对N个舵机进行控制的系统框 图4,本发明舵机控制器一实施方式的架构 图5,本发明舵机控制器另一实施方式的架构 图6,本发明舵机控制系统一实施方式的架构 图7,本发明舵机控制方法的流 程 图8,本发明舵机控制方法中电机控制算法的流程 图9,本发明舵机控制方法中所选择的电机转速与电机启动转速、最大转速和误差的关系的不意 图10,本发明舵机控制方法中误差处理算法一实施例的示意 图11-15,本发明舵机控制系统一实施例的控制效果示意图。主要组件符号说明:
11、转速控制模块; 12、电机;13、减速齿轮;
14、转动力臂;15、电位器;40、舵机控制器;
41、输入输出单元;42、模数转换单元;43、中央处理单元;
411、输入选择模块;412、输出选择模块;413、状态控制模块;
431、误差处理模块;432、驱动信号产生模块;61、舵机控制器;
62、电机;63、电位器。
具体实施例方式下面结合附图对本发明提供的舵机控制器、舵机控制方法以及控制系统的具体实施方式
做详细说明。首先结合附图给出本发明所述舵机控制器的一实施方式。附图4所示是本实施方式所述舵机控制器40的架构图,所述舵机控制器40包括一输入输出单元41、一模数转换单元42以及一中央处理单元43。其中,上述输入输出单元41、模数转换单元42以及中央处理单元43可以采用DSP (Digital Signal Processing,数字信号处理)芯片或专用集成电路(Application Specific Integrated Circuit,简称ASIC)芯片。即本发明所述舵机控制器40的功能可通过专用的DSP/ASIC实现,也可通过软件实现。所述输入输出单元41用于接收至少一舵机的电位器所传送的电位。电位器所传送的电位即为相应电机转过角度的反馈值,如图4中电位-1、电位-2,...,电位-N(N ^ 3)。所述模数转换单元42与所述输入输出单元41相连,用于对所述输入输出单元41接收到的每一所述电位进行采样,分别获得相应舵机的电机当前转过的角度。所述中央处理单元43与所述模数转换单元42相连,用于根据所述模数转换单元42所获得的电机当前转过的角度,通过电机控制算法获取相应电机需要的驱动信号(如图4中所示输出的电机驱动-1、电机驱动_2,…,电机驱动-N,N彡3)。所述中央处理单元43可以进一步包括误差处理模块431、驱动信号产生模块432。所述误差处理模块431用于计算目标电位和电位器传送的实际电位的误差,并经过误差处理算法对误差进行处理;其中,所述误差处理算法可以采用PID算法、PD算法、PI算法或者自适应滤波算法等;其中,P表示Proportion (比例)、I表示Integral (积分)、D表不 Differential (微分)。所述驱动信号产生模块432与所述误差处理模块431相连,用于根据处理后的误差、预先设定电机启动转速以及预先设定最大转速的对应关系,产生相应转速的驱动信号。所述输入输出单元41进一步与所述中央处理单元43相连,用于将所述中央处理单元43所获取的所述驱动信号传送至相应的电机,控制此电机转动,从而驱动相应的舵机达到设定位置。其中,所述 输入输出单元41可以采用分时复用的方式接收相应的电位,并通过所述模数转换单元42对接收到的电位进行采样,分别获得每一电机当前转过的角度;通过所述中央处理单元43采用相应的电机控制算法获取每一电机需要的驱动信号,并通过所述输入输出单元41采用分时复用的方式传送至对应的电机。本发明提供的舵机控制器40直接对N个电机进行控制,同时也接收N个电位器传送的电位,舵机控制器40同时驱动N个电机来实现舵机的功能;本发明所述舵机控制器40的功能可通过专用的DSP/ASIC实现,大大简化了对多个舵机进行控制的复杂度。接下来结合附图给出本发明所述舵机控制器的另一实施方式。附图5所示是本实施方式所述舵机控制器的架构图,与前一实施方式不同的是,本实施方式中所述输入输出单兀41包括一输入选择模块411、输出选择模块412以及状态控制模块413。所述输入选择模块411与所述状态控制模块413相连,用于根据所述状态控制模块413产生的选择信号从所述输入输出单兀41接收的多个电位中(如图5中电位-1、电位-2,...,电位-N, N > 3)选择相应的电位。所述模数转换单元42与所述输入选择模块411相连,用于对所述输入选择模块411所选择的电位进行采样,获得相应电机当前转过的角度。所述输出选择模块412分别与所述模数转换单元42以及所述中央处理单元43相连,用于根据所述模数转换单元42获得的相应电机当前转过的角度进行输出选择,通过所述中央处理单元43采样相应的电机控制算法(如图5中电机控制算法1、电机控制算法2、...,电机控制算法-Ν,Ν ^ 3)产生相应的驱动信号后输出(如图5中电机驱动输出1、电机驱动输出2、…,电机驱动输出-N,N ^ 3),从而驱动相应的电机转动,使得相应的舵机达到设定位置。所述状态控制模块413进一步与所述输出选择模块412相连,用于在所述输出选择模块412产生驱动信号输出后,产生新的选择信号,进行下一个电机驱动输出的产生。接下来结合附图给出本发明所述舵机控制系统的一实施方式。附图6所示是本实施方式所述舵机控制系统的架构图,包括一个舵机控制器61、多个电机62 (如图6中电机-1、电机-2,...,电机-N, N > 3)以及多个电位器63 (如图6中电位器-1、电位器-2,...,电位器-N, N彡3),其中电机62与电位器63的数量相等。每一所述电位器63分别与一电机62相连,所述电位器63根据所连接的电机62转过的角度产生一电位。所述多个电位器63进一步连接至所述舵机控制器61,将产生的电位信号传送至所述舵机控制器。所述舵机控制器进一步与多个电机62相连,根据电位器63传送的电位信号生成相应的驱动信号,控制所连接的电机62转动以驱动舵机达到设定位置。其中,所述舵机控制器可以采用分时复用的方式对输入的所述多个电位器63的电位进行采样,分别获得所述多个电机62的当前角度,并通过电机控制算法获得所述多个电机62需要的驱动信号。所述舵机控制器61同时驱动N个电机62来实现舵机的功能,在这个控制系统中舵机控制器61直接对N个电机62进行控制,同时也接收N个电位器63传送的相应的电机转过角度的反馈值(即每一所述电机62转过的角度在相应电位器63上产生一电位,通过相应的电位器63传送至舵机控制器61)。所述舵机控制器61可以采用DSP芯片或专用集成电路芯片。 接下来结合附图给出本发明所述舵机控制方法的具体实施方式
。附图7所示是本具体实施方式
所述舵机控制方法的流程图,接下来对附图7所示的步骤做详细说明。S71:接收至少一舵机的电位器所传送的电位。S72:采用分时复用的方式对每一所述电位进行采样,获得相应舵机的电机当前转过的角度。分时复用可以采用以下方式实现:21)产生一选择信号,所述选择信号对应一接收到的电位;22)根据所述选择信号从输入的多个电位中选择相应的电位;23)对所选择的电位进行采样,获得相应电机当前转过的角度;之后执行步骤S73,并在获取相应的驱动信号后,产生一新的选择信号,并返回执行步骤22),即一个输入输出选择完成后,产生新的选择信号,重新开始选择新的电位进行采样,直到完成所有电位的采样,驱动所有舵机的电机转动到设定位置。S73:根据所述电机当前转过的角度,通过电机控制算法获取所述电机需要的驱动信号。S74:将所述驱动信号传送至所述电机,控制所述电机转动以达到设定位置。参考附图8,本发明舵机控制方法中电机控制算法的流程图;所述电机控制算法可以采用以下方式实现。S801:计算目标电位和电位器传送的实际电位的误差;S802:经过误差处理算法对误差进行处理;S803 :预先设定电机启动转速和最大转速,根据处理后的误差、电机启动转速以及最大转速的对应关系,进行电机转速选择;S804 :根据所选择的电机转速产生相应的驱动信号,并输出至相应的电机。所选择的电机转速与电机启动转速、最大转速和误差的关系可参照附图9所示。其中附图9仅示例出其中一种所选择的电机转速对应的曲线图;所选择的电机转速对应的线形包含但不局限于下列线形直线、抛物线、指数曲线等。本发明舵机控制方法中电机控制算法里误差处理算法可以采用PID算法、ro算法、PI算法或者自适应滤波算法等。参考附图10,本发明舵机控制方法中误差处理算法一实施例的示意图;WPID算法为例,PID算法为通用的结构,有三个支路,包括比例支路、积分支路和微分支路。实现的算法可以描述为
_ = +会卜+ ,
其中t为比例系数τ力积分时间常数τ力微分时间常数。接下来结合附图给出本发明舵机控制系统的实施例,仍以PID算法为例。图11-15,本发明舵机控制系统一实施例的控制效果示意图,其中图11为舵机的特性曲线、图12为电机特性曲线、图13为经过PID算法处理后的误差信号、图14为电机转速示意图、图15为舵机转过的角度示意图。由图11所示可知,舵机转过的角度和电位器的电压成线性关系。图12中,电机为PWM信号驱动的直流电机,由图12所示可知,在占空比为30%的位置,电机开始启动;占空比100%的位置,电机转速达到90转/秒。由图13所示可知,经过PID算法处理后的误差逐渐趋向O。由图14所示可知,在误差较大时,电机以全速90转/秒转向目标位置,在接近目标位置后,转速降低,并在误差达到最小时转速也到0,停止转动。由图15所示可知,在电机全速转向目标位置的过程中,转过的角度与时间轴成比例关系。在逼近目标位置后,由于电机转速变慢,舵机的角速度也放缓,最后慢慢逼近目标值90度,并停在该位置。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种舵机控制器,其特征在于,包括一输入输出单元、一模数转换单元以及一中央处理单元;所述输入输出单元用于接收至少一舵机的电位器所传送的电位;所述模数转换单元与所述输入输出单元相连,用于对每一所述电位进行采样,分别获得相应舵机的电机当前转过的角度;所述中央处理单元与所述模数转换单元相连,用于根据所获得的电机当前转过的角度,通过电机控制算法获取相应电机需要的驱动信号;所述输入输出单元进一步与所述中央处理单元相连,用于将所述驱动信号传送至相应的电机,控制此电机转动,从而驱动相应的舵机达到设定位置。
2.根据权利要求1所述的舵机控制器,其特征在于,所述输入输出单元采用分时复用的方式接收相应的电位,以及输出相应的电机驱动信号。
3.根据权利要求2所述的舵机控制器,其特征在于,所述输入输出单元包括一输入选择模块、输出选择模块以及状态控制模块;所述输入选择模块与所述状态控制模块相连,用于根据所述状态控制模块产生的选择信号从所述输入输出单元接收的多个电位中选择相应的电位;所述模数转换单元与所述输入选择模块相连,用于对所述输入选择模块所选择的电位进行采样,获得相应电机当前转过的角度;所述输出选择模块分别与所述模数转换单元以及所述中央处理单元相连,用于根据所述模数转换单元获得的相应电机当前转过的角度进行输出选择,通过所述中央处理单元采样相应的电机控制算法产生驱动信号;所述状态控制模块进一步与所述输出选择模块相连,用于在所述输出选择模块产生驱动信号后,产生新的选择信号。
4.根据权利要求1或3所述的舵机控制器,其特征在于,所述中央处理单元进一步包括误差处理模块、驱动信号产生模块:所述误差处理模块用于计算目标电位和电位器传送的实际电位的误差,并经过误差处理算法对误差进行处理;所述驱动信号产生模块与所述误差处理模块相连,用于根据处理后的误差、预先设定电机启动转速以及预先设定最大转速的对应关系,产生相应转速的驱动信号。
5.一种舵机控制方法,其特征在于,包括如下步骤:(I)接收至少一舵机的电位器所传送的电位;(2)采用分时复用的方式对每一所述电位进行采样,获得相应舵机的电机当前转过的角度;(3)根据所述电机当前转过的角度,通过电机控制算法获取所述电机需要的驱动信号;(4)将所述驱动信号传送至所述电机,控制所述电机转动以达到设定位置。
6.根据权利要求5所述的舵机控制方法,其特征在于,步骤(2)进一步包括:(21)产生一选择信号,所述选择信号对应一接收到的电位;(22)根据所述选择信号选择相应的电位;(23)对所选择的电位进行采样,获得相应电机当前转过的角度;步骤(3)之后进一步包括:(31)在获取相应的驱动信号后,产生一新的选择信号,并返回执行步骤(22)。
7.根据权利要求5或6所述的舵机控制方法,其特征在于,所述电机控制算法进一步采用:(a)计算目标电位和电位器传送的实际电位的误差,并经过误差处理算法对误差进行处理;(b)预先设定电机启动转速和最大转速,根据处理后的误差、电机启动转速以及最大转速的对应关系,产生相应转速的驱动信号。
8.一种舵机控制系统,包括一个舵机控制器、多个电位器以及多个电机,其特征在于,每一所述电位器分别与一电机相连,所述电位器根据所连接的电机转过的角度产生一电位;所述多个电位器进一步连接至所述舵机控制器,将产生的电位信号传送至所述舵机控制器;所述舵机控制器进一步与多个电机相连,根据电位器传送的电位信号生成相应的驱动信号,控制所连接的电机转动以驱动舵机达到设定位置。
9.根据权利要求8所述的舵机控制系统,其特征在于,所述舵机控制器采用分时复用的方式对输入的所述多个电位器的电位进行采样,分别获得所述多个电机当前转过的角度,并通过电机控制 算法获得所述多个电机需要的驱动信号。
全文摘要
本发明涉及自动控制技术领域,尤其涉及一种可以同时对多个舵机进行控制的舵机控制器、舵机控制方法以及控制系统。所述舵机控制器包括输入输出单元用于接收至少一舵机的电位器所传送的电位;模数转换单元用于对每一所述电位进行采样,分别获得相应舵机的电机当前转过的角度;中央处理单元用于根据所获得的电机当前转过的角度,通过电机控制算法获取相应电机需要的驱动信号;所述输入输出单元进一步与所述中央处理单元相连,用于将所述驱动信号传送至相应的电机,控制此电机转动,从而驱动相应的舵机达到设定位置。本发明中舵机控制器同时驱动N个电机来实现舵机的功能,大大简化了多个舵机控制系统的复杂度。
文档编号G05B19/042GK103076752SQ20121057188
公开日2013年5月1日 申请日期2012年12月26日 优先权日2012年12月26日
发明者乔俊杰, 顾正付, 陈建, 宋戈, 倪伟平 申请人:上海云杉信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1