Добавл. в прошивку возможностей одновременного/моно впрыска

Обсуждаем прошивки, алгоритмы работы в разных режимах (например, алгоритм работы автоподсоса).
Наборы тюнингованых прошивок МПСЗ SECU (заточенных под конкретную конфигурацию двигателя)
User avatar
Romsb
Posts: 89
Joined: 12 Jan 2014, 11:39
Your CAR: I go on foot
SECU version: DIY SECU-3
Location: Almaty
Has thanked: 1 time
Been thanked: 9 times

Re: Добавление в прошивку возможностей моновпрыска

Post by Romsb »

STC wrote:Romsb, а что там за красный множитель RPM?
При расчете m, через таблицу VE(MAP, RPM) учитывается количество оборотов, у меня же сразу был массовый расход в кг/ч, поэтому в делитель добавил RPM - количество оборотов.

Это же делают и в "Январе":
GBC = AIR * TFR180
где:
GBC - цикловое наполнение
AIR - средний массовый расход воздуха
TFR180 - время полуоборота коленвала
DLP
User avatar
STC
Posts: 13843
Joined: 30 Apr 2013, 23:41
Your CAR: AZLK 2140
SECU version: DIY SECU-3
Location: North Korea
Has thanked: 2160 times
Been thanked: 4335 times
Contact:

Re: Добавление в прошивку возможностей моновпрыска

Post by STC »

Можно перевернуть значения таблицы AFR (пользователь видит воздух/топливо, а в программе топливо/воздух) и немного переписать формулу, то:

PW = (MAP * Const) / (ATS + 273); //Базовая длительность импульса в тиках таймера
PW*= VE(MAP, RPM); //коррекция по таблице VЕ
PW*= AFR(MAP, RPM); //коррекция по таблице AFR
PW*= ... //другие корректировки (лямбда, ускорение и т.д.)
PW*=KF; //Коэффициент. Вычисляется в менеджере (зависит от числа цилиндров, числа форсунок, числа впрысков за цикл)
PW+=Lag(V); //коррекция по таблице лага форсунки (всегда в самом конце)

Можно добавить коэффициент KF (для корректировки по числу цилиндров, числу форсунок, числу впрысков)
При использовании ДПДЗ+ДТВ (вместо ДАД+ДТВ) нужно будет считать "Базовую длительность" по другой формуле.
Author of the SECU-3™ project http://SECU-3.org. An open source engine control unit / Ignition control system, (C) 2007.
Клуб проекта в Facebook https://www.facebook.com/groups/secu3club
Клуб проекта ВКонтакте https://vk.com/secu3club (вступаем!)
User avatar
_dx
Posts: 120
Joined: 17 May 2013, 21:25
Your CAR: I go on foot
SECU version: DIY SECU-3
Location: Крым, Ялта
Been thanked: 18 times
Contact:

Re: Добавление в прошивку возможностей моновпрыска

Post by _dx »

Не подумайте, что я тут отстаиваю свои интересы или занимаюсь флудом... Я стараюсь помочь и сам разобраться хочу.
Базовая длительность импульса(что по сути является базовым наполнением) должна изначально считаться по дросселю. Ну так везде делается. Основные режимы двигателя всегда определялись дросселем и оборотами. Поразмыслите с этой точки зрения хотя-бы над работой карбюратора. Дроссель - главные дирижер.
Разряжение зависит от дросселя и оборотов, а не наоборот. Почему мы тогда разряжение должны брать за основу?
С точки зрения универсальности тоже мы почему-то везде используем MAP, чтобы потом колдовать и с работой по дросселю и с работой по ДМРВ... Ну мне кажется это не очень логичным.

Подитожим
1. Обеспечение лучшей универсальности по набору датчиков(они меняются, а ДПДЗ есть везде)
2. Более естественное базовое моделирование двигателя. Разряжение зависит от дросселя и оборотов, а не наоборот.
3. Опять же более прозрачная и понятная настройка....
4. Архитектура подтверждена опытом серийных изделий(ладно, спорный аргумент согласен).

Так почему бы не сделать как-то так?
PW=БЦН(ДПДЗ,RPM) / (ATS + 273);
//в случае с MAP
PW*= VE(MAP, RPM); //коррекция по MAP
//в случае с ДМРВ
PW*= ДМРВ(РАСХОД, RPM); //коррекция по ДМРВ

PW*= AFR(ДПДЗ, RPM); //коррекция по таблице AFR
PW*= ... //другие корректировки (лямбда, ускорение и т.д.)
PW*=KF; //Коэффициент. Вычисляется в менеджере (зависит от числа цилиндров, числа форсунок, цисла впрысков за цикл)
PW+=Lag(V); //коррекция по таблице лага форсунки (всегда в самом конце)
The truth is out there....
User avatar
Romsb
Posts: 89
Joined: 12 Jan 2014, 11:39
Your CAR: I go on foot
SECU version: DIY SECU-3
Location: Almaty
Has thanked: 1 time
Been thanked: 9 times

Re: Добавление в прошивку возможностей моновпрыска

Post by Romsb »

_dx, верно, но ДПЗД нужно устанавливать, а MAP уже установлен, к тому же расчет воздуха по ДПЗД будет скорее в аварийном режиме (точность невелика, токсичность?) и как ускорительный насос, а чтобы до этого дойти необходимо сначала обкатать первый алгоритм.
DLP
User avatar
_dx
Posts: 120
Joined: 17 May 2013, 21:25
Your CAR: I go on foot
SECU version: DIY SECU-3
Location: Крым, Ялта
Been thanked: 18 times
Contact:

Re: Добавление в прошивку возможностей моновпрыска

Post by _dx »

Понятно, что он автоматически становится аварийным в случае чего. Но я за всё время не видел ни одной системы впрыска без ДПДЗ. Только в системах где воздух измеряется лопатой(расходомер такой старый VAF) вместо полноценного ППДЗ устанавливали два концевика на полное открытия и закрытие. В остальных случаях без дросселя никуда.

Да и чего там говорить, мы же сейчас по сути закладываем архитектуру. Зачем же сначала делать лишь бы заработало с чем есть, а потом переделывать?

Ну хорошо, нет сейчас ДПДЗ, сделать таблицу БЦН единицами, а поправку
PW*= VE(MAP, RPM); //коррекция по MAP
выстроить как надо. Но в архитектуре по любому основой должен быть дроссель. Это не я придумал, это, как говорится, по жизни так получается )
The truth is out there....
User avatar
STC
Posts: 13843
Joined: 30 Apr 2013, 23:41
Your CAR: AZLK 2140
SECU version: DIY SECU-3
Location: North Korea
Has thanked: 2160 times
Been thanked: 4335 times
Contact:

Re: Добавление в прошивку возможностей моновпрыска

Post by STC »

Никто не против универсальной архитектуры. Я себе представляю это так (на псевдоязыке):

Code: Select all

if(SpeedDensity)
{
 PW = (MAP * Const) / (ATS + 273); //Базовая длительность импульса в тиках таймера
 PW*= VE(MAP, RPM); //коррекция по таблице VЕ
}
else if (AlphaN)
{
 PW = BCN(TPS, RPM)
}
else if (MAF)
{
 PW = MAF(MAFS, RPM)
}
PW*= AFR(MAP, RPM); //коррекция по таблице AFR
PW*= ...                    //другие корректировки (лямбда, ускорение и т.д.)
PW*=KF;                    //Коэффициент. Вычисляется в менеджере (зависит от числа цилиндров, числа форсунок, числа впрысков за цикл)
PW+=Lag(V);             //коррекция по таблице лага форсунки (всегда в самом конце)
Мы начнем с алгоритма SpeedDensity (по MAP)
_dx, устраивает?
Author of the SECU-3™ project http://SECU-3.org. An open source engine control unit / Ignition control system, (C) 2007.
Клуб проекта в Facebook https://www.facebook.com/groups/secu3club
Клуб проекта ВКонтакте https://vk.com/secu3club (вступаем!)
User avatar
STC
Posts: 13843
Joined: 30 Apr 2013, 23:41
Your CAR: AZLK 2140
SECU version: DIY SECU-3
Location: North Korea
Has thanked: 2160 times
Been thanked: 4335 times
Contact:

Re: Добавление в прошивку возможностей моновпрыска

Post by STC »

Но в архитектуре по любому основой должен быть дроссель.
Не согласен. Я не видел чтобы в алгоритме SppedDensity учавствовал TPS (ДПДЗ), только для поправки по ускорению и определению текущего режима. В Alpha-N, да. Но Alpha-N и SpeedDensity это разные алгоритмы.
На данном этапе Alpha-N или MAF интересуют меня только с точки зрения того, чтобы сделать формулы так, чтобы их можно было потом втиснуть. Проверяй представленный псевдокод, и если что-то не так, то я готов выслушать.
Почему я так уцепился за формулы? Потому что при написании кода на С формулы будут оптимизированы и обростут разного рода хитростями (это много часов работы и тестирования). Я не хочу чтобы формулы потом сильно менялись...
Author of the SECU-3™ project http://SECU-3.org. An open source engine control unit / Ignition control system, (C) 2007.
Клуб проекта в Facebook https://www.facebook.com/groups/secu3club
Клуб проекта ВКонтакте https://vk.com/secu3club (вступаем!)
User avatar
_dx
Posts: 120
Joined: 17 May 2013, 21:25
Your CAR: I go on foot
SECU version: DIY SECU-3
Location: Крым, Ялта
Been thanked: 18 times
Contact:

Re: Добавление в прошивку возможностей моновпрыска

Post by _dx »

Ну хорошо, теперь я доволен )))))
The truth is out there....
User avatar
STC
Posts: 13843
Joined: 30 Apr 2013, 23:41
Your CAR: AZLK 2140
SECU version: DIY SECU-3
Location: North Korea
Has thanked: 2160 times
Been thanked: 4335 times
Contact:

Re: Добавление в прошивку возможностей моновпрыска

Post by STC »

_dx, для Alpha-N всего одна таблица BCN(TPS, RPM) добавляется, правильно?
Еще, так как у нас сравнительно мало ОЗУ, а мы хотим чтобы таблицы впрыска редактировались в реальном времени (да, будет такое, даже может 2 набора поместится), то нужно определиться какие таблицы нужно редактировать в реальном времени, а какие можно смело в прошивке держать не загружая в ОЗУ.
Author of the SECU-3™ project http://SECU-3.org. An open source engine control unit / Ignition control system, (C) 2007.
Клуб проекта в Facebook https://www.facebook.com/groups/secu3club
Клуб проекта ВКонтакте https://vk.com/secu3club (вступаем!)
User avatar
_dx
Posts: 120
Joined: 17 May 2013, 21:25
Your CAR: I go on foot
SECU version: DIY SECU-3
Location: Крым, Ялта
Been thanked: 18 times
Contact:

Re: Добавление в прошивку возможностей моновпрыска

Post by _dx »

Ну по сути да, одна таблица. То, что она по разному будет использоваться в разных стратегиях управления - это всё потом.
К примеру даже в комбинации со Speed-Density на широких валах может понадобиться эта таблица.
In conjuction with Speed-Density and some kind of blending algorithm. This approach is often used with very large camshafts that pull little vacuum at idle. Basically, TPS and MAP are allowed to contribute varying amounts to the overall load calculation. Net result: more stable and meaningful load index close to idle when MAP sensor readings are unstable. Found on the Electromotive TEC3 among others.
При работе с MAF эта таблица используется для ускорительного насоса(по ней идет предсказание расхода воздуха).
Ну и как аварийная, понятно.
The truth is out there....
Post Reply

Return to “Прошивки”