Обсуждение алгоритмов впрыска (Injection algorithms)
Moderator: STC
- hc13nx2
- LQFP112 - Up with the play
- Posts: 130
- Joined: Tue Apr 12, 2011 11:58 pm
- Location: Херсон
- Contact:
Re: Обсуждение алгоритмов впрыска.
Всем доброго времени суток, хочу выложить книгу 70х годов по исследованию и конструированию впрысковых систем ДВС.
http://www.onlinedisk.ru/file/753071/
http://www.onlinedisk.ru/file/753071/
ВАЗ-2108 1300 SPIRT+MPSZ CDI
- hc13nx2
- LQFP112 - Up with the play
- Posts: 130
- Joined: Tue Apr 12, 2011 11:58 pm
- Location: Херсон
- Contact:
Re: Обсуждение алгоритмов впрыска.
Немного поцитирую книгу для решения максимально эффективного алгоритма цикловой подачи.
Для lsasha7, посмотрев второй рисунок, вижу что нужно обязательно делать ЭМР, есть возможность доработать алгоритм и проверить работу?
Для lsasha7, посмотрев второй рисунок, вижу что нужно обязательно делать ЭМР, есть возможность доработать алгоритм и проверить работу?
ВАЗ-2108 1300 SPIRT+MPSZ CDI
Re: Обсуждение алгоритмов впрыска.
а вот интересный момент. возьмём две форсунки с разной производительностью. пусть у одной, скажем, 120мл/мин, у другой -- 170мл/мин. понятно, что на одном и том же двигателе, на одинаковых режимах должно быть разное время впрыска. а теперь такой момент: более производительная форсунка прыснула, и всё. а менее производительная прыснула в 1.5 раза больше времени. бензин смешался с большим количеством воздуха...
- hc13nx2
- LQFP112 - Up with the play
- Posts: 130
- Joined: Tue Apr 12, 2011 11:58 pm
- Location: Херсон
- Contact:
Re: Обсуждение алгоритмов впрыска.
И бензин смешался с тем же количеством воздуха, больше воздуха взять то не где.
ВАЗ-2108 1300 SPIRT+MPSZ CDI
-
- LQFP144 - On Top Of The Game
- Posts: 1664
- Joined: Fri Jul 01, 2011 2:10 pm
- Location: г Уфа
Re: Обсуждение алгоритмов впрыска.
угу если дозировать время впрыска чтобы уравнять количество топлива то оно и смешаеться ровно одинаково также с тем же количеством воздуха
WAZ21051 gti 1.7i SECU3Ts + mm1.2.3(1)
ВАЗ21310 1.7i Я7.2 2001г
ВАЗ21310 1.7i Я7.2 2001г
Re: Обсуждение алгоритмов впрыска.
ну как сказать. в двс процесс происходит настолько быстро, что бывает полезно представить воздух какой-то очень плотной, тяжёлой субстанцией. для пущего перемешивания рабочей смеси конструкторы двс идут на всякие хитрости -- располагают клапана под большим углом, снабжают дно поршня всякими впуклостями и выпуклостями, чтобы заряд "закручивался" при сжатии.
такая мелочь может влиять на работу на холостом ходу, на детонацию на нагрузке и ещё на что-нибудь.
такая мелочь может влиять на работу на холостом ходу, на детонацию на нагрузке и ещё на что-нибудь.
-
- LQFP144 - On Top Of The Game
- Posts: 358
- Joined: Sun Dec 12, 2010 11:55 am
- Location: украина, Горловка
Re: Обсуждение алгоритмов впрыска.
nikll
привет, может ты мне поможешь, если разбираешся в этих чудесах? (алгоритмы впрыска)
вопрос: существуют ли альтернативные методы расчета базового времени впрыска кроме заполнения таблицы VE ?
и еще ... глянь на это (файл ассемблера) предлагаю обгадить (внести коррективы) в части касаемой расчета времени впрыска комментариев там достаточно.
привет, может ты мне поможешь, если разбираешся в этих чудесах? (алгоритмы впрыска)
вопрос: существуют ли альтернативные методы расчета базового времени впрыска кроме заполнения таблицы VE ?
и еще ... глянь на это (файл ассемблера) предлагаю обгадить (внести коррективы) в части касаемой расчета времени впрыска комментариев там достаточно.
- Attachments
-
- forsunka_2_ckps.rar
- (12.26 KiB) Downloaded 777 times
-
- LQFP144 - On Top Of The Game
- Posts: 553
- Joined: Sun Nov 06, 2011 9:20 pm
- Location: Russia, Yekaterinburg
- Contact:
Re: Обсуждение алгоритмов впрыска.
Привет, lsasha7.
С алгоритмами помогу. Вариаций очень много, но так или иначе VE или нечто аналогичное необходимо в силу того что линейного наполнения просто не может быть, на разных оборотах по разному сказывается сопротивление впуска и противодавление от оставшихся в цилиндре выхлопных газов, более того благодаря резонансу на впуске-выпуске есть довольно четкие горбы и провалы наполнения в зависимости от оборотов и давления в ресивере.
С ассемблером у меня откровенно слабовато, с костылями еще могу переваривать i386 и i80, с мегой вообще не сталкивался. Ты мне лудше простым языком опиши логику алгоритмы и формулы.
Для получения времени впрыска (GTC) сначала требуется вычислить цикловое наполнение - массу заряда воздуха в цилиндре (GBC)
Вообще сейчас наиболее прогрессивной считается следующая схема расчета GBC (описываю своим языком, за подробностями в гугл):
Вычисляем базовый GBC, необходима 3D таблица поправок циклового наполнения (назовем ее VE) отражающая неравномерности наполнения движка в зависимости от оборотов и давления в ресивере, в принципе для упрощения тестирования ее можно сделать плоской но уход фактического наполнения на резонансных частотах а так же низких оборотов в режиме полного дросселя будет довольно существенным. У каждого движка своя VE, даже на одной и той же модели двигателей VE будут различаться, у одного движка немного выше компрессия, у другого впускной коллектор хуже обработан, у третьего глушитель засрался отложениями - и вот они различия данная карта поправок откатывается индивидуально по ШДК на каждом двигателе.
По этой карте (VE) берем нужную поправку и перемножаем ее с давлением в ресивере (map), плотностью воздуха при +20гр и объемом цилиндра в кубических сантиметрах.
GBC = VE(map, rpm) * map * константа_плотность_воздуха * константа_обьем_одного_цилиндра
Вычисляем температура заряда, назовем ее Tcharge.
По температуре воздуха температуре двигателя и массовому расходу воздуха (по идее это надо делать через примерное массовое наполнение GBC*rpm, но тут нехилые грабли, точный GBC мы еще не знаем и если в тупую брать GBC от предыдущего цикла то можно получить нехилую раскачку, поэтому просто строят 3d карту обороты-давление) по 3d таблице определяется промежуточный коэффициент назовем его Tcharge_coff который указывает на то насколько воздух нагревается, к примеру при большой скорости потока воздух не успевает нагреться от коллектора и головы и соответственно почти равен температуре на впуске (Tcharge_coff = 0), или например на холостом ходу когда наполнение мизерное температура заряда почти равна температуре двигателя т.к. воздуха поступает не много и поток проходит через впуск довольно медленно - соответственно успевает прогреться до температуры движка (Tcharge_coff = 1). На разных оборотах и наполнениях получается различный коэффициент. Строится эта таблица довольно хитро, но по факту для всех основных движков они давно построены и практически не отличаются, нижняя граница как правило 0,3-0,35 верхняя 0,9-1,0 в сети можно найти как примерно выглядит данная таблица
Tcharge = (Твозд - Tож) * Tcharge_coff(rpm, map) + Tож
соответственно плавно меняя коэффициент Tcharge_coff так же плавно меняется температура заряда от температуры воздуха до температуры движка
Влияние Tcharge на GBC описывается формулой связи температуры по шкале Цельсия с абсолютной, причем приведенной к нормальным условиям:
GBC *= (273 + 20) / (273 + Tcharge)
там еще были какие-то статические константы на которые надо перемножать все это но по памяти я это не скажу, надо бы проконсультироваться с знакомыми.
еще про этот алгоритм хорошо написано вот тут
http://rotorman.nm.ru/j5-sport/dad_model2.htm
и еще где-то алми писал найти сейчас не могу.
Зная фактическое цикловое наполнение со всеми поправками можно приступить к расчету времени впрыска (GTC)
Время впрыска зависит от следующих переменных:
1. лаг форсунки - график напряжение/лаг_в_мс назовем lag
2. производительность форсунки график напряжение/производительность назовем fors
3. требуемый состав смеси (к примеру мощностная 12,5 или экономичная 16,8) можно задать трехмерной картой обороты-наполнение (на частичных нагрузках делаем экономичную, на полных соответственно мощностную) назовем AFR
4. цикловое наполнение (GBC)
формула выглядит примерно так:
GTC = GBC * fors(volt) / AFR - lag(volt)
Ну вот в общем как-то так с год назад я активно ковырял в иде прошивки от январей и микас-спорт, переписывался с несколькими разработчиками из этой области, соответственно и нахватался. Это была попытка излить общую теорию, если интересно могу продолжить и рассказать как примерно оно работает в цикле на микас-спорт (из комплекта MOLT)
С алгоритмами помогу. Вариаций очень много, но так или иначе VE или нечто аналогичное необходимо в силу того что линейного наполнения просто не может быть, на разных оборотах по разному сказывается сопротивление впуска и противодавление от оставшихся в цилиндре выхлопных газов, более того благодаря резонансу на впуске-выпуске есть довольно четкие горбы и провалы наполнения в зависимости от оборотов и давления в ресивере.
С ассемблером у меня откровенно слабовато, с костылями еще могу переваривать i386 и i80, с мегой вообще не сталкивался. Ты мне лудше простым языком опиши логику алгоритмы и формулы.
Для получения времени впрыска (GTC) сначала требуется вычислить цикловое наполнение - массу заряда воздуха в цилиндре (GBC)
Вообще сейчас наиболее прогрессивной считается следующая схема расчета GBC (описываю своим языком, за подробностями в гугл):
Вычисляем базовый GBC, необходима 3D таблица поправок циклового наполнения (назовем ее VE) отражающая неравномерности наполнения движка в зависимости от оборотов и давления в ресивере, в принципе для упрощения тестирования ее можно сделать плоской но уход фактического наполнения на резонансных частотах а так же низких оборотов в режиме полного дросселя будет довольно существенным. У каждого движка своя VE, даже на одной и той же модели двигателей VE будут различаться, у одного движка немного выше компрессия, у другого впускной коллектор хуже обработан, у третьего глушитель засрался отложениями - и вот они различия данная карта поправок откатывается индивидуально по ШДК на каждом двигателе.
По этой карте (VE) берем нужную поправку и перемножаем ее с давлением в ресивере (map), плотностью воздуха при +20гр и объемом цилиндра в кубических сантиметрах.
GBC = VE(map, rpm) * map * константа_плотность_воздуха * константа_обьем_одного_цилиндра
Вычисляем температура заряда, назовем ее Tcharge.
По температуре воздуха температуре двигателя и массовому расходу воздуха (по идее это надо делать через примерное массовое наполнение GBC*rpm, но тут нехилые грабли, точный GBC мы еще не знаем и если в тупую брать GBC от предыдущего цикла то можно получить нехилую раскачку, поэтому просто строят 3d карту обороты-давление) по 3d таблице определяется промежуточный коэффициент назовем его Tcharge_coff который указывает на то насколько воздух нагревается, к примеру при большой скорости потока воздух не успевает нагреться от коллектора и головы и соответственно почти равен температуре на впуске (Tcharge_coff = 0), или например на холостом ходу когда наполнение мизерное температура заряда почти равна температуре двигателя т.к. воздуха поступает не много и поток проходит через впуск довольно медленно - соответственно успевает прогреться до температуры движка (Tcharge_coff = 1). На разных оборотах и наполнениях получается различный коэффициент. Строится эта таблица довольно хитро, но по факту для всех основных движков они давно построены и практически не отличаются, нижняя граница как правило 0,3-0,35 верхняя 0,9-1,0 в сети можно найти как примерно выглядит данная таблица
Tcharge = (Твозд - Tож) * Tcharge_coff(rpm, map) + Tож
соответственно плавно меняя коэффициент Tcharge_coff так же плавно меняется температура заряда от температуры воздуха до температуры движка
Влияние Tcharge на GBC описывается формулой связи температуры по шкале Цельсия с абсолютной, причем приведенной к нормальным условиям:
GBC *= (273 + 20) / (273 + Tcharge)
там еще были какие-то статические константы на которые надо перемножать все это но по памяти я это не скажу, надо бы проконсультироваться с знакомыми.
еще про этот алгоритм хорошо написано вот тут
http://rotorman.nm.ru/j5-sport/dad_model2.htm
и еще где-то алми писал найти сейчас не могу.
Зная фактическое цикловое наполнение со всеми поправками можно приступить к расчету времени впрыска (GTC)
Время впрыска зависит от следующих переменных:
1. лаг форсунки - график напряжение/лаг_в_мс назовем lag
2. производительность форсунки график напряжение/производительность назовем fors
3. требуемый состав смеси (к примеру мощностная 12,5 или экономичная 16,8) можно задать трехмерной картой обороты-наполнение (на частичных нагрузках делаем экономичную, на полных соответственно мощностную) назовем AFR
4. цикловое наполнение (GBC)
формула выглядит примерно так:
GTC = GBC * fors(volt) / AFR - lag(volt)
Ну вот в общем как-то так с год назад я активно ковырял в иде прошивки от январей и микас-спорт, переписывался с несколькими разработчиками из этой области, соответственно и нахватался. Это была попытка излить общую теорию, если интересно могу продолжить и рассказать как примерно оно работает в цикле на микас-спорт (из комплекта MOLT)
Last edited by nikll on Tue Nov 08, 2011 5:28 pm, edited 4 times in total.
-
- LQFP144 - On Top Of The Game
- Posts: 553
- Joined: Sun Nov 06, 2011 9:20 pm
- Location: Russia, Yekaterinburg
- Contact:
Re: Обсуждение алгоритмов впрыска.
Кстати по поводу сравнения некоторых заведомо не рабочих алгоритмов с карбом. Карб работает не на разряжении а на потоке воздуха проходящщего сквозь него, причем плотность воздуха тоже влияет на то сколько бензина из карба высосет...
конечно можно построить простейшую систему расчета времени впрыска из одной многомерной таблицы учитывающщей следующщие парамерны:
1. давление или положение дросселя
2. обороты
3. темпиратура воздуха
4. темпиратура двигателя
5. состав смеси
Но вот обьем этой карты будет огромным (пятимерная однако) и настраивать такую это будет полный трындец , а с учетом что все движки разные, и даже один и тот же движок со временем меняет свои парамерты наполнения то работа с такой картой будет сущщий ужас.
Вообще для начала очень желательно получить простой рабочий каркас на базе SECU, тоесть чтобы оно хотябы просто работало на холостом ходу с заданным статически временем впрыска, и писать надо не на асме, асм он везде разный, портировать проблема, данную реализацию знает очень мало людей, в общем сплошные минусы. Предлагаю разработку вести на Си по аналогии с SECU, ничего страшного в сях нету, по сути Си это макропроцессор для асма.
P.S. а через премодерацию на этом форуме все сообщения отправляются или только мои т.к. я тут новенький?
конечно можно построить простейшую систему расчета времени впрыска из одной многомерной таблицы учитывающщей следующщие парамерны:
1. давление или положение дросселя
2. обороты
3. темпиратура воздуха
4. темпиратура двигателя
5. состав смеси
Но вот обьем этой карты будет огромным (пятимерная однако) и настраивать такую это будет полный трындец , а с учетом что все движки разные, и даже один и тот же движок со временем меняет свои парамерты наполнения то работа с такой картой будет сущщий ужас.
Вообще для начала очень желательно получить простой рабочий каркас на базе SECU, тоесть чтобы оно хотябы просто работало на холостом ходу с заданным статически временем впрыска, и писать надо не на асме, асм он везде разный, портировать проблема, данную реализацию знает очень мало людей, в общем сплошные минусы. Предлагаю разработку вести на Си по аналогии с SECU, ничего страшного в сях нету, по сути Си это макропроцессор для асма.
P.S. а через премодерацию на этом форуме все сообщения отправляются или только мои т.к. я тут новенький?
- hc13nx2
- LQFP112 - Up with the play
- Posts: 130
- Joined: Tue Apr 12, 2011 11:58 pm
- Location: Херсон
- Contact:
Re: Обсуждение алгоритмов впрыска.
Если так подходит, я про С, то можно и МС2 портировать. А с алгоритмов предлагаю начать простых, не зря я выкладывал тут книгу про впрыски на двигатели, а таблицу делать одномерную, чисто от оборотов корректировать наполнение.
ВАЗ-2108 1300 SPIRT+MPSZ CDI