Каков наилучший способ получения расхода топлива (MPG) с использованием параметров OBD2?

Каков наилучший способ получить расход топлива (MPG) с использованием параметров OBD2.

Ниже приведена простая, но не самая точная формула, любая другая формула позволяет получить точную оценку. Значение скорости автомобиля указывается в км/ч, а для пересчета в мили - на 0,621317. Для расчета MPG разделите MPH на GPH. Окончательное математическое выражение для MPG будет:

Для бензинового двигателя

MPG =VSS * 7.718/MAF

Я хотел бы знать для дизельного двигателя для расчета мгновенного потребления. Также я пытаюсь рассчитать его независимо от модели автомобиля по параметру, доступному из стандарта obd2.


Некоторые ссылки, которые могут быть полезны для тех, кто ищет в той же теме.

Ответ 1

Это формула для мгновенного потребления.

Если вы хотите выработать среднее потребление, выработайте общий объем топлива, используемого с течением времени, и разделите его на общее расстояние, пройденное за тот же период.

ОБНОВЛЕНИЕ: Это отношение ДОЛЖНО. если вы не хотите расплавить поршни или потерять энергию. Соотношение воздух/топливо не должно изменяться, если вы не измените тип топлива, например. до 102 октана. Бензин или этанол. Этот расчет, вероятно, самый точный, который вы получите, если не хотите сделать его ужасно сложным

  • включая показания всех шести датчиков O2 для проверки оптимального сгорания,
  • Факторы, влияющие на температуру двигателя (более холодные двигатели позволяют улучшить сгорание, поскольку это позволяет более плотный кислород во впускном коллекторе),
  • правильно ли настроен выбор времени или нет (что вам нужно будет проверить на основе данных).
  • и все остальное, что я забыл.

Имейте ввиду, что вы работаете на Toyota: у Toyota есть дополнительный датчик, который фактически измеряет, сколько топлива впрыскивается в двигатель. Поэтому вы можете просто прочитать этот PID. Но для других автомобилей данная формула является стандартом.

ОБНОВЛЕНИЕ 2: некоторые общие соотношения воздух/топливо:

  • Природный газ: 17.2
  • Бензин: 14.7
  • Пропан: 15,5
  • Этанол: 9
  • Метанол: 6.4
  • Водород: 34
  • Дизель: 14.6

Вам также необходимо учитывать, что когда двигатель находится под большими нагрузками, соотношение воздух/топливо изменяется вниз.

Ответ 2

Если вы можете прочитать ширину импульса инжектора и разделить по скорости, вы можете получить мгновенное потребление. Если у вас есть общее количество топлива и расстояние, вы можете получить среднее значение. Получение ширины импульса инжектора - это прямой способ получить расход топлива. Это фактическое количество впрыскиваемого топлива (ну, это время, когда инжектор открыт, но расчет того, сколько впрыскивается легко в этот момент).

Ответ 3

Существует команда OBDII (01 5E), которая даст вам расход топлива в час. Я работаю с клиентом С#/Xamarin, не уверен в Java?

Если это невозможно, вы можете использовать значения VSS и MAF для расчета l/100km: (3600 * MAF)/(9069.90 * VSS). MPG потребуется дополнительная настройка, но это достаточно просто.

Кроме того, чтобы сделать значение скорости универсальным, реализуйте скорость как класс и выставляйте имперские и метрические свойства, например (С#):

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;
    }
}

Если вы хотите рассчитать это значение с течением времени, почему бы не просто сохранить каждый непосредственный расчет, а затем получить средний?

Надеюсь, что это поможет.

Ответ 4

Более подробный вывод удельного расхода топлива (скорость по расходу топлива):

SFC equation

Тогда при условии плотности топлива 0,75 кг/л:

enter image description here