Алгоритмы РХХ и не только (Algorithms of idling regulators)
Moderator: STC
- STC
- LQFP144 - On Top Of The Game
- Posts: 2420
- Joined: Fri Oct 22, 2010 10:47 pm
- Location: Ukraine, Kiev
- Contact:
Алгоритмы РХХ и не только (Algorithms of idling regulators)
Обсуждаем алгоритмы РХХ как отдельно для зажигания, так и для впрыска и совместно.
РХХ - Регулятор Холостого Хода. Регулирование ХХ божет производиться как одним УОЗ, так и одним только регулированием подачи топлива. Ну и конечно одновременно и при помощи первого и второго.
УОЗ позволяет быстро менять обороты, но в большинстве случаев только в меленьких пределах.
Регулирование подачи топлива позволяет менять обороты в широких пределах, но является достаточно медленным.
РХХ - Регулятор Холостого Хода. Регулирование ХХ божет производиться как одним УОЗ, так и одним только регулированием подачи топлива. Ну и конечно одновременно и при помощи первого и второго.
УОЗ позволяет быстро менять обороты, но в большинстве случаев только в меленьких пределах.
Регулирование подачи топлива позволяет менять обороты в широких пределах, но является достаточно медленным.
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
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
-
- 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г
-
- 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г
-
- TO92 - Vaguely active
- Posts: 3
- Joined: Sat Aug 13, 2011 10:30 pm
- Location: Russia, Saint-Petersburg
Re: Алгоритмы РХХ и не только
Известные мне варианты:
1. Шаговый двигатель - наиболее распространенный вариант и видимо самый оптимальный
2. Дискретный клапан(по типу форсунки) - спорный вариант, но на каких-то авто он применялся
3. УОЗ - наиболее надежный и простой вариант, многие(кто на альтернативные мозги переходит) выкидывают капризный 1 вариант и рулят углами. Кстате, большинство тюнячих дроссилей не имеют доп каналов для РХХ
1. Шаговый двигатель - наиболее распространенный вариант и видимо самый оптимальный
2. Дискретный клапан(по типу форсунки) - спорный вариант, но на каких-то авто он применялся
3. УОЗ - наиболее надежный и простой вариант, многие(кто на альтернативные мозги переходит) выкидывают капризный 1 вариант и рулят углами. Кстате, большинство тюнячих дроссилей не имеют доп каналов для РХХ
-
- LQFP144 - On Top Of The Game
- Posts: 1664
- Joined: Fri Jul 01, 2011 2:10 pm
- Location: г Уфа
Re: Алгоритмы РХХ и не только
ну одним УОЗ мне кажется не верно , на полновпрысках и один из вариантов механо РХХ и уоз
я вот сам пробовал уже один уоз регулировать , угол уже 30 град а обороты падают ( а рхх в довесок и все 800 встало
в моновпрыске ВАГ стоит просто до нельзя рхх , кратко суть - простой колекторный моторчик , через червяк передает врашение в поступательное движение штока , шток двигает собствено саму заслонку . на конце штока микро концевик - выключатель ХХ
управление моторчиком на принципе ШИМ и смены полярности импульсами 12 вольт
но в моем ММ1.2.3 он не только ХХ стабилизирует , поэтому я не хочу его оттуда убрать , он еще служит демпфером при сбросе газа , подлавливает дросель и плавно спускает , тем самым обороты падают плавно.
к томуже при первом включении (после обнуления мозга) он "ищет" начальное положение ДПДЗ , двигаясь в упор.
пока езжу на П регуляторе в секу3 , даже не сделал еще определение хх . некогда с машиной возиться , только на работе есть вот время по форумам лазить )
вроде ниче так отстроил . но эфектом не особо доволен , чуть лучше чем без УОЗ вообще .. но все равно както не так )
работает у меня он по такому алгоритму
каждый раз как считается УОЗ , смотрим на ошибку оборотов хх от установленых , и в зависимости от знака ошибки через коеэфициенты прибавляем или вычитаем к уоз поправочный коэфициент. при попадании в зону не чувствительности - выход с нулевым коэфициентом .
такое чувство что все равно мало скорости (((
или всеж верно мое предположение о том что мой моновпрыск , нацелившись двигать РХХ , двигает его независимо от ситауции в промежутке между нацеливаением и выставлением . тоесть пока моник двигает рхх я уже секу3 поправил хх , но моник еще не закончил двигать и двигает дальше , тем самым растраивая уже верные хх ... замкнутый круг (((
я вот сам пробовал уже один уоз регулировать , угол уже 30 град а обороты падают ( а рхх в довесок и все 800 встало
в моновпрыске ВАГ стоит просто до нельзя рхх , кратко суть - простой колекторный моторчик , через червяк передает врашение в поступательное движение штока , шток двигает собствено саму заслонку . на конце штока микро концевик - выключатель ХХ
управление моторчиком на принципе ШИМ и смены полярности импульсами 12 вольт
но в моем ММ1.2.3 он не только ХХ стабилизирует , поэтому я не хочу его оттуда убрать , он еще служит демпфером при сбросе газа , подлавливает дросель и плавно спускает , тем самым обороты падают плавно.
к томуже при первом включении (после обнуления мозга) он "ищет" начальное положение ДПДЗ , двигаясь в упор.
пока езжу на П регуляторе в секу3 , даже не сделал еще определение хх . некогда с машиной возиться , только на работе есть вот время по форумам лазить )
вроде ниче так отстроил . но эфектом не особо доволен , чуть лучше чем без УОЗ вообще .. но все равно както не так )
работает у меня он по такому алгоритму
каждый раз как считается УОЗ , смотрим на ошибку оборотов хх от установленых , и в зависимости от знака ошибки через коеэфициенты прибавляем или вычитаем к уоз поправочный коэфициент. при попадании в зону не чувствительности - выход с нулевым коэфициентом .
такое чувство что все равно мало скорости (((
или всеж верно мое предположение о том что мой моновпрыск , нацелившись двигать РХХ , двигает его независимо от ситауции в промежутке между нацеливаением и выставлением . тоесть пока моник двигает рхх я уже секу3 поправил хх , но моник еще не закончил двигать и двигает дальше , тем самым растраивая уже верные хх ... замкнутый круг (((
WAZ21051 gti 1.7i SECU3Ts + mm1.2.3(1)
ВАЗ21310 1.7i Я7.2 2001г
ВАЗ21310 1.7i Я7.2 2001г
- STC
- LQFP144 - On Top Of The Game
- Posts: 2420
- Joined: Fri Oct 22, 2010 10:47 pm
- Location: Ukraine, Kiev
- Contact:
Re: Алгоритмы РХХ и не только
Поправлю. Говорить "прибавление/вычитание поправочного коэффициента" некорректно. КоЭфФициент это множитель.каждый раз как считается УОЗ , смотрим на ошибку оборотов хх от установленых , и в зависимости от знака ошибки через коеэфициенты прибавляем или вычитаем к уоз поправочный коэфициент. при попадании в зону не чувствительности - выход с нулевым коэфициентом .
Если это П-регулятор, то нужно говорить "Прибавление к УОЗ ошибки умноженной на коэффициент".
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
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
-
- 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г
-
- LQFP144 - On Top Of The Game
- Posts: 1664
- Joined: Fri Jul 01, 2011 2:10 pm
- Location: г Уфа
Re: Алгоритмы РХХ и не только
П - регулятор , тоже как то не очень мне нравится как стыкуется с моновпрыском . наверное идеальный вариант ,это отобрать у моновпрска еще и РХХ . и ввести его в секу3 . по сути нужно будет только две ножки вроде и усилитель мостовой на TDA , выкидывать подобие ШИМ . только придеться еще и ДПДЗ завести , так как нужна еще функция Демпфера ДЗ от рхх.
или !!! во идея !!! ввести просто дпдз в секу3 !!!! и по нему смотреть Что делает моновпрыск и принимать решение Как подвинуть УОЗ ... тогда по идее должна появиться синхронность действий
или !!! во идея !!! ввести просто дпдз в секу3 !!!! и по нему смотреть Что делает моновпрыск и принимать решение Как подвинуть УОЗ ... тогда по идее должна появиться синхронность действий
WAZ21051 gti 1.7i SECU3Ts + mm1.2.3(1)
ВАЗ21310 1.7i Я7.2 2001г
ВАЗ21310 1.7i Я7.2 2001г
-
- LQFP144 - On Top Of The Game
- Posts: 1664
- Joined: Fri Jul 01, 2011 2:10 pm
- Location: г Уфа
Re: Алгоритмы РХХ и не только
Вобщем . повозился сегодня еще раз .с делал регулятор вот так
идя о том что нужно выходит с 0 при попадании в зону не чувствительности - провалилась.
отличите только в том что регулятор стал П -регулятором .
результат понравился и мне , и моновпрыску . так как моновпрыск действительно очень мало двигает РХХ. вся регулиовка на УОЗ имено малых воздействий. если мотреть диагностику моновпрыска то там есть параметр - УОЗ . так вот если выключить мой регулятор в секу 3 , то скачки этого УОЗ досточно большие . при включении регулятора - скачки уменьшаються = моновпрыск не хочет регулировать обороты = цель достигнута.
правильной работы регулятора пришлось добиваться еще одним способом - так как он теперь работает хорошо . видно в какую сторону он больше всего двигает Угол . = в уменьшение или в увеличение от заданного таблицей УОЗ на хх.
путем подбора угла в этой таблице . было получено значние угла на хх , при котором , РХХ и в + и в - делал примерно одинаковое поправление .
ну витоге я настроил работу двигателя на хх , оптимальным образом , чтобы угол соответсвовал оборотам 800 , и все стало боле менее удовлетворительно .... теперь осталась прогревочная карта ....
Code: Select all
int16_t idling_pregulator(struct ecudata_t* d, volatile s_timer8_t* io_timer)
{
int16_t error,factor;
//зона "подхвата" регулятора при возвращени двигателя из рабочего режима в ХХ
uint16_t capture_range = 50;
//если PXX отключен или обороты значительно выше от нормальных холостых оборотов
// или двигатель не прогрет то выходим с нулевой корректировкой
if (!d->param.idl_regul || (d->sens.frequen >(d->param.idling_rpm + capture_range))
|| (d->sens.temperat < TEMPERATURE_MAGNITUDE(75) && d->param.tmp_use))
return 0;
//вычисляем значение ошибки, ограничиваем ошибку (если нужно), а также, если мы в зоне
//нечувствительности, то используем расчитанную ранее коррекцию.
error = d->param.idling_rpm - d->sens.frequen;
restrict_value_to(&error, -200, 100);
if (abs(error) <= d->param.MINEFR)
return idl_prstate.output_state;
//выбираем необходимый коэффициент регулятора, в зависимости от знака ошибки
if (error > 0)
factor = d->param.ifac1;
else
factor = d->param.ifac2;
//изменяем значение коррекции только по таймеру idle_period_time_counter
//if (s_timer_is_action(*io_timer))
{
//s_timer_set(*io_timer,IDLE_PERIOD_TIME_VALUE);
idl_prstate.output_state = (error * factor) / 4;
}
//ограничиваем коррекцию нижним и верхним пределами регулирования
restrict_value_to(&idl_prstate.output_state, d->param.idlreg_min_angle, d->param.idlreg_max_angle);
return idl_prstate.output_state;
}
отличите только в том что регулятор стал П -регулятором .
результат понравился и мне , и моновпрыску . так как моновпрыск действительно очень мало двигает РХХ. вся регулиовка на УОЗ имено малых воздействий. если мотреть диагностику моновпрыска то там есть параметр - УОЗ . так вот если выключить мой регулятор в секу 3 , то скачки этого УОЗ досточно большие . при включении регулятора - скачки уменьшаються = моновпрыск не хочет регулировать обороты = цель достигнута.
правильной работы регулятора пришлось добиваться еще одним способом - так как он теперь работает хорошо . видно в какую сторону он больше всего двигает Угол . = в уменьшение или в увеличение от заданного таблицей УОЗ на хх.
путем подбора угла в этой таблице . было получено значние угла на хх , при котором , РХХ и в + и в - делал примерно одинаковое поправление .
ну витоге я настроил работу двигателя на хх , оптимальным образом , чтобы угол соответсвовал оборотам 800 , и все стало боле менее удовлетворительно .... теперь осталась прогревочная карта ....
WAZ21051 gti 1.7i SECU3Ts + mm1.2.3(1)
ВАЗ21310 1.7i Я7.2 2001г
ВАЗ21310 1.7i Я7.2 2001г
-
- LQFP144 - On Top Of The Game
- Posts: 1664
- Joined: Fri Jul 01, 2011 2:10 pm
- Location: г Уфа
Re: Алгоритмы РХХ и не только
Есть одна идея . так как мне не нравяться прогревочные обороты .
попробую ввести следующий алгоритм
РХХ не отключать по температуре . НО
задать некую формулу , зависимость , целевых оборотов РХХ (н то что мы ставим в менеджере) , от температуры!!! . и тогда по мере прогрева , целевые обороты рхх будут меняться . но само регулирование угла будет работать , и не позволит оборотам плавать -- так сделано в моновпрыске. регулировка хх УОЗ там работает всегда . только целевые обороты меняються .
можно попробовать привызать форумулу к таблице УОЗ от температуры . ...
вот такая вот мысль .
так как я еще очень плохо понимаю Си то
1 что значит в этом месте символ -> ? я так понял что в переменную d передалась структура с параметрами . этот символ указатель чтоли получается или что?
2 это будет отображать в менеджере там где заданные обороты рхх расчитаные значения ? или нет?
3 и еще sens.temperat в чем получает температуру ? в градусах ? или в какойто своей величине?
что то ничего не вышло с температурой . менеджер вроде и чето поптался отобразить но явно не в реальном времени ( . и формула не заработала ( ... думаю....
но зато функция idl_enable заработала как часы!!! отлично работает !!! . никакого провала оборотов резкого нету . обороты с рабочего режима на демпфере плавно спускаються к 800 и лиш потом рхх не заметно начинает работать ) .. я доволен ))
попробую ввести следующий алгоритм
РХХ не отключать по температуре . НО
задать некую формулу , зависимость , целевых оборотов РХХ (н то что мы ставим в менеджере) , от температуры!!! . и тогда по мере прогрева , целевые обороты рхх будут меняться . но само регулирование угла будет работать , и не позволит оборотам плавать -- так сделано в моновпрыске. регулировка хх УОЗ там работает всегда . только целевые обороты меняються .
можно попробовать привызать форумулу к таблице УОЗ от температуры . ...
вот такая вот мысль .
так как я еще очень плохо понимаю Си то
Code: Select all
if (d->sens.temperat < TEMPERATURE_MAGNITUDE(75) && d->param.tmp_use)
d->param.idling_rpm =(90 - d->sens.temperat)*2+100;
else
d->param.idling_rpm = 800;
if ((d->sens.frequen >(d->param.idling_rpm + 10)) && !idl_enable.output_state)
return 0;
else
idl_enable.output_state = 1;
if (!d->param.idl_regul || (d->sens.frequen >(d->param.idling_rpm + capture_range)))
return 0;
2 это будет отображать в менеджере там где заданные обороты рхх расчитаные значения ? или нет?
3 и еще sens.temperat в чем получает температуру ? в градусах ? или в какойто своей величине?
что то ничего не вышло с температурой . менеджер вроде и чето поптался отобразить но явно не в реальном времени ( . и формула не заработала ( ... думаю....
но зато функция idl_enable заработала как часы!!! отлично работает !!! . никакого провала оборотов резкого нету . обороты с рабочего режима на демпфере плавно спускаються к 800 и лиш потом рхх не заметно начинает работать ) .. я доволен ))
WAZ21051 gti 1.7i SECU3Ts + mm1.2.3(1)
ВАЗ21310 1.7i Я7.2 2001г
ВАЗ21310 1.7i Я7.2 2001г