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

Обсуждаем прошивки, алгоритмы работы в разных режимах (например, алгоритм работы автоподсоса).
Наборы тюнингованых прошивок МПСЗ SECU (заточенных под конкретную конфигурацию двигателя)
кумыч
Posts: 1038
Joined: 27 Oct 2013, 00:51
Your CAR: Мотоциклы
SECU version: official SECU-3T
Location: Київ
Has thanked: 104 times
Been thanked: 269 times

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

Post by кумыч »

для малоцилиндровых моторов - да, до 4. на вэ8 бывают "сдвоеные моноинжекторы", по одной форсунке на голову, в таких случаях надо лить 8 раз за цикл, но по 4 раза каждой форсункой и по очереди.

хотя вроде бы по логике в попарный вписывается.
Husqvarna 610. SECU-3T
AlxSh
Posts: 92
Joined: 14 Jul 2014, 12:52
Your CAR: 2141 1.7
SECU version: DIY SECU-3
Location: Ивановская область, Кинешма
Has thanked: 2 times
Been thanked: 25 times
Contact:

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

Post by AlxSh »

STC wrote:Теперь вопрос по теме (для обсуждения). Я сейчас делаю редактирование параметров впрыска из менеджера и хотел бы уточнить вопрос связанный с конфигурированием форсунок. Если я правильно понимаю то:
форсунок может быть либо 1 (моновпрыск), либо равное числу цилиндров (одновременный, попарно-параллельный, фазированный). Только 2 варианта, правильно?
Я читая форумы про Январь, видел схемы когда выходов для форсунок 4, а вешают на них 5, но это извращение от безысходности видимо.
STC wrote:Теперь количество впрысков каждой форсунки на цикл.
С моновпрыском вроде бы понятно - 1,2,4
Одновременный тоже - 1,2,4
Попарно-параллельный - 2
Фазированный - 1
Правильно?
Я сделал все 3 режима.
Если двигатель стоит, то взводится флаг PrimePulse и ставится режим одновременного впрыска. Как только начинается вращение, сразу ассинхронно все форсунки впрыскивают топливо PrimePulseTime в зависимости от температуры ОЖ. Затем переходим на синхронный впрыск. После сброса условия crank_state переходим на фазированный или ПП режим. В режиме ускорительного насоса режем переключается в одновременный.

Code: Select all

  // Управление режимом впрыска
  if (d->crank_state || d->corr.enrich_accel > 0) d->inj.mode = INJ_MODE_ALL;
  else {
    d->inj.mode = (d->phase_sync) ? INJ_MODE_SEQ : INJ_MODE_DOUBLE;
  }
STC wrote: Планирую в менеджере сделать 2 выпадающих списка.
В первом списке выбирается тип впрыска: моно, одновременный, попарно-параллельный,
фазированный.
Во втором списке выбирается число впрысков на цикл (в зависимости от того что выбрано в первом списке): 1,2,4
Увеличение количества впрысков приводит к увеличению ошибки дозирования! Не надо делать больше чем это необходимо! Планирую переключаться в более плохой режим, если не успеваю осуществить впрыск в текущем режиме.
Сразу имеет смысл задуматься о фазе впрыска. Я эту неделю ломал башку над тем как это сделать и получил такое решение.

Вот как обрабатываются режимы: Вызывается на каждом зубе. Часть вычислений касаемо интерполяции оборотов вынес в отдельную функцию, чтобы не считать одно и тоже в разных кусках кода.

Code: Select all

void inj_cog(ecudata_t *d, uint32_t cog){
  uint32_t inj_mask;
  if (d->inj.prime_pulse){
    d->inj.prime_pulse = 0;
    inj_start(d, INJ_OUT_CIL_ALL, inj_prime_pulse(d));
    return;
  }

  if (!d->inj.squirt_time) return;

  /* Получаем диаппазон NUM_COGS ... (NUM_COGS*2) для второго оборота */
  if (d->revolution % 2) cog += NUM_COGS;

  for (uint32_t i=0; i<d->params.cilinder_num; i++){
    if (cog == d->cil[i].inj_begin_cog){
      switch (d->inj.mode){
      case INJ_MODE_SEQ:
        switch (i){
        case 0: inj_mask = INJ_OUT_CIL_1; break;
        case 1: inj_mask = INJ_OUT_CIL_3; break;
        case 2: inj_mask = INJ_OUT_CIL_4; break;
        case 3: inj_mask = INJ_OUT_CIL_2; break;
        }
        break;
      case INJ_MODE_DOUBLE:
        inj_mask = (i & 0x1) ? INJ_OUT_CIL_2|INJ_OUT_CIL_3 : INJ_OUT_CIL_1|INJ_OUT_CIL_4;
        break;
      default:
        inj_mask = INJ_OUT_CIL_ALL;
      }
      inj_start(d, inj_mask, d->inj.squirt_time);
    }
  }
}

void inj_phase(ecudata_t *d){
  uint32_t i = d->precalc.rpm.tbl_idx;
  d->inj.phase_cogs = simple_interpolation(d->precalc.rpm.limited_rpm, efi.ttbl.inj_phase[i], efi.ttbl.inj_phase[i+1],
                                           efi.ttbl.rpm_grid_points[i], efi.rpm_grid_sizes[i], 16)>>4;
  uint32_t cog_pos = GET_COG();
  int32_t inj_cogs = (((uint32_t)d->inj.squirt_time + d->inj.lag_corr_time) * INJ_TIME_TO_COG) / ckps_CogTime();
  int32_t inj_begin_cog = (int32_t)d->inj.phase_cogs - inj_cogs;
  while (inj_begin_cog < 0) inj_begin_cog += NUM_COGS * 2;
  for (uint32_t i=0; i < d->params.cilinder_num; i++){
    int32_t cog = (int32_t)d->cil[i].cog_pos + inj_begin_cog;
    while (cog >= NUM_COGS*2) cog -= NUM_COGS * 2;
    // Обновляем фазу только если не произойдет пропуска впрыска
    if ((cog_pos < d->cil[i].inj_begin_cog && cog_pos < cog)
        || (cog_pos >= d->cil[i].inj_begin_cog && cog_pos >= cog))
    {
      d->cil[i].inj_begin_cog = cog;
    }
  }
}
Удалось создать такое решение. Форсунка не привязана в коде к динамически меняющемуся номеру рабочего цилиндра. Только к угловому положению цилиндра. Это позволит в дальнейшем написать алгоритм фазировки форсунок.
Last edited by AlxSh on 17 Nov 2014, 16:28, edited 1 time in total.
Москвич 2141 УЗАМ 1.7л. Платформа STM32F103RET6. Идеи secu-3. Peak&Hold. Автоматическое вычисление первого цилиндра. Фазированный впрыск.
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 »

Я пока не боду вникать в особенности распределенного фазированного впрыска. До релиза планирую сделать максимум попарно-параллельный.
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
izolyator
Posts: 96
Joined: 19 Dec 2013, 14:53
Your CAR: VW T3 BUS 1.8 RP
SECU version: official SECU-3T
Location: Санкт-Петербург
Has thanked: 3 times
Been thanked: 17 times
Contact:

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

Post by izolyator »

я выбрал попарно-параллельный, фазированный для моей не спешной езды и не нужен наверно. А в блоке я паять ничего не хочу, я буду новый покупать. Жду блок управления форсунками, они у меня 18 ом.
Андрей, а Izolyator это мой ник на форуме VW-BUS
User avatar
strelok22
Posts: 476
Joined: 13 Sep 2013, 11:26
Your CAR: Ваз
SECU version: DIY SECU-3i
Has thanked: 67 times
Been thanked: 130 times

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

Post by strelok22 »

Залил в блок прошивку из директории map_reorg, менеджер тоже map_reorg, таблицы впрыска редактируются только на вкладке данные прошивки, я так понял только оттуда можно пока настраиваться, и зажигание и впрыск, где можно посмотреть показания лз и дтв?
ВАЗ шестерка + SECU впрыск + ГБО 4 = достойный автомобильчик
AlxSh
Posts: 92
Joined: 14 Jul 2014, 12:52
Your CAR: 2141 1.7
SECU version: DIY SECU-3
Location: Ивановская область, Кинешма
Has thanked: 2 times
Been thanked: 25 times
Contact:

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

Post by AlxSh »

izolyator wrote:я выбрал попарно-параллельный, фазированный для моей не спешной езды и не нужен наверно. А в блоке я паять ничего не хочу, я буду новый покупать. Жду блок управления форсунками, они у меня 18 ом.
А это никак не связано с неспешностью езды! Фазированный впрыск должен повышать точность дозирования в режимах с низким расходом топлива. И главное, что для реализации этого режима, если не использовать режим с ШИМ, нужно добавить еще два силовых ключа и все.
Москвич 2141 УЗАМ 1.7л. Платформа STM32F103RET6. Идеи secu-3. Peak&Hold. Автоматическое вычисление первого цилиндра. Фазированный впрыск.
User avatar
izolyator
Posts: 96
Joined: 19 Dec 2013, 14:53
Your CAR: VW T3 BUS 1.8 RP
SECU version: official SECU-3T
Location: Санкт-Петербург
Has thanked: 3 times
Been thanked: 17 times
Contact:

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

Post by izolyator »

так для фазированного впрыска надо управление индивидуально каждой форсункой т.е. блок на 4 канала или 2х2 и дружить их между мобой
Андрей, а Izolyator это мой ник на форуме VW-BUS
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 »

ДК можно смотреть на пенели приборов менеджера или в логе, ДТВ пока только в логе.
Таблицы уже можно редактировать и в онлайне, но там могут быть мелкие глюка, потому что еще не было полноценного тестирования.
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 »

Разница между фазированным, поарно-паралльельным и одновременным только на ХХ, в лошадях разницы нет. Вы слишком преуеличиваете пользу от фазированного впрыска.
Для фазированного я вам хоть сейчас могу сделать 4 канала, просто для управления этими 4 каналами нужно еще и алгоритм в прошивке реализовать, а там всего 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 (вступаем!)
кумыч
Posts: 1038
Joined: 27 Oct 2013, 00:51
Your CAR: Мотоциклы
SECU version: official SECU-3T
Location: Київ
Has thanked: 104 times
Been thanked: 269 times

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

Post by кумыч »

лучше сразу делать на каждую форсунку - свой ключ. пока нету поддержки последовательного впрыска - управлять ключами одновременно либо попарно. потом по мере доделывания прошивки - перекинуть ключи на свои выходы.
Husqvarna 610. SECU-3T
Post Reply

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