发动机负荷率的车载实时统计方法
技术领域
本发明涉及一种发动机负荷率的车载实时统计方法,是在车辆运行中自动统计发动机各工况运行时间和计算发动机负荷率的方法,适用于装配有发动机电控单元或整车电控单元的商用车或乘用车,对提高整车的燃油经济性有指导作用。
背景技术
随着国家排放法规国III的正式实施,装配有电控柴油机的商用车越来越多地投放市场。电控柴油机一方面使汽车排放性能大大改善,另一方面,燃油消耗率也明显低于机械式的柴油机。即便如此,随着燃油价格的一路飙升,燃油经济性始终是汽车制造商和广大终端用户比较关注的问题。
发动机实验台架上的标定数据表明,燃油消耗率与发动机的运行工况息息相关。为了改善燃油经济性,发动机大部分时间必须运行在特定的工况区域。车辆在实际运营中,其经常使用的发动机工况区间有着不同的地区差异性,并和驾驶人员的操作习惯有关。汽车制造厂商对销售到各个地区的车辆历史运行情况进行分析,如果能得到车辆在某个地区的发动机运行时间最多的工况点位置,也就是负荷率统计信息,就可在试验台架上对该工况进行有针对性的燃油消耗率优化,从而大大改善所售车辆的整体的燃油经济性。另一方面,有了这些信息,车队管理者可对司机的驾驶习惯进行改善指导,使发动机尽量运行在燃油消耗率较低的工况区间。
目前,在发动机试验室,已有很多的台架自动检测装置,能做到对发动机的运行工况进行实时监控、记录和显示,但这些装置的目的是为了满足发动机试验的需要而开发的,其体积庞大,价格昂贵,不可能应用到产品化的车辆上。
行驶记录仪是商用车和乘用车常常配置的电子产品,它在车辆行驶过程中能自动记录发动机转速、车速和车辆行驶里程等信息,但并不具备自动统计和计算发动机负荷率的功能。
随着汽车电子技术的发展,发动机电控单元和整车电控单元的出现大在提高了汽车的智能化程度。这些电控单元形式多样,其软件的控制策略也相当复杂,在车辆行驶过程中已能自动记录很多的发动机运行和整车行驶的状态等信息,但对于发动机各个工况区间运行时间的自动记录,并能根据统计结果计算出负荷率的功能,至今仍未见有报道。
发明内容
本发明的目的是提供一种发动机负荷率的车载实时统计方法,在装配有发动机电控单元和整车电控单元的车辆上,设计出相应的软件算法,在不增加车辆硬件成本的基础上,实现了发动机各个工况区间运行时间的监控和负荷率统计功能。
本发明的技术方案:本发明的发动机负荷率的车载实时统计方法,做法如下:
1)将发动机转速由低到高划分成m个点,将发动机输出扭矩由低到高划分成n个点,组成存储m*n个工况区间运行时间的数据存储表格,由一个二维数组TIME[m][n]表示,存储在整车电控单元的RAM中;
2)当发动机运行时,整车电控单元通过CAN总线采集发动机电控单元发来的发动机转速和扭矩数据,通过查表找到二维数组TIME[m][n]中对应的元素,将发动机该工况区间的运行时间进行累加;
3)在整车电控单元断电前,存储在整车电控单元RAM中的数据表格TIME[m][n]被复制到EEPROM中进行保存;
4)在整车电控单元重新上电时,根据EEPROM中读出的数据存储表格对RAM中的二维数组TIME[m][n]进行初始化;
5)诊断仪通过标准诊断接口和诊断协议ISO15765读取存储在整车电控单元RAM中的数据表格TIME[m][n],然后计算得到各工况区间的负荷率参数,任意一个工况区间的负荷率值为:
工况[i][j]的负荷率(%)=工况[i][j]的运行时间*100/所有工况运行时间的总和,i是m个点的任意一个,j是n个点的任意一个。
所述的发动机负荷率的车载实时统计方法,其步骤2)具体为:
1)整车电控单元读取当前的发动机转速;在0-Nmax的m个转速区间中,通过比较值的大小,得到当前发动机转速所属的区间i;
2)读取当前的发动机扭矩,在0-Tmax的n个扭矩区间中,通过比较值的大小,得到当前发动机扭矩所属的区间j;
3)工况区间[i][j]计时;
4)对发动机转速和扭矩进行实时计算,对数组TIME[m][n]中相应元素所代表的发动机工况区间自动更新,累加并记录每个工况的运行时间。
所述的发动机负荷率的在线统计方法,m的范围从7到15;n的范围从9到20。
所述的发动机负荷率的车载实时统计方法,其特征在于:累加计时的精度为t=0.5~2秒。
本发明的优点:本发明具有在车辆行驶过程中自动统计和计算发动机负荷率的功能。通过发动机负荷率,可以直观地了解发动机在什么工况区间运行时间较多,在什么工况区间运行时间较少,从而为标定工程师进行有针对性的燃油经济性优化提供参照。
附图说明
图1负荷率统计功能的数据处理流程及硬件示意图。
图2工况区间划分数据表格。
图3整车电控单元软件中记录工况运行时间的程序框图。
图4诊断仪软件中计算负荷率的程序框图。
具体实施方式
图1显示的是本实用新型完成负荷率统计功能所用到的控制单元和诊断仪连接图,以及数据计算处理的流程。
发动机电控单元采集转速传感器信号,计算出发动机转速值;然后根据发动机转速值和发动机的喷油量,查表计算出发动机扭矩值。发动机电控单元按照SAE J1939协议,将发动机转速和发动机扭矩发送到CAN总线。
整车电控单元从CAN总线上接收到发动机转速和发动机输出扭矩信号,输入到运算处理模块。
发动机转速和发动机扭矩值决定了发动机的运行工况点。将发动机转速从最低到最高划分成m个点(一般范围从7到15),发动机输出扭矩从最低到最高也划分成n个点(一般范围从9到20),具体区间的大小取决于控制单元存储器的大小、存储时间的长短以及细化区间的必要性。这样,就形成了一张工况点区间数据存储表格,如图2所示(图中共有m*n个工况区间)。在控制单元的软件中,这张区间表格由一个二维数组TIME[m][n]表示,存储在整车电控单元的RAM中,用来存放发动机每个工况区间的总的运行时间。运行时间存储的精度取决于用户,推荐精度为1~2秒,精度低虽然可以减少存储空间,但是影响运行时间计算的准确性。
如图3:当发动机运行时,
1)整车电控单元读取当前的发动机转速;在0-Nmax的m个转速区间中,通过比较值的大小,得到当前发动机转速所属的区间i;
2)读取当前的发动机扭矩,在0-Tmax的n个扭矩区间中,通过比较值的大小,得到当前发动机扭矩所属的区间j;
3)工况[i][j]累加计时。
根据以发动机转速和扭矩进行实时计算,对数组TIME[m][n]中相应元素所代表的发动机工况区间的时间进行累加:TIME[i][j]=TIME[i][j]+t,t=0.5~2秒;自动更新,以记录每个此工况的运行时间。
在整车电控单元断电前,存储在RAM中的数据存储表格TIME[m][n]会被复制到EEPROM中进行保存。
在整车电控单元重新上电时,根据EEPROM中读出的数据存储表格对RAM中的二维数组TIME[m][n]进行初始化
诊断仪通过标准诊断接口和诊断协议ISO15765,读取存储在整车电控单元RAM中的数据存储表格TIME[m][n]。
图4是诊断仪中的软件程序框图:计算负荷率参数,其计算公式如下:
任意一个工况区间的负荷率值(%)为:
RATE[i][j]=TIME[i][j]*100/(TIME[1][1]+TIME[1][2]+....+TIME[m-1][n-1])
工况[i][j]的负荷率=工况[i][j]的运行时间*100/所有工况运行时间的总和。