本发明属于机器人驱动控制技术领域,具体涉及一种机器人轮毂直流无刷电机控制器及其控制方法。
背景技术:
工业机器人已经广泛应用于工业控制的不同领域,其中轮式机器人作为工业机器人的一种,具有控制简单,维护方便的特点,被广泛应用在科学探测、军事侦察、生活服务与娱乐等领域。轮式机器人根据控制方式和轮子分布的不同,有两轮差动、全向轮和主动轮等多种形式,虽然形式多样,但都是由电机驱动实现机器人的移动,电机驱动控制系统作为轮式机器人动力总成系统的核心组成部分,需要满足机器人控制器对速度闭环控制和位置反馈的要求,目前广泛应用于电动汽车领域的轮毂电机安装在车轮的轮毂内,输出的转矩直接传输到车轮,从而舍弃了传统的离合器、减速器、传动桥、差速器等机械部件,使整车重量减轻,降低了机械传动损耗,考虑到轮毂电机具备的这一明显优势,近年来机器人领域的业界正在不间断的尝试将轮毂电机引用到机器人驱动系统中,但轮毂电机由于不具备通讯功能,使用模拟量控制,同时不具备速度闭环和位置反馈功能,使得目前的轮毂电机还不能在轮式机器人中普及使用。
技术实现要素:
为解决上述技术问题,本发明提供了一种将轮毂直流无刷电机应用于机器人轮毂驱动系统的轮毂电机控制器及其控制方法,既简化了系统结构,又满足机器人控制器对速度闭环控制和位置反馈的要求。
为达到上述目的,本发明的技术方案如下:一种机器人轮毂直流无刷电机控制器,包括控制电路、用于驱动直流无刷电机的三相驱动桥电路,所述控制电路的信号输出端控制连接三相驱动桥电路,其特征在于:其还包括霍尔传感器,所述霍尔传感器的采集信号输入端连接直流无刷电机,所述霍尔传感器的采集信号输出端连接控制电路,所述控制电路能够根据霍尔传感器的采集结果测算直流无刷电机的转子位置,所述霍尔传感器的采集信号输出端通过速度闭环调节器连接至所述控制电路,所述速度闭环调节器具有用于设定参考速度的第一输入端,所述霍尔传感器的输出端连接速度闭环调节器的第二输入端,所述速度闭环调节器的输出端连接至控制电路,所述控制电路能够根据速度闭环调节器的输出结果控制调整三相驱动桥电路输出的驱动功率,以调整直流无刷电机的转速。
本发明的一个较佳实施例中,进一步包括所述三相驱动桥电路具有形成三相驱动的三个独立驱动桥,分别为A相驱动桥、B相驱动桥和C相驱动桥,A相驱动桥、B相驱动桥和C相驱动桥分别连接直流无刷电机的U、V、W三相,各驱动桥均具有交替导通的上桥和下桥,所述上桥包括第一开关管Q1、第一续流二极管D1,第一开关管Q1的漏极接直流电源ACC,其源极连接无刷电机,第一续流二极管D1的正极、负极分别连接第一开关管Q1的源极、栅极,第一开关管Q1的栅极连接至控制电路的占空比输出端,所述下桥包括第二开关管Q2、第二续流二极管D2,第二开关管Q2的漏极连接第一开关管Q1的源极,其源极接地,第二续流二极管D2的正极、负极分别连接第二开关管Q2的源极、栅极,第二开关管Q2的栅极连接至控制电路的占空比输出端。
本发明的一个较佳实施例中,进一步包括所述三相驱动桥电路的其中两相输出端通过电流传感器连接所述控制电路的信号输入端。
本发明的一个较佳实施例中,进一步包括所述控制电路上设有和机器人上位机通讯的通讯接口,用于接受速度控制指令、反馈无刷电机的位置状态、反馈无刷电机的电流状态。
本发明的一个较佳实施例中,进一步包括所述控制电路上设有硬件IO急停接口,所述控制电路上设有硬件IO急停接口,所述控制电路通过硬件IO急停接口能够控制停止三相驱动桥电路的功率输出;所述控制电路上设有通讯异常保护模块,其用于在与机器人上位机通讯失败的情况下控制停止三相驱动桥电路的功率输出。
为达到上述目的,本发明的技术方案如下:一种基于权利要求2-6任一项所述的机器人轮毂直流无刷电机控制器的控制方法,其特征在于:所述控制电路控制A、B、C三相驱动桥120°交替导通输出,各相驱动桥的上桥、下桥每隔60°换桥一次;所述霍尔传感器发出三路霍尔信号Ha、Hb、Hc,所述控制电路控制三路霍尔信号相差120°交替发出,三路霍尔信号在360°电角度内组成六个不同换向区间,直流无刷电机转动时所述三路霍尔信号按顺序触发控制电路的中断程序;所述控制电路根据霍尔信号所在的换向区间确定无刷电机的方向;所述控制电路采用速度闭环控制根据速度闭环调节器的输出值测算出三相驱动桥开关管的占空比,以调整直流无刷电机的转速。
本发明的一个较佳实施例中,进一步包括所述控制电路根据霍尔传感器反馈的信号能够测算出直流无刷电机转子的转速、转子的位置,测算出转子的当前转速后与设定速度一起做速度闭环控制。
本发明的一个较佳实施例中,进一步包括所述控制电路根据霍尔传感器反馈的转子的位置,对直流无刷电机的换相角度进行调整。
本发明的一个较佳实施例中,进一步包括所述控制电路根据直流无刷电机的速度公式测算出直流无刷电机转子的当前转速,直流无刷电机的速度公式为:
式中:RPM-电机转速;
dc-单位时间中的霍尔计数增量;
counts-电机转动一周产生的霍尔计数;
dt-计数器时间,单位/s;
所述控制电路根据直流无刷电机的角度公式测算出直流无刷电机转子的当前位置,直流无刷电机的角度公式为:
式中:DAngle-电机转过的角度增量,单位/弧度;
dc-电机转动霍尔计数增量;
N-电机磁极对数。
本发明的一个较佳实施例中,进一步包括所述机器人上位机与控制器之间基于RS485总线通讯,采用以下一对二通信的总线协议,通过广播包和令牌将控制指令同步发送给机器人的左轮控制器、右轮控制器,
指令1:上位机→广播包:响应令牌左轮;
反馈1:左轮控制器→响应包:左轮响应包;
指令2:上位机→广播包:响应令牌右轮;
反馈2:右轮控制器→响应包:右轮响应包;
广播包指令格式为:
设备地址+指令+操作地址+数据区+校验码;
其中,设备地址-0x12;
指令-0x10;
操作地址-0x90 00;
数据区:typedef struct{
U8 use_left;
U8 use_right;
U8 token_left;
U8 token_right;
F32 v_left;
F32 v_right;
}Driver_2;
响应包指令格式:
设备地址+指令+指令长度+数据区+校验码;
其中,设备地址-0x6(0x07);
指令-0x03;
指令长度-0x00 14;
数据区:typedef struct{
U8 status;
U8 disable;
U8 emergency;
U8 over_load;
U8 pwm;
S8 back1;
S16 pos;
F32 RPM;
F32 C_RPM;
F32 current;
}DO_SPEED。
本发明的一种机器人轮毂直流无刷电机控制器,具有如下有益效果:
其一、由霍尔传感器采集直流无刷电机的转子速度信息,为速度闭环调节器提供准确的转子实时速度信号,做到机器人移动的速度闭环控制,最终实现机器人平稳、可调可控式移动;
其二、由霍尔传感器采集直流无刷电机的转子位置信息,为控制电路的控制算法提供准确的转子位置信号,做到机器人移动的位置反馈,最终实现机器人的精确定位;
其三、由控制电路控制调整三相驱动桥电路各开关管的占空比来调整直流无刷电机定子绕组中的电流,最终实现实时调整电机转速;
其四、根据电机转子位置来调节定子电流换相角度,能够减小由于换相引起的转速波动;
其五、采用U、V、W三相驱动桥120°交替导通输出,能够简化控制电路的控制算法,提高控制系统的响应速度;
其六、由电流传感器实时采集相线电流,当电机堵转或超负载时,主动降低三相驱动桥电路的输出功率,保护开关管和电机免受损坏,做到过流保护;
其七、配合控制电路的控制算法,电流传感器只需要采集其中的两相电流信号就能够获得三相的电流值,能够进一步简化控制电路的控制算法,提高控制系统的响应速度;
其八、利用通讯接口和机器人上位机通讯,完成速度控制指令的传达、反馈电机转子位置状态和驱动电流状态,优选采用485或CAN总线通讯方式,确保通讯效率和同步执行;
其九、集成多种异常保护功能,用户无需考虑繁琐的保护逻辑,使用简便;
其十、优化设计的一对二通信的总线协议,通过广播包和令牌将控制指令同步发送给机器人的左轮控制器、右轮控制器,能够确保左、右轮控制器动作的同步性和实时性。
附图说明
为了更清楚地说明本发明实施例技术中的技术方案,下面将对实施例技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明优选实施例的电路结构图;
图2是本发明优选实施例的控制流程图。
其中:10-控制电路,20-三相驱动桥电路,30-霍尔传感器,40-速度闭环调节器,50-电流传感器,60-通讯接口,70-硬件IO急停接口。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
如图1所示,本实施例中提供一种将轮毂直流无刷电机应用于机器人轮毂驱动系统的轮毂电机控制器,本发明形成轮式机器人驱动器的直流无刷电机为常见的轮毂电机,有3根相线和5根信号线,3根相线为电机提供动力,5根信号线分别为+5V、GND、Ha、Hb、Hc为电机换向提供信号,本发明未对轮毂电机进行改造,直接使用原有的相线和信号线作为输入,能够实现速度闭环控制和位置反馈,具体结构如下:
包括控制电路10、用于驱动直流无刷电机M的三相驱动桥电路20,所述控制电路10的信号输出端控制连接三相驱动桥电路20,还包括霍尔传感器30,所述霍尔传感器30的采集信号输入端连接直流无刷电机M,所述霍尔传感器30的采集信号输出端连接控制电路10,所述控制电路10能够根据霍尔传感器30的采集结果测算直流无刷电机M的转子位置,所述霍尔传感器30的采集信号输出端通过速度闭环调节器40连接至所述控制电路10,所述速度闭环调节器40具有用于设定参考速度的第一输入端In1,所述霍尔传感器30的输出端连接速度闭环调节器40的第二输入端In2,所述速度闭环调节器40的输出端连接至控制电路10,所述控制电路10能够根据速度闭环调节器40的输出结果控制调整三相驱动桥电路20输出的驱动功率,以调整直流无刷电机M的转速。
所述三相驱动桥电路20具有形成三相驱动的三个独立驱动桥,分别为A相驱动桥、B相驱动桥和C相驱动桥,A相驱动桥、B相驱动桥和C相驱动桥分别连接直流无刷电机M的U、V、W三相,各驱动桥均具有交替导通的上桥和下桥,所述上桥包括第一开关管Q、第一续流二极管D1,第一开关管Q1的漏极连接直流电源ACC,其源极连接无刷电机,第一续流二极管D1的正极、负极分别连接第一开关管Q1的源极、栅极,第一开关管Q1的栅极连接至控制电路的占空比输出端,所述下桥包括第二开关管Q2、第二续流二极管D2,第二开关管Q2的漏极连接第一开关管Q1的源极,其源极接地,第二续流二极管D2的正极、负极分别连接第二开关管Q2的源极、栅极,第二开关管Q2的栅极连接至控制电路的占空比输出端。
所述控制电路10控制A、B、C三相驱动桥120°交替导通输出,各相驱动桥的上桥、下桥每隔60°换桥一次,例如,A相的上桥导通时,B相的下桥或者C相的下桥导通;A相的下桥导通时,B相的上桥或者C相的上桥导通;B相的上桥导通时,A相的下桥或者C相的下桥导通;以此类推。所述霍尔传感器发出三路霍尔信号Ha、Hb、Hc,所述控制电路控制三路霍尔信号相差120°交替发出,三路霍尔信号在360°电角度内组成六个不同换向区间,例如:正向101、100、110、010、011、001;反向001、011、010、110、100、101。直流无刷电机M转动时所述三路霍尔信号按顺序触发控制电路10的中断程序,程序中断的次数即为霍尔计数;所述控制电路10根据霍尔信号所在的换向区间确定无刷电机的方向(正向或者反向);所述控制电路10采用速度闭环控制根据速度闭环调节器40的输出值测算出三相驱动桥开关管的占空比,以调整直流无刷电机M的转速。
基于上述电路结构和控制程式,所述控制电路10根据霍尔传感器30反馈的信号根据直流无刷电机M的速度公式能够测算出直流无刷电机M转子的当前转速,直流无刷电机的速度公式为:
式中:RPM-电机转速(即电机转子的当前速度);
dc-单位时间中的霍尔计数增量;
counts-电机转动一周产生的霍尔计数;
dt-计数器时间,单位/s;
其中霍尔计数为霍尔信号触发中断程序的次数。
测算出转子的当前转速后与设定速度一起做速度闭环控制。
基于上述电路结构和控制程式,所述控制电路10根据霍尔传感器30反馈的信号根据直流无刷电机的角度公式测算出直流无刷电机转子的当前位置,直流无刷电机的角度公式为:
式中:DAngle-电机转过的角度增量,单位/弧度;
dc-电机转动霍尔计数增量(自上次通讯以来的计数增量);
N-电机磁极对数;
其中霍尔计数为霍尔信号触发中断程序的次数。
所述控制电路10根据霍尔传感器30反馈的转子的位置,对直流无刷电机M的换相角度进行调整,即控制电路10根据电机的运行工况和转速,对定子电流的换相角度做出相应的调整,例如提前换相或滞后换相,根据电机转子位置来调节定子电流换相角度,能够减小由于换相引起的转速波动。
所述三相驱动桥电路20的其中两相输出端通过电流传感器50连接所述控制电路10的信号输入端。由电流传感器50实时采集相线电流,当电机堵转或超负载时,主动降低三相驱动桥电路20的输出功率,保护开关管和电机免受损坏,做到过流保护。
所述控制电路10上设有和机器人上位机通讯的通讯接口60,用于接受速度控制指令、反馈无刷电机的位置状态、反馈无刷电机的电流状态,优选采用485或CAN总线通讯方式,确保通讯效率和同步执行。
所述控制电路10上设有硬件IO急停接口70,所述控制电路10通过硬件IO急停接口70能够控制停止三相驱动桥电路20的功率输出;所述控制电路10上设有通讯异常保护模块,用于在与机器人上位机通讯失败的情况下控制停止三相驱动桥电路的功率输出。通过设计以上多种异常保护功能,用户无需考虑繁琐的保护逻辑,使用简便。
本发明的机器人上位机与控制器之间基于RS485总线通讯,采用以下一对二通信的总线协议,通过广播包和令牌将控制指令同步发送给机器人的左轮控制器、右轮控制器,
指令1:上位机→广播包:响应令牌左轮;
反馈1:左轮控制器→响应包:左轮响应包;
指令2:上位机→广播包:响应令牌右轮;
反馈2:右轮控制器→响应包:右轮响应包;
广播包指令格式为:
设备地址+指令+操作地址+数据区+校验码;
其中,设备地址-0x12;
指令-0x10;
操作地址-0x90 00;
数据区:typedef struct{
U8 use_left;
U8 use_right;
U8 token_left;
U8 token_right;
F32 v_left;
F32 v_right;
}Driver_2;
响应包指令格式:
设备地址+指令+指令长度+数据区+校验码;
其中,设备地址-0x6(0x07);
指令-0x03;
指令长度-0x00 14;
数据区:typedef struct{
U8 status;
U8 disable;
U8 emergency;
U8 over_load;
U8 pwm;
S8 back1;
S16 pos;
F32 RPM;
F32 C_RPM;
F32 current;
}DO_SPEED。
本发明优化设计的一对二通信的总线协议,通过广播包和令牌将控制指令同步发送给机器人的左轮控制器、右轮控制器,能够确保左、右轮控制器动作的同步性和实时性
如图2所示,控制器工作进入主循环后,首选获取外部输入:霍尔、电流、急停信号,随后判断是否发生异常,判断异常时进入异常处理程序;判断没有异常时进入速度环PID,计算位置反馈;有异常和没有异常两者处理后统一进行输出控制,基于通讯接口反馈至主循环。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。