Page 2 of 3

Re: Регулятор ХХ

Posted: Sun Jul 23, 2017 3:52 pm
by andreika
darxfame wrote:справа с добавкой, у оборотов появляется некая ступенька, и обороты более не падают резко, что позволяет уменьшить влияние регулятора, не делать резких изменений положения и поддерживать обороты точнее без перерегулирования
Значит, идея с additionalAir находит практическое подтверждение, и можно будет добавлять этот параметр в настройки, как только решим текущие вопросы с PID.

Re: Регулятор ХХ

Posted: Mon Jul 24, 2017 12:20 am
by AndreyB
Заехал ко мне в гости опытный товарищ и мы великолепно настроили это дело!

Во-первых, 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: Регулятор ХХ

Posted: Mon Jul 24, 2017 12:28 am
by AndreyB
darxfame wrote: у меня шаговый РХХ, так что по частоте не смогу подсказать, поидее для вашего рх должна быть документация где должно быть указано что и как
Не частота соленида клапана, а частота-периодичность ПИД цикла?

Re: Регулятор ХХ

Posted: Mon Jul 24, 2017 12:42 am
by darxfame
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: Регулятор ХХ

Posted: Mon Jul 24, 2017 12:45 am
by darxfame
russian wrote:
darxfame wrote: у меня шаговый РХХ, так что по частоте не смогу подсказать, поидее для вашего рх должна быть документация где должно быть указано что и как
Не частота соленида клапана, а частота-периодичность ПИД цикла?
Мне важно быстро перейти с минимальными усилиями, на авто езжу каждый день, и что бы расход топлива не прыгнул снова до 16 литров на сотню, а остался до 10 литров как сейчас

Re: Регулятор ХХ

Posted: Mon Jul 24, 2017 2:58 pm
by andreika
russian wrote:Заехал ко мне в гости опытный товарищ и мы великолепно настроили это дело!
По какой именно методе настроили? Сними видеоХоть в двух словах опиши, пожалуйста, что и как делали?..
Переход на tps>0 проверяли с дефолтным кодом или тестовым PR?

Re: Регулятор ХХ

Posted: Mon Jul 24, 2017 3:08 pm
by AndreyB
Мозгом этого был не я :(

0) увеличили период с 10мс до 200мс
1) i=d=0, увеличиваем P пока не появились осциляции, остановились с этим P
2) осознали, что период 10мс уменьшает осциляции на том же самом значении P - вернули на 10мс
3) увеличиваем d с нуля до значени, когда он начинает как-то влиять
4) тыкаем пальцем в небо и увеличиваем i с нуля, пока не стало хорошо

По логу настройки вероятно можно даже расписать последовательность наших действий.

Re: Регулятор ХХ

Posted: Mon Jul 24, 2017 4:05 pm
by Maxi
Период 1 цилиндра 30мс - более часто нет смысла строить период регулятора ибо нет никакой новой информации об невязке.

Re: Регулятор ХХ

Posted: Mon Jul 24, 2017 4:11 pm
by andreika
russian wrote:Мозгом этого был не я
Спасибо! Забавно, это отчасти похоже то, что я и предлагал в "методе andreika" в самом конце того сообщения :lol: Видимо, к подобному подходу в настройке интуитивно пришли многие, и оно таки худо-бедно работает...
В общем, если будет нужна помощь в дальнейшем наращивании функционала регулятора ХХ - готов обсудить и помочь.

Re: Регулятор ХХ

Posted: Thu Aug 10, 2017 7:38 pm
by andreika
andreika wrote:А пока, чтобы не терять время, есть предложение попробовать протестировать на "красной машине" вот какой экспериментальный вариант: https://github.com/rusefi/rusefi/pull/462
В нём сидят три задумки:
1) При открывании дросселя, РХХ будет переходить из автомата в мануальную позицию, которая детерминирована и [вероятно] может уменьшить флуктуации на переходных режимах.
2) Есть также возможность задания дополнительного приоткрытия РХХ (по умолчанию additionalAir = 0), чтобы смягчить скачок давления при отпускании педали газа. Надо поиграться с ним, и если так будет лучше, можно будет потом вывести его в настраиваемый параметр (а также эта добавка позволит давать ещё больше воздуха на "педали в пол", как писал darxfame про реализацию у "взрослых" прошивок - но это уже задел на будущее, конечно).
3) Сделана линейная интерполяция для переходного режима совсем малых дросселей; а также теперь можно попробовать поднять порог tps_threshold больше 2% без боязни "обострения" переходных процессов.
В связи с возникшей необходимостью в добавке воздуха через РХХ при закрытии заслонки, просьба вынести "additionalAir" (см. п.2) в отдельную настройку Idle - в виде количества процентов РХХ, на которые будет приоткрываться РХХ при нажатии на педаль газа. Если на float жалко памяти, то хотя бы 1-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);

Re: Регулятор ХХ

Posted: Sat Aug 12, 2017 4:06 pm
by AndreyB
andreika wrote:В связи с возникшей необходимостью в добавке воздуха через РХХ при закрытии заслонки
https://github.com/rusefi/rusefi/commit/329fa64c64bcd2d44ab00289608c98e6d2890a7d

Re: Регулятор ХХ

Posted: Sun Aug 13, 2017 1:37 am
by Voitila
andreika wrote: на которые будет приоткрываться РХХ при нажатии на педаль газа.
При отпускании газа?

Re: Регулятор ХХ

Posted: Tue Aug 22, 2017 9:25 am
by Mixal_bl4
Перечитал эту тему, и я так понимаю что на данный момент нет толкового алгоритма по настройке ХХ или хотя-бы описания всех параметров добавленных в студию или я таки не досмотрел просто?

Re: Регулятор ХХ

Posted: Fri Aug 25, 2017 7:50 am
by andreika
Voitila wrote:
andreika wrote: на которые будет приоткрываться РХХ при нажатии на педаль газа.
При отпускании газа?
Нужно приоткрывать РХХ именно при нажатии на педаль, чтобы к моменту её отпускания он был уже приоткрыт. Дело в том, что отпустить педаль можно очень резко, и если реагировать по отпусканию, а не по нажатию, то мы просто не успеем подхватить обороты, т.к. РХХ медленный (во всяком случае, мой шаговый).

Re: Регулятор ХХ

Posted: Fri Aug 25, 2017 9:28 am
by puff
на каких-то старх ауди с мехинжектором на дроссельном узле стоял специальный демпфер, который не позволял резко отпускать педаль газа.

Re: Регулятор ХХ

Posted: Fri Aug 25, 2017 10:25 pm
by denisvak
puff wrote:на каких-то старх ауди с мехинжектором на дроссельном узле стоял специальный демпфер, который не позволял резко отпускать педаль газа.
такая байда стояла и на полностью инжекторных машинах...на вагах, на мицу, на мазде...

Re: Регулятор ХХ

Posted: Thu Mar 29, 2018 2:24 pm
by andreika
Готов долгожданный 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! Ждём его отчёт на форуме чуть позже...

А пока вот фрагментик его лога:
2018-03-29_12.54.41.msl.zip
(358.66 KiB) Downloaded 384 times
На логе - режимы ПХХ и активной работы газом (с постоянным нажатием и отпусканием педали), а также езда по пересечённой местности без педали газа над одном ПИДе (в конце).

Вкратце суть нововведений:
1) "Coasting IAC Position for Auto-Idle" нужна для того, чтобы в режиме ПХХ (езда накатом, торможение двигателя), когда обороты повышенные, мы отключаем ПИД, чтобы он не сошёл с ума, и "паркуем" его в заранее заданную позицию по таблице.
2) "PID Extra for low RPM" - нужен для того, чтобы при резкой просадке оборотов ниже установленных целевых у нас не заглох двигатель: т.е. мы тем самым делаем искусственный "перекос" ПИДа, и он работает с немного большей силой для пониженных оборотов, чем для повышенных - активнее тянет вверх, и плавнее вниз!

Re: Регулятор ХХ

Posted: Fri Mar 30, 2018 12:44 pm
by AndreyB
Замёржил. Мечтаю о полной документации по-английски, или фомулах, или блок-схеме, или хотя бы большем количестве комментариев в коде.

У нас с документацией везде плохо естественно, РХХ тут не хуже среднего - но и не лучше ?(

Re: Регулятор ХХ

Posted: Fri Mar 30, 2018 1:18 pm
by andreika
russian wrote:
Fri Mar 30, 2018 12:44 pm
Замёржил. Мечтаю о полной документации по-английски, или фомулах, или блок-схеме
Отлично! Спасибо за оперативный мердж! :D
По поводу документации - добавил себе это в ТУДУ, попробую расписать в вики текущую ситуацию по фичам Idle.

Re: Регулятор ХХ

Posted: Fri Mar 30, 2018 1:31 pm
by sadgin
russian wrote:Замёржил. Мечтаю о полной документации по-английски, или фомулах, или блок-схеме, или хотя бы большем количестве комментариев в коде.

У нас с документацией везде плохо естественно, РХХ тут не хуже среднего - но и не лучше ?(
А если еще и по-русски.... А то трудности перевода иногда не дают возможности настроить...

Отправлено с моего MI 4W через Tapatalk


Re: Регулятор ХХ

Posted: Fri Mar 30, 2018 7:25 pm
by darxfame
sadgin wrote:
russian wrote:Замёржил. Мечтаю о полной документации по-английски, или фомулах, или блок-схеме, или хотя бы большем количестве комментариев в коде.

У нас с документацией везде плохо естественно, РХХ тут не хуже среднего - но и не лучше ?(
А если еще и по-русски.... А то трудности перевода иногда не дают возможности настроить...

Отправлено с моего MI 4W через Tapatalk
Ну можете попробовать написать мне, я попробую рассказать, если знаю

Re: Регулятор ХХ

Posted: Fri May 04, 2018 10:48 am
by sadgin
А еще подскажите, у нас ведь нету возможности открыть клапан при выключении зажигания?

Re: Регулятор ХХ

Posted: Fri May 04, 2018 11:02 am
by AndreyB
sadgin wrote:
Fri May 04, 2018 10:48 am
А еще подскажите, у нас ведь нету возможности открыть клапан при выключении зажигания?
у нас выключение зажигания сейчас идёт только выключением питания кажется? т.е. как минимум поэтому ответ нет?

Re: Регулятор ХХ

Posted: Fri May 04, 2018 11:04 am
by sadgin
russian wrote:
Fri May 04, 2018 11:02 am
у нас выключение зажигания сейчас идёт только выключением питания кажется? т.е. как минимум поэтому ответ нет?
У меня было когда я только добавил на плату модуль управления кхх что при выключении зажигания питание на ECU подавалось.
Потом я добавил диод перед модулем управления кхх и тогда всё начало тухнуть при выключении зажигания.
Мы можем эту особенность использовать?

Re: Регулятор ХХ

Posted: Fri May 04, 2018 1:23 pm
by andreika
sadgin wrote:
Fri May 04, 2018 11:04 am
Мы можем эту особенность использовать?
Для этого в прошивке предусмотрена опция компиляции EFI_MAIN_RELAY_CONTROL.
sadgin wrote:
Fri May 04, 2018 10:48 am
А еще подскажите, у нас ведь нету возможности открыть клапан при выключении зажигания?
Первоначально планировалось сделать парковку РХХ при выключении зажигания (при использовании EFI_MAIN_RELAY_CONTROL), но затем мы сделали энергонезависимое запоминание положения РХХ, и особая необходимость в парковке отпала...

Re: Регулятор ХХ

Posted: Mon May 07, 2018 4:51 am
by sadgin
А лучше ли это парковки? При холодном запуске ведь нужно будет еще открыть клапан, что бы быстрее завести, разве нет?

Re: Регулятор ХХ

Posted: Mon May 07, 2018 9:33 am
by andreika
sadgin wrote:
Mon May 07, 2018 4:51 am
А лучше ли это парковки? При холодном запуске ведь нужно будет еще открыть клапан, что бы быстрее завести, разве нет?
Если РХХ не пропускает шаги и не сбивается, то однозначно лучше!
Открывать клапан в положение для пуска нужно в любом случае (и с парковкой, и без), и делать это нужно именно перед пуском (при включении), т.к. нельзя заранее угадать температуру (положение зависит от неё).
И мы получаем 2 варианта:
1) Если включена парковка (кстати, опция принудительной парковки у нас есть - для тех, кому надо), то при включении РХХ будет каждый раз ехать с 0 к положению на пуске (т.е. много шагов и долго);
2) Если работает запоминание, то при отключении РХХ никуда не едет (остаётся в последнем рабочем положении, которое запоминается), и при включении едет только на разницу шагов между пусковым и рабочим положениями (т.е. немного шагов, быстро). В реальности можно заводить двигатель практически сразу после поворота ключа зажигания.
(Конечно, можно сделать ещё и так, чтобы при отключении зажигания РХХ ехал в своё положение на пуске, и тогда при включении РХХ будет корректироваться на меньшее число шагов (по разнице температур), но ИМХО это не очень оправдано, т.к. часто двигатель глушится горячий, а заводится холодный, и разница температур будет существенной - и такой 3-й вариант врядли будет ощутимо быстрее второго, который уже сделан.)

Кстати, запоминание шагов сделано достаточно надёжно и быстро - после каждого сдвига РХХ даже на 1 шаг! Так что если в прошивке случится сбой или аварийное отключение питания и т.п., то положение РХХ в таком случае может сбиться максимум на 1 шаг. И, напоминаю, это всё работает только если в ЭБУ вставлена батарейка резервного питания.

Re: Регулятор ХХ

Posted: Tue May 08, 2018 4:01 am
by denisvak
А зачем вообще запоминать положение РХХ или ещё что-то? Отключать питание всего ECU? Можно же просто минимизировать потребление(отключить все) и усыпить его.

Re: Регулятор ХХ

Posted: Tue May 08, 2018 4:09 am
by sadgin
denisvak wrote:
Tue May 08, 2018 4:01 am
А зачем вообще запоминать положение РХХ или ещё что-то? Отключать питание всего ECU? Можно же просто минимизировать потребление(отключить все) и усыпить его.
Обычно питание ECU отключается в авто и проводка сделана именно так, что бы его отключать.

Re: Регулятор ХХ

Posted: Tue May 08, 2018 9:35 am
by Dron_Gus
sadgin wrote:
Tue May 08, 2018 4:09 am
Обычно питание ECU отключается в авто и проводка сделана именно так, что бы его отключать.
Обычно есть BackUp постоянные +12 прямо с аккумулятора. А вот что питать с этих +12: весь проц или только Vbackup...