Управление в режиме холостого хода
Управление в режиме холостого хода
Обсуждаем управление двигателем в режиме холостого хода.
Существует два способа регулирования оборотов ХХ. Один это управление наполнением и второй это управление УОЗ. Управление наполнением относительно медленное и реализуется в виде ПИ регулятора. Управление через УОЗ достаточно быстрое (можно менять УОЗ на каждый рабочий цикл) и реализуется в виде П регулятора с разным наклоном характеристик для положительного и отрицательного отклонения частоты вращения. Так же должна быть введена зона нечувствительности регулятора, т.к. изменение частоты вращения может носить случайных характер. Так же регулирование через УОЗ должно отключаться при больших рассогласованиях.
Управление наполнением позволяет изменять обороты в достаточно широких пределах, тогда как через управление УОЗ можно только подстраивать обороты.
Существует два способа регулирования оборотов ХХ. Один это управление наполнением и второй это управление УОЗ. Управление наполнением относительно медленное и реализуется в виде ПИ регулятора. Управление через УОЗ достаточно быстрое (можно менять УОЗ на каждый рабочий цикл) и реализуется в виде П регулятора с разным наклоном характеристик для положительного и отрицательного отклонения частоты вращения. Так же должна быть введена зона нечувствительности регулятора, т.к. изменение частоты вращения может носить случайных характер. Так же регулирование через УОЗ должно отключаться при больших рассогласованиях.
Управление наполнением позволяет изменять обороты в достаточно широких пределах, тогда как через управление УОЗ можно только подстраивать обороты.
Last edited by Sergey89 on Thu Oct 24, 2013 5:59 am, edited 1 time in total.
- AndreyB
- Site Admin
- Posts: 14334
- Joined: Wed Aug 28, 2013 1:28 am
- Location: Jersey City
- Github Username: rusefillc
- Slack: Andrey B
Re: Управление в режиме принудительного холостого хода
Я в https://subversion.assembla.com/svn/rusefi/trunk/firmware/controllers/algo/idle_controller.c сделал наивный, но работающий алгоритм через управление клапаном холостого хода: устанавливается цель оборотов, в зависимости от разницы фактических оборотов и цели - инкрементально изменяем степерь открытия клапана. Через какое-то время повторяем операцию.
Как-то более-менее работает, но нужно донастроить параметы - сейчас я всё еще иногда глохну, когда останавливаюсь перед светофором.
Как-то более-менее работает, но нужно донастроить параметы - сейчас я всё еще иногда глохну, когда останавливаюсь перед светофором.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Re: Управление в режиме принудительного холостого хода
Эксперементировал с РХХ и УОЗ получил следующее:
1. Чтобы регулированние через УОЗ нормально работало надо определить границы нормальной работы двигателя - оптимальный уоз при котором наибольшие обороты и самый поздний уоз при котором двигатель стабильно работает
2. выставляем дефолтный уоз ровно между этими точками
3. изменение уоз в зависимости от оборотов через ПИД регулятор без зоны нечуствительности вообще, главное правильно подобрать коэфициенты, ну и не изменять уоз дальше границ из 1 пункта
В итоге ХХ держался как прибитый но только без существенных скачков нагрузки, когда дельта нагрузки превышала возможности регулирования через УОЗ то движок колбасило.
Соответсвенно пришлось добавлять управление ХХ через РХХ. Почти тоже самое но дельта нагрузки гораздо больше, но скорость реактции существенно ниже. Реализовывал в связке с регулятором через УОЗ, алгоритм был довольно корявым с захардкоженным коэфициентом сдвига РХХ по дельте УОЗ через недо ПИД.
В итоге система работало примерно так:
1. крутим рулем чтобы через гур нагрузить движок и видим резкий скачок уоз на 4-5 градусов в более раннюю сторону
2. нагружаем движок постоянно в течении нескольких секунд и видим что сначала прыгнул УОЗ, потом довольно быстро открывался РХХ, и одновременно с увеличением наполнения падал УОЗ до нормального состояния удерживая обороты
3. отключаем доп нагрузку, уоз резко позднится, РХХ прикрывается, по пере падения наполнения УОЗ приходит в норму.
Вся суть в двух ПИД регуляторах и их связи. Пропорциональный коэфициент РХХ у меня был зависим от квадрата дельты УОЗ с захардкоженным коэфициентом поправки.
1. Чтобы регулированние через УОЗ нормально работало надо определить границы нормальной работы двигателя - оптимальный уоз при котором наибольшие обороты и самый поздний уоз при котором двигатель стабильно работает
2. выставляем дефолтный уоз ровно между этими точками
3. изменение уоз в зависимости от оборотов через ПИД регулятор без зоны нечуствительности вообще, главное правильно подобрать коэфициенты, ну и не изменять уоз дальше границ из 1 пункта
В итоге ХХ держался как прибитый но только без существенных скачков нагрузки, когда дельта нагрузки превышала возможности регулирования через УОЗ то движок колбасило.
Соответсвенно пришлось добавлять управление ХХ через РХХ. Почти тоже самое но дельта нагрузки гораздо больше, но скорость реактции существенно ниже. Реализовывал в связке с регулятором через УОЗ, алгоритм был довольно корявым с захардкоженным коэфициентом сдвига РХХ по дельте УОЗ через недо ПИД.
В итоге система работало примерно так:
1. крутим рулем чтобы через гур нагрузить движок и видим резкий скачок уоз на 4-5 градусов в более раннюю сторону
2. нагружаем движок постоянно в течении нескольких секунд и видим что сначала прыгнул УОЗ, потом довольно быстро открывался РХХ, и одновременно с увеличением наполнения падал УОЗ до нормального состояния удерживая обороты
3. отключаем доп нагрузку, уоз резко позднится, РХХ прикрывается, по пере падения наполнения УОЗ приходит в норму.
Вся суть в двух ПИД регуляторах и их связи. Пропорциональный коэфициент РХХ у меня был зависим от квадрата дельты УОЗ с захардкоженным коэфициентом поправки.
читать всем: http://rusefi.com/forum/viewtopic.php?t=213#p336
Re: Управление в режиме принудительного холостого хода
могу рассказать, как работает система регулировки ПХХ продвинутом заводском ЭБУ с электронным дросселем.
1. регулировка осуществляется по ПИД алгоритму.
2. к-ты ПИ нелинейные и задаются таблицами:
P:
RPM Ptab
+400 0
+200 0
+100 0
+20 0
0 0
-20 0
-100 0
-200 0
-400 0
I:
RPM Ptab
+400 1,00
+200 0,36
+100 0,06
+20 0,01
0 0
-20 -0,01
-100 -0,06
-200 -0,12
-400 -0,25
как видно, фактически это I алгоритм.
так же есть таблица констант P в зависимости от температуры.
это я к тому, что в реальных ЕЦУ все ПИД алгоритмы нелинейны. и стоит воспользоваться этой практикой
1. регулировка осуществляется по ПИД алгоритму.
2. к-ты ПИ нелинейные и задаются таблицами:
P:
RPM Ptab
+400 0
+200 0
+100 0
+20 0
0 0
-20 0
-100 0
-200 0
-400 0
I:
RPM Ptab
+400 1,00
+200 0,36
+100 0,06
+20 0,01
0 0
-20 -0,01
-100 -0,06
-200 -0,12
-400 -0,25
как видно, фактически это I алгоритм.
так же есть таблица констант P в зависимости от температуры.
это я к тому, что в реальных ЕЦУ все ПИД алгоритмы нелинейны. и стоит воспользоваться этой практикой
Теория хороша в том и только том случае, если она может достоверно предсказать результаты каждого нового опыта
Re: Управление в режиме принудительного холостого хода
Управление электронной заслонкой тоже интересный вопрос, т.к. изначально мой мотор комплектовался именной такой. И само управление заслонкой я уже тестировал
Re: Управление в режиме принудительного холостого хода
принудительный холостой ход - это режим торможения двигателем и он не относится к регулируемым режимам. т.е. все управление им производится через уставки.
то что вы описываете - просто холостой ход.
то что вы описываете - просто холостой ход.
Re: Управление в режиме холостого хода
Ты прав. Моя ошибка. Исправил заголовок.
Re: Управление в режиме холостого хода
Основной фактор регулировки ХХ это тупизна системы и возможность запоминания параметров (самообучение).
Ничего не должно происходить быстро. Прежде чем РХХ на 1 или 10 шагов закроется (в соответствии с алгоритмом или таблицей по текущему рассогласованию оборотов) должно пройти 2-4 сек.
Коректировка УОЗ применяется для точной подстройки ХХ (обычно +\- 50 обмин) между шагами РХХ или лопаты электродросселя. (при 3,5 % хх низкий, при 5% высокий. 4,5% не бывает). Тогда РХХ должен занять положение более открытое, и уменьшением УОЗ понизить ХХ.
Однако должны быть пределы регулировки УОЗ- например 5-17 град. Если мы достигли мин. УОЗ, а ХХ выше нормы, то УОЗ увеличивается,а РХХ (лопата электродросселя) прикрывается на 1 пункт. Точная коректировка ХХ с помощью УОЗ повторяется.
Еще несколько аспектов- принудительный хх (экономайзер принудительного хх)- когда едем на передаче, газ отпущен (дроссель=0%), обороты выше 1700 -топливоподача откл. Обороты ниже 1350- переход на ХХ.
При этом топливоподача должна быть фиксированная, как для ХХ либо расчетная, но тогда она должна быть правильно калибрована. И при увелчении разрежения/уменьшения расхода воздуха практически не меняться.
Иначе обеднение смеси и мы заглохли на сбросе газа.
РХХ при этом должен приоткрыться, пока обороты не зависнут на 1000-900 на полсекунды. Потом используем последнее значение РХХ из памяти,при котором ХХ был правильным.
Зажигание по таблице. Просто нужно понимать, что весь угол ниже ХХ по нагрузке должен быть прописан одинаково.
Впринципе на старых тупых инжекторах с трамлерами и где РХХ и никогда не было, я ниразу не наблюдал проблем с ХХ.
Ничего не должно происходить быстро. Прежде чем РХХ на 1 или 10 шагов закроется (в соответствии с алгоритмом или таблицей по текущему рассогласованию оборотов) должно пройти 2-4 сек.
Коректировка УОЗ применяется для точной подстройки ХХ (обычно +\- 50 обмин) между шагами РХХ или лопаты электродросселя. (при 3,5 % хх низкий, при 5% высокий. 4,5% не бывает). Тогда РХХ должен занять положение более открытое, и уменьшением УОЗ понизить ХХ.
Однако должны быть пределы регулировки УОЗ- например 5-17 град. Если мы достигли мин. УОЗ, а ХХ выше нормы, то УОЗ увеличивается,а РХХ (лопата электродросселя) прикрывается на 1 пункт. Точная коректировка ХХ с помощью УОЗ повторяется.
Еще несколько аспектов- принудительный хх (экономайзер принудительного хх)- когда едем на передаче, газ отпущен (дроссель=0%), обороты выше 1700 -топливоподача откл. Обороты ниже 1350- переход на ХХ.
При этом топливоподача должна быть фиксированная, как для ХХ либо расчетная, но тогда она должна быть правильно калибрована. И при увелчении разрежения/уменьшения расхода воздуха практически не меняться.
Иначе обеднение смеси и мы заглохли на сбросе газа.
РХХ при этом должен приоткрыться, пока обороты не зависнут на 1000-900 на полсекунды. Потом используем последнее значение РХХ из памяти,при котором ХХ был правильным.
Зажигание по таблице. Просто нужно понимать, что весь угол ниже ХХ по нагрузке должен быть прописан одинаково.
Впринципе на старых тупых инжекторах с трамлерами и где РХХ и никогда не было, я ниразу не наблюдал проблем с ХХ.
Skype- max.mad486
- AndreyB
- Site Admin
- Posts: 14334
- Joined: Wed Aug 28, 2013 1:28 am
- Location: Jersey City
- Github Username: rusefillc
- Slack: Andrey B
Re: Управление в режиме холостого хода
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Re: Управление в режиме холостого хода
Статья для чайников теоретиков а не практиков. Все это дичайшая собачья чушь - точнее конечно сам ПИД они описывают правильно - у них объект не подходящий.
Двигатель как ОУ вообще глупо описывать в терминах систем реального времени. Это цикловая машина. Ее проще описывать через угол-момент...
да еще и ИМ не линеен по управляемому параметру - расходу...
Поэтому никогда не бывает в реальных системах ПИД ни в чистом виде ни даже притянутый за уши... По сути там есть только управление по модели (уставка), вялый интегратор, и к нему подгон под ответ для перехода от угла к времени...
Все это гораздо лучше написано у Гирявца.
Двигатель как ОУ вообще глупо описывать в терминах систем реального времени. Это цикловая машина. Ее проще описывать через угол-момент...
да еще и ИМ не линеен по управляемому параметру - расходу...
Поэтому никогда не бывает в реальных системах ПИД ни в чистом виде ни даже притянутый за уши... По сути там есть только управление по модели (уставка), вялый интегратор, и к нему подгон под ответ для перехода от угла к времени...
Все это гораздо лучше написано у Гирявца.
Re: Управление в режиме холостого хода
бываютMaxi wrote:Статья для чайников теоретиков а не практиков. Все это дичайшая собачья чушь - точнее конечно сам ПИД они описывают правильно - у них объект не подходящий.
Двигатель как ОУ вообще глупо описывать в терминах систем реального времени. Это цикловая машина. Ее проще описывать через угол-момент...
да еще и ИМ не линеен по управляемому параметру - расходу...
Поэтому никогда не бывает в реальных системах ПИД ни в чистом виде ни даже притянутый за уши... По сути там есть только управление по модели (уставка), вялый интегратор, и к нему подгон под ответ для перехода от угла к времени...
Все это гораздо лучше написано у Гирявца.
в реальных система ПИД встречается, причём даже в значительных объёмах. только там к-ты ПИД не константы, а таблицы, зависящие от входных величин. встречаются как линейные, так и 2д.
Теория хороша в том и только том случае, если она может достоверно предсказать результаты каждого нового опыта
Re: Управление в режиме холостого хода
Не бывает. Д составляющая для двигателя никакого смысла не имеет. П если есть - сильно вырождена. полноценна только И...
Короче - Гирявец 7я глава, все отлично описано.
Короче - Гирявец 7я глава, все отлично описано.
Re: Управление в режиме холостого хода
если такие машины тебе не попадались, не значит, что их нет ))Maxi wrote:Не бывает. Д составляющая для двигателя никакого смысла не имеет. П если есть - сильно вырождена. полноценна только И...
Короче - Гирявец 7я глава, все отлично описано.
например в управление наддувом - полноценный ПИД, с табличными ПИД к-тами. причём и П и И и Д составляющие присутствуют
Теория хороша в том и только том случае, если она может достоверно предсказать результаты каждого нового опыта
Re: Управление в режиме холостого хода
название темы читал?XDA wrote:например в управление наддувом - полноценный ПИД, с табличными ПИД к-тами. причём и П и И и Д составляющие присутствуют
Re: Управление в режиме холостого хода
окMaxi wrote:название темы читал?
Теория хороша в том и только том случае, если она может достоверно предсказать результаты каждого нового опыта