Регулятор ХХ

Про байтики и логику ЭБУ
User avatar
andreika
donator
donator
Posts: 461
Joined: Mon Feb 13, 2017 2:35 pm
Location: Kiev

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

Post by andreika »

darxfame wrote:справа с добавкой, у оборотов появляется некая ступенька, и обороты более не падают резко, что позволяет уменьшить влияние регулятора, не делать резких изменений положения и поддерживать обороты точнее без перерегулирования
Значит, идея с additionalAir находит практическое подтверждение, и можно будет добавлять этот параметр в настройки, как только решим текущие вопросы с PID.
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

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

Post 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 :)
Attachments
screenshot2.png
screenshot2.png (59.62 KiB) Viewed 30509 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
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

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

Post by AndreyB »

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
User avatar
darxfame
contributor
contributor
Posts: 259
Joined: Mon Feb 13, 2017 10:06 pm
Location: Moscow

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

Post 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 :)
Скоро перейду) пока готовлю проводку, как раз вы допишете то, чего не хватает гражданскому авто
User avatar
darxfame
contributor
contributor
Posts: 259
Joined: Mon Feb 13, 2017 10:06 pm
Location: Moscow

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

Post by darxfame »

russian wrote:
darxfame wrote: у меня шаговый РХХ, так что по частоте не смогу подсказать, поидее для вашего рх должна быть документация где должно быть указано что и как
Не частота соленида клапана, а частота-периодичность ПИД цикла?
Мне важно быстро перейти с минимальными усилиями, на авто езжу каждый день, и что бы расход топлива не прыгнул снова до 16 литров на сотню, а остался до 10 литров как сейчас
User avatar
andreika
donator
donator
Posts: 461
Joined: Mon Feb 13, 2017 2:35 pm
Location: Kiev

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

Post by andreika »

russian wrote:Заехал ко мне в гости опытный товарищ и мы великолепно настроили это дело!
По какой именно методе настроили? Сними видеоХоть в двух словах опиши, пожалуйста, что и как делали?..
Переход на tps>0 проверяли с дефолтным кодом или тестовым PR?
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

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

Post by AndreyB »

Мозгом этого был не я :(

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
User avatar
Maxi
Sr Consultant
Sr Consultant
Posts: 786
Joined: Wed Oct 23, 2013 4:25 pm

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

Post by Maxi »

Период 1 цилиндра 30мс - более часто нет смысла строить период регулятора ибо нет никакой новой информации об невязке.
User avatar
andreika
donator
donator
Posts: 461
Joined: Mon Feb 13, 2017 2:35 pm
Location: Kiev

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

Post by andreika »

russian wrote:Мозгом этого был не я
Спасибо! Забавно, это отчасти похоже то, что я и предлагал в "методе andreika" в самом конце того сообщения :lol: Видимо, к подобному подходу в настройке интуитивно пришли многие, и оно таки худо-бедно работает...
В общем, если будет нужна помощь в дальнейшем наращивании функционала регулятора ХХ - готов обсудить и помочь.
User avatar
andreika
donator
donator
Posts: 461
Joined: Mon Feb 13, 2017 2:35 pm
Location: Kiev

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

Post 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);
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

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

Post by AndreyB »

andreika wrote:В связи с возникшей необходимостью в добавке воздуха через РХХ при закрытии заслонки
https://github.com/rusefi/rusefi/commit/329fa64c64bcd2d44ab00289608c98e6d2890a7d
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
User avatar
Voitila
Posts: 106
Joined: Sat May 09, 2015 2:50 pm
Location: m.o.

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

Post by Voitila »

andreika wrote: на которые будет приоткрываться РХХ при нажатии на педаль газа.
При отпускании газа?
User avatar
Mixal_bl4
contributor
contributor
Posts: 222
Joined: Thu Oct 16, 2014 10:05 am

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

Post by Mixal_bl4 »

Перечитал эту тему, и я так понимаю что на данный момент нет толкового алгоритма по настройке ХХ или хотя-бы описания всех параметров добавленных в студию или я таки не досмотрел просто?
User avatar
andreika
donator
donator
Posts: 461
Joined: Mon Feb 13, 2017 2:35 pm
Location: Kiev

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

Post by andreika »

Voitila wrote:
andreika wrote: на которые будет приоткрываться РХХ при нажатии на педаль газа.
При отпускании газа?
Нужно приоткрывать РХХ именно при нажатии на педаль, чтобы к моменту её отпускания он был уже приоткрыт. Дело в том, что отпустить педаль можно очень резко, и если реагировать по отпусканию, а не по нажатию, то мы просто не успеем подхватить обороты, т.к. РХХ медленный (во всяком случае, мой шаговый).
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

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

Post by puff »

на каких-то старх ауди с мехинжектором на дроссельном узле стоял специальный демпфер, который не позволял резко отпускать педаль газа.
denisvak
Posts: 403
Joined: Thu Oct 03, 2013 8:00 pm

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

Post by denisvak »

puff wrote:на каких-то старх ауди с мехинжектором на дроссельном узле стоял специальный демпфер, который не позволял резко отпускать педаль газа.
такая байда стояла и на полностью инжекторных машинах...на вагах, на мицу, на мазде...
User avatar
andreika
donator
donator
Posts: 461
Joined: Mon Feb 13, 2017 2:35 pm
Location: Kiev

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

Post 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 370 times
На логе - режимы ПХХ и активной работы газом (с постоянным нажатием и отпусканием педали), а также езда по пересечённой местности без педали газа над одном ПИДе (в конце).

Вкратце суть нововведений:
1) "Coasting IAC Position for Auto-Idle" нужна для того, чтобы в режиме ПХХ (езда накатом, торможение двигателя), когда обороты повышенные, мы отключаем ПИД, чтобы он не сошёл с ума, и "паркуем" его в заранее заданную позицию по таблице.
2) "PID Extra for low RPM" - нужен для того, чтобы при резкой просадке оборотов ниже установленных целевых у нас не заглох двигатель: т.е. мы тем самым делаем искусственный "перекос" ПИДа, и он работает с немного большей силой для пониженных оборотов, чем для повышенных - активнее тянет вверх, и плавнее вниз!
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

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

Post by AndreyB »

Замёржил. Мечтаю о полной документации по-английски, или фомулах, или блок-схеме, или хотя бы большем количестве комментариев в коде.

У нас с документацией везде плохо естественно, РХХ тут не хуже среднего - но и не лучше ?(
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
User avatar
andreika
donator
donator
Posts: 461
Joined: Mon Feb 13, 2017 2:35 pm
Location: Kiev

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

Post by andreika »

russian wrote:
Fri Mar 30, 2018 12:44 pm
Замёржил. Мечтаю о полной документации по-английски, или фомулах, или блок-схеме
Отлично! Спасибо за оперативный мердж! :D
По поводу документации - добавил себе это в ТУДУ, попробую расписать в вики текущую ситуацию по фичам Idle.
sadgin
contributor
contributor
Posts: 493
Joined: Mon Mar 23, 2015 9:27 am
Location: Novosibirsk

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

Post by sadgin »

russian wrote:Замёржил. Мечтаю о полной документации по-английски, или фомулах, или блок-схеме, или хотя бы большем количестве комментариев в коде.

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

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

User avatar
darxfame
contributor
contributor
Posts: 259
Joined: Mon Feb 13, 2017 10:06 pm
Location: Moscow

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

Post by darxfame »

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

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

Отправлено с моего MI 4W через Tapatalk
Ну можете попробовать написать мне, я попробую рассказать, если знаю
sadgin
contributor
contributor
Posts: 493
Joined: Mon Mar 23, 2015 9:27 am
Location: Novosibirsk

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

Post by sadgin »

А еще подскажите, у нас ведь нету возможности открыть клапан при выключении зажигания?
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

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

Post by AndreyB »

sadgin wrote:
Fri May 04, 2018 10:48 am
А еще подскажите, у нас ведь нету возможности открыть клапан при выключении зажигания?
у нас выключение зажигания сейчас идёт только выключением питания кажется? т.е. как минимум поэтому ответ нет?
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
sadgin
contributor
contributor
Posts: 493
Joined: Mon Mar 23, 2015 9:27 am
Location: Novosibirsk

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

Post by sadgin »

russian wrote:
Fri May 04, 2018 11:02 am
у нас выключение зажигания сейчас идёт только выключением питания кажется? т.е. как минимум поэтому ответ нет?
У меня было когда я только добавил на плату модуль управления кхх что при выключении зажигания питание на ECU подавалось.
Потом я добавил диод перед модулем управления кхх и тогда всё начало тухнуть при выключении зажигания.
Мы можем эту особенность использовать?
User avatar
andreika
donator
donator
Posts: 461
Joined: Mon Feb 13, 2017 2:35 pm
Location: Kiev

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

Post 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), но затем мы сделали энергонезависимое запоминание положения РХХ, и особая необходимость в парковке отпала...
sadgin
contributor
contributor
Posts: 493
Joined: Mon Mar 23, 2015 9:27 am
Location: Novosibirsk

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

Post by sadgin »

А лучше ли это парковки? При холодном запуске ведь нужно будет еще открыть клапан, что бы быстрее завести, разве нет?
User avatar
andreika
donator
donator
Posts: 461
Joined: Mon Feb 13, 2017 2:35 pm
Location: Kiev

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

Post by andreika »

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

Кстати, запоминание шагов сделано достаточно надёжно и быстро - после каждого сдвига РХХ даже на 1 шаг! Так что если в прошивке случится сбой или аварийное отключение питания и т.п., то положение РХХ в таком случае может сбиться максимум на 1 шаг. И, напоминаю, это всё работает только если в ЭБУ вставлена батарейка резервного питания.
denisvak
Posts: 403
Joined: Thu Oct 03, 2013 8:00 pm

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

Post by denisvak »

А зачем вообще запоминать положение РХХ или ещё что-то? Отключать питание всего ECU? Можно же просто минимизировать потребление(отключить все) и усыпить его.
sadgin
contributor
contributor
Posts: 493
Joined: Mon Mar 23, 2015 9:27 am
Location: Novosibirsk

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

Post by sadgin »

denisvak wrote:
Tue May 08, 2018 4:01 am
А зачем вообще запоминать положение РХХ или ещё что-то? Отключать питание всего ECU? Можно же просто минимизировать потребление(отключить все) и усыпить его.
Обычно питание ECU отключается в авто и проводка сделана именно так, что бы его отключать.
User avatar
Dron_Gus
contributor
contributor
Posts: 450
Joined: Wed Nov 13, 2013 1:11 pm
Location: S-Pb
Github Username: dron0gus

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

Post by Dron_Gus »

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