一种车辆的电机控制器及控制方法

文档序号:7383469阅读:231来源:国知局
一种车辆的电机控制器及控制方法
【专利摘要】本发明公开了一种车辆的电机控制器及控制方法。该车辆的电机控制器包括:应用模块,配置成接收电机控制指令,执行与指令对应的电机控制算法;库文件模块,包括提供电机控制矢量程序的复杂驱动控制模块和提供通用的标准应用函数的标准应用接口模块,配置成在应用模块执行电机控制算法时,提供电机控制矢量程序和通用的标准应用函数;硬件抽象模块,配置成在库文件模块提供标准的应用函数和电机控制矢量程序时,发出函数命令;设备驱动模块,配置成接收函数命令,并在接收到函数命令后,调用存储在电机控制器的寄存器中的数据。这种电机控制器及控制方法的通用程度较高。
【专利说明】一种车辆的电机控制器及控制方法
【技术领域】
[0001]本发明涉及车辆控制,特别是涉及一种车辆的电机控制器及控制方法。
【背景技术】
[0002]在新能源汽车中,目前存在三大核心控制技术:整车控制器、电机控制器和动力电池管理系统。
[0003]在现有技术中,由于软件代码和开发环境不同,不同汽车的电机控制器的功能模块各不相同,通用化程度较低。
[0004]另外,现有技术的任务管理模块代码量高,通用程度和可靠性较低。

【发明内容】

[0005]本发明的一个目的旨在克服现有技术的电机控制器的至少一个缺陷,提供一种通用程度较好的车辆的电机控制器及控制方法。
[0006]为了实现上述一个或多个目的,本发明提供了 一种车辆的电机控制器,包括:应用模块,配置成接收电机控制指令,执行与所述指令对应的电机控制算法;库文件模块,包括提供电机控制矢量程序的复杂驱动控制模块和提供通用的标准应用函数的标准应用接口模块,配置成在所述应用模块执行所述电机控制算法时,提供电机控制矢量程序和通用的标准应用函数;硬件抽象模块,配置成在所述库文件模块提供标准的应用函数和电机控制矢量程序时,发出函数命令;设备驱动模块,配置成接收所述函数命令,并在接收到所述函数命令后,调用存储在所述电机控制器的寄存器中的数据。
[0007]可选地,所述电机控制器包括:任务管理模块,配置成对所述应用模块执行的多个电机控制算法的执行顺序进行调度。
[0008]可选地,所述电机控制指令包括初始化指令,所述应用模块接收到所述初始化指令后,执行对应的电机控制算法,以初始化所述电机控制器并完成随机存储器、只读存储器的测试;所述电机控制指令包括待机指令,所述应用模块接收到所述待机指令后,执行对应的电机控制算法,以使所述电机控制器进入待机状态;所述电机控制指令包括正常运行指令,所述应用模块接收到所述正常运行指令后,执行对应的电机控制算法,以使所述电机控制器进入运行功率正常的正常运行模式;所述电机控制指令包括限功率运行指令,所述应用模块接收到所述限功率运行指令后,执行对应的电机控制算法,以使所述电机控制器进入运行功率低于预设阈值的限功率运行模式;所述电机控制指令包括诊断指令,所述应用模块接收到所述诊断指令后,执行对应的电机控制算法,以对所述电机控制器进行诊断且停止诊断动作以外的动作;所述电机控制指令包括高压下电指令,所述应用模块接收到所述高压下电指令后,执行对应的电机控制算法,以使所述电机控制器的高压接触器断开,电容放电;所述电机控制指令包括关闭指令,所述应用模块接收到所述关闭指令后,执行对应的电机控制算法,以关闭所述电机控制器;所述电机控制指令包括紧急故障指令,所述应用模块接收到所述紧急故障指令后,执行对应的电机控制算法,以使所述电机控制器进行电容放电。
[0009]可选地,所述电机控制指令包括无动作指令;所述应用模块在所述正常运行模式下和所述限功率运行模式下接收到所述无动作指令后,执行对应的电机控制算法,使得所述电机控制器切换至令电机不产生转矩且忽略对电机的其他控制请求的无动作模式;所述电机控制指令包括扭矩控制指令;所述应用模块在所述正常运行模式下和所述限功率运行模式下接收到所述扭矩控制指令后,执行对应的电机控制算法,使得所述电机控制器切换至接受对电机的转矩控制请求的扭矩控制模式;所述电机控制指令包括转速控制指令;所述应用模块在所述正常运行模式下和所述限功率运行模式下接收到所述转速控制指令后,执行对应的电机控制算法,使得所述电机控制器切换至接受对电机的转速控制请求的转速控制模式。
[0010]可选地,所述电机控制器采用中断方式处理复杂驱动控制模块中的电机控制矢量程序。
[0011]可选地,所述电机控制矢量程序包括:坐标变换函数、电压空间矢量控制算法函数、斜坡控制函数、PID控制算法。
[0012]可选地,所述通用的标准应用函数包括:滤波算法,三角函数表。
[0013]可选地,所述设备驱动模块包括:输入输出模块;模数转换模块;串行通信模块;控制器局域网络模块;脉冲宽度调制模块;时间控制模块。
[0014]可选地,所述电机控制器采用定时器实现所述调度。
[0015]为了实现上述一个或多个目的,本发明还提供了 一种车辆的电机控制器的控制方法,包括:步骤A,接收电机控制指令,执行与所述电机控制指令对应的电机控制算法;步骤B,在执行所述电机控制算法时,提供电机控制矢量程序和通用的标准应用函数;步骤C,在提供标准的应用函数和电机控制矢量程序时,发出函数命令;步骤D,接收所述函数命令,并在接收到所述函数命令后,调用存储在所述电机控制器的寄存器中的数据。
[0016]本发明的车辆的电机控制器由于独立出一个复杂驱动模块,因此在将电机控制器适用于不同车辆时,修改复杂驱动模块中的电机控制矢量程序即可,便于做通用化处理。
[0017]进一步地,在本发明的车辆的电机控制器中,任务管理模块采用定时器进行任务调度并采用中断方式处理复杂驱动控制模块中的电机控制矢量程序,因此本发明的任务管理模块具有代码量较低,通用程度和可靠性较高的优点。
[0018]根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
【专利附图】

【附图说明】
[0019]后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
[0020]图1是根据本发明一个实施例的车辆的电机控制器的结构框图;
[0021]图2是根据本发明一个实施例的电机控制器的任务管理模块的任务划分示意图;
[0022]图3是根据本发明一个实施例的电机控制器的状态转移示意图;
[0023]图4是根据本发明一个实施例的复杂驱动控制模块运行时的流程图;[0024]图5是根据本发明一个实施例的电机控制器的硬件结构;
[0025]图6是根据本发明一个实施例的电机控制器的控制方法的流程图。
【具体实施方式】
[0026]图1是根据本发明一个实施例的车辆的电机控制器的结构框图。由图1可以看出,本发明的车辆的电机控制器,至少可以包括:应用模块、库文件模块、硬件抽象模块、设备驱动模块。
[0027]在图1所示的实施例中,应用模块接收电机控制指令,执行与指令对应的电机控制算法。
[0028]在图1所示的实施例中,在应用模块执行电机控制算法时,库文件模块提供电机控制矢量程序和通用的标准应用函数;其中,电机控制矢量程序可以由库文件模块中的复杂驱动控制模块提供,通用的标准应用函数可以由标准应用接口模块提供。此处的电机控制矢量程序包括电机控制的核心算法子模块,包括坐标变换函数(park变换、PARK逆变换,clarke变换)、电压空间矢量控制算法函数、斜坡控制函数、PID控制算法等。此处的通用的标准应用函数是一系列标准算法,可以包括:滤波算法,三角函数表。
[0029]需要理解的是,电机控制对软件的实时性要求很高,且针对不同的电机控制器平台和项目开发,电机的矢量控制主程序算法基本固定不变,因此将其做成一个单独的复杂驱动模块,开放输入和输出接口。
[0030]在图1所示的实施例中,在库文件模块提供标准的应用函数和电机控制矢量程序时,硬件抽象模块发出函数命令。硬件抽象模块连接设备驱动模块和库文件模块,可以根据车辆的不同,针对不同的硬件技术平台或主控芯片做定制开发。硬件抽象模块的另外一个功能是对存储器空间进行配置,分割独立和非独立的C程序代码。
[0031]在图1所示的实施例中,设备驱动模块接收函数命令,并在接收到函数命令后,调用存储在电机控制器的寄存器中的数据。设备驱动模块为电机控制器的底层驱动,其可以根据车辆的不同,针对不同的硬件技术平台做定制开发。不同的硬件平台,其设备驱动模块中的文件不尽相同,只需要更改对应的主控芯片的底层驱动即可。
[0032]在本发明的另一个实施例中,设备驱动模块可以包括:时间控制模块;输入输出模块;模数转换模块;控制器局域网络模块;串行通信模块;脉冲宽度调制模块。时间控制模块主要是针对任务管理做好实时中断,输入输出模块主要是针对系统的输入和输出接口,模数转换模块主要是针对模拟量采集、控制器局域网络模块主要是针对控制器和CAN网络上的其他节点通讯,串行通信模块是针对系统内部的接口信息通讯,脉冲宽度调制模块是针对系统需要输出的6路PWM信号控制IGBT驱动。
[0033]上述电机控制器可以通用于不同的车辆,尤其是新能源汽车,以满足车辆的安全和可靠性要求。
[0034]在本发明的一个实施例中,电机控制器还可以包括任务管理模块,配置成对应用模块执行的多个电机控制算法的执行顺序进行调度。任务管理模块可以理解为一个实时的多任务操作系统。基于系统定时器和实时中断进行多任务调度。图2为其采用定时器进行调度的一个范例。在图2所示的实施例中,定义该任务核的时钟节拍为5ms,可以分出5ms任务,IOms任务,20ms任务,30ms任务,50ms任务,IOOms任务。软件任务划分结构图如图4所示。需要指出的是,CAN总线的数据发送是根据整车CAN总线规范实施的,不同的数据帧有不同的周期性要求。图2仅仅是一个示例,并不对本发明的电机控制器构成限制。在任务管理模块中,以基于时间的任务调度为核心,在这些任务中(5ms,10ms...)执行不同的应用模块函数,由于这些函数的实时性要求不高,所以在任务管理模块中实现。实时性要求很高的电机矢量控制算法是在复杂驱动模块中实现的。
[0035]需要理解的是,任务管理模块以实现任务调度和软件实时操作为目标,采用的是一种简单实用的前后台任务机制,紧急任务采用中断的方式实现,其他的函数以任务的方式进行调度。在控制软件中,PWM信号频率很高,与之相关的矢量控制算法和相电流采集对实时性要求最高,直接在复杂驱动控制模块中实现,采用中断方式实现,定义为IOKHz的中断频率。另外,CAN数据帧的接受也是采用中断产生。其他的任务就是采用任务管理的方式进行,也是调用一个时间定时器的中断。软件平台中的任务管理模块,可以引用其他商用的嵌入式操作系统,例如引入符合OSEK或Autosar标准规范的专用商业实时操作系统,而不影响整个软件的通用架构。但是本发明的任务管理模块系统代码量小,通用简单,且由于代码量少、精简而在微处理器中执行暂用很少的资源,因此可靠性高。
[0036]以下以在应用模块中执行一个CAN总线发送命令为例,来阐述本发明的电机控制器的工作过程。在应用模块软件初始化函数中执行设备驱动模块CAN_vInit (void),所有软件初始化完成后,应用模块执行main O函数,调用任务管理模块函数task_10ms O,执行库文件中的CAN总线发送函数CANmsg_Send(),在此函数中执行硬件抽象模块函数CAN_HWOBJ((struct stCanObj volatile*)0xF0005000),该函数与 CAN 寄存器直接相关。
[0037]在本发明的一些实施例中,电机控制指令主要包括如下指令。初始化指令,应用模块接收到初始化指令后,执行对应的电机控制算法,以初始化电机控制器并完成随机存储器、只读存储器的测试。待机指令,应用模块接收到待机指令后,执行对应的电机控制算法,以使电机控制器进入待机状态。正常运行指令,应用模块接收到正常运行指令后,执行对应的电机控制算法,以使电机控制器进入运行功率正常的正常运行模式。限功率运行指令,应用模块接收到限功率运行指令后,执行对应的电机控制算法,以使电机控制器进入运行功率低于预设阈值的限功率运行模式。诊断指令,应用模块接收到诊断指令后,执行对应的电机控制算法,以对电机控制器进行诊断且停止诊断动作以外的动作。高压下电指令,应用模块接收到高压下电指令后,执行对应的电机控制算法,以使电机控制器的高压接触器断开,电容放电。关闭指令,应用模块接收到关闭指令后,执行对应的电机控制算法,以关闭电机控制器。紧急故障指令,应用模块接收到紧急故障指令后,执行对应的电机控制算法,以使电机控制器进行电容放电。
[0038]电机控制器的应用模块执行上述的电机控制指令时,根据对应的控制指令使得电机控制器进入不同的状态机模式,实现电机控制器工作状态转移。现将电机控制器的状态分为初始化、待机、正常运行、限功率运行、诊断、正常高压下电、紧急/故障、关机等模式。具体解释如下。
[0039]当接收到初始化指令时,电机控制器进入初始化状态(Initialization),在此状态下,微控制器单元初始化(如接收到钥匙ON档信号),完成RAM(随机存储器)、R0M(只读存储器)以及EEPROM(电可擦除只读存储器)的测试。
[0040]当接收到待机指令时,电机控制器进入待机状态(Standby),在此状态下,如果电机控制器的初始化已经完成,电机控制器开始等待系统上高压,处于等待模式。软件开始运行,部件处于安全状态。
[0041]当接收到正常运行指令时,电机控制器进入正常运行状态(Normal),在此状态下系统高压上电完成后可正常运行,等待整车控制器(VCU)指令。
[0042]当接收到限功率运行指令时,电机控制器限进入限功率运行状态(Limitedoperation),在此状态下系统的功率受限制,可运行。这种模式主要在过温、过压、过流、超速等情况下进行。
[0043]当接收到诊断指令时,电机控制器进入诊断状态(Service),在此状态下如果接收到诊断测试设备的请求,系统进入服务模式。其余操作被禁止。
[0044]当接收到高压下电指令时,电机控制器进入高压下电状态(Shutdown),在此状态下,当接收到VCU的下电需求后,电机控制器进入下电模式,系统开始下电(高压接触器断开,电容放电)。
[0045]当接收到关机指令时,电机控制器进入关机状态(After run),在此状态下,下电过程结束后,电机控制器进入运行结束模式。CAN错误检测在该模式被禁止。电机控制器可以根据各自的判断进入关闭模式。
[0046]当接收到紧急故障指令时,电机控制器进入紧急故障状态(Emergency/Failure),在此状态下,一旦发现故障,VCU发送‘紧急/故障’模式需求。
[0047]需要理解的是,电机控制器主要受整车控制器(VCU)的控制,V⑶通过CAN发送控制指令到电机控制器。与之对应的,正常控制器的控制命令至少可以包括:待机指令、正常运行指令、诊断指令、高压下电指令、紧急故障指令。
[0048]图3示出了本发明一个实施例的电机控制器的状态转移。在图3所示的实施例中,在例如车辆钥匙处于on档的情况下,电机控制器进入初始化状态。进入初始化状态后,初始化完成后进入待机状态,或者在接收到VCU发送的高压下电指令且钥匙位于off档时进入关机状态,或者在接收到VCU发送的诊断指令后进入诊断状态,在诊断状态下可以在接收到VCU发送的高压下电指令后进入高压下电状态。进入待机状态后,可以在接收到VCU发送的正常运行指令后进入正常运行状态,也可以在接收到VCU发送的高压下电指令后进入高压下电状态。进入正常运行状态后,可以在接收到VCU发送的高压下电指令后进入高压下电状态,也可以在温度、电流、电压等超过或低于阈值时进入限功率运行状态。自限功率运行状态也可在一定条件下返回正常运行状态,或在接收到VCU发送的高压下电指令后进入高压下电状态。在高压下电状态下,当电容放电到电压低于60V时,电机控制器进入关机状态。自其它任何状态可以进入紧急故障状态,在紧急故障状态下进行电容放电至电压低于60V时,也可以进入关机状态。在关机状态下,当钥匙处于off档,则停止提供电量。
[0049]在本发明的另一些实施例中,电机控制器在Normal和Limited operation模式下,可以进行驱动控制模式切换。具体地,电机控制指令包括无动作指令、扭矩控制指令、转速控制指令。应用模块在正常运行模式下和限功率运行模式下接收到无动作指令后,执行对应的电机控制算法,使得电机控制器切换至令电机不产生转矩且忽略对电机的其他控制请求的无动作模式;应用模块在正常运行模式下和限功率运行模式下接收到扭矩控制指令后,执行对应的电机控制算法,使得电机控制器切换至接受对电机的转矩控制请求的扭矩控制模式;应用模块在正常运行模式下和限功率运行模式下接收到转速控制指令后,执行对应的电机控制算法,使得电机控制器切换至接受对电机的转速控制请求的转速控制模式。
[0050]在本发明的一个实施例中,电机控制器可以采用中断方式处理复杂驱动控制模块中的电机控制矢量程序。图4为电机控制器在转速控制模式下的一个应用实例。在图4所示的实施例中,进行硬件AD中断(ADC_viSRN0())401后,依次进行AD通道采集402、相电流定标403、Clarke变换404、旋变解码得机械位置角405、电角度计算406、Park变换407、实际转速计算(IOms计算周期)408、目标转速计算409、转速斜坡控制410、转速环PID (比例-积分-微分)411、直轴电流PID412、交轴电流PID413、Park逆变换414、电压空间矢量SVPWM波形产生415、6路PWM波形更新416。其通过硬件AD中断(ADC_viSRN0 O)产生的实时IOkHz频率,采用旋转变压器做为转子位置采集传感器,主控制器平台为英飞凌的Tricore 系列 TC1767。
[0051]本发明所涉及的电机控制器,其控制对象为新能源汽车用驱动电机,电机类型为三相交流永磁同步电机。电机控制器的实现基础都是硬件平台。电机控制器的硬件平台包括以下几个部分:主控电路板、驱动电路板、IGBT(绝缘栅双极晶体管)逆变装置、母线电流和相电流传感器、转子位置传感器(光电编码器或旋转变压器)、控制器和电机温度传感器。其中主控电路板采用的控制芯片可以是MCU (微控制器,单片机),也可以是DSP (数字信号处理器)。图5即为其硬件平台的一个范例。在图5所示的实施例中,电机控制器包括:动力电池501 ;控制器支撑电容502,用于滤波和维持输入端的母线电压稳定;IGBT逆变装置503,用于将直流电逆变为三相交流电;电机转子位置采集传感器504 ;电机控制装置505,由主控电路板和驱动电路板组成。
[0052]图6是根据本发明一个实施例的电机控制器的控制方法的流程图。由图6可以看出,本发明实施例的车辆的电机控制器的控制方法,包括:
[0053]步骤601,接收电机控制指令,执行与电机控制指令对应的电机控制算法;
[0054]步骤602,在执行电机控制算法时,提供电机控制矢量程序和通用的标准应用函数;
[0055]步骤603,在提供标准的应用函数和电机控制矢量程序时,发出函数命令;
[0056]步骤604,接收函数命令,并在接收到函数命令后,调用存储在电机控制器的寄存器中的数据。
[0057]至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
【权利要求】
1.一种车辆的电机控制器,包括: 应用模块,配置成接收电机控制指令,执行与所述指令对应的电机控制算法; 库文件模块,包括提供电机控制矢量程序的复杂驱动控制模块和提供通用的标准应用函数的标准应用接口模块,配置成在所述应用模块执行所述电机控制算法时,提供电机控制矢量程序和通用的标准应用函数; 硬件抽象模块,配置成在所述库文件模块提供标准的应用函数和电机控制矢量程序时,发出函数命令; 设备驱动模块,配置成接收所述函数命令,并在接收到所述函数命令后,调用存储在所述电机控制器的寄存器中的数据。
2.根据权利要求1所述的电机控制器,其特征在于,包括: 任务管理模块,配置成对所述应用模块执行的多个电机控制算法的执行顺序进行调 度。
3.根据权利要求2所述的电机控制器,其特征在于, 所述电机控制指令包括初始化指令,所述应用模块接收到所述初始化指令后,执行对应的电机控制算法,以初始化所述电机控制器并完成随机存储器、只读存储器的测试; 所述电机控制指令包括待机指令,所述应用模块接收到所述待机指令后,执行对应的电机控制算法,以使所述电机控制器进入待机状态; 所述电机控制指令包括正常运行指令,所述应用模块接收到所述正常运行指令后,执行对应的电机控制算法,以使所述电机控制器进入运行功率正常的正常运行模式; 所述电机控制指令包括限功率运行指令,所述应用模块接收到所述限功率运行指令后,执行对应的电机控制算法,以使所述电机控制器进入运行功率低于预设阈值的限功率运行模式; 所述电机控制指令包括诊断指令,所述应用模块接收到所述诊断指令后,执行对应的电机控制算法,以对所述电机控制器进行诊断且停止诊断动作以外的动作; 所述电机控制指令包括高压下电指令,所述应用模块接收到所述高压下电指令后,执行对应的电机控制算法,以使所述电机控制器的高压接触器断开,电容放电; 所述电机控制指令包括关闭指令,所述应用模块接收到所述关闭指令后,执行对应的电机控制算法,以关闭所述电机控制器; 所述电机控制指令包括紧急故障指令,所述应用模块接收到所述紧急故障指令后,执行对应的电机控制算法,以使所述电机控制器进行电容放电。
4.根据权利要求3所述的电机控制器,其特征在于, 所述电机控制指令包括无动作指令;所述应用模块在所述正常运行模式下和所述限功率运行模式下接收到所述无动作指令后,执行对应的电机控制算法,使得所述电机控制器切换至令电机不产生转矩且忽略对电机的其他控制请求的无动作模式; 所述电机控制指令包括扭矩控制指令;所述应用模块在所述正常运行模式下和所述限功率运行模式下接收到所述扭矩控制指令后,执行对应的电机控制算法,使得所述电机控制器切换至接受对电机的转矩控制请求的扭矩控制模式; 所述电机控制指令包括转速控制指令;所述应用模块在所述正常运行模式下和所述限功率运行模式下接收到所述转速控制指令后,执行对应的电机控制算法,使得所述电机控制器切换至接受对电机的转速控制请求的转速控制模式。
5.根据权利要求1所述的电机控制器,其特征在于, 采用中断方式处理复杂驱动控制模块中的电机控制矢量程序。
6.根据权利要求5所述的电机控制器,其特征在于, 所述电机控制矢量程序包括: 坐标变换函数、电压空间矢量控制算法函数、斜坡控制函数、PID控制算法。
7.根据权利要求5所述的电机控制器,其特征在于, 所述通用的标准应用函数包括:滤波算法,三角函数表。
8.根据权利要求1所述的电机控制器,其特征在于,所述设备驱动模块包括: 输入输出模块; 模数转换模块; 串行通信模块; 控制器局域网络模块; 脉冲览度调制t旲块; 时间控制模块。
9.根据权利要求2所述的电机控制器,其特征在于, 采用定时器实现所述调度。
10.一种车辆的电机控制器的控制方法,包括: 步骤A,接收电机控制指令,执行与所述电机控制指令对应的电机控制算法; 步骤B,在执行所述电机控制算法时,提供电机控制矢量程序和通用的标准应用函数; 步骤C,在提供标准的应用函数和电机控制矢量程序时,发出函数命令; 步骤D,接收所述函数命令,并在接收到所述函数命令后,调用存储在所述电机控制器的寄存器中的数据。
【文档编号】H02P21/00GK104022700SQ201410220514
【公开日】2014年9月3日 申请日期:2014年5月22日 优先权日:2014年5月22日
【发明者】陈启苗, 金启前, 由毅, 吴成明, 冯擎峰 申请人:浙江吉利控股集团有限公司, 浙江吉利汽车研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1