Отдельный контроллер управления форсунками

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

Moderator: STC

Post Reply
nikll
LQFP144 - On Top Of The Game
Posts: 553
Joined: Sun Nov 06, 2011 9:20 pm
Location: Russia, Yekaterinburg
Contact:

Отдельный контроллер управления форсунками

Post by nikll »

Меня посетила интересная идея.
Для инжектора SECU будет расчитывать только наполнение и опорные сигналы для расчета начала впрыска (ВМТ и НМТ для 4ц мотора, через 90гр для 8ц 120 для 6ц итд итп) и передавать эти данные в контроллер впрыска.

Контроллер впрыска будет сам вычислять время работы форсунки по картам динамики/статики форсунок напряжения бортовой сети и возможно давлению топлива, время начала фазы впрыска по карте обороты/наполенине для оптимизации попадания смеси в максимальный поток. Ну и естественно сам упровлять всеми форсунками через свои ШИМы.

Такое разделение нехило развяжет нам руки:
1. Не придется серьезно переделывать схему SECU
2. SECU не будет перегружен лишними прерываниями и математикой
3. Возможность создания совершенно различных блоков для форсунок, например для управления двумя рядами или Peak-n-Hold для низкоомных или просто очень больших форснок, или вообще для газовых форсунок.
4. В контроллере форсунок не надо будет обсчитывать ДПКВ (+-10гр по кв для начала впрыска не критично, гораздо важней продолжительность впрыска), не надо будет расчитывать наполнение и обрабатывать датчики давления темпиратуры и положения дросселя, в сумме все это убирает кучу прерываний и сущесвтенно снижает нагрузку на камень.
5. Даже 128я мега по сути является довольно слабым камнем со скромным обьемом озу и низкой частотой, при реализации большого количества переферии и соответсвенно прервываний и математики легко уперется в производительност и недостаток портов. Выше преведенное описание контроллера форсунок позволит существенно расширить суммарные возможности системы и добавит гибкости.
6. Разделение труда, вместо того чтобы большой толпой ковырять один и тот же кусок кода можно поделить задачи, я например с удовольствием поучавствую в реализации прошивки для контроллера впрыска.

В контроллер форсунок передовать необходимо следующщее:
1. Наполнение желательный диапазон значений 16бит (0 - 65535), минимальный 10бит(0 - 1023)
2. Начало отсчета от ДПКВ при начале нового круга после двух пустых зубов (1бит - импульс)
3. Опорный сигнал для расчета начала впрыска (ВМТ и НМТ для 4ц мотора, через 90гр для 8ц 120 для 6ц итд итп) (1бит - импульс)
4. Фаза - обработанный сигнал с датчика фазы (1бит - меандр 50% скваженность; 0 - первый цикл; 1 - второй цикл)
5. Возможно еще какие либо дополнительные сигналы (к примеру увеличить массу бензина на константу при впрыске закиси азота)
User avatar
hc13nx2
LQFP112 - Up with the play
Posts: 130
Joined: Tue Apr 12, 2011 11:58 pm
Location: Херсон
Contact:

Re: Отдельный контроллер управления форсунками

Post by hc13nx2 »

как то всё сложно, это же надо как-то передавать данные с одного проца в другой, будет лишняя задержка, не уж проще ли сделать отдельно проц что бы полностью считал впрыск, который бы мог работать и не зависимо и даже с обычным контактным трамблёром. Сека будет выдавать стробы на впрыск, остальные датчики запаралелены, а инжектор будет эмулировать концевик карбюратора из ДПДЗ.
ВАЗ-2108 1300 SPIRT+MPSZ CDI
nikll
LQFP144 - On Top Of The Game
Posts: 553
Joined: Sun Nov 06, 2011 9:20 pm
Location: Russia, Yekaterinburg
Contact:

Re: Отдельный контроллер управления форсунками

Post by nikll »

Не прощще, нахрена обсчитывать наполнение дважды? это довольно много математики, для зажигания это необходмо, от обратной связи можно отказаться если зараннее учивать в картах уоз поправку на состав смеси по этим точкам. Тогда как в SECU всеравно необходимо считать полноценное наполнение вместо статических карт давление/обоороты/ДТОЖ/ДТВ, это существенно развяжет руки при настройке и последующщих изменениях в двигателе.
Задержка? какая? где? обсчет наполнения следует делать в общем цикле постоянно, с ДАДа брать и усреднять показания в прерывании ДПКВ, темпиратурные датчики обрабатывать во время расчета наполнения. Если всю математику считать в реалтайме внутри прерываний то очень быстро упремся в обороты (например Микас спорт не работает выше 7500об, j5spt вытягивает 9000 с копейками, j5ls 10200), на той же каве чесотке (мотцикл кавасаки 4ц 400сс) обороты под 15000 уходят....

hc13nx2, обьясни, в чем суть таких упрощщений? зачем? говноконтроллеров как грязи, бери любой январь за копейки правь в нем карты обычной серийной прошивки и получиш результат даже лудьше чем то что ты предлагаеш.
На мой взгляд стоит делать хорошую масштабируюемую систему которая как минимум не уступает тем же январям и микасам с коммерчискими прошивками, но за счет открытой архетиктуры мы не уткнемся в такие глупые ограничения как количество каналов на форсунки/зажигание или не возможность обсчета двигателя отличного от рядной четверки. Прикрутить можно будет что угодно, начиная от впрыска пропана в жидкой фазе заканчивая впрыском воды или управление двумя турбинами
User avatar
hc13nx2
LQFP112 - Up with the play
Posts: 130
Joined: Tue Apr 12, 2011 11:58 pm
Location: Херсон
Contact:

Re: Отдельный контроллер управления форсунками

Post by hc13nx2 »

А зачем Секе считать наполнение цилиндров, она и сейчас этого не делает. Если делать что-то маштабное то надо как минимум какой-то контроллер ДСП и забыть полностью про АТмегу, а на счёт ДАД, зачем его сильно усреднять, главное считывать его синхронно с положением коленвала, этим исключается модуляция сигнала ДАД.
У меня идёт расчёт впрыска каждый импульс зажигания, причём расчёт оканчивается раньше чем наступит переход режима управления форсункой с PEAK в HOLD, сразу же обновляется время впрыска для загрузки в CCP.
Были у меня как-то идеи сделать что-то такое, зажигание конденсаторное с обратной связью, с анализом тока искры, но это всё в будущем, если буду заниматься такой "утопией" как ДВС, а не пересяду на электротягу.
ВАЗ-2108 1300 SPIRT+MPSZ CDI
nikll
LQFP144 - On Top Of The Game
Posts: 553
Joined: Sun Nov 06, 2011 9:20 pm
Location: Russia, Yekaterinburg
Contact:

Re: Отдельный контроллер управления форсунками

Post by nikll »

А затем чтобы корректно расчитывать опережение зажигания, изучи теорию наконец чотли. Ничего свех сложного в расчете фактического наполнения нет, но именно от наполнения зависит угол опережиня, а не от давления. Давление в рессивере лиж косвенный параметр к наполнению.
Исходя из такой логики в SECU вообще не нужно ни дада ни датчиков темпиратуры, а зачем? ведь и без них все работает! даже более того, на древнем контактном трамблере все работает!
Чем мега не устраивает? 128я мега стоит копейки широко доступна хорошо документированна и очень много людей с ней имели опыт, есть множество примеров рабочего кода и рабочая SECU которая достаточно качественно написанна.
Под словами "расчет впрыска" я подразумевал именно расчет, а не выборку из статической карты. Сколько мс займет опрос датчиков, перевод данных с датчиков во внутреннее представление, выборка из нескольких карт, пачка умножений и несколько делений? на 16ти мгц это много. Именно по этому все наши прошивки под январи и микасы не способны работать на высоких обротах.
Я четыре года занимаюсь хайлоадом в веб системах, уже год как у меня своя студиях, поверь я хорошо знаю что такое асинхронные алгоритмы, ты же предлагаеш обсчитывать все синхронно на каждом такте впрыска, зачем? разве наполнение может резко измениться за пол оборота коленвала? или темпиратура двигателя существенно меняется с частотой 100герц (два раза за оборот при 3000об)? расчет наполнения как и опрос датчиков темпиратуры положения дросселя в фон, однозначно.
Ггы, если ДАД не усреднять хотябы за 1 оборот коленвала то будет жопа, на 4ц движках с нормальными коллекторами и то серьезные пульсации идут, а ты на 2ц движке попробуй :) причем частота амплитуда и фаза пульсаций относительно положения коленвала сильно меняется от оборотв/давления, нам же надо не пиковые значения получать, а именно усредненные т.к. именно по средним значениям и можно определить сколько реально воздуха всасывает двигатель.
User avatar
hc13nx2
LQFP112 - Up with the play
Posts: 130
Joined: Tue Apr 12, 2011 11:58 pm
Location: Херсон
Contact:

Re: Отдельный контроллер управления форсунками

Post by hc13nx2 »

nikll wrote: Ггы, если ДАД не усреднять хотябы за 1 оборот коленвала то будет жопа, на 4ц движках с нормальными коллекторами и то серьезные пульсации идут, а ты на 2ц движке попробуй :) причем частота амплитуда и фаза пульсаций относительно положения коленвала сильно меняется от оборотв/давления, нам же надо не пиковые значения получать, а именно усредненные т.к. именно по средним значениям и можно определить сколько реально воздуха всасывает двигатель.
Не только я пробовал усреднять, например самый простой усреднитель RC цепочка, работает ещё лучше чем любой алгоритм усреднения на проце, но любая лишняя задержка даёт вялость машине. Где-то на старых форумах долго обсасывали эту тем ( по зажиганию), а для впрыска это ещё критичнее, все остальные параметры меняются намного медленнее, но из-за ДАД приходиться всё пересчитывать заново, хотя некоторые корректировки можно объединять и считать реже, а потом перемножать на общую корректировку.
ВАЗ-2108 1300 SPIRT+MPSZ CDI
lsasha7
LQFP144 - On Top Of The Game
Posts: 358
Joined: Sun Dec 12, 2010 11:55 am
Location: украина, Горловка

Re: Отдельный контроллер управления форсунками

Post by lsasha7 »

привет, дебаты в самом разгаре,выскажу свое мнение,
по поводу расчета СЕКой наполнения (надо это или не надо, и насколько важно и хватит ли у СЕКУ на это ресурсов надо состыковаться с Алексеем)
я за отдельный полный контроллер впрыска, от СЕКУ надо передать показания ДТОЖ, ДАД и может наполнения по TWI, остальное пусть делает КП, так мы разгрузим мозги, мега 128 в конечном итоге не выход, если мы хотим получить весчь лучше чем вемс,(это не я сказал) впрыск будет обрастать всякими приблудами как и СЕКУ сейчас и будет тупик, 128м не спасет.
а кому впрыск и на не на, как быть, делать плату с м128 где 50% не используется или плодить версии прошивок отдельно под З. и под ВП. , запутаешся однако.
каждый модуль живет своей жизнью, так удобней , а вдруг комуто надо только впрыск, а вот он , пожалуйста.
nikll
LQFP144 - On Top Of The Game
Posts: 553
Joined: Sun Nov 06, 2011 9:20 pm
Location: Russia, Yekaterinburg
Contact:

Re: Отдельный контроллер управления форсунками

Post by nikll »

Ага вот и я про тоже.
Вот только расчитыват наполнение нужно в SECU т.к. определине уоз по фаткическому наполнению гораздо более верно нежели определение по давлению (давление лиш косвенно относится к фактическому наполнению, и в различных режимных точках порой очень сильно отличается, например на резонансных частотах).

Полный контроллер впрыска не к чему иначе мы опять же упираемся в ресурсы проца, чисто контроллер форсунок который по наполнению и сигналу от SEQU открывает форсунки.
Все датчики остаются на SEQU т.к. они нужны для расчета УОЗ, ну разве что ДПЗД завести для реализации усорительного насоса, хотя это можно прекрастно делать и по дельте наполнения.

А кому нужен впрыск отдельно от зажигания? это же бред однака, уоз и наполенине и смесь сильно связанны, реализация через отдельные не согласованные системы будет довольно не точной, как вам тот факт что при неизменных оборотах/наполнении и изменении смеси с 14,7 на 16,8 оптимальный уоз увеличивается на 40%?

При переходе на 128ю мегу ресурсов для расчета наполнения точно хватит, а вот еще и на управление восемью форсунками с точностью до десятых милисекунд c расчетом времени впрыска по каждой форсунке (а форсунки как правило различаются, те же simens deka 630cc выдают +-5%) и расчетом времени начала впрыска, может и не хватить. А если захочется 12ц мотор? а если кольнет на мотоцикл поставить? А если захочется ввести поправку наполнения по темпиратуре масла в ГК? необходимо оставить достаточно ресурсов для индивидуальных доработок.
lsasha7
LQFP144 - On Top Of The Game
Posts: 358
Joined: Sun Dec 12, 2010 11:55 am
Location: украина, Горловка

Re: Отдельный контроллер управления форсунками

Post by lsasha7 »

то есть чтобы было все чики пики надо собирать зажигание с наполнением кроме основных обязанностей на 128м и контроллер форсунок м16-м32 и все на 16мгц.?
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Отдельный контроллер управления форсунками

Post by STC »

nikll
Мне тоже нравится идея зажигания и впрыска в отдельных блоках. Специально для этого я создавал некоторые топики, например "Связь между зажиганием и впрыском" и т.д.
Для расчета нополнения ресурсов Mega32 хватит. Проблема в другом. Свободных выводов мало, может если подумать, то и выводы можно найти (освободить некоторые), но запаса не будет. С Mega128 их хватит.
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
Post Reply