Обсуждение алгоритмов впрыска (Injection algorithms)

Разработка впрыска топлива на базе SECU-3. Fuel injection related discussion.

Moderator: STC

ender11
LQFP112 - Up with the play
Posts: 197
Joined: Sat Dec 11, 2010 4:05 pm

Re: Обсуждение алгоритмов впрыска (Injection algorithms)

Post by ender11 »

nikll wrote:Мда, наверное надо бы мне составить нормальный документ по алгоритмам
надо бы! :)
User avatar
Vestnik
QFP80 - Contributor
Posts: 34
Joined: Fri Sep 09, 2011 2:02 pm
Location: Петрозаводск
Contact:

Re: Обсуждение алгоритмов впрыска (Injection algorithms)

Post by Vestnik »

нужно, однозначно, без теории както не то, да и единый структурированный документ избавил бы от части вопросов.
ВАЗ 21093 99г.в.
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Обсуждение алгоритмов впрыска (Injection algorithms)

Post by STC »

Надо, однозначно :-)
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
KOT
LQFP112 - Up with the play
Posts: 188
Joined: Fri Apr 06, 2012 6:59 pm
Location: Ukrainian, Zaporozhye
Contact:

Re: Обсуждение алгоритмов впрыска (Injection algorithms)

Post by KOT »

Хотя бы в одной теме расписать своими словами, а еще лучше с примерами таблиц. Я на форуме не давно и сложить все воедино пока не удается... А изобретать велосипед мне неохота, вот и клянчу по чуть чуть.
Что-то выдергиваю с мегасквирта, что-то с микаса, что-то с MOLT....
Да вот на счет смеси, тоже хотелось бы знать как настраивать на холостом ходу, какую смесь делать на средних нагрузках ну и при максимальны, к примеру при каком давлении во впускном коллекторе делать смесь богатой...
Также не наблюдал алгоритма обратной связи по лямбда зонду, широкополосному и дешевому варианту, или не стоит заворачиваться с обратной связью?
Stranger21
LQFP144 - On Top Of The Game
Posts: 1664
Joined: Fri Jul 01, 2011 2:10 pm
Location: г Уфа

Re: Обсуждение алгоритмов впрыска (Injection algorithms)

Post by Stranger21 »

у меня я7.2 по простому ДК , прекрасно строит логером таблицу БЦН и поправку )
WAZ21051 gti 1.7i SECU3Ts + mm1.2.3(1)
ВАЗ21310 1.7i Я7.2 2001г
Stranger21
LQFP144 - On Top Of The Game
Posts: 1664
Joined: Fri Jul 01, 2011 2:10 pm
Location: г Уфа

Re: Обсуждение алгоритмов впрыска (Injection algorithms)

Post by Stranger21 »

я настраиваю примерно так - на ХХ и около него смесь всегд только 14.7 и режим работы по ДК , в средних рагнрузках смесь 15.5 примерно и без ДК , в мощностном режиме , при малых оборотах около 14.7 при больших около 12.9 ну и все плавно по поверхности размазано
WAZ21051 gti 1.7i SECU3Ts + mm1.2.3(1)
ВАЗ21310 1.7i Я7.2 2001г
Qwertty
LQFP144 - On Top Of The Game
Posts: 252
Joined: Thu Jul 26, 2012 12:35 pm

Re: Обсуждение алгоритмов впрыска (Injection algorithms)

Post by Qwertty »

nikll wrote:Оптимальная фаза впрыска это в максимум потока на низких нагрузках, до закрытия форсунки на средних и похер как на полной нагрузке т.к. на больших нагрузках время впрыска больше времени открытого впускного клапана. В общих чертах алгоритм себе представляю т.к. хорошо расковырял микас-спорт. Коперфильдом быть не надо :) там не сложный алгоритм:
1. сравниваем время впрыска с увременем фазы впуска на текущих обротах
2. если успеваем все влить до закрытия то подбивем начало впрыска так чтобы центр времени впрыска пришелся на максимальный поток согласно карте
3. если не успеваем все влить за время фазы впуска то начинаем вливать до открытия клапана с таким расчетом чтобы все влить до закрытия
4. даже если промахнемся из за резкого существенного увеличения времени впрыска и недостаточно рано начнем вливать бензин то существенного обеднения не произойдет т.к. неуспевшый попать в цилиндр бензин дождется следующего цикла
Копперфильдом надо быть чтоб точно попасть в желаемый угол. Рассчитывая !время! когда коленвал окажется в этом положении на два и более оборота коленвала раньше. Если бы коленвал вращался ровно - попасть не составляло бы труда. А так будет ошибка. Причем из за большог опережения расчета она может быть немалой. Мне немного проще - газ не осядет на стенках, разве что при температуре стенок -45С. Хотя бутан может и при температуре в -2С осесть - у него температура кипения емнип -0,5С. Правда это при атмосферном давлении, в коллекторе давление ниже и ниже температура кипения. Бутан - та хрень что в зажигалки льют. Если туда залить пропан - зажигалку разнесет.
nikll wrote: По ДХ точность не получится, как ты хочеш дать искру за точное время ДО ВМТ? коленвал движется с постоянными ускорениями и замедлениями, конечно можно составить целую матмодель для расчета пульсаций ускорения КВ и по ней определять реальное положение КВ основываясь на данных с ДХ но по факту это геморней и мение точно чем просто поставить ДПКВ. Суть не в угле зажигания. а во времени до ВМТ которое вполне себе привязанно к углу на определенных обротах. Более того в самих прошивках часто применяется именно время а не УОЗ, а сам УОЗ отображается уже в редакторе прошивки для лудшего понимания карты :).
Ну смотри - нас интересует время. Не угол. Угол сделан только для упрощения на механических системах, где учет времени невозможен. Дальше больше - угол четко соответствует времени при равномерном вращении коленвала. При неравномерном - он к времени уже привязан слабо. С помощью ДПКВ можно поднять точность по углу. Но зачем? Угол сам по себе, время само по себе. Допустим с ДХ я имею информацию о ВМТ каждого цилиндра. Также я коплю статистику по этим временам допустим за 5 полуоборотов коленвала. Экстраполируя данные я достаточно точно смогу предсказать когда наступит это самое ВМТ для очередного цилиндра. Во временной шкале, не в углах. Допустим коленвал движется 90градусов с ускорением, а потом еще 90 с таким же замедлением. В случае ДХ это само учтется. В случае ДПКВ точно кортекс понадобится. Там статистику по зубцам надо набирать и в каждом прерывании ее анализировать. Иначе - получим достаточно точный угол но кривое время до ВМТ.
nikll wrote: Вот она разница в подходах, ты делаеш только сам для себя для одной машины :) и будеш в итоге долго и упорно пилить сам для себя, я же предлагаю систему для всех.
По поводу проектов заточенных на универсальность и расширяемость расскажи про это создателям операционных систем фреймворков баз данных и IBM когда они задумали шину ISA. Для меня вообще кажется удивительным что все ЭБУ сделанны по закрытой аппаратной архетиктуре...
А моей тоже хватит. У нас так на 80% авто. Они что то все в основном 4 цилиндровые. IBM не сразу выпустила комп с открытой архитектурой АТ. Сначала было много ХТ и прочих, которые не расширялись так просто. Кроме того можно спросить у STC - много ли человек постоянно помогает ему писать прошивку. Сека открытая система и уже давно. Более того - масса людей нсмотря но открытость и бесплатность Секи делают что то свое аналогичное. Сходи на схем.нет. Там наверно варианта 4 разрабатываются. Причем пара из них - полные аналоги Секи, с теми же датчиками и с тем же функционалом. Уверен что твой проект не постигнет та же участь? Я тебе и еще пример приведу - тот самый мегаскирт. Там мезонинная компановка - ядро системы на отдельной маленькой плате. Но что то я не заметил чтоб пошла бурная разработка под него несущих плат со своей переферией. И написание своего софта под эту переферию. У тебя концепция ровно та же - долой все неуниверсальное. А теперь представим себе - реализовал ты проект. Пусть в нем есть датчики А,Б,С. У тебя написан менеджер или какая то программа для настройки под этот набор. Пришел Вася и ему надо добавить в систему еще два датчика. Ну вот допустим впрыск для газа - добавить ДДГ и ДТГ. В менеджере их нет, в расчете они не участвуют и т.д. Встроить их - большой труд сравнимый по трудоемкости с разработкой системы с нуля.
Большинству людей надо чтоб функционал был "изкоробки". Ненужные датчики можно было отключить - хоть в менеджере снять галочку, хоть дефайнами в исходнике перед сборкой прошивки. Значит в любом лучае все датчики придется учитывать. Но у тебя же типа открытая архитектура. Что туда подключат - неизвестно. Значит надо учитывать вообще все датчики в мире. Думаю, если привлечешь еще 50 программистов, то через 15 лет выйдет первая бета. Тут вспоминается фильм Кавказкая пленница и тост - имею возможность... и т.д. Финал тоста очень правильный. Я например точно знаю что просто не потяну открытый и расширяемый произвольно ЭБУ. Даже если буду тратить на него все свое время это займет лет пять. Выделяя по 2-3 часа в день - лет 100. Внукам заканчивать придется. Представляю - вокруг одни электромобили и тут релиз ЭБУ для древнего ДВС. :)
nikll wrote: Какие нахрен режимы турбы? Алгоритму который я описывал глубоко безразлично наличие наддува, он просто обсчитывает фактическое наполнение по показаниям датчиков. Все отличие в найстройках атмосферного от турбированного двигателя будет заключатся только в том что у турбового будут более широкие карты по наполнению что равносильно увиличению обьема движка, ну еще другая калибровка ДАДа т.к. ДАД тоже будет другой :).
Газ бензин метанол, похер что лить, главное знать соотношение бензин/топливо для конкретной горючки ну и параметры форсунок. Сделать на второй плате коммутаторы для газовых форсунок не сложно. С точки зрения самой прошивки разницы практически не будет, просто двухтопливный впрыск переключаемый по условиям (к примеру в режимах ближе к максимальному наполнению переходить на бензин), прибавка кода вообще мизерная. С эжектором дела не имел, у меня в Патриоте стоит распределенный газовый впрыск Ловато, в разница в тяге между газом и бензином почти не ощущается (одинакого хреново тянет из за бошевского ЭБУ с евро3 и электронным дросселем).
Карты я так понимаю ты сразу заложишь под любое давление наддува? И ДАД надо сразу давать выбор - под любую турбину чтоб встал. И так до бесконечности. С точки зрения самой прошивки будет огромная разница. Тот алгоритм не подстраивается под смесь. На бензине все впрочем будет более-менее неплохо. А теперь представь что производительность форсунки может меняться процентов на 30. И что плотность бензина меняется на 20% сама по себе. И еще на 5% в зависимости от температуры. Газ - смесь пропана и бутана. Летом пропана от 40 до 60% в смеси, зимой от 80 до 100. 40-60% пропана это по ГОСТ. Как в реале никто не знает. Там может и 30% пропана оказаться и даже 20. Газы эти разные как по плотности, так и по калорийности. Два раза в год примерно по месяцу на заправках присутствуют оба варианта. Т.е. заправился летним газом, потом зимним, потом снова летним. Мне на ГИГ иногда приходилось по 5 минут стоять после заправки - чтоб ГИГ подстроился под новый газ и крутить ручку на блоке, благо она там была. Иначе машина просто не хотела ехать нормально. Там конечно все упрощено, нормальный впрыск должен обучаться быстрее. Но сам смысл - нет ОС, нет нормальной езды на газе. На эжекторе в этих случаях приходится винты на дозаторе крутить. Ручное обучение :) Так что тот алгоритм тут просто сядет в лужу. Его придется дорабатывать, причем очень существенно. Кстати его основное отличие - в расчете температуры заряда. Теперь предсавь, что часть этого заряда имеет переменную температуру. Газ может иметь ее +5С или +80С причем при температуре воздуха +20С. И объемная доля газа в смеси довольно высока. Ну и т.д.
Qwertty
LQFP144 - On Top Of The Game
Posts: 252
Joined: Thu Jul 26, 2012 12:35 pm

Re: Обсуждение алгоритмов впрыска (Injection algorithms)

Post by Qwertty »

Теперь о том где ДПКВ реально лучше - он позволяет точно привязываться к углам. Например для контроля детонации есть конкретное окно. Из за неравномерности вращения коленвала в пределах цикла в это окно довольно сложно попадать. Ну и основное преимущество ДПКВ - можно анализировать ускорение в определенных положениях коленвала и подбирать оптимальный угол для каждого цилиндра. Тут кортекс точно будет не лишним - расчет сложный, а считать надо прямо в прерывании по зубцам ДПКВ. Хотя можно наверно и в основной цикл вынести и не считать на каждом цикле. Но тут надо иметь представление о процессах в ДВС на гораздо более высоком уровне, чем у меня. Я этого в любом случае не смогу сделать, так что и рассчитывать ничего не собираюсь. :D Ну разве что какой нибудь КТН по ДВС подтянется, хотя бы для консультаций. Но я таких не знаю, увы.
nikll
LQFP144 - On Top Of The Game
Posts: 553
Joined: Sun Nov 06, 2011 9:20 pm
Location: Russia, Yekaterinburg
Contact:

Re: Обсуждение алгоритмов впрыска (Injection algorithms)

Post by nikll »

За два оборота КВ точность и не нужна :) там один хрен часть бензина останется на стенках и пойдет в следующем цикле в цинидр, т.к. ошибка эта не будет скакать как блоха а будет достаточно стабильной то нам глубоко пофиг на то когда именно будет вливаться бензин. Я уже говорил что при большом времени впрыска фаза впрыска не важна, более того распределенный от ПП не будет отличатся в таких режимах. Другое дело режим частичных нагрузок когда время впрыска достаточно маленькое, вот там очень хорошо ощущается фаза начала впрыска. Коперфильдом коперфильдом, что ругаешся? :) это рабоает на тупом C509, алгоритм я изучил в свое время пока ковырял прошивки, неужели я не смогу повторить это на гоооораздо более мощном МК?
Для ДПКВ более чем достаточно дремучего С509 :)
Точно спрогнозировать когда именно наступит ВМТ невозмоно именно из за пульсаций ускорений и замедлений коленвала, пульсации не постоянны во времени, свою лепту вносят и состояние дорожного покрытия и демпферы в трансмиссии и режим работы двигателя. Я эксперементировал с определеинем оптимального УОЗ по ускорению колевана от того и знаю как выглядят эти ускорения. Не будеш же ты утверждать что все производители автомобилей дураки и ставят лишний ДПКВ когда можно обойтись дешевым ДХ?
У мегаскрита хреновая компоновка, там сначала было все на одной плате, потом перешли на более мощный камень и чтобы не переделывать плату сделали переходник... Я же предлагаю сделать практически полноценный ЭБУ но с отдельной платой для драйверов исполнительной переферии. А вот сами дополнительные платы будет гоораздо проще делать чем всю основную плату того же мегаскрита.
Универасальная часть для датчиков? а зачем? что там универсального то вдруг потребовалось? все датчики работают в одном диапазоне от 0 до 5 вольт... Дальше уже в прошивке проставляются нужные коэфициенты для пересчета из АЦП в реальные значения.
У дада есть параметры смещения и наклона характеристики, ну еще максимальное давление на которое он расчитан, простейший алгоритм пересчета, для подключения любого ДАДа работающего в диапазоне до пяти вольт достаточно прописать свои константы в нужные дефайны.
Сорцы будут открыты и написанны под открытый компилятор, все параметры по железу будут вынесены в отдельный хидер в виде дефайнов, кому надо тот пропишет свои коэфициенты диапазоны константы и скомпилирует.
Карты не привязанны к жестким значениям давления наполнения оборотов, будут линейные массивы тарировок которые можно будет менять (рабочие точки по оборотам давлению наполнению итд итп) примерно как это сделанно в январях и микасах.
Алгоритм лего дополнить переключателем летняя/зимняя смесь и датчиком темпиратуры газа :) я с микас-спорт эксперементировал подобным образом добавив датчик темпиратуры масла для компенсации изменения зазора в клапанах на змз402 (иначе смесь на ХХ сильно уплывала).
Как я уже говорил я эксперементировал с расчетом оптимального УОЗ по ускорению коленвала, хорошо работает только на нейтралке либо на гладкой трассе, в режиме дерганной езды получается полная херня из за нестабильности пульсаций ускорения/змедления вращения коленвала.

P.S. никто не мешает тебе взять и доплить алгоритм под самообучение по ДК :) или можеш послушать одного товарища который твердо уверен что без ДК и смеси 14,7 все будет плохо и по этому следует делать впрыск только по closed-loop. Как показала практика волги с Микас-спорт прекрастно откатываются под ГБО 4 поколения с коммутаторам для форсунок и двумя прошивками под бензин/газ, время впрыска газа расчитывает сам бензиновый ЭБУ и почемуто оно хорошо работает :).
Qwertty
LQFP144 - On Top Of The Game
Posts: 252
Joined: Thu Jul 26, 2012 12:35 pm

Re: Обсуждение алгоритмов впрыска (Injection algorithms)

Post by Qwertty »

Газ на стенках не остается. Про авто на газе без ОС по ДК тоже знаю. Там богатят смесь в любых режимах, чтоб если вдруг она обеднится от состава газа не пришел конец клапанам. В итоге - расход на 20% выше чем мог бы быть. Это ровно половина от экономии при езде на газе. Точно такого же можно на эжекторе достичь. Только там ОС все же будет - человеком и винтом дозатора. Зачем сразу делать плохо?
ДПКВ кстати дешевле чем ДХ - это кусок провода. ДХ - две микросхемы и магнит. Вот почему датчик не ставят на распредвал - для меня загадка. Но ей наверняка есть какое то объяснение.
Датчики все разные. Их выход стараются привести к 5В, но не любые это позволяют. ДК тот же 0,1-0,9В. ШДК вообще от контроллера зависит. ДД дает совсем не напряжение. Ну и т.д. Не уйти от обвязки на плате.
Мегаскиртовцы правильно делают - сложный универсальный мезонин и простую несущую плату, которую можно хоть утюгом сделать. Это тоже общепринятое в мире решение. Проверенное временем. Это расчет на возможность расширения. Хотя у такого дробления есть и минусы - надежность падает.
Ускорение по коленвалу наверняка учитывать можно. То что у тебя не вышло не значит что это невозможно в принципе. Просто надо подумать, вывести какие то закономерности. Насколько я слышал есть промышленные мозги учитывающие этот фактор при управлении опережением зажигания. Может конечно и неправда - просто в рекламных целях заявляют.
Post Reply