使用OBD2参数获得燃料消耗(MPG)的最佳方法是什么?

时间:2013-06-18 13:48:28

标签: obd-ii

使用OBD2参数获取燃油消耗(MPG)的最佳方法是什么?

下面的公式很简单,但不是最准确,任何其他公式来获得准确的估计。车速的值以Km / Hr表示,转换为英里乘以0.621317。计算MPG除以GPH的MPH。 MPG的最终数学表达式为:

汽油发动机

MPG =VSS * 7.718/MAF

我想知道Diesel Engine计算即时消耗量。此外,我试图从obd2标准的参数中独立于汽车模型计算它。


某些链接可能对正在查看同一主题的人有用。

4 个答案:

答案 0 :(得分:9)

这是即时消费的公式。

如果你想计算平均消耗量,计算出一段时间内使用的总燃料量,除以同一时期的总行驶距离。

更新:这就是比率应该是什么。除非你想熔化活塞或失去动力。除非你改变燃料的类型,否则不应改变空气/燃料比。到102辛烷值汽油或乙醇。除非你想通过

使其变得非常复杂,否则这个计算可能是你得到的最准确的
  1. 包括来自所有六个O2传感器的读数,以验证发生了最佳燃烧,
  2. 考虑发动机温度(冷却器发动机允许更好的燃烧,因为它允许更密集的氧气进入进气歧管),
  3. 是否正确设置了时间提前量(您必须根据数据表进行检查)。
  4. 以及我遗漏的任何其他内容。
  5. 请注意,在您正在使用丰田汽车的机会中:丰田有一个额外的传感器,可以实际测量燃油注入发动机的燃油量。所以你可以读取那个PID。但对于其他车型,给定的公式是标准。

    更新2:一些常见的空气/燃料比率:

    1. 天然气:17.2
    2. 汽油:14.7
    3. 丙烷:15.5
    4. 乙醇:9
    5. 甲醇:6.4
    6. 氢:34
    7. 柴油:14.6
    8. 您还需要考虑当发动机处于高负荷时,空气/燃料比率会向下变化。

答案 1 :(得分:2)

如果您可以读取喷油器脉冲宽度并除以速度,您可以获得即时消耗。如果你有使用的总燃料和距离,你可以得到平均值。获得喷油器脉冲宽度是获得燃油消耗的直接方式。它是实际喷射的燃油量(嗯,这是喷油器打开的时间,但计算喷射的程度很容易)。

答案 2 :(得分:1)

有一个OBDII命令(01 5E)可以为您提供每小时的燃油消耗率。我有它与C#/ Xamarin客户端合作,不确定Java?

如果没有,则可以使用VSS和MAF值计算l / 100km:(3600 * MAF)/(9069.90 * VSS)。 MPG需要进一步调整,但这很简单。

此外,为了使速度值具有通用性,将速度实现为类并公开英制和公制属性,如此(C#):

public Class VehicleSpeed 
{
public int MetricSpeed
{
    get
    {
        return metricSpeed;
    }
}

/// <summary>
/// <para>getImperialSpeed.</para>
/// </summary>
/// <returns> the speed in imperial units. </returns>
public float ImperialSpeed
{
    get
    {
        return ImperialUnit;
    }
}

/// <summary>
/// Convert from km/h to mph
/// </summary>
/// <returns> a float. </returns>
public float ImperialUnit
{
    get
    {
        return metricSpeed * 0.621371192F;
    }
}

如果您想长期计算这个值,为什么不立即存储每个立即计算然后得到平均值?

希望它有所帮助。

答案 3 :(得分:0)

更详细的单位燃料消耗量(速度比燃料流量)的推导:

SFC equation

然后,假设燃料密度为0.75kg / l:

enter image description here