Page 11 of 12

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Wed Nov 01, 2017 12:48 pm
by Abricos
andreika wrote:В честь Хеллоуина решил порадовать нас сразу несколькими PR: :)
https://github.com/rusefi/rusefi/pull/486
https://github.com/rusefi/rusefi/pull/485
https://github.com/rusefi/rusefi/pull/484
https://github.com/rusefi/rusefi/pull/483
Первые две доработки (#485, #486) были опробованы в поездке ещё летом и показали себя неплохо. Ещё одна - по просьбе Артёма @darxfame, для его модуля Bluetooth. И, наконец, крошечный фикс компиляции для MEMS.
Как понять для его модуля блутус ??? Он чем-то отличается ???

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Wed Nov 01, 2017 1:26 pm
by puff
процедуры настройки разные, да

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Wed Nov 01, 2017 6:37 pm
by andreika
Совершенно верно, для разных модулей - разные настройки (точнее, команды немного разные).
Сейчас поддерживаются такие модули:
1) HC-05

2) HC-06

3) SPP-C

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Thu Nov 02, 2017 10:11 pm
by russian
Приятная радость! Что-то уже замёржил :)

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Wed Nov 15, 2017 6:12 pm
by andreika
Второй раз (после летней поездки) завёл машину и немного погонял масло. Температура за бортом +8 градусов Цельсия. Пришлось чуть добавить топлива в warmup-таблице для cranking.
На всякий случай выкладываю текущий конфиг с машины:
RUSefi_test_config.15.11.2017.zip
(1.5 MiB) Downloaded 38 times

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Sun Dec 03, 2017 8:11 am
by andreika

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Sun Dec 03, 2017 11:35 am
by puff
хоть бы в паре слов обозначил, зачем они нужны)
первые два - еще туда-сюда понятно, третий - аналоговый дебаг вход??

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Sun Dec 03, 2017 6:53 pm
by andreika
puff wrote:хоть бы в паре слов обозначил, зачем они нужны)
первые два - еще туда-сюда понятно, третий - аналоговый дебаг вход??
Если в паре слов, то они нужны для машины darxfame ;)
Третий PR - новый отладочный режим чтобы записывать в лог напряжения на основных АЦП.

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Tue Dec 19, 2017 3:38 pm
by andreika
Выложил пробный PR с реализацией Prime Injection Pulse... Пока без тестирования.

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Fri Dec 22, 2017 1:08 pm
by andreika
Выложил два PR для РХХ с новым инкрементальным ПИДом:
https://github.com/rusefi/rusefi/pull/519
https://github.com/rusefi/rusefi/pull/520
Включается с помощью EFI_IDLE_INCREMENTAL_PID_CIC=TRUE

Суть в следующем:
1) ПИД теперь контролирует не текущее положение РХХ, а прибавку к текущему положению. Аналогично сделано в Январе. Это даёт возможность плавно контролировать степень влияния ПИДа, и уменьшать его влияние на переходных режимах дросселя.
2) Фикс добавки воздуха по дросселю при Авто-ПИДе;
3) Целевые обороты для РХХ-ПИДа теперь можно будет задавать в отдельной таблице, не используя коэффициенты обогащения для РХХ (к примеру, РХХ на непрогретую может быть в 4 раза выше, но для целевых оборотов такой коэффициент не подойдёт).
4) Поддержка отдельной таблицы с положением РХХ на пуске (параметр overrideCrankingIacSetting и таблица cltCrankingCorr)

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Sun Dec 24, 2017 12:54 pm
by andreika
Был выложен PR, связанный с реализацией предвпрыска. Спасибо Андрею @Russian за оперативный merge!

А теперь ещё два новых небольших PR, связанных с доработкой нашего бутлоадера:
https://github.com/rusefi/rusefi/pull/523
https://github.com/rusefi/rusefi/pull/524
Фиксят стирание страниц памяти для 2Мб-чипов типа STM32F469. Раньше попытка стереть старшие сектора из 2-го банка памяти приводила к стиранию страниц из 1-го банка! Теперь будет всё ок.
Плюс теперь на Прометее можно прошивать прошивку через наш бутлоадер без отключения проводки - раньше приходилось отключать катушки, чтобы они не были включёнными на период работы бутлоадера и не сгорели.

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Dec 25, 2017 3:21 am
by russian
Всё это очень вкусно :)

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Sun Dec 31, 2017 11:22 pm
by andreika
Парочка новых PR вам под ёлочку! ;)
https://github.com/rusefi/rusefi/pull/525
https://github.com/rusefi/rusefi/pull/526

Фикс датчика скорости, который переставал считать скорость при изменении настроек.
А также алгоритм подсчёта расхода топлива в литрах в час! (альфа-версия)

С Новым Годом! :)

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Wed Jan 03, 2018 12:04 am
by andreika
Продолжаем праздничные PR! :)

Сегодня в программе:
1) Fix useSeparateAdvanceForIdle now using corrections
* Исправляем работу отдельной таблицы УОЗ на ХХ, поскольку она не использовала коррекции по ДТОЖ и ДТВ.

2) Impl. idlePid RPM dead-zone and upper-limit
* Реализация работы "мёртвой зоны" для ПИДа РХХ и верхнего лимита оборотов, при достижении которого ПИД будет плавно переходить в положение manual.
* Почему именно в manual, а не просто отключать ПИД, как в случае с нажатием педали газа?
* Потому что иначе обороты могли бы "зависнуть", если ПИД случайно их поднимет выше лимита и после этого отключится. Это стабилизирует поведение регулятора, а также препятствует провалу оборотов при отпускании педали газа.

3) Fixed baro correction option using the initial MAP pressure
* Делаем опцию для барокоррекции по ДАДу! Для тех, у кого нет отдельного датчика атмосферного давления, прошивка может брать значение ДАД при включении зажигания в качестве референсного для барокоррекции. Разумеется, сделана проверка неверно измеренного давления в случае включения зажигания при крутящемся двигателе (если заглох в движении и т.п.)...


4) Impl. primeInjFalloffTemperature
* Делаем плавное уменьшение предвпрыска до нуля по мере прогрева двигателя (верхний порог температуры задаётся параметром!).

5) Update config to introduce new features
* Наконец, добавляем все наши новые настройки в конфиг-файлы!

Артём @darxfame уже успел бегло проверить эти нововведения своей на машине, за что ему спасибо!

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Wed Jan 03, 2018 1:36 am
by darxfame
andreika wrote:Продолжаем праздничные PR! :)

Сегодня в программе:
1) Fix useSeparateAdvanceForIdle now using corrections
* Исправляем работу отдельной таблицы УОЗ на ХХ, поскольку она не использовала коррекции по ДТОЖ и ДТВ.

2) Impl. idlePid RPM dead-zone and upper-limit
* Реализация работы "мёртвой зоны" для ПИДа РХХ и верхнего лимита оборотов, при достижении которого ПИД будет плавно переходить в положение manual.
* Почему именно в manual, а не просто отключать ПИД, как в случае с нажатием педали газа?
* Потому что иначе обороты могли бы "зависнуть", если ПИД случайно их поднимет выше лимита и после этого отключится. Это стабилизирует поведение регулятора, а также препятствует провалу оборотов при отпускании педали газа.

3) Fixed baro correction option using the initial MAP pressure
* Делаем опцию для барокоррекции по ДАДу! Для тех, у кого нет отдельного датчика атмосферного давления, прошивка может брать значение ДАД при включении зажигания в качестве референсного для барокоррекции. Разумеется, сделана проверка неверно измеренного давления в случае включения зажигания при крутящемся двигателе (если заглох в движении и т.п.)...


4) Impl. primeInjFalloffTemperature
* Делаем плавное уменьшение предвпрыска до нуля по мере прогрева двигателя (верхний порог температуры задаётся параметром!).

5) Update config to introduce new features
* Наконец, добавляем все наши новые настройки в конфиг-файлы!

Артём @darxfame уже успел бегло проверить эти нововведения своей на машине, за что ему спасибо!
Уряяя))) Ждём ваших комментариев

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Wed Jan 03, 2018 2:32 am
by russian
andreika wrote: 2) Impl. idlePid RPM dead-zone and upper-limit
* Реализация работы "мёртвой зоны" для ПИДа РХХ и верхнего лимита оборотов, при достижении которого ПИД будет плавно переходить в положение manual.
* Почему именно в manual, а не просто отключать ПИД, как в случае с нажатием педали газа?
* Потому что иначе обороты могли бы "зависнуть", если ПИД случайно их поднимет выше лимита и после этого отключится. Это стабилизирует поведение регулятора, а также препятствует провалу оборотов при отпускании педали газа.
Я в сомнениях - слишком сложно получается. "сначала настроим автоматический, а потом всё равно настроим ручной, для тонкой настройки автоматического". Как-то мучительно для пользователей и совсем не просто получается, смешиваем яблоки с апельсинами.

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Wed Jan 03, 2018 10:58 am
by darxfame
russian wrote:
andreika wrote: 2) Impl. idlePid RPM dead-zone and upper-limit
* Реализация работы "мёртвой зоны" для ПИДа РХХ и верхнего лимита оборотов, при достижении которого ПИД будет плавно переходить в положение manual.
* Почему именно в manual, а не просто отключать ПИД, как в случае с нажатием педали газа?
* Потому что иначе обороты могли бы "зависнуть", если ПИД случайно их поднимет выше лимита и после этого отключится. Это стабилизирует поведение регулятора, а также препятствует провалу оборотов при отпускании педали газа.
Я в сомнениях - слишком сложно получается. "сначала настроим автоматический, а потом всё равно настроим ручной, для тонкой настройки автоматического". Как-то мучительно для пользователей и совсем не просто получается, смешиваем яблоки с апельсинами.
А ты придумал как не вручную настроить автоматический? Что бы он адекватно работал? Не уходя в разнос?

Отправлено с моего PRO 6 через Tapatalk

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Wed Jan 03, 2018 12:54 pm
by andreika
russian wrote:Я в сомнениях - слишком сложно получается. "сначала настроим автоматический, а потом всё равно настроим ручной, для тонкой настройки автоматического". Как-то мучительно для пользователей и совсем не просто получается, смешиваем яблоки с апельсинами.
Я попробую ответить.
Я согласен с тезисом, что в идеале для работы авто-пида мы не должны требовать от юзера настраивать мануал. И даже более того, именно такая "идеальная" реализация нами задумана на будущее. Мы хотим сделать режим обучения регулятора РХХ, в котором он будет сам для себя хранить табличку хороших значений положения РХХ по ДТОЖ (там, где RPM попадал в мёртвую зону целевых оборотов), и регулятор будет сам её обновлять и сам её использовать для своих нужд.
Т.е. впоследствии табличку мануал мы для автопида уже не будем использовать, и вместо неё напишем более правильный и умный код.
Но.
Тот алгоритм, который несомненно станет для юзеров самым простым и удобным вариантом (где не нужно настраивать мануал для авто-пида), при этом является довольно сложным для нас в плане реализации. И именно поэтому мы хотели вначале сделать промежуточный вариант, где положение РХХ в переходных режимах берётся из ручной таблицы, чтобы на его основе и по результатам его работы написать тот более сложный вариант. Тем более, что этот промежуточный вариант никому не мешает, поскольку завязан на новую переменную (idlePidRpmUpperLimit). Кстати, лучше всего сделать idlePidRpmUpperLimit относительным (по отношению к целевым оборотам), а не абсолютным. Я это уже подправил в PR.

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Wed Jan 03, 2018 12:59 pm
by darxfame
andreika wrote:
russian wrote:Я в сомнениях - слишком сложно получается. "сначала настроим автоматический, а потом всё равно настроим ручной, для тонкой настройки автоматического". Как-то мучительно для пользователей и совсем не просто получается, смешиваем яблоки с апельсинами.
Я попробую ответить.
Я согласен с тезисом, что в идеале для работы авто-пида мы не должны требовать от юзера настраивать мануал. И даже более того, именно такая "идеальная" реализация нами задумана на будущее. Мы хотим сделать режим обучения регулятора РХХ, в котором он будет сам для себя хранить табличку хороших значений положения РХХ по ДТОЖ (там, где RPM попадал в мёртвую зону целевых оборотов), и регулятор будет сам её обновлять и сам её использовать для своих нужд.
Т.е. впоследствии табличку мануал мы для автопида уже не будем использовать, и вместо неё напишем более правильный и умный код.
Но.
Тот алгоритм, который несомненно станет для юзеров самым простым и удобным вариантом (где не нужно настраивать мануал для авто-пида), при этом является довольно сложным для нас в плане реализации. И именно поэтому мы хотели вначале сделать промежуточный вариант, где положение РХХ в переходных режимах берётся из ручной таблицы, чтобы на его основе и по результатам его работы написать тот более сложный вариант. Тем более, что этот промежуточный вариант никому не мешает, поскольку завязан на новую переменную (idlePidRpmUpperLimit). Кстати, лучше всего сделать idlePidRpmUpperLimit относительным (по отношению к целевым оборотам), а не абсолютным. Я это уже подправил в PR.
Да, мы это сегодня обсудили и мы считаем что стоит попробовать сделать в начале такую реализацию, а затем уже переходить к усложнению, тем более что наш многоуважаемый @russian любит только маленькие и вкусные PR, а большие и очень вкусные он любит не меньше, но они у него не усваиваются за раз и приходится растягивать удовольствие, тем самым откладывая попытку попробовать новые вкусненькие вещи)

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jan 22, 2018 10:30 pm
by andreika

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Tue Jan 23, 2018 12:50 am
by russian
Очень вкусные, спасибо!
andreika wrote:
Mon Jan 22, 2018 10:30 pm

Add an option to print errors as warnings
Кто не компилирует юнит тесты перед созданием PR? Кто не компилирует уверен и не запускает. Кто не запускает уверен и не увеличивает покрытие тестами :roll: :P :ugeek: https://github.com/rusefi/rusefi/commit ... 5ea9f99827

Модульное тестирование

Разработка через тестирование

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jan 29, 2018 7:17 pm
by andreika
Пришло время заняться последней непротестированной частью платы Прометей: контроллер широкополосного лямбда-зонда.
Схема была заимствована из разработок проекта rusEFI, но, как оказалось, содержала несколько ошибок. Также требовалось написать код управления контроллером. Спасибо @@ и @@ за помощь и консультации!

На данный момент, после исправлений ошибок схемы, можно сказать, что контроллер более-менее работает! 8-)



Для теста используется оригинальный бошевский ШДК LSU 4.2.
Мы видим, что вначале нагреватель запускается на 15%, пока не появятся обороты - всё согласно рекомендациям Бош:
http://www.nzefi.com/bosch-lsu-wide-ban ... lications/

Затем идёт предварительный разогрев с контролем скорости и мониторинг ошибок, и затем включается ПИД-регулятор, контролирующий ШИМ. При этом сигнал UA преобразуется в значение AFR и выдаётся в прошивку.
Также сделан режим калибровки, доступный с Консоли по команде, с запоминанием значений в NVRAM.

Что осталось:
- подобрать значения параметров для ПИДа получше;
- вынести часть параметров в настройки Тюнерстудии;
- дорабатывать, улучшать...

А пока - жирненький PR, как и обещал: ;)
https://github.com/rusefi/rusefi/pull/560

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jan 29, 2018 7:31 pm
by russian
Хорошо-то как! Это между прочим великий день - встроенный шикокополосник это очень круто!

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jan 29, 2018 8:10 pm
by andreika
Теперь пару слов о том, как пришлось доработать блок.

Для начала нужно было исправить ошибку в схеме (ревизия платы 0.01):
cj125_fix.jpg
cj125_fix.jpg (59.23 KiB) Viewed 2747 times
Т.е. нужно изолировать R13 от земли и соединить с C7 перемычкой:
cj125_fix2.jpg
cj125_fix2.jpg (241.08 KiB) Viewed 2747 times
Также нужно поставить джампер для подключения сигнала лямбды (зелёный на фото).
И ещё нужно было заменить резистор R5 на нулевой резистор (перемычка) и выпаять конденсатор C6.
Наконец, я поставил более мощный транзистор для нагрева лямбды (стоял VND5, поставил VND14) и уменьшил резистор в затворе (R3) до 220 Ом.

Продолжаем. Подпаиваем проводку для подключения ШДК:
cj125_wiring.jpg
cj125_wiring.jpg (147.45 KiB) Viewed 2747 times
Чтобы всё сделать красиво, нужен специальный разъём для подключения ШДК:
cj125_connector.jpg
cj125_connector.jpg (114.39 KiB) Viewed 2747 times
На фото видны номера деталей.

Чтобы всё правильно соединить, используем вот такую "шпаргалку":
cj125_conn_wiring.jpg
cj125_conn_wiring.jpg (58.04 KiB) Viewed 2589 times
В итоге получаем вот что:
cj125_ready.jpg
cj125_ready.jpg (178.89 KiB) Viewed 2747 times
На фото видны два толстых провода, которые также обязательно нужно подпаять и подключить к питанию через реле от зажигания. Иначе можно "поджарить" дорожки на плате, ведь для нагрева лямбда потребляет немалый ток.

Настройки для Тюнерстудии такие:
cj125_settings.PNG
cj125_settings.PNG (56.86 KiB) Viewed 2747 times
Обязательно нужно отключить пины со вкладки EGO, чтобы не было конфликтов.
И отключить сам старый разъём для управления внешним контроллером или УДК - теперь нужно использовать только новый разъём.

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jan 29, 2018 10:07 pm
by russian
Настройка усиления у нас.на.лету не меняется? там кажется потенциальное улучшение - менять этот параметр на.лету?

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jan 29, 2018 10:13 pm
by andreika
russian wrote:
Mon Jan 29, 2018 10:07 pm
Настройка усиления у нас.на.лету не меняется? там кажется потенциальное улучшение - менять этот параметр на.лету?
Это в коде есть, но оно сейчас отключено:

Code: Select all

#if 0
		// Change amplification if AFR gets lean/rich for better accuracy
		cjSetMode(lambda > 1.0f ? CJ125_MODE_NORMAL_17 : CJ125_MODE_NORMAL_8);
#endif
Я не успел протестировать это, и не могу гарантировать работу. Но, по идее, работать должно. Это может немного повысить точность.
Разве что не уверен насчёт потоковой синхронизации непосредственно в момент изменения усиления - vUa может не успеть поменяться.

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jan 29, 2018 11:11 pm
by andreika
Вот выкладываю ещё лог прогрева лямбды и работы ПИДа (включён режим дебага DBG_CJ125):
2018-01-29_19.25.27.msl
(2.29 MiB) Downloaded 400 times
Видно, что коэффициенты ПИДа ещё далеки от совершенства, но сходимость есть:
cj125_log.PNG
cj125_log.PNG (13.21 KiB) Viewed 2729 times
(Белый - нагреватель, жёлтый - сигнал UA, красный - сигнал UR, сходящийся к калибровочному значению).

Можно попробовать включать ПИД немного пораньше, чтобы не было провала при переходе от преднагрева к ПИДу.
В целом, UR меняется довольно плавно, и не сильно зависит от нажатия на педаль газа на ХХ (видно незначительное изменение EGT в правой части графика)...

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jan 29, 2018 11:20 pm
by puff
вот это все долгожданная крутота!
интересно, как лучше поступить с франкенштейном - проводочками тянуть SPI к кастомной платке с cj125 (какой длины могут быть проводочки?)

или пробовать переносить в отдельную плату blue pill (stm32f103c8)? хотя тут наверное всё очень хорошо интгерировано и fpu используется...

и какие недоргие датчики сейчас бывают в продаже под это дело? и какие тут меры предосторожности соблюдать, чтоб не поломать их (в даташите к датчику, например, написано, не включать на свежем воздухе)

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Tue Jan 30, 2018 12:24 am
by russian
puff wrote:
Mon Jan 29, 2018 11:20 pm
пробовать переносить в отдельную плату blue pill (stm32f103c8)? хотя тут наверное всё очень хорошо интгерировано и fpu используется...
без FPU тут можно выжить. теоретически надо мелкую платку сделать так, чтоб она хорошо одевалась на "стандартную" stm32f103c8 - только вопрос, насколько они стандартные :) и будет ли у нас время Makefile для этого сделать и так далее. Идея интересная, но где взять программистов? :)

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Tue Jan 30, 2018 6:59 am
by puff
платки вроде бы как раз стандартные. и даже кан в них есть, и даже вроде как не один. :-)
я вот пытаюсь понять, насколько быстрым должен быть сигнал о2 и насколько это критично? (кто-то предлагал r2r лестницу ЦАП, управляемую непосредствено записью в регистр восьмибитного чипа для ускорения выдачи результата. Maxi на отдельнные решения ругался, дескать они жутко тормозные (по-моему, в том числе про cj125 говорил, что у него какие-то подобные проблемы есть). так какие задержки считать приемлемыми - доли мс, единицы мс, десятки мс?