Значит, идея с additionalAir находит практическое подтверждение, и можно будет добавлять этот параметр в настройки, как только решим текущие вопросы с PID.darxfame wrote:справа с добавкой, у оборотов появляется некая ступенька, и обороты более не падают резко, что позволяет уменьшить влияние регулятора, не делать резких изменений положения и поддерживать обороты точнее без перерегулирования
Регулятор ХХ
Re: Регулятор ХХ
- AndreyB
- Site Admin
- Posts: 14360
- Joined: Wed Aug 28, 2013 1:28 am
- Location: Jersey City
- Github Username: rusefillc
- Slack: Andrey B
Re: Регулятор ХХ
Заехал ко мне в гости опытный товарищ и мы великолепно настроили это дело!
Во-первых, 100Hz работает лучше 5Hz на удивление. Во-вторых, нужно делать автонастройку и правда - иначе никакой живой человек не в состоянии будет себе это всё настроить.
Процесс: https://svn.code.sf.net/p/rusefi/code/misc/logs/2003_mazda_miata/20170723_12.41.35_idle_pid_tune_in_progress.msl.7z
Результат: https://svn.code.sf.net/p/rusefi/code/misc/logs/2003_mazda_miata/20170723_great_idle_pid_tune_and_ride.7z
Пример реализации автонастройки PID например https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/temperature.cpp#L222
PS: @ переходи уже на rusEfi
Во-первых, 100Hz работает лучше 5Hz на удивление. Во-вторых, нужно делать автонастройку и правда - иначе никакой живой человек не в состоянии будет себе это всё настроить.
Процесс: https://svn.code.sf.net/p/rusefi/code/misc/logs/2003_mazda_miata/20170723_12.41.35_idle_pid_tune_in_progress.msl.7z
Результат: https://svn.code.sf.net/p/rusefi/code/misc/logs/2003_mazda_miata/20170723_great_idle_pid_tune_and_ride.7z
Пример реализации автонастройки PID например https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/temperature.cpp#L222
PS: @ переходи уже на rusEfi
- Attachments
-
- screenshot2.png (59.62 KiB) Viewed 33466 times
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
- AndreyB
- Site Admin
- Posts: 14360
- Joined: Wed Aug 28, 2013 1:28 am
- Location: Jersey City
- Github Username: rusefillc
- Slack: Andrey B
Re: Регулятор ХХ
Не частота соленида клапана, а частота-периодичность ПИД цикла?darxfame wrote: у меня шаговый РХХ, так что по частоте не смогу подсказать, поидее для вашего рх должна быть документация где должно быть указано что и как
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: Регулятор ХХ
Скоро перейду) пока готовлю проводку, как раз вы допишете то, чего не хватает гражданскому автоrussian wrote:Заехал ко мне в гости опытный товарищ и мы великолепно настроили это дело!
Во-первых, 100Hz работает лучше 5Hz на удивление. Во-вторых, нужно делать автонастройку и правда - иначе никакой живой человек не в состоянии будет себе это всё настроить.
Процесс: https://svn.code.sf.net/p/rusefi/code/misc/logs/2003_mazda_miata/20170723_12.41.35_idle_pid_tune_in_progress.msl.7z
Результат: https://svn.code.sf.net/p/rusefi/code/misc/logs/2003_mazda_miata/20170723_great_idle_pid_tune_and_ride.7z
Пример реализации автонастройки PID например https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/temperature.cpp#L222
PS: @ переходи уже на rusEfi
Re: Регулятор ХХ
Мне важно быстро перейти с минимальными усилиями, на авто езжу каждый день, и что бы расход топлива не прыгнул снова до 16 литров на сотню, а остался до 10 литров как сейчасrussian wrote:Не частота соленида клапана, а частота-периодичность ПИД цикла?darxfame wrote: у меня шаговый РХХ, так что по частоте не смогу подсказать, поидее для вашего рх должна быть документация где должно быть указано что и как
Re: Регулятор ХХ
По какой именно методе настроили? Сними видеоХоть в двух словах опиши, пожалуйста, что и как делали?..russian wrote:Заехал ко мне в гости опытный товарищ и мы великолепно настроили это дело!
Переход на tps>0 проверяли с дефолтным кодом или тестовым PR?
- AndreyB
- Site Admin
- Posts: 14360
- Joined: Wed Aug 28, 2013 1:28 am
- Location: Jersey City
- Github Username: rusefillc
- Slack: Andrey B
Re: Регулятор ХХ
Мозгом этого был не я
0) увеличили период с 10мс до 200мс
1) i=d=0, увеличиваем P пока не появились осциляции, остановились с этим P
2) осознали, что период 10мс уменьшает осциляции на том же самом значении P - вернули на 10мс
3) увеличиваем d с нуля до значени, когда он начинает как-то влиять
4) тыкаем пальцем в небо и увеличиваем i с нуля, пока не стало хорошо
По логу настройки вероятно можно даже расписать последовательность наших действий.
0) увеличили период с 10мс до 200мс
1) i=d=0, увеличиваем P пока не появились осциляции, остановились с этим P
2) осознали, что период 10мс уменьшает осциляции на том же самом значении P - вернули на 10мс
3) увеличиваем d с нуля до значени, когда он начинает как-то влиять
4) тыкаем пальцем в небо и увеличиваем i с нуля, пока не стало хорошо
По логу настройки вероятно можно даже расписать последовательность наших действий.
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 цилиндра 30мс - более часто нет смысла строить период регулятора ибо нет никакой новой информации об невязке.
Re: Регулятор ХХ
Спасибо! Забавно, это отчасти похоже то, что я и предлагал в "методе andreika" в самом конце того сообщения Видимо, к подобному подходу в настройке интуитивно пришли многие, и оно таки худо-бедно работает...russian wrote:Мозгом этого был не я
В общем, если будет нужна помощь в дальнейшем наращивании функционала регулятора ХХ - готов обсудить и помочь.
Re: Регулятор ХХ
В связи с возникшей необходимостью в добавке воздуха через РХХ при закрытии заслонки, просьба вынести "additionalAir" (см. п.2) в отдельную настройку Idle - в виде количества процентов РХХ, на которые будет приоткрываться РХХ при нажатии на педаль газа. Если на float жалко памяти, то хотя бы 1-2 байта в виде количества шагов для добавки. Но проценты, конечно, лучше.andreika wrote:А пока, чтобы не терять время, есть предложение попробовать протестировать на "красной машине" вот какой экспериментальный вариант: https://github.com/rusefi/rusefi/pull/462
В нём сидят три задумки:
1) При открывании дросселя, РХХ будет переходить из автомата в мануальную позицию, которая детерминирована и [вероятно] может уменьшить флуктуации на переходных режимах.
2) Есть также возможность задания дополнительного приоткрытия РХХ (по умолчанию additionalAir = 0), чтобы смягчить скачок давления при отпускании педали газа. Надо поиграться с ним, и если так будет лучше, можно будет потом вывести его в настраиваемый параметр (а также эта добавка позволит давать ещё больше воздуха на "педали в пол", как писал darxfame про реализацию у "взрослых" прошивок - но это уже задел на будущее, конечно).
3) Сделана линейная интерполяция для переходного режима совсем малых дросселей; а также теперь можно попробовать поднять порог tps_threshold больше 2% без боязни "обострения" переходных процессов.
P.S. Речь пока идёт только о добавке воздуха, а не переходе из автомата в мануальную позицию. Т.е. нужно будет просто добавить пару строчек вида:
Code: Select all
percent_t tpsPos = getTPS(PASS_ENGINE_PARAMETER_SIGNATURE);
iacPosition += interpolateClamped(0.0f, 0.0f, boardConfiguration->idlePidDeactivationTpsThreshold, engineConfiguration->additionalAirIACdelta, tpsPos);
- AndreyB
- Site Admin
- Posts: 14360
- Joined: Wed Aug 28, 2013 1:28 am
- Location: Jersey City
- Github Username: rusefillc
- Slack: Andrey B
Re: Регулятор ХХ
https://github.com/rusefi/rusefi/commit/329fa64c64bcd2d44ab00289608c98e6d2890a7dandreika wrote:В связи с возникшей необходимостью в добавке воздуха через РХХ при закрытии заслонки
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: Регулятор ХХ
При отпускании газа?andreika wrote: на которые будет приоткрываться РХХ при нажатии на педаль газа.
Re: Регулятор ХХ
Перечитал эту тему, и я так понимаю что на данный момент нет толкового алгоритма по настройке ХХ или хотя-бы описания всех параметров добавленных в студию или я таки не досмотрел просто?
Re: Регулятор ХХ
Нужно приоткрывать РХХ именно при нажатии на педаль, чтобы к моменту её отпускания он был уже приоткрыт. Дело в том, что отпустить педаль можно очень резко, и если реагировать по отпусканию, а не по нажатию, то мы просто не успеем подхватить обороты, т.к. РХХ медленный (во всяком случае, мой шаговый).Voitila wrote:При отпускании газа?andreika wrote: на которые будет приоткрываться РХХ при нажатии на педаль газа.
Re: Регулятор ХХ
на каких-то старх ауди с мехинжектором на дроссельном узле стоял специальный демпфер, который не позволял резко отпускать педаль газа.
Re: Регулятор ХХ
такая байда стояла и на полностью инжекторных машинах...на вагах, на мицу, на мазде...puff wrote:на каких-то старх ауди с мехинжектором на дроссельном узле стоял специальный демпфер, который не позволял резко отпускать педаль газа.
Re: Регулятор ХХ
Готов долгожданный PR по усовершенствованию ПИД-регулятора ХХ:
https://github.com/rusefi/rusefi/pull/589
Что сделано:
- новая табличка "Coasting IAC Position for Auto-Idle" (режим ПИД+ПХХ);
- настройка "Use separate IAC Table For Coasting" для этой таблички (в Idle Settings);
- настройка "PID Extra for low RPM" (можно задать там, для примера, 4% - см.ниже);
- реализация idlePidRpmDeadZone и idlePidRpmUpperLimit (уже были добавлены в настройки);
- улучшение плавности РХХ-регулятора (idlePositionSensitivityThreshold);
- плюс пару фиксов.
Фактически, этот PR основан на идеях ранее выложенного старого PR (в котором временно использовалась табличка Manual для ПИДа), но при этом сущенственно дополнен новыми фишками, которые дают реальную прибавку качества работы регулятора!
К сожалению, юнит-тесты для РХХ не поддерживаются, поэтому мы ограничились активным тестированием на реальной машине, за что спасибо нашему бессменному главному тестеру @darxfame! Ждём его отчёт на форуме чуть позже...
А пока вот фрагментик его лога: На логе - режимы ПХХ и активной работы газом (с постоянным нажатием и отпусканием педали), а также езда по пересечённой местности без педали газа над одном ПИДе (в конце).
Вкратце суть нововведений:
1) "Coasting IAC Position for Auto-Idle" нужна для того, чтобы в режиме ПХХ (езда накатом, торможение двигателя), когда обороты повышенные, мы отключаем ПИД, чтобы он не сошёл с ума, и "паркуем" его в заранее заданную позицию по таблице.
2) "PID Extra for low RPM" - нужен для того, чтобы при резкой просадке оборотов ниже установленных целевых у нас не заглох двигатель: т.е. мы тем самым делаем искусственный "перекос" ПИДа, и он работает с немного большей силой для пониженных оборотов, чем для повышенных - активнее тянет вверх, и плавнее вниз!
https://github.com/rusefi/rusefi/pull/589
Что сделано:
- новая табличка "Coasting IAC Position for Auto-Idle" (режим ПИД+ПХХ);
- настройка "Use separate IAC Table For Coasting" для этой таблички (в Idle Settings);
- настройка "PID Extra for low RPM" (можно задать там, для примера, 4% - см.ниже);
- реализация idlePidRpmDeadZone и idlePidRpmUpperLimit (уже были добавлены в настройки);
- улучшение плавности РХХ-регулятора (idlePositionSensitivityThreshold);
- плюс пару фиксов.
Фактически, этот PR основан на идеях ранее выложенного старого PR (в котором временно использовалась табличка Manual для ПИДа), но при этом сущенственно дополнен новыми фишками, которые дают реальную прибавку качества работы регулятора!
К сожалению, юнит-тесты для РХХ не поддерживаются, поэтому мы ограничились активным тестированием на реальной машине, за что спасибо нашему бессменному главному тестеру @darxfame! Ждём его отчёт на форуме чуть позже...
А пока вот фрагментик его лога: На логе - режимы ПХХ и активной работы газом (с постоянным нажатием и отпусканием педали), а также езда по пересечённой местности без педали газа над одном ПИДе (в конце).
Вкратце суть нововведений:
1) "Coasting IAC Position for Auto-Idle" нужна для того, чтобы в режиме ПХХ (езда накатом, торможение двигателя), когда обороты повышенные, мы отключаем ПИД, чтобы он не сошёл с ума, и "паркуем" его в заранее заданную позицию по таблице.
2) "PID Extra for low RPM" - нужен для того, чтобы при резкой просадке оборотов ниже установленных целевых у нас не заглох двигатель: т.е. мы тем самым делаем искусственный "перекос" ПИДа, и он работает с немного большей силой для пониженных оборотов, чем для повышенных - активнее тянет вверх, и плавнее вниз!
- AndreyB
- Site Admin
- Posts: 14360
- 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: Регулятор ХХ
А если еще и по-русски.... А то трудности перевода иногда не дают возможности настроить...russian wrote:Замёржил. Мечтаю о полной документации по-английски, или фомулах, или блок-схеме, или хотя бы большем количестве комментариев в коде.
У нас с документацией везде плохо естественно, РХХ тут не хуже среднего - но и не лучше ?(
Отправлено с моего MI 4W через Tapatalk
Re: Регулятор ХХ
Ну можете попробовать написать мне, я попробую рассказать, если знаюsadgin wrote:А если еще и по-русски.... А то трудности перевода иногда не дают возможности настроить...russian wrote:Замёржил. Мечтаю о полной документации по-английски, или фомулах, или блок-схеме, или хотя бы большем количестве комментариев в коде.
У нас с документацией везде плохо естественно, РХХ тут не хуже среднего - но и не лучше ?(
Отправлено с моего MI 4W через Tapatalk
Re: Регулятор ХХ
А еще подскажите, у нас ведь нету возможности открыть клапан при выключении зажигания?
- AndreyB
- Site Admin
- Posts: 14360
- 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: Регулятор ХХ
У меня было когда я только добавил на плату модуль управления кхх что при выключении зажигания питание на ECU подавалось.
Потом я добавил диод перед модулем управления кхх и тогда всё начало тухнуть при выключении зажигания.
Мы можем эту особенность использовать?
Re: Регулятор ХХ
Для этого в прошивке предусмотрена опция компиляции EFI_MAIN_RELAY_CONTROL.
Первоначально планировалось сделать парковку РХХ при выключении зажигания (при использовании EFI_MAIN_RELAY_CONTROL), но затем мы сделали энергонезависимое запоминание положения РХХ, и особая необходимость в парковке отпала...
Re: Регулятор ХХ
А лучше ли это парковки? При холодном запуске ведь нужно будет еще открыть клапан, что бы быстрее завести, разве нет?
Re: Регулятор ХХ
Если РХХ не пропускает шаги и не сбивается, то однозначно лучше!
Открывать клапан в положение для пуска нужно в любом случае (и с парковкой, и без), и делать это нужно именно перед пуском (при включении), т.к. нельзя заранее угадать температуру (положение зависит от неё).
И мы получаем 2 варианта:
1) Если включена парковка (кстати, опция принудительной парковки у нас есть - для тех, кому надо), то при включении РХХ будет каждый раз ехать с 0 к положению на пуске (т.е. много шагов и долго);
2) Если работает запоминание, то при отключении РХХ никуда не едет (остаётся в последнем рабочем положении, которое запоминается), и при включении едет только на разницу шагов между пусковым и рабочим положениями (т.е. немного шагов, быстро). В реальности можно заводить двигатель практически сразу после поворота ключа зажигания.
(Конечно, можно сделать ещё и так, чтобы при отключении зажигания РХХ ехал в своё положение на пуске, и тогда при включении РХХ будет корректироваться на меньшее число шагов (по разнице температур), но ИМХО это не очень оправдано, т.к. часто двигатель глушится горячий, а заводится холодный, и разница температур будет существенной - и такой 3-й вариант врядли будет ощутимо быстрее второго, который уже сделан.)
Кстати, запоминание шагов сделано достаточно надёжно и быстро - после каждого сдвига РХХ даже на 1 шаг! Так что если в прошивке случится сбой или аварийное отключение питания и т.п., то положение РХХ в таком случае может сбиться максимум на 1 шаг. И, напоминаю, это всё работает только если в ЭБУ вставлена батарейка резервного питания.
Re: Регулятор ХХ
А зачем вообще запоминать положение РХХ или ещё что-то? Отключать питание всего ECU? Можно же просто минимизировать потребление(отключить все) и усыпить его.