一种电动双轮平衡车系统及电动双轮平衡车控制方法与流程

文档序号:11620007阅读:914来源:国知局
一种电动双轮平衡车系统及电动双轮平衡车控制方法与流程

本发明属于电动双轮平衡车领域,尤其涉及一种电动双轮平衡车系统及电动双轮平衡车控制方法。



背景技术:

电动双轮平衡车是一种采用左右两轮设计,结合陀螺仪测量车身所处姿态,单片机发出指令驱动电机达到自平衡的新型电动车。

电动双轮平衡车整体控制结构为:左右侧分别为两个三相无刷电机,此时需要同时控制两个三相无刷电机,目前做法有两种方案,第一种方案:一个控制器一个控制芯片同时控制两个电机,第二种方案:两个控制器分别控制两个电机。

然而,目前电动双轮平衡车的控制方案中,无法自动选择主从机功能,不能实现主从机运动状态相互协调控制。其原因在于,目前电动双轮平衡车的控制方案,存在以下几个方面的不足,详述如下:

第一方面:一个控制器一个控制芯片控制,两个电机通常由于电机控制运算的复杂性,往往由于低成本芯片计算能力有限便通过简化电机控制计算来解决,此时便失去了一部分体验的舒适性,而高运算能力芯片又涉及到成本问题。同时由于两个电机控制电路全部集成到一个电路板上,控制器需要的单个空间非常大,往往又无法分割成两块。

第二方面:为采用两个低成本芯片做成两个控制器,控制两个电机。左边控制器控制左边电机,右边控制器控制右边电机,两者虽然有通讯但只是进行了对方控制器是否故障,对方控制器是否开关机的简单信息状态,两边控制器没有做到运动状态的协调控制,例如当一边电机由于外界原因造成运动状态改变,另一侧电机控制器的控制系统未加入对方运动状态的协调控制,导致整车运行不稳定,左右晃动,摆动,抖动等各种危险情况。同时传统的整车控制逻辑方式功能扩展性和制造简易性差,例如:当平衡车需要很多的外部功能时,通常由于单片机资源不够导致左右两侧控制器需要两种不同的程序,当增加功能时还需要选择是增加在左侧控制器还是右侧控制器,制造时需要分开左侧控制器和右侧控制器,这样很容易造成生产程序混乱,生产难管控的局面。



技术实现要素:

本发明实施例的目的在于提供一种控制器,旨在解决在一种电动双轮平衡车控制方法,旨在解决目前电动双轮平衡车的控制方案中,无法自动选择主从机功能,不能实现主从机运动状态下的相互协调控制的问题。

本发明实施例是这样实现的,一种电动双轮平衡车系统,位于电动双轮平衡车两侧的控制器、单片机;

所述单片机,用于通电后,检测是否有电源开关键按下,如果有电源开关键按下,则记录本侧的控制器为主机,选取并执行主机所需要的功能,自动屏蔽从机功能,并发送主机信号和已开机信号到另一侧的控制器;

另一侧的控制器接收主机信号和已开机信号后,标记自身为从机,选取并执行从机所需要的功能,自动屏蔽主机功能,发送从机信号和已开机信号到主机;

所述主机和所述从机在所述电动双轮平衡车运动时,互相传输本侧的运动数据,以实现主从机在运动状态下的相互协调控制。

进一步地,在所述的电动双轮平衡车系统中,所述主机和所述从机采用异步收发传输器uart、集成电路总线iic或串行外设接口spi进行数据传输。

进一步地,在所述的电动双轮平衡车系统中,在确认开机启动成功后,所述主机和所述从机互相传输开关机状态、故障信息、陀螺仪角度、电机速度、电机目标驱动占空比、电机实际驱动占空比。

进一步地,在所述的电动双轮平衡车系统中,所述电动双轮平衡车的任一侧在外壳上开设有启动控制器的电源开关键。

进一步地,在所述的电动双轮平衡车系统中,所述主机和所述从机读取陀螺仪数据计算得到m_angle,并更新到需要发送的数据中,读取通讯数据得到对侧倾斜角度s_angle,以0角度为目标值,以m_angle为反馈值进行pi运算得到电动双轮平衡车的速度目标值m_ref_speed。

进一步地,在所述的电动双轮平衡车系统中,所述主机用于计算本侧电机实际速度m_speed和所述从机用于计算本侧电机实际速度s_speed,所述主机和所述从机根据m_speed和s_speed,得到两侧速度差值diff_speed,以两侧速度差值diff_speed为反馈值进行pi运算,得到需要调整的电机驱动值adjust_ref_speed,将计算出来的m_ref_speed+adjust_ref_speed输入到速度环路中,得到电机驱动电流参考值m_ref_pwm,以此反复调节,以控制两侧电机速度偏差,使电动双轮平衡车直行平稳。

进一步地,在所述的电动双轮平衡车系统中,所述主机和所述从机设定转弯整车速度m_turn_max_speed=mkm/h,若速度目标值m_ref_speed大于m_turn_max_speed,则控制m_ref_speed以每ius等量递减的方式递减至m_turn_max_speed,同时计算本侧电机实际速度m_speed和对侧电机实际速度s_speed的差值为diff_speed,设定转弯电机差速t_ref_speed=skm/h,以两侧速度差值diff_speed为反馈值进行pi运算得到需要调整的电机驱动值adjust_ref_pwm,将当前的电机驱动电流参考值以及adjust_ref_pwm输入到电机矢量控制电流环路中,得到新的电机驱动值m_pwm,以此反复调节,以实现两侧电机速度在差速t_ref_speed=skm/h且整车速度在mkm/h条件下进行转弯,保证转弯的安全性。

进一步地,在所述的电动双轮平衡车系统中,所述主机和所述从机在本侧倾斜角度m_angle和对侧倾斜角度s_angle的差值大于预设角度时,减小电机驱动电流参考值m_ref_pwm。

进一步地,在所述的电动双轮平衡车系统中,所述主机和所述从机检测新的电机驱动值m_pwm与电机实际驱动占空比s_pwm之间的差值是否大于预设的驱动值,若新的电机驱动值m_pwm与电机实际驱动占空比s_pwm迅速差值大于预设的驱动值,减小所述m_pwm。

本发明的另一实施例在于提供一种基于上述电动双轮平衡车系统的电动双轮平衡车控制方法,包括:

所述单片机通电后,检测是否有电源开关键按下,如果有电源开关键按下,则记录本侧的控制器为主机,选取并执行选择电源灯指示、电量指示、故障灯指示,左转灯控制功能,自动屏蔽从机功能,并发送主机信号和已开机信号到另一侧的控制器;

另一侧的控制器接收主机信号和已开机信号后,标记自身为从机,选择速度指示、超速报警、温度过高指示、右转灯控制功能,自动屏蔽主机功能,发送从机信号和已开机信号到主机;

所述主机和所述从机在所述电动双轮平衡车运动时,互相传输本侧的运动数据,以实现主从机在运动状态下的相互协调控制。

在本发明实施例中,主机和从机在所述电动双轮平衡车运动时,互相传输本侧的运动数据,解决目前电动双轮平衡车的控制方案中,无法自动选择主从机功能,不能实现主从机运动状态相互协调控制的问题。有益效果在于两方面,一方面,能够自动识别主从机、自动选择主从机功能,从而无需区分主从机程序,另一方面,两侧的控制器按照严格的时序,加入信息进行相互协调控制,在电动双轮平衡车处于正常行驶和异常状态都可以快速响应,大大提高了电动双轮平衡车的整车性能。

附图说明

图1是本发明实施例提供的电动双轮平衡车系统的结构框图;

图2是本发明实施例提供的电动双轮平衡车控制方法的实施流程图;

图3a是本发明实施例提供的电动双轮平衡车的启动流程图;

图3b是本发明实施例提供的电动双轮平衡车从直行状态过渡为转弯状态的实现流程图;

图3c是本发明实施例提供的电动双轮平衡车的关机流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例一

图1是本发明实施例提供的电动双轮平衡车系统的结构框图,详述如下:

所述单片机,用于通电后,检测是否有电源开关键按下,如果有电源开关键按下,则记录本侧的控制器为主机,选取并执行主机所需要的功能,自动屏蔽从机功能,并发送主机信号和已开机信号到另一侧的控制器;

另一侧的控制器接收主机信号和已开机信号后,标记自身为从机,选取并执行从机所需要的功能,自动屏蔽主机功能,发送从机信号和已开机信号到主机;

所述主机和所述从机在所述电动双轮平衡车运动时,互相传输本侧的运动数据,以实现主从机在运动状态下的相互协调控制。

所述主机和所述从机还用于在所述电动双轮平衡车运动时,按照预设的时序,加入与时序相对应本侧的运动数据,通过互相传输本侧的运动数据,以实现主从机在运动状态下的相互协调控制。

在本发明实施例中,有益效果在于两方面,一方面,能够自动识别主从机、自动选择主从机功能,从而无需区分主从机程序,另一方面,两侧的控制器按照严格的时序,加入信息进行相互协调控制,在电动双轮平衡车处于正常行驶和异常状态都可以快速响应,大大提高了电动双轮平衡车的整车性能。

实施例二

图2是本发明实施例提供的电动双轮平衡车控制方法的实施流程图,详述如下:

s201,所述单片机通电后,检测是否有电源开关键按下,如果有电源开关键按下,则记录本侧的控制器为主机,选取并执行选择电源灯指示、电量指示、故障灯指示,左转灯控制功能,自动屏蔽从机功能,并发送主机信号和已开机信号到另一侧的控制器;

s202,另一侧的控制器接收主机信号和已开机信号后,标记自身为从机,选择速度指示、超速报警、温度过高指示、右转灯控制功能,自动屏蔽主机功能,发送从机信号和已开机信号到主机;

s203,所述主机和所述从机在所述电动双轮平衡车运动时,互相传输本侧的运动数据,以实现主从机在运动状态下的相互协调控制。

实施例三

本发明实施例描述了电动双轮平衡车控制方法较佳的应用流程,详述如下:

其中,为便于说明,本侧的控制器,简述为“左侧控制器”,另一侧的控制器,简述为“右侧控制器”。

参考图3a,图3a是本发明实施例提供的电动双轮平衡车的启动流程图,详述如下:

左侧控制器和右侧控制器之间采用uart、iic或spi进行数据传输,当安装有电源开关按键的控制器的电源开关键按下,未安装电源开关按键的控制器通过通讯电源获取使单片机能够工作的电压,两侧单片机通电工作后持续检测是否有电源开关键按下,如果有电源开关键按下则记录此侧控制器为主机,单片机设置电源控制引脚为电源保持开通状态,同时选取并执行主机所需要的功能,自动屏蔽从机功能,并发送主机信号和已开机信号到另一侧的控制器。

另一侧的控制器接收到对方控制器为主机并且已开机信号后则标记自己为从机,单片机设置电源控制引脚为电源开通状态,同时选取并执行从机所需要的功能,自动屏蔽主机功能,发送从机信号和已开机信号到主机控制器,若主机控制器在xms内接收到从机已开机信号,则确认开机启动成功,如果在xms内未接收到从机启动信号则判断通讯故障或者从机电源故障。

初始状态:

主机和从机互相传输开关机状态、故障信息、陀螺仪角度、电机速度、电机目标驱动占空比、电机实际驱动占空比;

主机和从机进行每yus通信一次、速率为zbps的且数据量为nbit的数据传输,设定速度环处理速度为ius一次,陀螺仪姿态处理为jus一次,则需要满足y<=i、y<=j且在zbps的速率下要在yus内传输完nbit的数据量;

电流限制计算,电压限制计算,以及电机控制矢量运行算控制周期为hus。

本侧控制器单片机采集陀螺仪数据计算出来的倾斜角度为m_angle,速度传感器检测到电机速度为m_speed,通过速度环计算出来电机目标驱动占空比为m_ref_pwm,通过电流环计算出来电机实际驱动占空比为m_pwm。从通讯口接收到的对侧倾斜角度为s_angle,电机速度为s_speed,电机目标驱动占空比为s_ref_pwm,电机实际驱动占空比为s_pwm。规定所有数据数值符号为正时为正方向,数值符号为负时为反方向。

参考图3b,图3b是本发明实施例提供的电动双轮平衡车从直行状态过渡为转弯状态的实现流程图,详述如下:

为保证直行的平稳性,设定转弯速度m_turn_max_speed=0,两侧控制器计算本侧电机实际速度m_speed和对侧电机实际速度s_speed的差值为diff_speed,以速度diff_ref_speed=0偏差为目标值,以两侧速度差值diff_speed为反馈值进行pi运算,得到需要调整的电机驱动值adjust_ref_speed,此pi运算需要ius进行一次。计算出来的m_ref_speed+adjust_ref_speed输入到速度环路中作为参考值进行运算得出新的电机驱动电流参考值m_ref_pwm,以此反复调节以实现两侧电机速度差diff_ref_speed=0为目标保证两侧电机速度偏差在最小范围从而使整车直行平稳。

为保证转弯的安全性,需要对转弯速度进行限制,设定转弯整车速度为m_turn_max_speed=mkm/h,当m_ref_speed大于m_turn_max_speed时,m_ref_speed需要在每ius等量递减到m_turn_max_speed。同时,计算本侧电机实际速度m_speed和对侧电机实际速度s_speed的差值为diff_speed,以转弯电机差速t_ref_speed=skm/h为目标值,以两侧速度差值diff_speed为反馈值进行pi运算得到需要调整的电机驱动值adjust_ref_pwm,此pi运算需要ius进行一次。计算出来的m_ref_pwm+adjust_ref_pwm输入到电机矢量控制电流环路中,得到新的电机驱动值m_pwm,以此反复调节以实现两侧电机速度以差速t_ref_speed=skm/h且整车速度在mkm/h条件下进行转弯,从而保证转弯的安全性。

参考图3c,图3c是本发明实施例提供的电动双轮平衡车的关机流程图,详述如下:

判断异常状态,当本侧倾斜角度m_angle和对侧倾斜角度s_angle的差值大于err_diff_angle角度时则,则两侧控制器迅速减小m_ref_pwm已达到减小电机实际驱动值使整车速度降低。若m_pwm与s_pwm迅速差值大于err_diff_pwm则减小m_pwm值。通过以上判断可控制在异常状态下快速响应处理从而保证更大的隐患发生。

电压和电流限制,设定的欠压值ad值为目标值,以ad采样回来电压ad值的为反馈值进行pi控制输出需要减去的电流参考值vdec_ref_pwm,设定的母线限流值ad值为目标值,以ad采样回来的母线电流ad值的为反馈值进行pi控制输出需要减去的电流参考值cdec_ref_pwm,以得到电机驱动电流参考值m_ref_pwm。

以(m_ref_pwm-vdec_ref_pwm-cdec_ref_pwm)为目标值(限制最小为0),以采集所得相线电流为目标值进行电流环pi计算得到实际电机驱动值m_pwm,然后进行电机矢量控制计算,最终加载到硬件。

关机时,当主机检测到电源开关按键按下时,发送关机指令到从机,同时减小驱动值直到为0然后关电机驱动。从机接收到关机指令时先减小驱动占空比直到为0然后关电机驱动,从机发送已准备好关机指令到主机,从机于fus后置电源控制引脚为电源关闭状态,主机接收到从机已准备关机指令置电源控制引脚为电源关闭状态,关机完成。若从机在gus内没有接收到主机发送的数据则减小驱动值直到为0然后自动关机,若主机在gus内没有接收到从机发送的数据则减小驱动值直到为0然后显示通讯故障。

x设定为50~3000。

y设定500~5000同时要满足y<=i、y<=j。

i为速度环处理周期,一般设定为500~5000;

j为陀螺仪姿态处理周期,一般设定为500~5000;

z最小值计算方法为:n*1000000/y,则z设定的条件为:>n*1000000/y

n为所需要传输的数据总计bit数量。

m为安全的转弯整车速度,一般设定为5~10。

s为转弯时两侧电机速度差,基于安全考虑一般设定为4~8;

f为传输数据后延时关机的时间,f需要大于y,一般设定为10*y~100y;

g为判断通讯出错的时间,设定值>=f,一般设定为10*y~100y;

h一般设置为12khz~18khz;

err_diff_angle两侧陀螺仪角度差能容忍最大值,一般设为15°~35°

err_diff_pwm两侧电机驱动差能容忍最大值,一般设为驱动最大值的50%~100%;

实施例四

本发明实施例描述了电动双轮平衡车控制方法较佳的控制流程,详述如下:

两侧的控制器之间采用uart波特率为115200的速度进行数据传输,当安装有电源开关按键的控制器的电源开关键按下,标记本侧的控制器为主机,选择电源灯指示、电量指示、故障灯指示,左转灯控制功能,另一侧的控制器接收到对方控制器为主机并且已开机信号后则标记自己为从机,选择速度指示、超速报警、温度过高指示、右转灯控制功能。

确认开机启动成功后,主机和从机互相传输开关机状态、故障信息、陀螺仪角度、电机速度、电机目标驱动占空比、电机实际驱动占空比。主机和从机进行每1500us一次、数据量为96bit的数据传输,设定速度环处理速度为2000us一次,陀螺仪姿态处理为1500us一次。电流限制计算,电压限制计算,以及电机控制矢量运行算控制周期为62.5us。

本侧控制器单片机采集陀螺仪数据计算出来的倾斜角度为m_angle,速度传感器检测到电机速度为m_speed,通过速度环计算出来电机目标驱动占空比为m_ref_pwm,通过电流环计算出来电机实际驱动占空比为m_pwm。从通讯口接收到的对侧倾斜角度为s_angle,电机速度为s_speed,电机目标驱动占空比为s_ref_pwm,电机实际驱动占空比为s_pwm。规定所有数据数值符号为正时为正方向,数值符号为负时为反方向。

当需要直行时,为保证直行的平稳性,设定转弯速度m_turn_max_speed=0,两侧控制器计算本侧电机实际速度m_speed和对侧电机实际速度s_speed的差值为diff_speed,以速度diff_ref_speed=0偏差为目标值,以两侧速度差值diff_speed为反馈值进行pi运算得到需要调整的电机驱动值adjust_ref_speed,此pi运算需要ius进行一次。计算出来的m_ref_speed+adjust_ref_speed输入到速度环路中作为参考值进行运算得出新的电机驱动电流参考值m_ref_pwm,以此反复调节,以实现两侧电机速度差diff_ref_speed=0为目标,进而保证两侧电机速度偏差在优选范围内,使得整车直行平稳。

当需要转弯时,为保证转弯的安全性,需要对转弯速度进行限制,设定转弯整车速度为m_turn_max_speed=8km/h,当m_ref_speed>m_turn_max_speed时,m_ref_speed需要在每2000us减1。同时计算本侧电机速度差diff_speed=m_speed-s_speed,以转弯电机差速t_ref_speed=5km/h为目标值,以两侧速度差值diff_speed为反馈值进行pi运算得到需要调整的电机驱动值adjust_ref_pwm,此pi运算需要2000us进行一次。计算出来的m_ref_pwm+adjust_ref_pwm输入到电机矢量控制电流环路中,得到新的电机驱动值m_pwm。

判断异常状态,当本侧倾斜角度m_angle和对侧倾斜角度s_angle的差值大于20°时,则两侧控制器迅速减小m_ref_pwm;若m_pwm与s_pwm迅速差值大于60%最大驱动值,则减小m_pwm值。

电压和电流限制,设定的欠压值ad值为目标值,以ad采样回来电压ad值的为反馈值进行pi控制输出需要减去的电流参考值vdec_ref_pwm,设定的母线限流值ad值为目标值,以ad采样回来的母线电流ad值的为反馈值进行pi控制输出需要减去的电流参考值cdec_ref_pwm,以得到电机驱动电流参考值m_ref_pwm。

以(m_ref_pwm-vdec_ref_pwm-cdec_ref_pwm)为目标值,限制目标值最小为0,以采集所得相线电流为目标值进行电流环pi计算得到实际电机驱动值m_pwm,然后进行电机矢量控制计算,最终加载到硬件。

关机时,当主机检测到电源开关按键按下时,发送关机指令到从机,同时减小驱动值直到为0然后关电机驱动。从机接收到关机指令时先减小驱动占空比直到为0然后关电机驱动,从机发送已准备好关机指令到主机,从机于15000us后置电源控制引脚为电源关闭状态,主机接收到从机已准备关机指令置电源控制引脚为电源关闭状态,关机完成。

若从机在50000us内没有接收到主机发送的数据则减小驱动值直到为0然后自动关机,若主机在50000us内没有接收到从机发送的数据则减小驱动值直到为0然后显示通讯故障。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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