Расчет впрыска

Про байтики и логику ЭБУ
mivaol
Posts: 260
Joined: Thu Jan 30, 2014 6:00 pm

Re: Расчет впрыска

Post by mivaol »

Slip wrote:Вообще нужно иметь две возможности расчета впрыска, по ДМРВ и по ДАД. В случае с ДМРВ - это будет расчет через АФР. А в случае с ДАД - по спид денсити. Не все хотят видеть под капотом ДМРВ, особенно корчестроители..
Стоп не вали всё в кучу..
АФР Air Fuel Ratio отношение топлива к воздуху это микстура по которой делаем замес топливо-воздушной смеси, для чего нужен тот или иной AFR это дело другое..

ДМРВ считаем массу воздуха по датчику расхода воздуха
ДАД считаем массу воздуха по произведению объем цилиндра умноженного на давление воздуха
ДПДЗ считаем массу воздуха по дросселю

Потом когда масса воздуха скушанная за один цикл посчитана можно считать какое количество топлива нужно впрыснуть вот тут смотрим на целевое AFR температуру двигателя и воздуха

Иногда нужен двойной метод а в идеале даже тройной где то считаем по дмрв гдето по дпдз где то по дад .
nikll
Posts: 186
Joined: Tue Oct 15, 2013 5:45 am

Re: Расчет впрыска

Post by nikll »

Зачем тройной метод? Достаточно двойного. В случае с ДМРВ в переходных режимах он лагает поэтому приминяется расчет по дросселю. ДАД не лагает и нормально работает но как аварийный режим расчет по дросселю есть везде.
А смешивать теплое с мягким смысла не вижу, ДМРВ либо ДАД, вместе их приминять бессмысленно
Slip
contributor
contributor
Posts: 145
Joined: Thu Nov 14, 2013 9:44 am

Re: Расчет впрыска

Post by Slip »

nikll wrote:Зачем тройной метод? Достаточно двойного. В случае с ДМРВ в переходных режимах он лагает поэтому приминяется расчет по дросселю. ДАД не лагает и нормально работает но как аварийный режим расчет по дросселю есть везде.
А смешивать теплое с мягким смысла не вижу, ДМРВ либо ДАД, вместе их приминять бессмысленно
+1
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Расчет впрыска

Post by AndreyB »

Slip wrote:Вообще нужно иметь две возможности расчета впрыска, по ДМРВ и по ДАД.
ДАД кажется уже есть, ДМРВ точно будет хотя бы ради 100% PnP для Mazda MX-5. Более PnP чем системы, которые требуют добавить датчик и протянуть трубочку :)
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
mivaol
Posts: 260
Joined: Thu Jan 30, 2014 6:00 pm

Re: Расчет впрыска

Post by mivaol »

Сигнал с ДАД для лучшей точности тоже нужно фильтровать, как это реализовано сейчас?
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Расчет впрыска

Post by AndreyB »

mivaol wrote:Сигнал с ДАД для лучшей точности тоже нужно фильтровать, как это реализовано сейчас?
Извиняюсь за тормоза с ответом.

Уточнил этот момент в http://rusefi.com/wiki/index.php?title=Manual:Software:Fuel_Control#Speed_Density
ДАД сейчас это среднее между всеми 10КГц замерами АЦП в заданном окне угла КВ.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
sasha.kams
Posts: 33
Joined: Thu Aug 21, 2014 5:30 pm
Location: Russia, Saratov

Re: Расчет впрыска

Post by sasha.kams »

Этой теме нужно модерацию произвести, всё навалено в кучу, расчёт воздуха( методы), расчёт топлива, время впрыска. Что считаем?
mivaol
Posts: 260
Joined: Thu Jan 30, 2014 6:00 pm

Re: Расчет впрыска

Post by mivaol »

Тема расчет впрыска.
да тема слишком объемная.
нужно разделить.
1 расчет массы воздуха
1.1 расчет по дмрв
1.2 расчет по дросселю
1.3 расчет по ДАД
2 расчет афр
2.1 метод по цикловому наполнению
2.2 метод по дросселю
2.3 метод по ДАД
2.4 поправки афр по температуре жидкости
3 расчет массы топлива
3.1 собственно сам расчет
3.2 расчет добавки по дедтайм форсунки
3.3 расчет добавки по топливной пленке
4 расчет впрыска

Каждую тему разбить на под темы и попытаться не усложнить
mivaol
Posts: 260
Joined: Thu Jan 30, 2014 6:00 pm

Re: Расчет впрыска

Post by mivaol »

Кстати сам метод как я понимаю определяется на этапе компиляции?
То есть если метод не выбран то в компиляцию не включается?
Наверно нужно поэтапно двигаться
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Расчет впрыска

Post by AndreyB »

mivaol wrote:Кстати сам метод как я понимаю определяется на этапе компиляции?
То есть если метод не выбран то в компиляцию не включается?
нет, это всё настраивается динамически. там есть возможность какие-то подсистемы не компилировать, но это для других целей
mivaol wrote:Наверно нужно поэтапно двигаться
угу
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
meXanicus
contributor
contributor
Posts: 314
Joined: Sat Dec 21, 2013 2:42 pm
Location: Russia, Rostov-na-Donu

Re: Расчет впрыска

Post by meXanicus »

По дмрв, дад и дросселю расчет привести к цикловому наполнению. И везде уже использовать его (ЦН)? Но для каждого вида измерения наполнения потребуются свои вспомогательные таблицы.
Я на Drive2 Alfa Romeo 156 SW
mivaol
Posts: 260
Joined: Thu Jan 30, 2014 6:00 pm

Re: Расчет впрыска

Post by mivaol »

Андрей скоро нужен будет новый подход к вычислению впрыска.
Во первых разделить воздух и количество топлива связав через AFR.
Для старта расчитывать воздух можно будет только по ДАД для остального топливо напрямую рассчитывается.
Сигнал с ДМРВ уже в скором времени ты сможешь измерить переведя в стационарных режимах в реальные миллиграммы на цикл.
После ввести экстраполяцию по дросселю(резкое перемещение дросселя) по таблице базового циклового наполнения(БЦН) для начала.
Для ДАД уже как понимаю готов алгоритм фильтрации и высчитать можно именно воздух.
По дросселю собственно таблица БЦН и температура воздуха.
Для всех трех методов будет таблица поправка циклового наполнения(аналог VE) от дросселя.

Кто добавит что я упустил касательно воздуха ?
mivaol
Posts: 260
Joined: Thu Jan 30, 2014 6:00 pm

Re: Расчет впрыска

Post by mivaol »

meXanicus wrote:По дмрв, дад и дросселю расчет привести к цикловому наполнению. И везде уже использовать его (ЦН)? Но для каждого вида измерения наполнения потребуются свои вспомогательные таблицы.
На то они и разные методы вычисления, хотя таблица поправки одна только её две для дмрв своя для дад своя для дросселя она уже не нужна.
И для ДМРВ и для ДАД таблица по осям обороты-дроссель, у дросселя просто уже есть таблица БЦН от обороты дроссель.
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Расчет впрыска

Post by AndreyB »

У нас процессуальная каша :( Мы валим всё в одну кучу и мешаем друг другу.

1) предлагаю временно тему работы по дроссерю закрыть, сейчас на эту тему ресурсов нет и она только мешает.

2) эффект топливной плёнки тоже откладываем, но в менее долгий ящик. Завёл тикет https://sourceforge.net/p/rusefi/tickets/143/ для топливной плёнки, чтоб вернуться к этой теме скоро (но не сейчас)

3) обработка ДАД - см. новое сообщение в http://rusefi.com/forum/viewtopic.php?f=9&t=230&start=100#p14159

4) сейчас на верху моих приоритетов - рассчёт воздуха по ДМРВ, см. новую тему http://rusefi.com/forum/viewtopic.php?f=9&t=824

Ну а в общем и целом: хотелось бы темы начать обсуждать с учётом конкретной существующей имплементации. Мы тут уже не новую прошивку пишем каждый день, мы тут уже изменяем то, что уже есть. Возможно это означает, что для начала нужно задокументировать то, что есть - чтоб было понятно, что обсуждать и как обсуждать именно изменения.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Расчет впрыска

Post by AndreyB »

mivaol wrote:разделить воздух и количество топлива связав через AFR
Я там сомневался по поводу лишнего деления - мне хотелось перегруппировать множители, чтоб было только одно деление (деление - самая дорогая операция, дороже умножения)

Сейчас я решил чуть меньше экономить на спичках, так что переписал код и документацию в более понятном порядке множителей:

Code: Select all

	// todo: pre-calculate cylinder displacement to save one division
	float cylinderDisplacement = engineConfiguration->specs.displacement / engineConfiguration->specs.cylindersCount;
	float airMass = (cylinderDisplacement * VE * MAP) / (GAS_R * tempK);
	/**
	 * injection_pulse_duration = fuel_mass / injector_flow
	 * fuel_mass = air_mass / target_afr
	 *
	 * injection_pulse_duration = (air_mass / target_afr) / injector_flow
	 */
	return airMass / (AFR * injectorFlowRate);
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
mivaol
Posts: 260
Joined: Thu Jan 30, 2014 6:00 pm

Re: Расчет впрыска

Post by mivaol »

То есть?
если 416/14.74 заменить на 416*0.0678426 то второй вариант выигрышный, то я только за, главное не запутаться при написании кода. И сделать компилятор из понятных в тюнерстудии 14.74 в число в прошивке 0.0678426
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Расчет впрыска

Post by AndreyB »

в этом варианте два деления, но понятнее человеку

Code: Select all

float airMass = (cylinderDisplacement * VE * MAP) / (GAS_R * tempK);
return airMass / (AFR * injectorFlowRate);
в этом варианте одно деление, но запутаннее

Code: Select all

return (cylinderDisplacement * VE * MAP) / (GAS_R * tempK * AFR * injectorFlowRate);
не важно. это был мой микро-заскок, проблемы в этом быть не должно. мы намного чаще тратим ресурсы в других местах, для начала нужно оптимизировать другие места. вот только ни один их нескольких программистов на форуме не хочет взяться за скучный http://rusefi.com/forum/viewtopic.php?f=5&t=818
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
S.Faschevsky
Posts: 18
Joined: Fri Jul 17, 2015 6:45 am

Re: Расчет впрыска

Post by S.Faschevsky »

Здравствуйте уважаемые форумчане, помогите с алгоритмом расчета смеси! Если не трудно, изложите весь материал научно-популярно и в одном месте. Я просто запутался в алгоритмах и переменных. Есть ли "разложенная по полочкам", "разжеванная" информация. Хотелось бы увидеть подробное описание алгоритма расчета с привязкой к названиям переменных. откуда и что брать, как лучше реализовать. Помогите если не сложно. С железом вроде все прояснилось, а вот ПО, пока тяжеловато
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Расчет впрыска

Post by AndreyB »

Полные формулы: http://rusefi.com/wiki/index.php?title=Manual:Software:Fuel_Control#Full_Formulas

Если с ПО тяжеловато, то может быть проще использовать существующее ПО :)
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
S.Faschevsky
Posts: 18
Joined: Fri Jul 17, 2015 6:45 am

Re: Расчет впрыска

Post by S.Faschevsky »

Тяжеловато в плане пояснения что откуда и куда. Немного хромает английский. Использовать готовое решение слишком просто! Надо разобраться, а то ничего работать не будет и быстро пропадет интерес
denisvak
Posts: 403
Joined: Thu Oct 03, 2013 8:00 pm

Re: Расчет впрыска

Post by denisvak »

S.Faschevsky wrote:Тяжеловато в плане пояснения что откуда и куда. Немного хромает английский. Использовать готовое решение слишком просто! Надо разобраться, а то ничего работать не будет и быстро пропадет интерес
Идем на сайт СМСа и ищем там файл справки к он лайнику 5.1 или гуглим тоже самое, а там и все в формулах и ссылках что откуда, зачем и почему...
Для начала этого с головой.
S.Faschevsky
Posts: 18
Joined: Fri Jul 17, 2015 6:45 am

Re: Расчет впрыска

Post by S.Faschevsky »

MAF

MAF-based table fuel lookup with interpolation
fuel_squirt_duration = injector_lag_curve_lookup(V_BATT) + warm_up_curve_lookup(COOLANT_TEMPERATURE) * intake_air_correction_curve_lookup(INTAKE_AIR_TEMP) * fuel_table_lookup(RPM, MAF)
where MAF is the reading at the start of engine cycle
Продолжительность_впрыска_топлива = лаг_форсунки_от_напряжения(напряжение_питания) + температурная_корректировка_впрыска(температура_ОЖ) * температурная_коррекция_всасываемого_воздуха(температура_всасываемого_воздуха) * таблица_топливного_наполнения(обороты_КВ, МРВ)

Продолжительность_впрыска_топлива - время импульса открытия форсунки.
лаг_форсунки_от_напряжения(напряжение_питания) - корректировка, компенсация переходных процессов в форсунке от напряжения питания
температурная_корректировка_впрыска - регулировка смеси в зависимости от температуры двигателя (как составить?)
температурная_коррекция_всасываемого_воздуха - корректировка по температуре всасываемого воздуха (температура воздуха на впуске) (как составить?)
таблица_топливного_наполнения - исходя из вышеописанного, как составить эту таблицу? просто кататься с широкополосным датчиком кислорода?
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Расчет впрыска

Post by AndreyB »

Speed Density формула ближе к реальности, табличный MAF дальше от реальности. Таблицы поправки примерно с потолка, главная таблица - кататься с широкополосным датчиком кислорода.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Post Reply