基于自动代码生成技术的汽车电子控制系统设计

2017-01-19 15:00边伟陈勇杨柳
现代电子技术 2016年24期

边伟 陈勇 杨柳

摘 要: 传统汽车电子控制系统自动化程度低,采用自动代码生成技术设计并实现汽车电子控制系统,开发汽车电子控制系统的自动代码生成环境,在 Matlab 平台上开发MPC5634M芯片的自动代码生成环境以及控制系统所需的驱动模块。该设计以MPC5634M芯片为控制中心的汽车电子控制器硬件电路,并分析硬件电路中各模块的设计原理。采用基于μC/OS?Ⅱ实时操作系统的软件架构,通过自动代码生成技术将μC/OS?Ⅱ实时操作系统嵌入Matlab/Simulink下的自动代码生成环境底层文件中,在此基础上开发汽车电子控制系统的软件模型,采用模糊控制器实现控制系统中PI参数的调整。实验结果表明,所设计系统在软件代码开发数量和效率上具有较大优势,并且系统在实际控制过程中具有较好的稳定性和阻力效果。

关键词: 自动代码; 汽车电子控制系统; 参数调整; 模糊控制器

中图分类号: TN99?34; TP463 文献标识码: A 文章编号: 1004?373X(2016)24?0132?05

Design of automotive electronic control system based on automatic code

generation technology

BIAN Wei1, CHEN Yong1, YANG Liu2

(1. School of Automotive Engineering, Nanjing Vocational Institute of Transport Technology, Nanjing 211188, China;

2. Shaanxi Jin Baoxin Automobile Sales and Service Limited Company, Xian 710018, China)

Abstract: To improve the automation degree of the traditional automotive electronic control system, the automatic code generation technology is used to design and implement the automotive electronic control system. To develop the automatic code generation environment of the automotive electronic control system, the automatic code generation environment of chip MPC5634M and driver module needed by the control system were developed on Matlab platform. The hardware circuit of the automobile electronic controller was designed, in which the chip MPC5634M was taken as its control center. The design principle of each module in hardware circuit is analyzed. The software architecture based on μC/OS?Ⅱreal?time operating system is adopted to embed the μC/OS?Ⅱ real?time operating system into the automatic code generation environment underlying file of Matlab/Simulink by means of the automatic code generation technology. On this basis, the software model of the automotive electronic control system was developed. The fuzzy controller is employed to adjust the PI parameters of the control system. The experimental results indicate that the system has high advantages in the software code development quantity and efficiency, and good stability and resistance effect in the practical control process.

Keywords: automatic code; automotive electronic control system; parameter adjustment; fuzzy controller

0 引 言

控制器的研究开发是新型汽车电动助力转向系统的关键部分。要保证开发的电动助力转向系统拥有良好的安全性能与实用性,就给专业技术人员带来了关于硬件设计是否过关、软件功能是否完善、控制策略制定是否合理等诸多方面的硬性要求[1?2]。目前汽车生产市场的竞争进入白热化阶段,设计出性能完美、成本低廉的产品以迎合消费者成为了重中之重。同传统的液压助力转向系统相比,汽车电子控制系统可以更好地实现汽车在高速和低速时不同的转向力感调节,同时也更加节约成本并降低油耗。而传统汽车电子控制系统是由开发人员手工编写软件进行设计,存在耗时高、调试困难、控制误差高的缺陷[3?5]。

当前研究出的汽车电子控制方法都存在一定的问题,如文献[6]基于汽车实际运行状态同理想状态间的误差反馈,调控汽车的横摆力矩,但是该方法采用传感器无法获取全部的车辆运行状态数据,存在一定的局限性。文献[7]通过横摆角速度和汽车侧偏角控制间的相平面获取稳定范围,实现车辆的控制,但该方法容易受到车辆内部因素和外界环境因素的干扰,存在较高的控制偏差。文献[8]制定了车辆侧滑速度的的预测策略,通过车辆动力学波动情况对车辆稳态输出进行定位,但该方法对车辆运行的稳定性要求较高,并且控制精度较低。文献[9]依据轮胎和汽车动力性试验的管理方案,通过直接横摆力矩增强汽车的控制质量,但其控制过程较为复杂,控制效率低。

针对上述方法存在的问题,本文采用自动代码生成技术设计并实现汽车电子控制系统,设计以MPC5634M芯片为控制核心的汽车电子控制器硬件电路,在Matlab平台上开发MPC5634M芯片的自动代码生成环境以及控制系统所需的驱动模块。将μC/OS?Ⅱ实时操作系统 嵌入Matlab/Simulink下的自动代码生成环境底层文件中,进而开发汽车电子控制系统的软件模型。

1 基于自动代码技术的汽车电子控制系统设计

1.1 控制系统的自动代码生成环境配置

设计的汽车电子控制系统采用处理芯片来自于飞思卡尔公司的 MPC5634M 单片机系列。塑造飞思卡尔MPC5634M芯片的自动代码生成开发环境,同时开发MPC5634M不同功能的驱动模块,可实现汽车电子控制系统控制软件的自动代码生成环境的开发。Matlab/Simulink平台中的Embedded Coder功能块可为开发人员修改在系统的底层 TLC 文件提供服务,并且直接生成用户自定义代码。

但是,在Matlab中并不包含MPC5634M的驱动模块,因此需要通过系统函数 S?Function设计单片机的驱动模块,采用该系统函数自动生成代码情况下,S?Function则需要通过面向该模块编写的TLC文件产生相关的代码和注释。采用Inlined S?Function 编写方法设计单片机的驱动模块,为各S?Function 模块配置一个TLC文件,并将模块的底层驱动代码依据相应的规范写入TLC文件内。自动代码生成过程中,通过TLC 文件内的代码替换C?MEX S?Function内的代码,确保设计的S?Function模块符合汽车电子控制系统设计的需求,并依据用户需求获取自定义底层C代码,再通过相应的编译器下载到目标硬件中。用于开发汽车电子控制系统自动代码生成环境的底层文件编写示意图如图1所示。

1.2 汽车电子控制系统硬件电路设计

汽车电子控制系统硬件电路是系统控制策略运行的载体,其基本结构如图2所示。汽车电子控制系统对外部方向盘扭矩信号、电机电流和电压信号、车速信号以及发动机信号进行提取、滤波后,将信号变换成数字信号输入单片机中进行操作,依据相应的控制方法进行运算,并输出控制信号,再采用驱动电路对电机进行合理控制。

控制系统的硬件电路包括控制电路板和驱动电路板。控制电路板由单片机、模拟信号采集电路等构成,驱动电路板由电源模块和继电器控制电路等构成。不同模块的设计过程如下所述。

1.2.1 MPC5634M单片机的电源和复位电路设计

控制核心部分选择的是飞思卡尔公司生产的MPC5634M单片机。其集成了FLASH和RAM存储空间,拥有70 MHz的主频。这种控制核心采用4 V以上的供电,可以将控制板上的外部10 V供电模块调成4 V,使用这种电源模块进行供电。这种电源模块输出的4 V电压需要进行滤波处理,才能给单片机提供必须的能源输出。复位电路示意图和控制芯片电源电路如图3所示。

1.2.2 信号采集电路的设计

汽车电子控制系统通过电阻方法采集电流信号,电路如图4所示。把采集到的电阻样本加入到电机电路中,电阻样本中的电压通过可以限压的二极管和RC滤波器,从而进入到信号放大器中,经过信号的放大将电阻样本降压,最后整理得到汽车电子控制系统在运作过程中所产生的真实的电流数据情况反映。

汽车电子控制系统电路中的母线电压与电机电压的采集都是通过如图5所示的控制器完成。在单片机的A/D采集模块中,分压二极管、限压二极管和π型滤波器都对电压信号进行了相应的处理。控制系统依靠上述过程采集得到的电机电压值和母线电压值,采用变增益PI控制策略进行控制分析。

1.2.3 驱动控制电路的设计

汽车电子控制系统的驱动控制电路如图6所示。其中的H桥驱动电路由4个MOSFET组成,驱动控制电路选择的是MC33883预驱动器,它的优势在于电路板面积小,能明显节约成本;但驱动运转能力却不容小觑,5~60 V的电压都可以兼容,PWM输出值可达到120 kHz,是驱动控制电路中的不二选择。

1.3 汽车电子控制系统软件实现

依据1.1节开发的汽车电子控制系统的自动代码生成环境,设计汽车电子控制系统控制软件,并依据μC/OS?Ⅱ实时操作系统的软件架构,增强控制系统软件代码的开发效率。对μC/OS?Ⅱ操作系统在 MPC5634M 芯片上的移植,完成μC/OS?Ⅱ操作系统同Matlab/Simulink自动代码生成环境的融合。塑造完软件开发环境后,可塑造汽车电子控制系统控制软件模型,并且通过变增益PID控制策略,采用模糊控制器实现控制系统中 PI 参数的调整。

1.3.1 汽车电子控制系统的变增益PI控制模块

电机助力电流对目标电流的跟随控制算法是汽车电子控制系统的关键控制算法,采用变增益PI控制方法对助力电机目标电流进行定位监测,如图7所示。可以看出变增益PI控制模块通过Matlab模糊编辑器获取电流差值同P,I参数的关系曲线,在模型中采用查表实时调控P,I参数。

1.3.2 汽车电子控制系统控制逻辑设计

利用塑造的含有μC/OS?Ⅱ实时操作系统的Simulink自动代码生成环境,塑造使用 μC/OS?Ⅱ实时操作系统架构的汽车电子控制系统软件模型。将控制系统在μC/OS?Ⅱ操作系统中分割成控制任务和通信任务。设置控制任务的运行时间为3 ms,由信号采集、数据处理、目标电流分析、电流定位等功能模块构成,是汽车电子控制的主要实现手段。设置通信任务的运行周期是8 ms,其通过CAN将系统内的信号周期性反馈到上位机,对总体汽车电子控制参数进行及时监测。设计的总体汽车电子控制系统模型如图8所示。

图8中的Set Task Time模块设置控制任务和通信任务的运行时间,Activate Task模块设置任务的使用权重以及名称,采用信号线完成两个任务的信号沟通,通过Protected RT模块实现信号传输的同步。Control Logic模块中包含汽车电子控制系统中的关键逻辑模块如图9所示。

2 实验分析

为了验证本文提出的基于自动代码生成技术的汽车电子控制系统的有效性,实验将本文设计的系统程序在 MPC5634M芯片上移植成功,并且测试通过,并对比分析手动移植的控制系统控制程序,获取二者代码数量的优劣,结果如表1所示。

表1 两种软件开发对比

分析表1可得,本文采用自动代码生成技术设计的汽车电子控制系统能够增强软件的开发效率,降低算法调试难度并且代码生成量高,相对于手动编写方法极大提高了系统开发效率。

2.1 汽车电子控制系统试验台

为了在开发过程中验证汽车电子控制系统的控制策略,设计了控制系统的简易试验台,其结构如图10所示。其由转向盘、蓄电池、助力电机与控制器等组成,通过这种装置能实时监控本文设计的汽车电子控制系统的参数情况。

2.2 实验结果分析

2.2.1 电流阶跃实验结果分析

电流阶跃实验的前提是必须固定PI的参数值。步骤如下:首先设定目标的电流值,将实验装置的方向盘固定好后,开启电机助力转向系统。将PI值设定为0.03和0.001,效果如图11所示。0.5 s目标电流产生较大波动,此时采用固定PI控制方法无法通过高P值,完成电流的定位,该方法定位目标电流用了0.15 s,超调量为0.9 A左右。接下来用本文设计的PI控制策略的方法进行实验,实验结果如图12所示。图中显示电流值到达目标电流时的时间为0.05 s,超调量为0.08 A,电流也比固定PI控制方法节约了0.2 A左右,并且之后的电流值极接近目标电流,趋于平稳。把这两种实验方法得出的数据进行比较,能明显看出本文方法能够增强汽车电子控制系统的动态响应效果。

2.2.2 慢速转向实验结果分析

慢速转向实验可以检测PI控制对系统中电流稳定性的影响,采用慢速转动装置中方向盘的方法,根据电流值的变化可看出效果。首先在EPS实验台装置上慢慢转动方向盘,得到实时电流值并跟目标电流对比,得到的结果如图13所示。可以看出,实际电流值对目标电流值的跟随度很差,稳定性不良好。而图14显示的是用本文PI控制策略方法检测出的曲线图像,可以看出其对电流的跟随度高,转向平滑,实际电流也十分贴合目标电流。

根据实验结果能够很直观地看出本文PI控制策略法无论在性能,还是效果上都优于固定PI控制方法。将本文设计的控制系统用于实际汽车的控制过程中,助力的效果会有明显改善。

3 结 论

本文采用自动代码生成技术设计并实现汽车电子控制系统,开发汽车电子控制系统的自动代码生成环境,在Matlab 平台上开发MPC5634M芯片的自动代码生成环境以及控制系统所需的驱动模块。设计以MPC5634M芯片为控制中心的汽车电子控制器硬件电路,并分析硬件电路中各模块的设计原理。

采用基于 μC/OS?Ⅱ实时操作系统的软件架构,通过自动代码生成技术将μC/OS?Ⅱ实时操作系统,嵌入Matlab/Simulink下的自动代码生成环境底层文件中,在此基础上开发汽车电子控制系统的软件模型,采用模糊控制器实现控制系统中PI参数的调整。实验结果表明,所设计系统在软件代码开发数量和效率上具有较大优势,并且系统在实际控制过程中具有较好的稳定性和阻力效果。

参考文献

[1] 孙颖,王建俊,张承瑞.基于AUTOSAR的汽车电控系统代码自动生成技术[J].重庆理工大学学报(自然科学版),2014,28(3):33?38.

[2] 洪晓君,朱磊.基于Matlab/RTWEC自动代码生成技术整车控制器快速原型开发[J].机电一体化,2014,20(8):47?52.

[3] 李伟锋,杨李,陈锦涛,等.基于代码生成的单相VSR整流器串级控制系统[J].自动化应用,2015(3):53?55.

[4] 赵柏林.基于自动控制系统的汽车电子技术分析[J].科技经济市场,2015(7):9.

[5] 张冬晖,王欣.浅谈基于自动控制系统的汽车电子技术[J].中国科技博览,2014(42):336.

[6] 纪淑玲.发动机电控自动代码生成应用技术研究[D].长春:吉林大学,2015.

[7] 宋艳芳.试析基于SimulinkRTW的汽车电子控制系统[J].黑龙江科技信息,2014(24):24.

[8] 孔得雨,罗锋,林伟波,等.一种基于Velocity的代码自动生成技术研究[J].计算机应用与软件,2014(10):20?23.

[9] 程龙.电流比较仪式电桥自动代码技术[D].上海:上海交通大学,2014.

[10] 张晓光,程诚,刘宇.塞式喷管运载器外流干扰冷流试验研究 [J].火箭推进,2015(3):46?51.