Автор Тема: Макрос для настройки ГБО 4 поколения Lovato  (Прочитано 131886 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Stehlen

  • Global Moderator
  • Hero Member
  • *****
  • Спасибо
  • -> Отдал: 30
  • -> Получил: 78
  • Сообщений: 3048
  • Репутация: +119/-44
  • Пол: Мужской
    • Просмотр профиля
    • Установка ГБО в Пензе
Информация на главное странице

Работа над автоматизацией процесса обработки данных записанных программами Lovato или OMVL разделилась на две части:

1. Веб сервис на PHP. Ссылка ниже.
C 30 января идет тестирование веб сервиса обработки данных Lovato OMVL. Для участия тестирования пройдите по ссылке:

2. Макрос для программы Exel. Можно скачать в этом сообщении.
Внимание!!! Обновите макрос до последней версии (прикрепленный файл этого сообщения).

Теория работы макроса

Пользователь ресурса sergei создал макрос для вычисления отклонений карте коэффициентов систем 4 поколения Lovato. Алгоритм прост - сравнение времени впрыска бензина при езде на газу и бензине относительно MAP. Но главное реализации - теперь два клика мыши и у Вас числовые значения отклонений.
Выкладываю архив с макросом для свободного тестирования. Надеюсь все работает хорошо и этот макрос будет прекрасным подарком всем пользователям.

Для уменьшения погрешности, накатывайте файлы при прочих равных условиях (одна и таже дорога, движение на 4 передачи, плавное ускорение)
Как записать файл поездки
  • Катаетесь километров 50 на бензине чтобы адаптации бензинового блок пришли в норму.
  • Записываете файл поездки на бензине.
  • Записываете файл поездки на газе.

Работа с файлами
Три файла:

1.      Сохраненный при езде на бензине (должен называться Benz.txt)
2.      Сохраненный при езде на газе (должен называться GAZ.txt)
3.      Основной файл для расчетов main.xlsm

Все три файла должны находиться в одной папке.

Запускаешь файл main.xlsm, включаешь макрос, нажимаешь ALT+F8, после ALT+F8 выбрать «startAll» и нажать выполнить.

Снизу данные которые можно менять:

2,5     от, т.е. задаешь от какого времени смотреть (в данно случае 2.5 мс)           
11,5    до, т.е. задаешь до какого времени смотреть (в данно случае 11.5 мс)           
0,5     шаг сетки, т.е. 2.5, 3, 3.5, 4, 4.5 и т.д     
0,005   дельта в минус, смотрит какая погрешность в выборе числа, можно менять
0,005   дельта в плюс, смотрит какая погрешность в выборе числа, можно менять 
Как надо работать с дельтой. Ставим дельту 0.001 (чем меньше тем точнее), прогоняем, если данные появились то все ОК. Если появилось "НЕТ", переписываем на листок появившиеся данные без "НЕТ", далее прибавляем дельту до исчезновения "НЕТ" и записываем на листок в пропущенные места. ТАК будет правильнее и точнее.

Кстати, на примере в 8 строчке видно, что макрос не смог забрать данные и написал «НЕТ», т.е маленькае погрешность 0,005- можно поменять на 0,05 и тогда все ОК.

Результат в 3 столбце.
« Последнее редактирование: Май 16, 2012, 12:09:16 от Stehlen »

Оффлайн Алексей

  • Newbie
  • *
  • Спасибо
  • -> Отдал: 0
  • -> Получил: 2
  • Сообщений: 13
  • Репутация: +2/-0
    • Просмотр профиля
Re: Макрос для настройки ГБО 4 поколения Lovato
« Ответ #721 : Сентябрь 20, 2017, 16:59:05 »
Я тоже больше склоняюсь к первому варианту. Вот сейчас есть проверенные данные, где завышены коэффициенты при нагрузке (12 и 14 мс). Оригинальный расчёт выдал результаты в среднем -10% для 14мс и -8 для 12мс, я так и сделал и машина поехала заметно лучше. А вот расчёт по среднему МАР выдаёт +2-5 для 12мс и +/- 2 для 14мс. Понятно, что это ерунда.

Оффлайн Алексей

  • Newbie
  • *
  • Спасибо
  • -> Отдал: 0
  • -> Получил: 2
  • Сообщений: 13
  • Репутация: +2/-0
    • Просмотр профиля
Re: Макрос для настройки ГБО 4 поколения Lovato
« Ответ #722 : Сентябрь 20, 2017, 17:20:11 »
Была идея максимально эффективно использовать исходные данные, а именно строить большую таблицу с шагом по времени впрыска 0,1 мс и 100 оборотов. Дельты выставлять соответственно +/- 0,5мс и 50 оборотов, а потом выводить средние значения для нужных точек. Это позволит исключить выбросы и получить максимально наглядную картинку для настройки, ведь очевидно, что контроллер ГБО при работе интерполирует свою карту, а значит в идеале мы должны получить плавно перетекающие значения от одной точки карты ГБО к другой, но, к сожалению, в реальности это не так.
Хотел сделать, чтобы программа строила такую "расширенную" карту в памяти, а результатом выдавала уже усреднённую, но пока не придумал, как правильно усреднить полученные значения и что делать с выбросами и пустыми точками.

Оффлайн sergei

  • Sr. Member
  • ****
  • Спасибо
  • -> Отдал: 1
  • -> Получил: 1
  • Сообщений: 271
  • Репутация: +9/-0
  • Пол: Мужской
    • Просмотр профиля
Re: Макрос для настройки ГБО 4 поколения Lovato
« Ответ #723 : Сентябрь 20, 2017, 20:36:06 »
Когда я имел авто на газу и после появления макроса я пробовал накатывать карты по несколько дней. Далее я их склеивал. И все равно некоторых данных было мало. И еще Алексей Вы наверное обратили внимание, что при определенном МАП и оборотах  впрыск попадается с большим различием так же и наоборот, что при подсчете среднего числа цифра может удивить.  Например при среднем МАП 0,3 и оборотах 1500 он может быть от 1мс до 4мс (цифры взял от балды, лень копашиться в файлах), а должен быть например около 3мс. И естественно попадание одного неправильного прыска приведет к неверному результату.
Так же и по последнему алгоритму где мы выискиваем средний МАП там так же попадается значения МАП которые вроде бы и рядом не должны стоять так сказать. Уловили смысл? Вот как настраивается само оборудование LECHO? Там стоит несколько минут покататься и оно само строит правильную карту.

Оффлайн Алексей

  • Newbie
  • *
  • Спасибо
  • -> Отдал: 0
  • -> Получил: 2
  • Сообщений: 13
  • Репутация: +2/-0
    • Просмотр профиля
Re: Макрос для настройки ГБО 4 поколения Lovato
« Ответ #724 : Сентябрь 21, 2017, 12:22:41 »
Быть может дело в задержках при получении информации с датчиков? Придавил на газ - впрыск пересчитался мгновенно, а данные MAP ещё несколько секунд поступают старые, постепенно изменяясь к правильному значению. Но это так - предположение. Я не особо разбирался в работе ГБО, но по работе постоянно имею дело с промышленной автоматикой и задержки показаний приборов в 2-3 секунды есть. Это как минимум. Датчик МАР - это, насколько я понимаю, вакуумметр по сути.

Мысль кажется понял. Нужно подумать.

Оффлайн sergei

  • Sr. Member
  • ****
  • Спасибо
  • -> Отдал: 1
  • -> Получил: 1
  • Сообщений: 271
  • Репутация: +9/-0
  • Пол: Мужской
    • Просмотр профиля
Re: Макрос для настройки ГБО 4 поколения Lovato
« Ответ #725 : Сентябрь 21, 2017, 12:43:12 »
Николай молчит, ведь он же можно сказать затеял все это.

Оффлайн ghour

  • Newbie
  • *
  • Спасибо
  • -> Отдал: 1
  • -> Получил: 0
  • Сообщений: 4
  • Репутация: +0/-0
    • Просмотр профиля
Re: Макрос для настройки ГБО 4 поколения Lovato
« Ответ #726 : Сентябрь 22, 2017, 03:05:21 »
Вот сейчас есть проверенные данные, где завышены коэффициенты при нагрузке (12 и 14 мс). Оригинальный расчёт выдал результаты в среднем -10% для 14мс и -8 для 12мс, я так и сделал и машина поехала заметно лучше. А вот расчёт по среднему МАР выдаёт +2-5 для 12мс и +/- 2 для 14мс. Понятно, что это ерунда.
Да, заметил. Накатал вчера логи. Подсунул для расчета, там где было норм, показывает +22. Не должно быть таких пиков.
Карта скачет от 133 до 255  :o
« Последнее редактирование: Сентябрь 22, 2017, 03:12:09 от ghour »

Оффлайн sergei

  • Sr. Member
  • ****
  • Спасибо
  • -> Отдал: 1
  • -> Получил: 1
  • Сообщений: 271
  • Репутация: +9/-0
  • Пол: Мужской
    • Просмотр профиля
Re: Макрос для настройки ГБО 4 поколения Lovato
« Ответ #727 : Сентябрь 23, 2017, 22:50:52 »
Valentin, так же не "врывается" в разговор. Эх, деньги........

Оффлайн Алексей

  • Newbie
  • *
  • Спасибо
  • -> Отдал: 0
  • -> Получил: 2
  • Сообщений: 13
  • Репутация: +2/-0
    • Просмотр профиля
Re: Макрос для настройки ГБО 4 поколения Lovato
« Ответ #728 : Сентябрь 25, 2017, 15:12:43 »
Попадалось что-то подобное в сети, но есть идея конкретно относительно нашей задачи.
Итак, есть два варианта, рассмотрю первый:
Берём определённые обороты с дельтой и выбираем из бензиновых данных все подходящие точки. Для наглядности выводим их на график, где по оси x - время впрыска, а по y - MAP. Мы должны получить некоторую восходящую зависимость. Далее нужно построить кривую, которая бы проходила по центру полученной области точек и желательно описать её в виде функции.
Затем делаем то-же самое с газовыми данными (берём как обычно время впрыска бензина). Получив две кривые, можно легко вычислить их отличия в нужных точках времени впрыска. Заполняем столбец в таблице результатов, соответствующи й выбранным оборотам и повторяем всё то-же самое для всех остальных точек оборотов.

Получить функцию из группы точек можно математически. В институте мы пользовались методом наименьших квадратов (МНК), помню была даже прога, которая делала все нужные расчёты. Сравнив две функции, мы можем вычислить теоретическую разницу даже для тех точек, данных по которым нет. Лишь бы было хотя-бы несколько точек по бензину и по газу для выбранных оборотов.

И другой вариант: всё тоже самое, но строить нужно графики зависимости оборотов и MAP, выбирая точки с определённым временем впрыска (+/- дельта)

Это пока всё теория. Главное вспомнить алгоритм МНК и применить его к вероятно большому количеству точек, а также определиться с общим видом функции.
Немного смущает, что в итоге мы сравниваем именно значения MAP, хотя и намного более "правильно".
А можно посчитать двумя вариантами, а в результате вывести средние значения.

Кто что думает по этому поводу?
« Последнее редактирование: Сентябрь 25, 2017, 15:14:32 от Алексей »

Оффлайн sergei

  • Sr. Member
  • ****
  • Спасибо
  • -> Отдал: 1
  • -> Получил: 1
  • Сообщений: 271
  • Репутация: +9/-0
  • Пол: Мужской
    • Просмотр профиля
Re: Макрос для настройки ГБО 4 поколения Lovato
« Ответ #729 : Сентябрь 26, 2017, 08:33:44 »
Это я и имел ввиду, что надо отсекать "лишние" данные. Но судя по накатанным картам мы тогда "простимся" с некоторым колличеством строк, а их почему то и так мало бывает даже при долгом накатывании. Вы все правильно выложили теорию. Т.е. например ищем впрыск 3 мс, при Мап 0.3 и удаляем более какой то дельты впрыска, например 1,5мс и 4,5мс. НО!!!! Кто будет знать, что они точно лишние?

Оффлайн Алексей

  • Newbie
  • *
  • Спасибо
  • -> Отдал: 0
  • -> Получил: 2
  • Сообщений: 13
  • Репутация: +2/-0
    • Просмотр профиля
Re: Макрос для настройки ГБО 4 поколения Lovato
« Ответ #730 : Сентябрь 26, 2017, 11:58:27 »
Здесь нельзя сказать, что какие-либо данные оказываются лишними или не лишними, потому что каждое обработанное значение повлияет на вид кривой. Важно добиться того, чтобы как можно меньше данных из файлов осталось "за бортом", то есть не было обработано совсем.
Ещё лучше будет аппроксимирова ть сразу всю поверхность, алгоритмы этого есть, например здесь вариант с "колоколом": http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1368
Хотя по этому примеру он уж очень приближённый, но думаю что его можно улучшить.

Оффлайн sergei

  • Sr. Member
  • ****
  • Спасибо
  • -> Отдал: 1
  • -> Получил: 1
  • Сообщений: 271
  • Репутация: +9/-0
  • Пол: Мужской
    • Просмотр профиля
Re: Макрос для настройки ГБО 4 поколения Lovato
« Ответ #731 : Сентябрь 26, 2017, 14:58:39 »
Алексей, у нас оба алгоритма и работают как алгоритм МНК, выводятся средние показатели, но я имелл ввиду, что среди этих данных могут попадаться "реально" не нужные данные, как например при среднем впрыске 3мс попадаются впрыски например с 1 мс и их например пару тройку, а на средний они могут повлиять. Думаю, что производители ГБО занизили скорость потока записи файла, поэтому и мало значений при определенных параметрах.

Оффлайн Алексей

  • Newbie
  • *
  • Спасибо
  • -> Отдал: 0
  • -> Получил: 2
  • Сообщений: 13
  • Репутация: +2/-0
    • Просмотр профиля
Re: Макрос для настройки ГБО 4 поколения Lovato
« Ответ #732 : Сентябрь 30, 2017, 22:16:44 »
Сделал вывод графиков зависимости МАР и времени впрыска бензина для бензиновых и газовых данных. Результат выводится в соответствующи х вкладках "Карта бензина" и "Карта газа". Обороты определяются из первой точки +/- дельта. То есть, чтобы построить график для нужного значения оборотов, достаточно ввести его в поле "Обороты минимум" и указать нужную дельту. Предыдущие способы расчёта остались и работают как раньше. Для вывода графиков нужно в выпадающем списке "Расчёт по" выбрать "по методу аппроксимации (эксперименталь но)". Таблица изменений при этом не заполняется, только строятся графики.
Синие квадраты - это точки из исходных данных, а зелёная линия - результат аппроксимации МНК по параболе.

Эти пользователи сказали Вам СПАСИБО:


Оффлайн Алексей

  • Newbie
  • *
  • Спасибо
  • -> Отдал: 0
  • -> Получил: 2
  • Сообщений: 13
  • Репутация: +2/-0
    • Просмотр профиля
Re: Макрос для настройки ГБО 4 поколения Lovato
« Ответ #733 : Сентябрь 30, 2017, 22:40:02 »
По моим данным при оборотах примерно 2000-3000 появляются "осыпавшиеся" точки, явно оттягивающие линию вниз. Полагаю, что их нужно отфильтровать, установив минимум по времени впрыска - первая точка минус дельта, к примеру. Ещё одна проблема - это совсем не правильный вид параболы, иногда возникающий при недостатке и однообразии данных. Наверное можно как-то проверять полученные коэффициенты и в случае выхода их за какие-то границы, переключаться на аппроксимацию по прямой.
Пока это всё. На следующей неделе продолжу. Если кто найдёт ещё какие-нибудь "дефекты" в графиках, прошу сообщить.
« Последнее редактирование: Октябрь 01, 2017, 07:06:17 от Алексей »

Оффлайн Алексей

  • Newbie
  • *
  • Спасибо
  • -> Отдал: 0
  • -> Получил: 2
  • Сообщений: 13
  • Репутация: +2/-0
    • Просмотр профиля
Re: Макрос для настройки ГБО 4 поколения Lovato
« Ответ #734 : Октябрь 06, 2017, 23:37:22 »
Запилил очередную версию.
Может я чего недопонимаю, но как ни крути, а всё равно получается алгоритм, близкий к оригинальному макросу. Коротко так: по бензиновым данным строятся функции зависимости МАР от времени впрыска для каждой точки оборотов +/- дельта, далее в эти функции подставляются значения всех точек времени впрыска и заполняется таблица бензиновых МАР-ов. Далее по газовым данным строятся функции зависимости времени впрыска от МАР для всех точек оборотов +/- дельта. В эти функции подставляются соответствующи е значения из бензиновой таблицы и в результате заполняется таблица газового времени впрыска. В конце, как и в оригинале эти значения сравниваются и строится таблица изменений.
Это в версии 038.
Версия 037 вместо таблиц, строит графики аналогично предыдущей версии 036, но функция бензиновых данных развёрнута для удобства построения таблицы.
Значительно переработан алгоритм МНК. Теперь всегда строятся 4 вида функции: прямая, парабола, экспонента и логарифмическа я, а затем сравнивается сумма квадратов отклонений всех точек и выбирается та, где результат наименьший. Иными словами - из четырёх функций всегда выбирается наиболее точно описывающая исходные данные. Результаты значительно лучше, чем в 036, но и тут, если все данные сконцентрирова ны на коротком участке, то функция может получиться совсем не правильной.
Версия 037 будет полезна для анализа данных, получаемых в 038 - расчёт функций у них одинаковый. Графики строятся так-же по первой точке оборотов.

А результаты - ерунда какая-то.  :( Красивые переливы от одних значений к другим, которые могут резко отличаться у соседних столбцов оборотов. Да, в целом что-то похожее на оригинальный макрос без спонтанных выбросов в отдельных точках таблицы и часто улетающее в запредельные значения по краям. Но насколько это достоверно - сильно сомневаюсь.
По моим данным при достаточно хорошо отстроенной таблице, выдаёт +15-20% в точках холостого хода! Ведь этот режим легко настраивается по FuelTrim и недостатка данных там просто быть не может! Возможно конечно, что нужно ещё раз накатать данных на бензине, потому как делал это давненько, но с тех пор не делал ничего такого, что могло бы на них повлиять.

Бензиновая карта заполняется практически полностью за счёт того, что недостающие данные после получения основных, выводятся через тот же МНК по строкам для каждого времени впрыска. Теперь понятно, что это лишнее.
« Последнее редактирование: Октябрь 06, 2017, 23:52:30 от Алексей »

Оффлайн Алексей

  • Newbie
  • *
  • Спасибо
  • -> Отдал: 0
  • -> Получил: 2
  • Сообщений: 13
  • Репутация: +2/-0
    • Просмотр профиля
Re: Макрос для настройки ГБО 4 поколения Lovato
« Ответ #735 : Октябрь 06, 2017, 23:37:56 »
Мои данные (не влезли в одно сообщение)