凯发国际app首页

基于 AUTOSAR 的电机驱动控制系统开发

[编辑:永太净化设备经营部] [时间:2024-01-19]

  纯电动汽车和混合动力汽车是新能源汽车产业发展的重要方向,同时,泛亚“电动化、智能化、网联化、数字化”战略的提出,使得未来车载汽车电子电气架构系统的开发越来越复杂。汽车开放系统架构 AUTOSAR 代表的层次化、模块化、平台化技术则是汽车电子软件开发的重要趋势。在电动汽车的三大电控系统中(电机控制、电池管理、整车控制),电机控制作为核心之一,其软件架构的研究设计对于汽车电控系统的开发有重要意义。本报告以电动汽车用驱动电机作为研究对象,以 AUTOSAR 开发架构为基础,对电机驱动控制系统软件架构设计与开发进行探究,并在此基础上对电机过调制控制算法以及旋变软解码技术进行详细研究。

  在电动汽车的三大电控单元中人工老化试验,电机驱动控制作为其中的核心,其性能高低对汽车动力性和操纵性有直接的影响。和传统电机调速系统和伺服电机系统相比较,车用驱动电机系统的开发除了高功率密度、宽调速范围等性能需求外,对于安全性和可靠性也有着更高的要求。提高车用电机控制软件的可复用性,增强系统软件的可配置性,改善系统软件的可靠性与稳定性对于车用电机控制系统开发有着重要意义。

  对于电机矢量控制而言,往往需要获取电机的转子位置角度,角度的测量常用的方法有磁性编码器、光电码盘、电涡流传感器和旋转变压器等。其中,磁编码器是基于磁阻效应或霍尔效应的轴角传感器,输出信号是基于转子位置的正余弦函数,其结构简单鲁棒性强,不受潮湿环境影响,但受高温和气隙限制;光电码盘体积小,分辨率高,抗电磁干扰能力强,但转速受限,最高可测转速在 3000rpm 左右;电涡流传感器灵敏度高,响应速度快,受环境影响较小,但其精度有限;旋转变压器可靠性高,不同环境适应能力强,不受温度和振动等因素影响,因此广泛应用于电梯、雷达、机载仪器等伺服系统和工业自动化领域。

  旋转变压器输出一组包含转子位置信息的正余弦信号,需要对此信号进行适当的处理,才能得到相应的转子位置。对于旋转变压器输出模拟信号的处理可以由专用的集成电路将其转换为数字信号,即 RDC电路,又称为旋变解码芯片,目前常见的有美国 AD公司的 AD2S(AD2S1210)系列芯片以及日本多摩川公司的 AU6802系列芯片,它们可以产生激励信号发送给旋变的激励绕组,然后将返回绕组的模拟信号处理得到转子位置信号,以编码器或 SPI 等形式输出。除此之外,还有一种方法是利用 DSP和外围调理电路产生激励信号并对旋变输出的信号进行调制、滤波等处理以及角度辨识算法得到转子位置信号。采用 DSP 对角度信号处理省去了专用的解码芯片,极大地降低了开发成本。

  常见的角度辨识算法有反三角函数法、标定查表法、基于锁相环的角度跟踪观测器法。其中,反三角函数法实现简单,但引入了一个除法,一个反正切运算,占用资源较多,而且不能利用整个输出信号的波形;标定查表法需要利用传感器对旋变信号标定,将旋变输出信号对应的角度值存储起来,以供查表使用;基于锁相环的角度跟踪观测器法包含二阶角度观测器和三阶角度观测器混联系统,二阶角度观测器法具有一定的滤波作用,提高抗干扰能力,能够同时估算出电机的转子位置和转速值。当转速变化(升降速)时,二阶观测器解算出的转子位置角会有稳态误差,采用三阶角度观测器具有更好的瞬态检测性能,常用于电机启动加速时的转子位置观测。

  本节主要研究AUTOSAR 标准对电机控制系统软件进行软件分层,包括应用层、基础软件层和实时运行环境。其中,应用层通过MATLAB/Simulink 搭建电机控制模型并生成软件代码,基础软件层通过调用英飞凌底层驱动软件包编程实现外设功能模块驱动,实时运行环境通过自定义接口函数实现不同软件层之间的数据交流和服务调用。

  传统的电机控制,尤其在自动化领域,软件开发分层不明显,软件和硬件之间的嵌套关系耦合严重,这就使得软件在开发过程中一旦遇到问题和缺陷,难以确定问题产生的原因在于硬件驱动程序还是软件算法设计,影响软件开发效率,提高开发成本,同样也会使软件存在潜在的风险。AUTOSAR 是以软件分层和模块划分的方式实现软硬件分离的汽车开放式架构标准,将系统软件架构划分为应用软件层(APP)、基础软件层(BSW)和实时运行环境层(RTE)。如下图所示:

  在电机控制系统中,与电机控制功能相关的电机控制算法、电机状态检测、安全监控等功能可作为应用程序与 AUTOSAR 架构中的应用软件层相对应,应用软件层中又将不同的功能模块以软件组件 SWC的形式进行封装,便于设计者的进一步开发。基础软件层对应于与电机控制相关的如控制器外设驱动、通信服务和中断服务等,将控制器硬件功能以模块化进行封装,有利于其在不用硬件平台间的移植。应用软件层与基础软件层之间的数据交流和服务调用则是通过实时运行环境层实现,RTE 相当于虚拟功能总线,使得开发者在设计应用软件时可以不必考虑底层硬件和通信网络,专注于功能软件的设计。下图为本文对电动汽车驱动电机 ECU 软件架构的分层设计。下文将在此架构的基础之上对每层软件进行详细设计。

  应用层软件是电机控制算法及其安全监控等功能的具体实现,需要先确定系统的输入和输出数据,系统所包含的软件组件 SWC 及其系统约束等。本系统的 ECU 即为电机控制器,并且根据相应功能可将其软件组件划分为:电机控制算法 SWC、数据解算 SWC、安全监控功能 SWC等软件组件,如图 2.3 所示,同时需要确定各软件组件的数据输入和输出以及软件组件之间的数据交流和服务调用。在应用软件层 APP 中,软件组件划分的目的是通过功能模块划分减少耦合节曲面,有利于系统软件的更新与升级。

  完成各个软件组件设计后,需要设计其中的运行实体RE(Runnable Entity),运行实体是软件组件的最小代码片段,是软件组件功能的具体实现。其中,数据解算软件组件 SWC中,输入数据包括从基础软件层获得的电流采样、转子位置传感器信号等,需要通过电流计算、转速和转子位置解算的运行实体 RE 得到相应的电机相电流、转速和转子位置等信号。

  电机控制算法SWC包含电机控制策略,本文采用的电机控制算法为磁场矢量定向控制FOC(Field Oriented Control,FOC),控制框图如图 2.4 所示,将此框图进行功能划分不同层次,分别与应用层 APP、基础软件层 BSW 和实时运行环境层 RTE 的分层架构相对应。可以看出,分层架构的划分实现了电机控制软硬件的分离,使得软件开发者可以专注于系统软件设计而无需考虑硬件相关问题。安全监控 SWC 则是针对电机过流保护、过温保护、转子位置监测等运行实体的设计。后续若需要进行功能的添加和升级只需要对相应的软件组件和运行实体进行添加和修改即可,从而可以避免由于软件之间交叉耦合带来的复杂性问题。

  基础软件层向应用层软件提供基础设施服务,包括外设驱动服务、内存管理服务、通信服务等,是连接应用层与微控制器之间的桥梁。本系统为驱动电机控制系统,其基础软件层结构框图如图 2.5 所示,包含外设驱动、服务和通信等。其中,外设驱动是将微控制器的各个功能外设进行封装,供开发者调用,如与电机控制相关的 PWM 驱动、ADC 驱动、CAN 驱动、IO驱动等;服务包括存储服务以及与系统服务相关的看门狗、定时器等;另外还包含与数据通信相关的通信协议的设计等。

  本文以英飞凌 AURIX 系列三核单片机 TC297 为硬件开发平台,基于英飞凌底层驱动软件对系统基础软件层进行相关开发与设计。其中,AURIX 系列芯片是英飞凌推出的满足汽车行业标准(如 AUTOSAR 标准、ISO26262)的高性能 32 位微控制器,集成三个 CPU 内核,主频 300MHz,可应用于汽车发动机控制、电动/混合动力汽车、底盘、制动系统、电动助力转向系统和先进辅助驾驶系统等各类场合。本文选用的 TC297 单片机具有丰富的外设资源和强大的数据处理能力,完全可以满足车用电机控制需求。

  系统与电机控制相关的控制器外设模块包括 CCU6、GTM、ADC、GPIO、ASCLIN等,主要用于实现 PWM 驱动、AD 采样、IO 信号输入输出、通信等功能。其中,CCU6是一个具有特定应用模式的16位高分辨率捕获和比较单元,主要用于AC驱动控制。特殊操作模式支持使用霍尔传感器或反电动势检测的无刷DC电机。

  此外,支持多相电机的块整流和控制机制。它也支持同步启动几个定时器,这是包含多个CCU6模块的设备的一个重要特性。

  永磁同步电机的控制需要六路 PWM波来驱动三相逆变器,则可以利用定时器 CCU6 的多路定时器T12输出模块生成三相六路中心对称的 PWM 波。另外,为满足三相电流的同步采样,还需一个定时器作为同步触发信号 Trigger 来触发 AD 采样,这样CCU6 模块一共需要T12、T13两个定时器。

  VADC 模数转换模块包含 8 个独立的转换单元,每个转换单元含有 8 个输入采样通道,AD采样转换时间小于 1μs。在电机控制中,三相电流需进行同步采样,而 VADC 模块的同步转换功能可支持多达四个采样通道的同步转换。因此,可利用 VADC 的转换单元进行同步采样转换,以实现电机相电流的同步采样。同时,AD 采样频率也要与 PWM 频率一致,采用硬件触发 AD采样可以降低软件开销,减轻 CPU 负载率,则可利用上文 T13设计中预留的 Trigger作为触发信号触发 AD 采样。

  底层驱动软件为 TC297 各个外设功能模块的寄存器配置以结构体和功能函数的形式进行封装,从一个定时器到三相驱动 PWM 波的产生,都可以通过手动编写寄存器实现,把相关 PWM输出的寄存器配置以结构体和功能函数的形式进行封装,供开发者调用,通过调用 CCU6 模块PWM 配置的结构体和函数,并将相关参数赋值,如频率、死区时间、互补通道对数等,即可完成对电机控制所需的 PWM 波配置。在进行 AD 电流采样配置时,利用 VADC 模块初始化函数可实现对 AD 采样的转换单元和采样通道的初始化配置,包括与电流采样相关的同步转换通道的设置以及 AD 采样结果中断的设置。

  我们将旋转变压器的解码工作封装成一个CDD模块,主要处理旋变解码芯片的反馈数据结算工作轨迹发生器。

  在完成了应用层软件和基础软件层的设计之后,需在实时运行环境层定义相关接口函数,实现应用层软件组件之间以及应用层与基础软件层之间数据的传输与调用。首先需要明确应用层软件的输入输出数据以及定义相应的数据类型,各个软件组件的输入输出相关数据均列出,在 Matlab/Simulink 搭建模型后,生成的程序代码则将输入输出数据以结构体形式封装;基础软件层中的输入输出数据则是在底层软件中相关结构体进行定义。完成各软件层数据定义后,在中断服务程序中将相应输入输出数据进行赋值即可实现应用层与基础软件层之间的数据传输。

  其中,应用层软件通过在 Matlab/Simulink 中搭建各个运行实体模型并完成相关仿真测试,进行代码生成,基础软件层利用底层驱动软件驱动进行设计实现对各个外设驱动初始化,并且包含对通信协议和中断服务等进行相应配置;数据通信和服务调用通过在实时运行环境层定义相关接口函数实现。通过上述方法完成基于 AUTOSAR 电机控制软件的具体设计实现。最后排气管,将各层软件导入 Tasking 开发环境中,并在编译器中对所有程序进行集成编译、链接生成可执行文件,将生成的可执行文件添加到调试软件 劳特巴赫/UDE 中对软件进行调试、分析,根据分析结果可对软件进一步优化滚轮支架。

  电机(英文:Electric machinery,俗称“马达”)是指依据电磁感应定律实现电能转换或传递的一种电磁装置。

  电机在电路中是用字母M(旧标准用D)表示,它的主要作用是产生驱动转矩,作为用电器或各种机械的动力源,发电机在电路中用字母G表示,它的主要作用是利用电能转化为机械能。

  3.按起动与运行方式可划分:电容起动式单相异步电动机、电容运转式单相异步电动机、电容起动运转式单相异步电动机和分相式单相异步电动机。

  5.按转子的结构可划分:笼型感应电动机(旧标准称为鼠笼型异步电动机)和绕线转子感应电动机(旧标准称为绕线.按运转速度可划分:高速电动机、低速电动机、恒速电动机、调速电动机。低速电动机又分为齿轮减速电动机、电磁减速电动机、力矩电动机和爪极同步电动机等。

  电动机(Motor)是把电能转换成机械能的一种设备。它是利用通电线圈(也就是定子绕组)产生旋转磁场并作用于转子(如鼠笼式闭合铝框)形成磁电动力旋转扭矩。电动机按使用电源不同分为直流电动机和交流电动机,电力系统中的电动机大部分是交流电机,可以是同步电机或者是异步电机(电机定子磁场转速与转子旋转转速不保持同步速)。电动机主要由定子与转子组成,通电导线在磁场中受力运动的方向跟电流方向和磁感线(磁场方向)方向有关。电动机工作原理是磁场对电流受力的作用,使电动机转动。

  2.直流电动机采用八角形全叠片结构,串励绕组,适用于需要正、反转的自动控制技术中。根据用户需要也可以制成带串励绕组。中心高100~280mm的电动机无补偿绕组,但中心高250mm、280mm的电动机根据具体情况和需要可以制成带补偿绕组,中心高315~450mm的电动机带有补偿绕组。中心高500~710mm的电动机外形安装尺寸及技术要求均符合IEC国际标准,电机的机械尺寸公差符合ISO国际标准。

  电机包括电动机和发电机。是发电机和电动机的总称,两者概念上是由区别的。电动机只是电机运行方式的一种,只是电机运行在电动模式下,就是将电能转换成了其它形式的能量;电机另外一种运行方式就是发电机,这时候运行在发电的模式下,将其它形式的能量转换为电能。但是,某些电机如同步电机一般较多用作发电机,但也可直接作为电动机使用。异步电机更多的用于电动机,但是,经过增加简单的外围元件,也可作为发电机使用。