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

文档序号:17921578发布日期:2019-06-15 00:08阅读:152来源:国知局
一种电机控制方法及装置与流程

本发明属于电机控制技术领域,尤其涉及一种电机控制方法及装置。



背景技术:

目前的电机控制一般是由控制器按照预设的控制逻辑控制电机运转,比如汽车电动天窗控制系统中,需要控制天窗玻璃和遮阳帘的运动时,需要在汽车电动天窗控制系统中设置两个控制器,分别向天窗玻璃和遮阳帘输出控制命令,实现天窗玻璃和遮阳帘的运动控制。

然而,目前的电机控制过程中,一个控制器往往对应控制一电机,如果有多个电机需要控制,就需要提供相应数量的控制器,同时,还需要为每一控制器设计独立的控制逻辑,使得控制系统的硬件成本以及软件开发成本较高。



技术实现要素:

有鉴于此,本发明的目的在于提供一种电机控制方法及装置,通过一个控制器实现对多个电机的控制,降低控制系统的硬件成本以及软件开发成本,具体方案如下:

第一方面,本发明提供的电机控制方法,应用于电机控制系统中的控制器,所述电机控制系统包括一个控制器和至少两个电机,且每一所述电机驱动一驱动实体,所述方法包括:

获取当前时间的控制命令、各所述驱动实体的位置关系以及上一程序周期结束后的系统状态,其中,所述上一程序周期结束后的系统状态用于表征上一程序周期结束后各所述电机的运动状态;

根据预设映射关系和所述各所述驱动实体的位置关系,确定在所述控制命令下,所述上一程序周期结束后的系统状态对应的目标系统状态,其中,所述预设映射关系用于表征各系统状态之间的跳转关系和跳转条件;

根据所述目标系统状态,确定目标控制指令;

根据所述目标控制指令控制各所述电机动作。

可选的,本发明第一方面提供的电机控制方法,还包括:

调用预设的主控制模型;

获取所述主控制模型中预设输入参量的参量值;

将所述参量值赋予对应的所述预设输入参量,以使所述主控制模型输出与各所述电机对应的功能控制指令;

根据所述功能控制指令和所述目标控制指令得到总控制指令,利用所述总控制指令控制各所述电机动作。

可选的,所述主控制模型中包括与各所述电机一一对应设置的参考模型,所述预设输入参量为各所述参考模型的输入参量的集合,

且每一所述参考模型均与子控制模型相关联,所述主控制模型调用所述子控制模型,以结合赋值后的所述预设输入参量输出所述功能控制指令,所述子控制模型包括得到所述功能控制指令所需的子功能模型。

可选的,所述子控制模型还设置有多个关联接口,所述关联接口用于调用所述子功能模型,且一所述关联接口对应一所述子功能模型。

可选的,本发明第一方面提供的电机控制方法,在所述根据所述目标控制指令控制各所述电机动作之前,还包括:

调用目标功能模型,对所述目标控制指令进行过滤,得到过滤后的所述目标控制指令并控制各所述电机动作,所述目标功能模型用于执行部分所述电机需要执行的功能。

第二方面,本发明提供一种电机控制装置,应用于电机控制系统中的控制器,所述电机控制系统包括一个控制器和至少两个电机,且每一所述电机驱动一驱动实体,所述装置包括:

第一获取单元,用于获取当前时间的控制命令、各所述驱动实体的位置关系以及上一程序周期结束后的系统状态,其中,所述上一程序周期结束后的系统状态用于表征上一程序周期结束后各所述电机的运动状态;

第一确定单元,用于根据预设映射关系和所述各所述驱动实体的位置关系,确定在所述控制命令下,所述上一程序周期结束后的系统状态对应的目标系统状态,其中,所述预设映射关系用于表征各系统状态之间的跳转关系和跳转条件;

第二确定单元,用于根据所述目标系统状态,确定目标控制指令;

第一控制单元,用于根据所述目标控制指令控制各所述电机动作。

可选的,本发明第二方面提供的电机控制装置,还包括:

第一调用单元,用于调用预设的主控制模型;

第二获取单元,用于获取所述主控制模型中预设输入参量的参量值;

赋值单元,用于将所述参量值赋予对应的所述预设输入参量,以使所述主控制模型输出与各所述电机对应的功能控制指令;

第二控制单元,用于根据所述功能控制指令和所述目标控制指令得到总控制指令,利用所述总控制指令控制各所述电机动作。

可选的,所述主控制模型中包括与各所述电机一一对应设置的参考模型,所述预设输入参量为各所述参考模型的输入参量的集合,

且每一所述参考模型均与子控制模型相关联,所述主控制模型调用所述子控制模型,以结合赋值后的所述预设输入参量输出所述功能控制指令,所述子控制模型包括得到所述功能控制指令所需的子功能模型。

可选的,所述子控制模型还设置有多个关联接口,所述关联接口用于调用所述子功能模型,且一所述关联接口对应一所述子功能模型。

可选的,本发明第二方面提供的电机控制装置,还包括:

第二调用单元,用于调用目标功能模型,对所述目标控制指令进行过滤,得到过滤后的所述目标控制指令并控制各所述电机动作,所述目标功能模型用于执行部分所述电机需要执行的功能。

第三方面,本发明提供一种电机控制装置,包括:存储器和处理器;所述存储器存储有适于所述处理器执行的程序,以实现本发明第一方面任一项所述的电机控制方法。

第四方面,本发明提供一种存储介质,其上存储有程序,该程序被处理器执行时实现本发明第一方面任一项所述的电机控制方法。

第五方面,本发明提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行本发明第一方面任一项所述的电机控制方法。

基于上述技术方案,本发明提供的电机控制方法及装置,方法应用于电机控制系统中的控制器,该电机控制系统包括一个控制器和至少两个电机,且每一电机驱动一驱动实体,本方法首先获取当前时间的控制指令、各驱动实体的位置关系以及上一程序周期结束后的系统状态,其中,上一程序周期结束后的系统状态用于表征上一程序周期结束后各电机的运动状态,根据上述所得信息,结合预先建立的表征各系统状态之间的跳转关系和跳转条件的预设映射关系,确定在当前时间的控制命令下,上一程序周期结束后的系统状态对应的目标系统状态,并进一步根据得到的目标系统状态确定目标控制指令,最终根据目标控制指令控制各电机动作。本发明提供的电机控制方法及装置,一个控制器对应多个电机,同时通过用系统状态来表征所有电机的运动状态,且预先建立了表征各系统状态之间的跳转关系和跳转条件的预设映射关系的方式实现控制器对所有电机的控制,与现有技术相比,在硬件方面,通过一个控制器就可以实现对各电机的控制,减少了控制器的使用数量,在软件方面,由于用系统状态来表征所有电机的运动状态,用预设映射关系来表征各系统状态之间的跳转关系和跳转条件,不需要针对每一个电机设计控制程序,进而实现降低控制系统的硬件成本以及软件开发成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种电机控制方法的流程图;

图2是本发明实施例提供的一种车辆应用场景下电机控制系统的系统框图;

图3是实现本发明实施例提供的电机控制方法时对应的硬件电路框图;

图4是本发明实施例提供的电机控制方法的一种应用场景中系统状态跳转示意图;

图5是本发明实施例提供的电机控制方法中主控制模型的架构图;

图6是本发明实施例提供的电机控制方法中子控制模型的架构图;

图7是本发明实施例提供的电机控制方法中主控制模型的输入-输出示意图;

图8是本发明实施例提供的一种电机控制装置的结构框图;

图9是本发明实施例提供的另一种电机控制装置的结构框图;

图10是本发明实施例提供的再一种电机控制装置的结构框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供的电机控制方法,应用于电机控制系统中的控制器,该电机控制系统包括一个控制器、至少两个电机,且每一电机对应一驱动实体。该电机控制系统可以根据具体应用的场景不同而做出相应的调整,比如,应用在汽车天窗控制系统或车窗控制系统中时,各个电机即为汽车天窗控制系统或车窗控制系统中所设置的驱动电机,相应的,与电机对应的驱动实体即为天窗/车窗玻璃或遮阳帘,当然,还包括其他为实现控制功能所必需设置的机构,比如用于发出操作指令的控制开关等。

参见图1,图1是本发明实施例提供的一种电机控制方法的流程图,结合图1所示,该流程可以包括:

步骤s100,获取当前时间的控制命令、各驱动实体的位置关系以及上一程序周期结束后的系统状态。

可选的,为实现本发明实施例提供的电机控制方法,需要对电机控制系统的硬件控制线路进行针对性的改进。这里以本发明实施例提供的电机控制方法在应用场景为车辆时的电机控制系统为例进行说明,参见图2,图2是本发明实施例提供的一种车辆应用场景下电机控制系统的系统框图,可以看出,在本系统框中,控制器是唯一的,与控制器相连的电机有多个。为便于表述,在本发明实施例中,对图2所示的硬件连接关系,称之为master-slave模式(主-从模式)。

具体的,如果控制器直接与多个电机中的任一电机安装在一起,则与控制器相连的电机和控制器一并作为master,并且该与控制器相连的电机称为master电机,其他电机通过线束与控制器相连,则称为slave电机,这种设置方式可以称为集成式连接。

如果控制器独立设置,不与任一电机直接相连,则控制器即为master,各个电机均通过线束连接至控制器,作为slave电机,这种设置方式称为主控式连接。

无论采用何种连接方式,控制器均设置有一个,电机则设置有多个,具体的设置数量因具体应用的电机控制系统而定。此外,图2所示实施例中还示例性的给出控制器与其他构成部分的连接情况,图中以车窗控制系统为例,给出控制器作为master与车辆vehicle之间的连接,以及master控制器与各电机(图中以slave1-slaven示出)的连接情况。需要说明的是,图2中示出的连接线路,如电源线battery、地线gnd、车辆信号vehiclesignal、局域互联网络lin总线以及和slave电机相连的驱动线路drivewire、供电线路powerwire、信号线路signalwire等,均是示例性给出连接关系,具体连接情况应视具体应用场景而定。需要着重说明的是,图中控制器与车辆之间仅设置一个开关switch连接,但在实际设置中,必然会存在多个开关分别与控制器相连,用于分别控制不同的电机动作。

可选的,参见图3,图3是实现本发明实施例提供的电机控制方法时对应的硬件电路框图。图3给出了以车窗控制系统为例,采用集成式连接方式时,电机控制系统各组成部分之间的连接关系。

具体的,硬件电路设计包括但不限于下述构成部分:电源电路、控制器(图3中以mcu电路为例)及其周边电路、外部信号采集电路、slave驱动电路以及slave信号处理电路,其中,如前所述,slave1-slaven用于表示各电机,以及与各电机相连的各类电路。比如,slave1信号处理电路则表示电机1的所对应的信号处理电路,以此类推,其余电路此处不再赘述。master电机表示与控制器直接相连的电机,相应的,master驱动电路和master信号处理电路用于实现master电机与控制器之间的具体连接。

电源电路与车辆vehicle之间示例性的通过电源线battery以及地线gnd连接,电源电路主要用于从外部获取电能,比如车辆设置的蓄电池等,并将获取得到的电能转换为控制器可用的电压等级,保证控制器的正常工作。同时,检测供电电压是否满足预设的使用要求,防止控制器被异常的输入电压烧毁,当然,电源电路还应该能够实现其他必须的功能,此处不再赘述。

控制器用于在获取的各种信号后,根据预设控制逻辑向master电机及各slave电机输出驱动控制指令,控制master电机和各slave电机动作。

外部信号采集电路与车辆vehicle之间设置有开关switch连接线路、局域互联网络lin总线、以及实现车速信息采集、远程控制等功能的连接线路。外部信号采集电路是用于获取来自车辆(vehicle)的电信号的处理电路。该电路可以将来自整车部分的电信号进行处理,成为控制器可接收的信号并传输给控制器电路。需要说明的是,任何控制器以外的信号采集电路都是外部信号采集电路。

slave驱动电路(图3中示例性的给出slave1和slaven的驱动电路)是用于实现驱动slave电机运动的相关电路。该电路可以通过功率器件将控制器输出的控制信号(即驱动控制指令)转换成大功率电能输出并通过线束驱动slave电机运行。每个slave电机在控制器上都有一套独立的slave驱动电路。

slave信号处理电路(图3中示例性的给出slave1和slaven对应的信号处理电路)是用于采集并处理电机反馈信号的相关电路。该电路可以采集slave电机的反馈信号并处理成控制器可接收的信号类型并传送给控制器用于逻辑控制。每个slave电机在控制器上都有一套独立的slave信号处理电路。

master电机的驱动电路和信号处理电路与slave电机的驱动电路及信号处理电路的功能相同,此处不再赘述。

在建立上述硬件连接关系后,控制器可以在同一程序周期内,采集各开关的状态信息,比如开关是否处于被按下,以及开关被按下的时间,按下的先后顺序等信息,并进一步根据预设的开关状态与控制命令之间的对应关系,结合具体获取得到的开关状态,确定控制命令。同时,还可获取各驱动实体之间的位置关系,具体的,可以是通过相对于预设坐标原点的距离表征的前后关系,或者是各驱动实体与预设坐标原点之间的实际距离等,当应用于车辆的车窗控制系统时,各驱动实体的位置关系,还可以通过各驱动实体的开度表示。

进一步的,控制器还需要获取上一程序周期结束后的系统状态,该上一程序周期结束后的系统状态中记录了上一程序周期结束后各电机的运动状态,比如各电机是否处于运转状态,运转的方向是正转还是反转等。需要说明的是,在任一程序周期中,对于任一电机而言,其运动状态可以发生变化,也可能不发生变化,但只有在该程序周期结束时各电机的运动状态才能够作为该程序周期的系统状态。在进入新的程序周期时,上一程序周期的系统状态将作为当前程序周期的初始系统状态,因此,在获取当前时间的控制命令、各驱动实体的位置关系的同时,还需要获取在上一程序周期结束后的系统状态。

步骤s110,根据预设映射关系和各驱动实体的位置关系,确定在控制命令下,上一程序周期结束后的系统状态对应的目标系统状态。

本发明实施例提供的电机控制方法,设置有预设映射关系,该预设映射关系用于表征各系统状态之间的跳转关系和跳转条件。对于同一种当前的系统状态,跳转条件的不同,会使系统状态发生不同的跳转。

如前所述,系统状态用于表征各电机的运动状态。可选的,可以通过构建状态机的方式定义各电机不同运动状态的组合,得到多个系统状态,即状态机中的状态。同时,用状态机体现各系统状态之间的跳转关系和跳转条件,即用状态机具体表示前述预设映射关系。

可选的,以车辆天窗控制系统(设置有天窗玻璃和遮阳帘,且二者均为电控部件)为例,说明本发明实施例中设置系统状态的核心思想。

由于现有设计中,遮阳帘大都采用软性材料,为保证遮阳帘不受风阻等因素的影响,往往要求遮阳帘的开度永远大于天窗玻璃的开度。因此,在控制逻辑的设计中,需要考虑二者的联动控制关系。在对天窗玻璃和遮阳帘进行联动控制时,可以分为两种主要的控制类型:

a类型:天窗玻璃打开之前,遮阳帘先打开到与天窗玻璃完全打开时对应的位置(一般为车顶中部位置);遮阳帘关闭之前,天窗玻璃先完全关闭,待天窗玻璃完全关闭之后,再控制遮阳帘关闭。

b类型:需要首先比较天窗玻璃和遮阳帘之间的位置关系。天窗玻璃打开之前,如果遮阳帘的开度小于(天窗玻璃开度+预设裕量),其中,预设裕量是指控制逻辑制定时,天窗玻璃与遮阳帘之间的间隔距离,则遮阳帘先运动到(天窗玻璃开度+预设裕量)所对应的位置,然后天窗玻璃开始与遮阳帘一同打开。如果遮阳帘开度大于(天窗玻璃开度+预设裕量),特别是遮阳帘开度远大于(天窗玻璃开度+预设裕量)时(此种工况对应于:天窗控制系统先执行遮阳帘打开命令,遮阳帘移动一段距离后停止,此时遮阳帘并未完全打开,然后天窗控制系统收到并执行天窗玻璃完全打开指令),如前所述,天窗玻璃的开度不能大于遮阳帘开度,因此,天窗玻璃先运动到(遮阳帘开度-预设裕量)所对应的位置,然后遮阳帘与天窗玻璃一同打开。相应的,遮阳帘关闭或者遮阳帘和天窗玻璃联动关闭时,也有类似的对称逻辑。比如,关闭遮阳帘时,如果遮阳帘开度小于(天窗玻璃开度+预设裕量),则天窗玻璃先运动到(遮阳帘开度-预设裕量)对应的位置,然后天窗玻璃开始与遮阳帘一同关闭。如果遮阳帘开度大于(天窗玻璃开度+预设裕量),则遮阳帘先运动到(天窗玻璃开度+预设裕量)所对应位置,然后天窗玻璃开始与遮阳帘一同关闭。

可以想到的是,在b类型的控制逻辑设计中,前提是保证遮阳帘的开度永远大于天窗玻璃开度,不论是在打开过程还是关闭过程,如果二者之间的距离不满足该前提,则控制二者之一先移动一段距离,直至满足该前提。

需要说明的是,由于电机与驱动实体之间具有一一对应的关系,在上述构建系统状态的过程中,为便于表述,均以驱动实体之间具体的位置关系、以及驱动实体的运动过程,对各系统状态的定义加以区分,但可以想到的是,各系统状态在实质上还是结合各驱动实体的位置关系,对各电机的运动状态所做的定义。

基于上述内容,在本发明实施例应用于车辆的天窗/车窗控制系统时,可以得出多种由各电机的运动状态定义的系统状态。

具体的,参见图4,图4是本发明实施例提供的电机控制方法的一种应用场景中系统状态跳转示意图,图中示出以前述b控制类型中打开天窗玻璃和/或遮阳帘为例,可以定义出的几种系统状态,以及各系统状态之间的跳转关系及跳转条件(包括但不限于此)。其中,g-cmd表示天窗玻璃的控制指令,r-cmd表示遮阳帘的控制指令,freeze表示对应的控制指令无效或为空指令,open表示对应的控制指令有效。

idle(静止,天窗玻璃和遮阳帘都处于静止状态);

g-opening(天窗玻璃打开);

r-opening(遮阳帘打开,天窗玻璃不处于等待遮阳帘运动的状态);

g-r-opening(天窗玻璃和遮阳帘都打开,a类型中没有此状态);

r-opening-g-holding(遮阳帘打开,天窗玻璃等待遮阳帘运动到指定位置);

g-opening-r-holding(天窗玻璃打开,遮阳帘等待天窗玻璃运动到指定位置,a类型中没有此状态)。

进一步的,根据预设映射关系,具体由图4所示的系统状态跳转示意图表示,以及各驱动实体的位置关系,确定在控制命令下,上一程序周期结束后的系统状态对应的目标系统状态。如前所述,上一程序周期结束后的系统状态可以直接获取得到,各驱动实体的位置关系可以在当前程序周期开始时获取得到,结合图4示出的跳转关系,即可确定在当前时间的控制命令下,与上一程序周期结束后的系统状态相对应的目标系统状态。

具体的,图4中的每一个箭头代表一种状态跳转,都需要满足相应的条件才能触发。比如,根据前述步骤,确定上一程序周期结束后的系统状态处于idle状态,同时,在当前程序周期内,获取到遮阳帘打开的命令,那么根据图4所示的预设映射关系中定义的系统状态跳转关系,目标系统状态应为r-opening;再比如,当前时刻的控制命令为打开玻璃,根据各天窗玻璃和遮阳帘的位置关系确定遮阳帘的开度达到(天窗玻璃开度+预设裕量),且在上一程序周期结束后,遮阳帘的开度小于(天窗玻璃开度+预设裕量),即系统状态为r-opening-g-holding,结合预设映射关系,即可确定目标系统状态为g-r-opening。

通过上述示例可以看出,预设映射关系同样是基于前述两种控制类型(即a类型和b类型)制定的,同样能够满足遮阳帘的开度永远大于天窗玻璃开度这一前提条件。

对于a类型来说,其预设映射关系的架构与b类型基本类似,其不同之处在于,a类型不存在g-opening-r-holding和g-r-opening两种系统状态,同时,r-opening-g-holding状态和g-opening状态之间存在状态跳转关系。具体的,处于r-opening-g-holding状态的系统,收到“遮阳帘已经到达车顶中部位置”的跳转条件时,目标系统状态即确定为g-opening。其他状态跳转a类型与b类型类似,此处不再赘述。

根据实际情况来看,多电机控制系统的关键问题往往发生在状态跳转的时刻。与现有技术中的控制方法相比,在每个程序执行周期,系统状态只会存在一次跳转(或者不发生跳转,不发生跳转的情况也可以理解为当前时间的系统状态与目标系统状态为同一系统状态),而确定当前时间的系统状态所需参量与确定目标系统状态所需参量,都是在同一程序周期内获得的,不同的控制目标(如天窗玻璃和遮阳帘)之间是完全平等的,任一目标的控制不依赖于前一程序周期的执行结果,任一目标的运动状态和位置信息都可以在当前程序周期内对系统状态产生影响,没有滞后性,因此更容易进行调试分析。

步骤s120,根据目标系统状态,确定目标控制指令。

由前述内容可知,系统状态是由电机的运动状态定义的,因此,在确定目标系统状态之后,即可确定目标系统状态之中各电机的目标运动状态,亦即得知具体需要动作的电机以及相应电机的具体转动方向、与电机对应的驱动实体,不需要动作的电机,从而得到针对每一个电机的目标控制指令。

步骤s130,根据目标控制指令控制各电机动作。

在得到目标控制指令之后,即可控制各电机动作。可以想到的是,目标控制指令中可以包括空指令,收到空指令的电机则不需要动作。

本发明实施例提供的电机控制方法,一个控制器对应多个电机,同时通过用系统状态来表征所有电机的运动状态,且预先建立了表征各系统状态之间的跳转关系和跳转条件的预设映射关系的方式实现控制器对所有电机的控制,与现有技术相比,在硬件方面,通过一个控制器就可以实现对各电机的控制,减少了控制器的使用数量,在软件方面,由于用系统状态来表征所有电机的运动状态,用预设映射关系来表征各系统状态之间的跳转关系和跳转条件,不需要针对每一个电机设计控制程序,进而实现可以降低控制系统的硬件成本以及软件开发成本。

需要说明的是,上述各步骤都是在同一程序周期内执行的,这意味着,在实际控制驱动实体达到某一指定位置工程中,比如控制车窗玻璃由闭合至完全打开,需要经历多个程序周期才能完成,通过循环的执行上述步骤,最终达到预期的控制目的。

进一步需要说明的是,在接收到新的控制命令之前,为保证当前时间的控制命令能够有效的执行,需要对当前时间的控制命令的时效性进行限定,具体的限定方法可以采用现有技术中的方法实现,本发明对此不做限定。

在电机控制系统的应用场景中,大都有人的参与,为保证参与者的人身安全以及电机控制系统中相关设备的安全,电机控制系统往往都设置有高优先级的控制功能,比如,可以控制电机急停的功能,控制电机减速的功能等。

具体的,在汽车的天窗控制系统中,天窗防夹功能和电机的热保护功能,即为高优先级的控制功能。以天窗防夹功能为例,在天窗玻璃和/或遮阳帘执行关闭命令时,如果根据预设控制逻辑检测到有障碍物存在,比如人手,或者其他预设触发条件时,即执行高优先级的天窗防夹功能,防止天窗玻璃和/或遮阳帘对障碍物造成伤害,而正在执行的关闭命令则不会再执行。

为实现上述功能,现有技术中大都为每一电机设计对应的、独立的控制逻辑,即为每一个电机设置对应的控制模型。如果在此基础上,通过一个控制器控制多个电机的运转,就需要在控制器中加载每一个电机所对应的控制模型,这无疑会使得控制器中的控制算法复杂化,大量的代码将占用控制器大量的存储空间及其他资源,为保证控制功能的正常工作,必然要提高对控制器性能的要求,造成设计成本的增加,这显然是本领域技术人员不希望看到的。同时,控制模型中的部分子功能可能会遇到问题而进行升级改动,由于整个控制模型的代码是整体编辑的,部分功能的改进将导致整个控制模型随之改动,这样不仅不利于模型升级维护和平台化,而且工作量巨大。

发明人研究发现,对于车窗防夹、热保护这类高优先级的控制功能,虽然应用于每个独立的电机,但控制模型的控制逻辑和最终实现的控制功能都是相同的,只是需要配置的参数不同(即具体的控制对象不同)。基于此发现,本发明实施例提供另一种电机控制方法。

在前述实施例的基础上,按预设周期调用预设的主控制模型,然后获取主控制模型中预设输入参量的参量值,在得到对应的参量值之后,将所得参量值赋予对应的预设输入参量,主控制模型根据得到的参量值输出对应的功能控制指令,根据所得功能控制指令和前述目标控制指令得到总控制指令,进而根据总控制指令控制各电机动作。

可选的,在根据所得功能控制指令和前述目标控制指令得到总控制指令时,可以预设各指令的优先级,根据预设的优先级,将筛选得到优先级较高的指令作为总控制指令。

需要说明的是,考虑到主控制模型所实现的控制功能多是优先级较高的,因此,调用主控制模型的预设周期可以长于前述实施例中给出的控制方法的执行周期,保证能够定期调用主控制模型,并执行对应控制功能即可。并且,本发明实施例提供的主控制模型为控制系统中,每一个电机都具有的控制功能所对应的控制模型,即针对每个电机,都会用到该主控制模型以实现对应的控制功能。

可选的,参见图5,图5是本发明实施例提供的电机控制方法中主控制模型的架构图。图5展示了主控制模型的总体架构,可以看出,主控制模型包括多个参考模型,且每一参考模型对应一个电机。同时,本发明实施例还设置一子控制模型,每一个参考模型都通过调用的方式与该子控制模型相关联。子控制模型包括多个关联接口,每一关联接口均通过调用的方式与一个对应的子功能模块相关联,而子功能模块具体用于实现该功能控制指令。基于该总体架构,在调用主控制模型后,遍历主控制模型中的每一个参考模型,并且,每一个参考模型都会调用子控制模型。主控制模型的预设输入参量是各参考模型的输入参量的集合,对主控制模型中的预设输入参量进行赋值,即是对每一参考模型所调用的子控制模型中对应的输入参量进行赋值,子控制模型调用子功能模型,进而得到相应的功能控制指令。其中,图5中的目标a、目标b、...、目标m,关联接口1、关联接口2、...、关联接口l,以及子功能模型1、子功能模型2、...、子功能模型l是示例性的,在实际应用中目标的数量及标识、关联接口的数量及标识和子功能模型的数量及标识根据实际需求确定。

进一步的,从主控制模型搭建的过程来看,在主控制模型搭建开始前,设计人员必然清楚的知道主控模型需要实现的控制功能具体包括的内容,因此,在搭建开始后,首先需要根据主控制器模型预期实现的功能建立各个子功能模型。以车窗控制系统中的车窗防夹功能为例,为实现该车窗防夹功能,至少需要包括防夹区判断,位置提取,电压波动检测,学习和初始化,阈值选择,防夹力计算等子功能模型,即各子功能模型可以理解为系统中最基本的功能单元,执行子功能模型内具体的程序代码,即可实现对应的功能。

在编制所需的子功能模型之后,需要建立一个子控制模型,子控制模型可以理解为单个控制目标(即电机)的控制模型,与现有技术不同的是,不需要为每一个控制目标设置对应的子控制模型,而是在子控制模型中集成各控制目标共同的控制功能,每一控制目标都可以调用子控制模型,即子控制模型是可以共用的。进一步的,子控制模型中包括多个关联接口,每个关联接口关联相应的子功能模型。

需要说明的是,关联接口实际的设置数量可以多于实际关联的子功能模型,在后续程序升级、出现新的子功能模型时,直接建立关联接口与子功能模型的调用关系即可,无需再配置相应的关联接口。关联接口的设置,可以使各子功能模型与子控制模型之间呈调用关系,子控制模型中并不真正的含有各子功能模型中的代码内容,这样,如果某一子功能模型需要升级或调整代码时,只需通过关联接口解除子控制模型与相应子功能模型的调用关系即可,其他子功能模型则无需变更,方便子功能模型的升级与调整。

当然,也可以不设置关联接口,子控制模型直接引用各子功能模型,同样可以实现子功能模型对应的功能。

在得到子控制模型之后,即可构建主控制模型。主控制模型可以理解为多个参考模型的集合,根据电机的数量,在主控制模型中建立相应数量的参考模型,每个参考模型关联同一个子控制模型。至此,即完成主控制模型的构建。

可以想到的是,主控制模型中各参考模型与子控制模型的关系,与子控制模型和各子功能模型的关系是类似的,此处不再赘述。

可选的,参见图6,图6是本发明实施例提供的电机控制方法中子控制模型的架构图(以车窗的防夹控制功能为例)。子控制模型中设置有n个输入参量和n个输出参量,n个输入参量对应为实现相应控制功能而需要接收的参量值;n个输出参量,用于与外部其他模型进行接口(在程序实现中,输出参量可以作为其他控制模型的输入参量,从而实现模型间的调用),比如电机的驱动模型。因此,子控制模型的输出参量即可理解为相应的功能控制指令,具体的,子控制模型的输出参量可以是可执行的、直接输出至相应驱动电路的指令,当然,也可以是中间参量,将该输出参量赋予其他相关的控制模型,进而实现对其他控制模型的调用或触发。

根据图6所示内容,构建子控制模型所需预先设置的输入参量由相应的子功能模型决定,各子功能模型的输入参量的集合构成了子控制模型的输入参量,且各子功能模型之间具有预设的参量调用关系,这些调用关系是设计人员在设计初期即已经明确的,现有技术中也已存在相应的调用关系,在此不再赘述。相应的,各子功能模型具有与自身相应的输出参量,不同的是,部分子功能模型的输出参量只在子控制模型内部调用,部分子功能模型的输出参量会最终予以输出。

需要说明的是,图6中示出的子控制模型中,各关联接口之间显示出预设的调用关系(也可以理解为信息传递关系),实际上是各关联接口所关联的各子功能模型之间的调用关系。各关联接口之间实际上并不存在直接的调用关系,彼此之间是相互独立的,关联接口仅仅是用于实现子控制模型对各子功能模型的调用。图6中示出的各关联接口之间的调用关系,仅仅是为了便于展示各子功能模型之间的调用关系。

可选的,对于不同的电机,配置的输入参量和输出参量可能会不同,建模时可采用数组的方式进行参量区别,数组维数与电机的数量相同:

parameter[n]={parametera,parameterc,...,parametern}

可选的,为便于区分具体调用子控制模型的参考模型,子控制模型的输入参量中的至少包括一输入参量用于表示不同的电机,如目标a、目标b、目标m等,用于在子控制模型内部选择不同的配置参量。

可选的,参见图7,图7是本发明实施例提供的电机控制方法中主控制模型的输入-输出示意图。图中input用于表示输入参量,相应的,input1-inputn表示n个输入参量;output用于表示输出参量,output1-outputn表示n个输出参量,a-m表示设置有m个参考模型,将前述内容组合起来,可以具体表示任一参考模型的任一输入参量或任一输出参量。比如,a_input_1表示参考模型a的输入参量1,a_output_1表示参考模型a的输出参量1。由前述内容可知,各参考模型调用子控制模型,各参考模型的输入参量与子控制模型设置的输入参量是对应设置的,子控制模型中通过预设的一路输入参量区分具体的参考模型。结合图5和图7,主控制模型是多个参考模型的结合,因此,主控制模型的预设输入参量即为多个参考模型对应的输入参量的集合。而主控制模型预设的输出参量即为各参考模型对应的输出参量(在实际执行过程中,即为多个子功能模型的输出参量)。

结合图7所示,构建图5所示的主控制模型后,子控制模型可整体成为一个大的子函数,函数形参为子控制模型的输入参量,函数实参为图7中实际的输入参量值,函数的运行结果为图7所示的输出参量值。

通过本发明实施例提供的电机控制方法,将各个电机相同的控制功能进行模块化设计,每一控制功能对应一子功能模型,多个子功能模型构成一子控制模型,与每一个电机对应设置的参考模型调用该子控制模型,实现对应的控制功能。但并未针对每一电机设置对应的子控制模型,以及子功能模型,在调用某一参考模型时,即将与参考模型对应的输入参量赋予子控制模型中的子功能模型,从而实现相应的控制功能。因此,控制程序的整体代码量整体上得到大幅减少,降低对控制器的性能要求,进而降低设计成本。

进一步的,由于子功能模型能够实现相应的控制功能,当需要升级、修改某一控制功能时,只需针对对应的子功能模型进行,而其他不相关的子功能模型不涉及相应的操作。因此,可以简化控制算法维护与管理,减少维护人员的工作量。

可选的,电机控制系统中包括至少两个电机,每一个电机都对应着一个驱动实体,由于各驱动实体之间可能存在区别,因此,还需要根据各驱动实体的特点,设置不同的逻辑分支,通过各电机或各驱动实体预设的标识号(比如序列号或预设的编码等)对逻辑分支进行选择,在得到具体作用于各电机的目标控制命令之后,选择对应的逻辑分支,执行该目标控制指令。

可选的,本发明实施例提供的电机控制方法,在得到目标控制指令之后,调用执行部分电机需要执行的功能的目标功能模型,对目标控制指令进行过滤,得到过滤后的目标控制指令并控制各电机动作。比如,在汽车天窗控制系统中,针对各电机都会调用诊断功能模型,但其中的hallpower故障诊断则仅针对前述的slave电机。

需要说明的是,调用目标功能模型对控制指令进行过滤,不仅仅用于前述得到的目标控制指令,同样还可以用于将功能控制指令与目标控制指令进行比对后得到的总控制指令。

下面对本发明实施例提供的电机控制装置进行介绍,下文描述的电机控制装置可以认为是为实现本发明实施例提供的电机控制方法,在控制器中需设置的功能模块架构;下文描述内容可与上文相互参照。

可选的,参见图8,图8是本发明实施例提供的一种电机控制装置的结构框图,该装置可以包括:

第一获取单元10,用于获取当前时间的控制命令、各驱动实体的位置关系以及上一程序周期结束后的系统状态,其中,上一程序周期结束后的系统状态用于表征上一程序周期结束后各电机的运动状态;

第一确定单元20,用于根据预设映射关系和各驱动实体的位置关系,确定在控制命令下,上一程序周期结束后的系统状态对应的目标系统状态,其中,预设映射关系用于表征各系统状态之间的跳转关系和跳转条件;

第二确定单元30,用于根据目标系统状态,确定目标控制指令;

第一控制单元40,用于根据目标控制指令控制各电机动作。

可选的,参见图9,图9是本发明实施例提供的另一种电机控制装置的结构框图,该装置在图8所示实施例基础上,还包括:

第一调用单元50,用于调用预设的主控制模型;

第二获取单元60,用于获取主控制模型中预设输入参量的参量值;

赋值单元70,用于将参量值赋予对应的预设输入参量,以使主控制模型输出与各电机对应的功能控制指令;

第二控制单元80,用于根据功能控制指令和目标控制指令得到总控制指令,利用总控制指令控制各电机动作。

可选的,主控制模型中包括与各电机一一对应设置的参考模型,预设输入参量为各参考模型的输入参量的集合,

且每一参考模型均与子控制模型相关联,主控制模型调用子控制模型,以结合赋值后的预设输入参量输出功能控制指令,子控制模型包括得到功能控制指令所需的子功能模型。

可选的,子控制模型还设置有多个关联接口,关联接口用于调用子功能模型,且一关联接口对应一子功能模型。

可选的,参见图10,图10是本发明实施例提供的再一种电机控制装置的结构框图,该装置在图8所示实施例基础上,还包括:

第二调用单元90,用于调用目标功能模型,对目标控制指令进行过滤,得到过滤后的目标控制指令并控制各电机动作,目标功能模型用于执行部分电机需要执行的功能。

可选的,本发明提供一种电机控制装置,包括:存储器和处理器;所述存储器存储有适于所述处理器执行的程序,以实现本发明前述实施例中任一项所述的电机控制方法。

可选的,本发明提供一种存储介质,其上存储有程序,该程序被处理器执行时实现本发明前述实施例中任一项所述的电机控制方法。

可选的,本发明提供一种计算机程序产品,该计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,该计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行本发明前述实施例中任一项所述的电机控制方法。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的核心思想或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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