Вопрос

Расчёт расхода топлива через OBD || датчик, не поддерживающий команды 015E и 0110

Я работал над проектом, в котором нужно было рассчитать расход топлива на основе данных с датчика OBD2. Автомобиль, на котором я проводил тестирование, не поддерживал PID 015E, отвечающий за расход топлива. Тогда я решил использовать PID 0110, отвечающий за массовый расход воздуха (MAF). Но и с ним мне не повезло (он не поддерживался). Затем я наткнулся в интернете на два источника, в которых утверждалось, что мы можем использовать абсолютное давление во впускном коллекторе (MAP) для определения массового расхода воздуха (MAF). Вот ссылки



http://www.lightner.net/obd2guru/IMAP_AFcalc.html
https://github.com/oesmith/obdgpslogger/blob/master/doc/mpg-calculation



Я также наткнулся на исследовательскую работу, в которой описывались различные способы расчёта MAF. Вот ссылка:



https://www.researchgate.net/publication/285614280_Оценка_влияния_манеры_вождения_на_мгновенный_расход_топлива.



Я попробовал и реализовал формулы из приведенных выше ресурсов, чтобы косвенно рассчитать MAF, а затем в конечном итоге получить расход топлива, но конечный результат слишком нереалистичен, например, я получал расход топлива 2,6 галлона в секунду. Теперь я знаю, что можно каким-то образом рассчитать расход топлива косвенно, потому что другое приложение, а именно "Крутящий момент", могло рассчитать расход топлива на том же автомобиле при тех же условиях и дало что-то вроде 0,000066 галлонов в секунду, что кажется правдоподобным. Я пытался связаться с разработчиком приложения Torque, но мне не повезло. В приведённых выше формулах использовалась переменная под названием «объёмный КПД», значение которой для моего автомобиля я принял за 70%. Пожалуйста, помогите мне. Я хочу знать, что я делаю не так, или есть какая-то другая формула, которую можно использовать.



Ниже приведены расчёты, которые я использовал в соответствии с этим пунктом исследовательской работы:



введите описание изображения здесь



Вот что я сделал:



    IMAP = (engineRPM * absolutePress) / ((airTemp + 273) / 2f);
MAF = (IMAP / 60) * (volumetricEff / 100f) * (engineDisp / 1000f) * (28.97f / 8.314f);
fuelFlow = (MAF * 3600) / (14.7f * 820) ; // l/h


Рабочий объём двигателя был указан в кубических сантиметрах, поэтому я разделил его на 1000, чтобы перевести в литры, а температуру указал в градусах Цельсия, поэтому я прибавил 273, чтобы перевести её в градусы Кельвина. Таковы были требования формулы. Я предполагаю, что объёмный КПД составляет 80 %.



Я думаю, что источником ошибки, скорее всего, является объёмный КПД, но я понятия не имею, как рассчитать объёмный КПД с помощью параметров OBD ||. В научной статье приводится другая формула, в которой не используется объёмный КПД, но я не могу её понять и использовать, думаю, она плохо отформатирована. Вот она:



введите описание изображения здесь



Здесь мне не нужна точность, мне просто нужно, чтобы расчёт расхода топлива был хотя бы правдоподобным. Точность вообще не требуется.



Перевод вопроса с Mechanics Stack Exchange
Лицензия: CC BY-SA (2.5–4.0)
Оригинальный вопрос: https://mechanics.stackexchange.com/questions/63098/calculating-fuel-flow-rate-through-obd-sensor-not-supporting-015e-and-0110-co

19 Комментариев

  1. Я использовал приведённые выше формулы для создания вспомогательных функций gnuplot



    vol_eff = 0.8322
    f_time(x) = x/1000
    f_rpm_to_rps(x) = x/60
    f_mbar_to_kpa(x) = x / 1000 * 100
    f_celcius_to_kelvin(x) = x + 273.15
    f_imap(rpm, press_mbar, temp_c) = f_rpm_to_rps(rpm) * (f_mbar_to_kpa(press_mbar) / f_celcius_to_kelvin(temp_c) / 2)
    f_maf(rpm, press_mbar, temp_c) = f_imap(rpm, press_mbar, temp_c) * vol_eff * 1.984 * 28.97 / 8.314
    f_fuel(rpm, press_mbar, temp_c) = (f_maf(rpm, press_mbar, temp_c)*3600) / (14.7*820)
    f_mileage(rpm, press_mbar, temp_c, speed_kmh) = 100 * (f_fuel(rpm, press_mbar, temp_c) / speed_kmh)

  1. Я выяснил, что формула для расчёта расхода топлива, указанная в статье, выглядит следующим образом:



    расход топлива = (MAF * 3600) / (14,7f * 820); // л/ч



    отличается на одну цифру 0 (нужно добавить ещё одну цифру 0 справа от десятичной дроби). Поэтому нам нужно разделить на 10, и тогда фактическая формула для расхода топлива будет выглядеть так:



    расход топлива = ((MAF * 3600) / (14,7f * 820)) / 10 ; // л/ч



    Кроме того, коэффициент расхода воздуха рассчитывается по формуле 1 ниже:



    IMAP = число оборотов в минуту x давление наддува / давление в коллекторе впуска / 2
    MAF = (IMAP/60) x (эффективный объём/100) x EngDisp x (объёмная масса воздуха/R)



    Вероятно, это приведёт к приблизительной оценке массового расхода воздуха, которая сильно зависит от точности объёмного КПД (Volumetric efficiency). Я предположил, что он составляет 80%. Было бы здорово, если бы существовал какой-то способ рассчитать объёмный КПД на основе параметров OBD без использования массового расхода воздуха. В противном случае вам придётся просто предположить процентное значение объёмного КПД.


  1. Мне не нужно было делить на 10, чтобы получить разумные числа.
  1. Что ж, вы правы, но мне нужна была лишь приблизительная оценка расхода топлива, а не точные данные
  1. И обратите внимание, что вы в 100 % случаев используете стехиометрическое соотношение воздуха и топлива, что встречается редко...
  1. Интересно, почему используется плотность бензина 820 граммов на литр, если в Википедии указано 755 граммов на литр. en.wikipedia.org/wiki/Gasoline#Density
  1. Я предполагаю, что вероятным источником ошибки является объёмный КПД, который, как я полагаю, меняется в зависимости от абсолютной нагрузки. Можно ли как-то оценить объёмный КПД на основе параметров OBD ||?
  1. Не могли бы вы помочь мне упростить вторую формулу? Я её не очень понимаю, потому что она плохо отформатирована.
  1. Тогда, если вы правильно указали все переменные и все преобразования единиц измерения, ваш ответ верен... Так что мне больше не о чем беспокоиться.
  1. Что бы это ни было, я убедился, что правильно указал все переменные в формуле, как и было предложено выше.
  1. Я не знаю, но, думаю, оно должно быть абсолютным, потому что MAP — это абсолютное давление в коллекторе.
  1. Итак, какое у вас значение абсолютного давления? Измеряет ли MAP абсолютное или манометрическое давление?
  1. Объёмный КПД зависит от количества воздуха, которое теоретически должно поступать в двигатель (в зависимости от объёма цилиндра, числа оборотов в минуту и тактов), по сравнению с тем, что поступает на самом деле...
  1. Не могу показать расчёты, потому что сейчас я далеко от компьютера. Опубликую их завтра.
  1. Я думаю, проблема здесь в объёмном КПД, который, насколько мне известно, не учитывается в Torque (другом приложении), если вообще учитывается.
  1. Мы, галлы. Я перешёл по этой ссылке, чтобы выполнить преобразование :. traditionaloven.com/tutorials/flow-rate/…
  1. Имперские галлоны или американские галлоны? Они отличаются... К счастью, часы, минуты и секунды не имеют значения... Показать расчёты...
  1. В данный момент я не могу их показать. Но я уверяю вас, что проверил их сто раз. Я скопировал ту же формулу, что и в научной статье, и использовал её. В конце я просто немного изменил единицы измерения, разделив результат на 13 627,48, чтобы перевести литры в час в галлоны в секунду
  1. Вам нужно показать свои расчёты, чтобы мы могли понять, где вы допускаете ошибки.
Вы уже ответили на этот вопрос