CN102777277A - 基于matlab算法输出的电控柴油机油量控制开发***和方法 - Google Patents
基于matlab算法输出的电控柴油机油量控制开发***和方法 Download PDFInfo
- Publication number
- CN102777277A CN102777277A CN2012103145535A CN201210314553A CN102777277A CN 102777277 A CN102777277 A CN 102777277A CN 2012103145535 A CN2012103145535 A CN 2012103145535A CN 201210314553 A CN201210314553 A CN 201210314553A CN 102777277 A CN102777277 A CN 102777277A
- Authority
- CN
- China
- Prior art keywords
- fuel
- algorithm
- flow control
- matlab
- oil mass
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
本发明涉及一种基于MATLAB算法输出的电控柴油机油量控制开发***,包括PC机油量管理开发平台,由MATLAB/Simulink算法开发平台和CodeWarrior编译开发环境组成,将整个上层油量控制算法和底层软件编译链接生成可执行的elf文件;一个BDM背景调试模式接口,用于下载elf文件到电控单元存储器;一个电控单元ECU,用于控制电控单体泵柴油机进行油量控制算法验证。本发明还提供了一种对应的方法,采用模块化思想,利用MATLAB/Simulink工具进行油量算法的建模和仿真,用算法输出功能将其转化为标准的C代码;底层软件由手写C代码组成,将上层的控制油量量化为电磁阀喷射驱动的起始时刻和持续时间,在CodeWarrior编译环境下将上述两部分代码编译生成控制器代码,在不失灵活的同时节省了开发时间。
Description
技术领域
本发明涉及柴油机燃油供给***的控制领域,主要是一种基于MATLAB算法输出的电控柴油机油量控制开发***和方法。
背景技术
电控柴油机对喷射油量的控制是各种燃油喷射***的核心技术之一,快速而有效的油量控制开发***和方法是整个燃油喷射***开发和配套的关键。当前,基于手写代码的电控柴油机油量控制开发***和方法有如下缺陷:
1) 周期长。软件开发和硬件开发不能同步进行,软件开发需在硬件较为完善的情况下进行;
2) 不可靠。对于复杂油量控制算法,不易发现手写代码的程序错误和缺陷;
3) 移植难。手写油量控制算法规范性弱,不利于在不同硬件平台上移植。
以往采用手写代码进行油量控制算法的开发往往耗时费力,且所开发的油量控制算法的修改和移植具有平台的局限性,不利于产品的更新换代。
发明内容
本发明的目的在于:为弥补上述不足,本发明提供了一种基于MATLAB算法输出的电控柴油机油量控制开发***和方法。
本发明所述的基于MATLAB算法输出的电控柴油机油量控制开发***,其特征在于:包括:
一个PC机油量管理开发平台,由MATLAB/Simulink算法开发平台和CodeWarrior编译开发环境组成;将MATLAB/Simulink油量控制算法模型进行算法输出生成油量控制算法,并和底层软件的传感器信号采集例程、驱动例程一起编译链接生成可执行的elf文件;
一个BDM背景调试模式接口,用于下载elf文件到电控单元ECU的存储器中;
一个电控单元ECU,采集电控单体泵柴油机传感器信号,结合存储器中的油量控制算法,计算出该发动机工况下需要的喷射油量和喷射定时,并将喷射油量转化为该工况下的喷射脉宽,最后控制柴油机电控单体泵在给定燃油压力下将燃油在指定时刻以指定持续时间喷入汽缸,实现柴油机工作循环的燃油供给,以此进行柴油机油量控制算法验证。
本发明所述的PC机油量管理开发平台采用MATLAB/Simulink算法开发平台进行油量控制算法的模块化建模和仿真,利用其算法输出功能将控制算法模型自动生成标准的C代码,用以集成到整个电控单元ECU软件中。
本发明在CodeWarrior编译开发环境下根据电控单元ECU中微控制器的不同模块和不同的控制对象要求,手写C代码封装这些控制要求成为底层软件,从而实现底层软件的模块化。
本发明还提供了一种基于MATLAB算法输出的电控柴油机油量控制开发方法,其步骤如下:
1) 根据柴油机上的信号传感器输入处理与驱动输出需求,在CodeWarrior编译开发环境下采用标准的C代码编写对应的模块驱动例程,包括传感器信号采集例程和驱动例程,并将其封装成功能函数,形成底层软件;
2) 根据柴油机的控制功能需求,在MATLAB/Simulink开发环境下建立油量控制模型,并在该环境下进行仿真分析;
3) 将油量控制模型进行算法输出,自动生成标准C代码组成的油量控制算法;
4) 在CodeWarrior编译开发环境下将油量控制算法和底层软件进行集成,编译生成可执行的elf文件,并用BDM背景调试接口将其下载到电控单元的存储器中。
本发明的所述底层软件是根据电控单元微控制器不同的片上资源模块将相应资源的驱动写成模块驱动例程;同时根据控制任务的需要写成基本任务例程,例程的函数的输入输出均为空,通过全局变量来实现数据传递;基于MATLAB/Simulink的油量控制模型由四部分组成,分别是发动机运行状态判断模块、状态油量控制模块、油量切换和补偿模块及油量量化模块。其中状态油量控制模块由启动控制模块、怠速控制模块和调速控制模块组成,油量量化模块由定时模块和脉宽模块组成,另有输入信号接口和输出信号接口作为模型的输入与输出。
本发明所述基于MATLAB/Simulink的油量控制模型,其油量控制方法实现步骤如下:
1) 发动机运行状态判断,根据发动机传感器采集到的转速、油门位置和冷却水温等输入信息判断发动机的运行状态,以便根据不同的状态采用不同的油量管理方法;
2) 依据状态判断,由启动控制模块、怠速控制模块和调速控制模块中某一个模块的控制策略根据转速和油门位置等输入信号计算出当前做功循环的喷油量;
3) 根据发动机传感器采集到的不同冷却水温度、进气压力和温度等对喷油量进行补偿,同时对不同控制模块间作油量平稳过渡的切换控制;
4) 通过查询定时模块和脉宽模块,结合当前的发动机状态信息,将油量控制模块给出的喷油量量化为基于发动机运行相位的喷射定时和喷射脉宽,从而完成电控单元主要的油量控制任务。
本发明所述基于MATLAB/Simulink的油量控制模型,其算法输出生成C代码后,集成到整个控制软件中,分为五个步骤:
1) 设置MATLAB环境和CodeWarrior环境;
2) 建立油量控制模型;
3) 算法输出;
4) 在CodeWarrior Project中导入算法;
5) 建立控制任务。
本发明的优点在于电控柴油机的油量控制方法采用了MATLAB算法输出功能,其模型化的算法描述和仿真利于在开发中进行软件仿真和半实物仿真,能加快开发进程,更为重要的是对于控制对象多变的柴油机电控***,其油量管理控制算法采用MATLAB算法输出,较传统的手写代码,能够极大提高算法改进和不同平台间软件移植的速度,节省开发成本,可以弥补传统开发方式低效率、高耗费的不足,提供一个可靠、便利、通用和模块化的电控柴油机油量控制的开发平台。
附图说明
图1 为基于MATLAB算法输出的油量控制***结构示意图;
图2为油量控制模型示意图;
图3为基于MATLAB算法输出的油量控制软件工作原理示意图;
图4为输出算法的集成流程图;
图5 为底层软件结构示意图。
具体实施方式
以下结合实施例并对照附图对本发明进行详细说明。
如图1所示,本发明包括PC机油量管理开发平台、一个BDM背景调试模式接口、一个电控单元ECU。
PC机油量管理开发平台,采用MATLAB/Simulink算法开发平台进行油量管理算法的模块化建模和仿真,然后利用算法输出功能将控制模型自动生成标准的C代码,并集成由传感器信号采集例程和底层驱动例程组成的底层软件,在CodeWarrior的C语言开发平台下进行编译链接生成可执行的elf文件,通过BDM电缆线下载到电控单元ECU的存储器中,从而完成整个软件部分的开发任务。
如图2为电控柴油机油量控制模型,由四部分组成,分别是发动机运行状态判断模块、状态油量控制模块、油量切换和补偿模块及油量量化模块。其中状态油量控制模块由启动控制模块、怠速控制模块和调速控制模块组成,油量量化模块由定时模块和脉宽模块组成,另有输入信号接口和输出信号接口作为模型的输入与输出。
发动机状态判断模块,其根据转速、油门和冷却水温度等传感器信号的信息判断发动机的运行状态,以便根据不同的状态采用不同的油量控制方法。
状态油量控制模块,由启动控制模块、怠速控制模块、调速控制模块三个小模块组成,主要是根据状态判断来判定发动机当前所处的不同运行状态,采用不同的油量控制策略,便于进行模块化改进和移植。
油量切换和补偿模块,据发动机上传感器采集到的不同冷却水温度、进气压力和温度等对喷油量进行补偿,同时对不同控制模块间作油量平稳过渡的切换控制。
油量量化模块,由定时模块和脉宽模块组成,其功能是结合当前的发动机转速等状态信息将状态油量控制模块给出的油量量化为基于发动机运行相位的喷射定时和喷射脉宽,最后控制柴油机电控单体泵在给定燃油压力下将燃油在指定时刻以指定持续时间喷入汽缸,实现柴油机工作循环的燃油供给,以此进行柴油机油量控制算法验证。
如图3所示,本实施例基于MATLAB算法输出的电控柴油机油量控制方法的实现过程主要由传感器信号采集例程、油量控制算法和底层驱动例程组成。
传感器信号采集例程是油量控制算法与驾驶员的接口。其主要功能在于正确理解驾驶员的操纵意图并兼顾发动机当前参数,将其解析为油量控制算法能够识别的数字形式。该例程采集对象主要是驾驶员的各种操作信息和发动机参数。
油量控制算法是对发动机的不同状态和各状态转换时的喷油量和喷油定时进行控制,以满足驾驶员的操作要求。为了能取得较好的控制效果,需要获取发动机当前的参数如转速、水温、增压压力和增压温度,以及加速踏板、变速箱和车载附件状态等信息。从油量控制模块得到的是每缸每循环基本喷油量和基本喷油定时,代表了驾驶员的操作需求。
底层驱动模块则是根据目标喷油量和定时控制的要求来驱动燃油喷射***和附件执行器。其中喷射驱动必须与转角信号同步,并根据蓄电池电压进行相应的补偿。
该方法的实现过程首先是传感器信号采集例程采集转速、油门位置和冷却水温度等输入信息,油量控制算法根据这些发动机状态信息判断发动机的运行状态,根据不同的状态采用不同的油量控制算法,将计算得到的喷射油量和喷射定时等喷射参数转化为电控单元微控制器能够识别的时钟或者事件,结合采集到的转角脉冲相位信号,通过底层驱动例程发出驱动控制信号,驱动电控单体泵进行燃油喷射,完成电控单元的控制任务。
如图4所示为油量控制算法从MATLAB/Simulink模型到飞思卡尔的MPC500系列控制器的移植过程。其过程由五个步骤组成,依次是设置MATLAB环境和CodeWarrior环境,建立油量控制模型,算法输出,在CodeWarrior Project中导入算法和建立控制任务。
MATLAB环境需指定其算法输出的编译工具,CodeWarrior的路径及代码生成的存放路径等信息;同样,在CodeWarrior中也需设置MATLAB的调用路径,代码库文件的访问路径等信息。油量控制模结构型如图2所示,该模型可以在Simulink环境下进行多种方式的仿真,以确保其符合设计意图。算法输出时***会自动将代码生成,并自动调用CodeWarrior 环境,建立一个叫做子***的工程(subsystem project)。在CodeWarrior 工程中导入算法,即将MATLAB生成的工程中的库文件(RTWLibraries)和工程文件(ModelFiles)添加到CodeWarrior的工程中,并进行编译链接;建立控制任务,主要是subsystem.c 文件中有两个关键的函数, Subsystem_initialize () 和Subsystem_step()。Subsystem_initialize ()用于初始化且在控制任务开始前执行一次,Subsystem_step()用于计算每次的控制值。在控制任务中需要按照指定控制周期执行。
如图5所示为电控单元ECU整体软件结构,由三部分组成,分别是硬件平台、底层软件和上层软件。
硬件平台由接口电路、驱动模块和存储器组成,接口电路实现传感器信号滤波和转化,形成标准TTL电平,驱动模块根据电控单元微控制器输出的喷射脉宽和喷射定时形成对应形状的单体泵电磁阀驱动电流,控制电控单体泵电磁阀的开关时刻和持续时间,驱动电控单体泵泵体建立喷射油压和实现向汽缸内喷射高压燃油。
底层软件部分中的存储器资源管理负责对外扩存储的操作和管理,中断仲裁调度负责中断事件管理,根据电控单元微控制器不同的片上资源模块将相应资源的驱动写成模块驱动例程;同时根据控制任务的需要写成基本任务例程,例程的函数的输入输出均为空,通过全局变量来实现数据传递,供油量控制算法进行调用。
上层软件主要由油量控制算法组成。
Claims (7)
1.一种基于MATLAB算法输出的电控柴油机油量控制开发***,其特征在于:包括:
一个PC机油量管理开发平台,由MATLAB/Simulink算法开发平台和CodeWarrior编译开发环境组成;将MATLAB/Simulink油量控制算法模型进行算法输出生成油量控制算法,并和底层软件的传感器信号采集例程、驱动例程一起编译链接生成可执行的elf文件;
一个BDM背景调试模式接口,用于下载elf文件到电控单元ECU存储器中;
一个电控单元ECU,采集电控单体泵柴油机传感器信号,结合存储器中的油量控制算法,计算出该发动机工况下需要的喷射油量和喷射定时,并将喷射油量转化为该工况下的喷射脉宽,最后控制柴油机电控单体泵在给定燃油压力下将燃油在指定时刻以指定持续时间喷入汽缸,实现柴油机工作循环的燃油供给,以此进行柴油机油量控制算法验证。
2.根据权利要求1所述的基于MATLAB算法输出的电控柴油机油量控制开发***,其特征在于:PC机油量管理开发平台采用MATLAB/Simulink算法开发平台进行油量控制算法的模块化建模和仿真,利用其算法输出功能将控制算法模型自动生成标准的C代码,用以集成到整个电控单元ECU软件中。
3.根据权利要求1或2所述的基于MATLAB算法输出的电控柴油机油量控制开发***,其特征在于:在CodeWarrior编译开发环境下根据电控单元ECU中微控制器的不同模块和不同的控制对象要求,手写C代码封装这些控制要求成为底层软件,从而实现底层软件的模块化。
4.一种基于MATLAB算法输出的电控柴油机油量控制开发方法,其步骤如下:
根据柴油机上的信号传感器输入处理与驱动输出需求,在CodeWarrior编译开发环境下采用标准的C代码编写对应的模块驱动例程,包括传感器信号采集例程和驱动例程,并将其封装成功能函数,形成底层软件;
根据柴油机的控制功能需求,在MATLAB/Simulink开发环境下建立油量控制模型,并在该环境下进行仿真分析;
将油量控制模型进行算法输出,自动生成标准C代码组成的油量控制算法;
在CodeWarrior编译开发环境下将油量控制算法和底层软件进行集成,编译生成可执行的elf文件,并用BDM背景调试接口将其下载到电控单元存储器中。
5.根据权利4要求所述的基于MATLAB算法输出的电控柴油机油量控制方法,其特征在于:底层软件是根据电控单元微控制器不同的片上资源模块将相应资源的驱动写成模块驱动例程;同时根据控制任务的需要写成基本任务例程,例程的函数的输入输出均为空,通过全局变量来实现数据传递;基于MATLAB/Simulink的油量控制模型由四部分组成,分别是发动机运行状态判断模块、状态油量控制模块、油量切换和补偿模块及油量量化模块;
其中状态油量控制模块由启动控制模块、怠速控制模块和调速控制模块组成,油量量化模块由定时模块和脉宽模块组成,另有输入信号接口和输出信号接口作为模型的输入与输出。
6.根据权利要求4或5所述的基于MATLAB算法输出的电控柴油机油量控制开发方法,其特征在于:基于MATLAB/Simulink的油量控制模型,其油量控制方法实现步骤如下:
发动机运行状态判断,根据发动机传感器采集到的转速、油门位置和冷却水温等输入信息判断发动机的运行状态,以便根据不同的状态采用不同的油量管理方法;
依据状态判断,由启动控制模块、怠速控制模块和调速控制模块中某一个模块的控制策略根据转速和油门位置等输入信号计算出当前做功循环的喷油量;
根据发动机传感器采集到的不同冷却水温度、进气压力和温度等对喷油量进行补偿,同时对不同控制模块间作油量平稳过渡的切换控制;
通过查询定时模块和脉宽模块,结合当前的发动机状态信息,将油量控制模块给出的喷油量量化为基于发动机运行相位的喷射定时和喷射脉宽,从而完成电控单元主要的油量控制任务。
7.根据权利要求4或5所述的基于MATLAB算法输出的电控柴油机油量控制方法,其特征在于:基于MATLAB/Simulink的油量控制模型,其算法输出生成C代码后,集成到整个控制软件中,分为五个步骤:
设置MATLAB环境和CodeWarrior环境;
建立油量控制模型;
算法输出;
在CodeWarrior Project中导入算法;
建立控制任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012103145535A CN102777277A (zh) | 2012-08-30 | 2012-08-30 | 基于matlab算法输出的电控柴油机油量控制开发***和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012103145535A CN102777277A (zh) | 2012-08-30 | 2012-08-30 | 基于matlab算法输出的电控柴油机油量控制开发***和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102777277A true CN102777277A (zh) | 2012-11-14 |
Family
ID=47122343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012103145535A Pending CN102777277A (zh) | 2012-08-30 | 2012-08-30 | 基于matlab算法输出的电控柴油机油量控制开发***和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102777277A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304194A (zh) * | 2017-09-01 | 2018-07-20 | 潍柴动力股份有限公司 | 一种程序的生成方法、装置及电子设备 |
CN109113882A (zh) * | 2018-08-27 | 2019-01-01 | 车行天下网络科技股份有限公司 | 一种柴油车发动机传感器智能数据优化装置 |
CN114137873A (zh) * | 2021-11-23 | 2022-03-04 | 中船动力研究院有限公司 | 发动机的程序开发方法及装置、发动机的控制*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207860A (zh) * | 2010-03-31 | 2011-10-05 | 比亚迪股份有限公司 | 一种嵌入式软件开发方法 |
CN102262393A (zh) * | 2010-05-24 | 2011-11-30 | 赵奇 | 一种半实物实时仿真***及实现快速原型控制的方法 |
CN202140184U (zh) * | 2011-06-24 | 2012-02-08 | 霸州市华威发动机技术有限公司 | 一种电控柴油/燃气双燃料发动机喷油量控制的装置 |
-
2012
- 2012-08-30 CN CN2012103145535A patent/CN102777277A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207860A (zh) * | 2010-03-31 | 2011-10-05 | 比亚迪股份有限公司 | 一种嵌入式软件开发方法 |
CN102262393A (zh) * | 2010-05-24 | 2011-11-30 | 赵奇 | 一种半实物实时仿真***及实现快速原型控制的方法 |
CN202140184U (zh) * | 2011-06-24 | 2012-02-08 | 霸州市华威发动机技术有限公司 | 一种电控柴油/燃气双燃料发动机喷油量控制的装置 |
Non-Patent Citations (1)
Title |
---|
于世涛: "基于扭矩控制的电控单体泵柴油机仿真模型的研究", 《内燃机工程》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304194A (zh) * | 2017-09-01 | 2018-07-20 | 潍柴动力股份有限公司 | 一种程序的生成方法、装置及电子设备 |
CN108304194B (zh) * | 2017-09-01 | 2021-08-20 | 潍柴动力股份有限公司 | 一种程序的生成方法、装置及电子设备 |
CN109113882A (zh) * | 2018-08-27 | 2019-01-01 | 车行天下网络科技股份有限公司 | 一种柴油车发动机传感器智能数据优化装置 |
CN109113882B (zh) * | 2018-08-27 | 2020-08-18 | 车行天下网络科技股份有限公司 | 一种柴油车发动机传感器智能数据优化装置 |
CN114137873A (zh) * | 2021-11-23 | 2022-03-04 | 中船动力研究院有限公司 | 发动机的程序开发方法及装置、发动机的控制*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102345529B (zh) | 用于内燃机的egr和增压的基于模型的多变量控制方法 | |
CN106200625B (zh) | 混合动力客车整车控制器硬件在环仿真测试平台 | |
CN109002290A (zh) | 一体化ecu嵌入式目标代码自动生成器及自动生成方法 | |
CN102306223B (zh) | 基于hla技术的船舶燃气轮机装置集成仿真***及其实现方法 | |
CN106545427A (zh) | 一种用于小型汽油机空燃比精确控制的***及方法 | |
CN106704012A (zh) | 甲醇‑柴油双燃料发动机控制***和方法 | |
CN104408271A (zh) | 一种基于模型的汽油机标定方法 | |
US10794310B2 (en) | Engine control system and method | |
CN101251050A (zh) | 用于直喷式发动机的多次喷射混和 | |
CN102777277A (zh) | 基于matlab算法输出的电控柴油机油量控制开发***和方法 | |
CN102915386A (zh) | 基于HLA的Adams仿真模型集成平台及方法 | |
CN112257276A (zh) | 一种发动机实时虚拟标定***及其仿真建模方法 | |
CN103543739B (zh) | 一种用于验证发动机怠速启停控制的仿真***和方法 | |
CN103869791B (zh) | 一种发动机试验集散式控制***及方法 | |
US6997164B2 (en) | Virtual pressure sensor for a common rail injection system | |
CN114003209A (zh) | 一种设备控制***构建方法及装置 | |
Guo et al. | Research on engine speed control based on tuna swarm optimization | |
CN102400808A (zh) | 校准控制***和方法 | |
CN103235519B (zh) | 一种发动机信号智能模拟方法及*** | |
Backman | Open source rapid prototyping environment | |
Li et al. | Design and application of the ECU application software components library for diesel engine | |
Liu et al. | Scalable Multi-fuel Control System Architecture for Marine Internal Combustion Engine | |
Nagaraj et al. | HIL and RCP tools for embedded controller development in hybrid vehicles | |
US20210192104A1 (en) | Method and system for internal combustion engine simulation | |
Abbondanza | Employment of Real-Time/FPGA Architectures for Test and Control of Automotive Engines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C05 | Deemed withdrawal (patent law before 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121114 |