本发明涉及机械控制领域,尤其涉及伺服电机的控制领域。
背景技术:
随着机械控制领域的高速发展,对于伺服电机的需要也日益增加,因此对于伺服电机的控制已引起越来越多人的重视。目前传统的伺服电机的采用的是BLDC控制方法,这是一种基于方波的驱动控制方式。这种控制方式,启动转速高,电机的转矩与转速有一定的关系,要获得比较大的扭矩,电机需要的转速就要比较高,在低速运行时电机输出扭矩比较小,实际应用中为了精确稳定地控制转动的角度,常常需要的是转数低,扭矩大的特性。普通的舵机扭矩大时,转动速度就要快,速度越快越不容易控制电机稳定在设定的角度,会出现电机在设定的角度附件来回震荡抖动,难以符合实际精确定位的使用要求。
技术实现要素:
为了克服现有技术的不足,本发明的目的在于提供一种伺服电机的控制方法及控制系统,其能解决伺服电机在设定的位置来回震荡抖动,难以符合实际精确定位的使用要求。
本发明的目的采用以下技术方案实现:
一种伺服电机的控制方法,其特征在于,包括:
获取伺服电机的当前数据;
计算所述伺服电机的当前数据与给定位置时的数据的偏差,得到偏差值;
根据所述的偏差值控制伺服电机的运行状态。
优选的,所述数据包括:反馈角度值、反馈速度值、反馈电流值;所述反馈电流值是获取的电流值经过多种变换得到;所述根据所述的偏差值改变伺服电机的运行状态具体包括:
对所述反馈角度值与给定位置的角度值进行偏差计算,得到角度偏差值;
将所述角度偏差值进行PID运算,得到第一运算输出值,所述第一运算输出值作为速度控制端的速度给定值;
对所述速度给定值与所述反馈速度值进行偏差计算,得到速度偏差值;
将所述速度偏差值进行PID运算,得到第二运算输出值,所述第二运算输出值作为电流控制端的电流给定值;
对所述电流给定值与所述反馈电流值进行偏差计算,得到电流偏差值;
将所述电流偏差值进行PID运算,得到第三运算输出值,所述第三输出值进行变换后作为控制伺服电机运行的输入值。
优选的,所述反馈电流值是获取的电流值经过多种变换得到,具体包括:对所述获取电流值先进行clake变换,再进行park变换,得到反馈电流值。
优选的,所述第三输出值进行变换后作为控制伺服电机的输入值具体包括:将所述第三输出值先进行park逆变换,再经过空间矢量脉宽调制后作为控制伺服电机的输入值。
优选的,所述获取伺服电机的当前数据的响应时间的单位为毫秒。
根据本公开实施例的第二方面,提供了一种伺服电机的控制系统,所述系统包括:
获取模块,用于获取伺服电机的当前数据;
运算模块,用于计算所述伺服电机的当前数据与给定位置时的数据的偏差,得到偏差值;
控制模块,用于根据所述的偏差值控制伺服电机的运行状态。
优选的,所述数据包包括:反馈角度值、反馈速度值、反馈电流值;所述反馈电流值是获取的电流值经过多种变换得到;将所述角度值给定位置的角度值作比较,得到角度偏差值;所述控制模块具体包括:
位置调节模块:用于对所述反馈角度值与给定位置的角度值进行偏差计算,得到角度偏差值;
第一输入模块:用于将所述角度偏差值进行PID运算,得到第一运算输出值,所述第一运算输出值作为速度控制端的速度给定值;
转速调节模块:用于对所述速度给定值与所述反馈速度值进行偏差计算,得到速度偏差值;
第二输入模块:用于将所述速度偏差值进行PID运算,得到第二运算输出值,所述第二运算输出值作为电流控制端的电流给定值;
电流调节模块:用于对所述电流给定值与所述反馈电流值进行偏差计算,得到电流偏差值;
第三输入模块:用于将所述电流偏差值进行PID运算,得到第三运算输出值,所述第三输出值进行变换后作为控制伺服电机运行的输入值;
优选的,所述反馈电流值是获取的电流值经过多种变换得到,具体包括:对所述获取电流值先进行clake变换,再进行park变换,得到反馈电流值。
优选的,所述第三输入模块具体还包括:将所述第三输出值先进行park逆变换,再经过空间矢量脉宽调制后作为控制伺服电机的输入值。
优选的,所述获取伺服电机的当前数据的响应时间的单位为毫秒。
相比现有技术,本发明的有益效果在于:能够控制伺服电机以给定的数据平稳运行到给定的位置,不会在给定位置来回震荡抖动,且符合实际精准定位的使用要求。
附图说明
图1为本发明较佳实施例的一种伺服电机的控制方法的流程图。
图2为本发明较佳实施例的一种伺服电机的控制方法的流程图。
图3为本发明较佳实施例的一种伺服电机的控制系统的模块图。
图4为本发明较佳实施例的一种伺服电机的控制系统的模块图。
标记说明:10、获取模块;20、运算模块;30、控制模块;301、位置调节模块;302、第一输入模块;303、转速调节模块;304、第二输入模块;305、电流调节模块;306、第三输入模块。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述:
图1是本发明较佳实施例示出的一种伺服电机的控制方法的流程图,参照图1舵机的控制方法包括以下步骤:
步骤101:获取伺服电机的当前数据;
步骤102:计算所述伺服电机的当前数据与给定位置时的数据的偏差,得到偏差值;
步骤103:根据所述的偏差值控制伺服电机的运行状态。
所述步骤101中获取的当前数据包括:反馈角度值,反馈速度值,反馈电流值。所述反馈角度值和反馈速度值分别通过位置传感器和编码器检测伺服电机获取得到,作为控制过程中的反馈信号;如图2所示,所述步骤103具体包括:
对所述反馈角度值与给定位置的角度值进行偏差计算,得到角度偏差值;当角度偏差值为负时,即反馈角度值比给定位置的角度值小,则伺服电机的运行位置还没达到指定位置。若角度偏差值为正时,即反馈角度值比给定位置的角度值大,则伺服电机的运行位置超过了指定位置。
将所述角度偏差值进行PID运算,得到第一运算输出值,所述第一运算输出值作为速度控制端的速度给定值;所述第一运算输出值即为根据角度偏差值所运算得出的给定位置时的转速;
对所述速度给定值与所述反馈速度值进行偏差计算,得到速度偏差值;所述速度偏差值即是伺服电机的给定位置的转速与伺服电机的当前转速的偏差;
将所述速度偏差值进行PID运算,得到第二运算输出值,所述第二运算输出值作为电流控制端的电流给定值;所述第二输出值为根据转速的偏差经过PID计算得到伺服电机到达给定位置时的电流值;
对所述电流给定值与所述反馈电流值进行偏差计算,得到电流偏差值;所述电流偏差值即为给定位置时的电流值与获取到的当前电流值的偏差值。
本发明较佳实施例中的一种舵机的控制方法包括:将所述电流偏差值进行PID运算,得到第三输出值,所述第三输出值进行变换后作为控制伺服电机运行的输入值;
本发明较佳实施例中的一种舵机的控制方法包括:所述获取电流值并不能直接作为伺服电机的电流反馈值,因此获取电流值为三相当中两相电流ia,ib,先通过clark数学变换,把三相的交流电流转换成两相的交流电流iα,iβ,再通过park数学变换,把两相交流iα,iβ变换成两相的直流id,iq,得到反馈电流值,作为电流控制端的反馈输入值。
本发明较佳实施例中的一种舵机的控制方法包括所述所述第三输出值进行变换后作为控制伺服电机的输入值具体包括:将所述第三输出值先进行park逆变换,再经过空间矢量脉宽调制后作为控制伺服电机的输入值。所述第三输出值经过PID运算后输出,输出值经过park变换,把直流把两相直流ud,uq变成两相交流,uα,uβ两相交流再经过空间矢量脉宽调制变成三相信号驱动逆变器输出三相正弦波控制电机转动。
在本实施例中当获取到的数据与给定位置的偏差值足够小时,可能是由于伺服电机自身的损耗造成的,此种情况下,使电流id为0再经过PID运算和park逆变换,把直流把两相直流ud,uq变成两相交流,uα,uβ两相交流再经过空间矢量脉宽调制变成三相信号驱动逆变器输出三相正弦波控制电机转动。
本公开实施例提供的伺服电机的控制方法,整个控制过程能达到闭环控制,以毫秒级的响应时间获取伺服电机的运行数据,与给定的角度,速度和扭矩比较,运算,输出控制正弦驱动信号,驱动电机运转,以恒定的扭矩或者转速,平稳运行到给定的位置,并迅速停下来,达到精准控制电机转动的要求。
基于上述伺服电机的控制的方法,本发明实施例还提供了一种伺服电机的控制系统,如图3所示,该系统包括:获取模块10、运算模块20、控制模块30;
该获取模块10被配置为用于获取伺服电机的当前数据;
该运算模块20被配置为用于计算所述伺服电机的当前数据与给定位置时的数据的偏差,得到偏差值;
该控制模块30被配置为用于根据所述的偏差值控制伺服电机的运行状态。
所述获取模块10中的数据包包括:反馈角度值、反馈速度值、反馈电流值;所述反馈电流值经过变换得到反馈电流值;将所述角度值给定位置的角度值作比较,得到角度偏差值;
如图4所示,所述控制模块30具体包括:
位置调节模块301:用于对所述反馈角度值与给定位置的角度值进行偏差计算,得到角度偏差值;
第一输入模块302:用于将所述角度偏差值进行PID运算,得到第一运算输出值,所述第一运算输出值作为速度控制端的速度给定值;
转速调节模块303:用于对所述速度给定值与所述反馈速度值进行偏差计算,得到速度偏差值;
第二输入模块304:用于将所述速度偏差值进行PID运算,得到第二运算输出值,所述第二运算输出值作为电流控制端的电流给定值;
电流调节模块305:用于对所述电流给定值与所述反馈电流值进行偏差计算,得到电流偏差值;
第三输入模块306:用于将所述电流偏差值进行PID运算,得到第三运算输出值,所述第三输出值进行变换后作为控制伺服电机运行的输入值;
所述获取模块10中获取伺服电机的当前数据的响应时间的单位为毫秒。
所述反馈电流值是获取的电流值经过多种变换得到,具体包括:对所述获取电流值先进行clake变换,再进行park变换,得到反馈电流值。
该第三输入模块306具体还包括:将所述第三输出值先进行park逆变换,再经过空间矢量脉宽调制后作为控制伺服电机的输入值。
本公开实施例提供的的控制系统,其中各个模块的执行操作的具体详细方式已经在有关该方法的实施例中进行了详细描述,此处将不再详细阐述说明。
本公开实施例提供的控制系统,整个控制过程能达到闭环控制,以毫秒级的响应时间获取伺服电机的运行数据,与给定的角度,速度和扭矩比较,运算,输出控制正弦驱动信号,驱动电机运转,以恒定的扭矩或者转速,平稳运行到给定的位置,并迅速停下来,达到精准控制电机转动的要求。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。