Быстрый заказ, позвонить +7-978-708-85-73
Дроссель Amadeus Productions. Быстрый заказ по телефону.
(Viber, WhatsApp, Telegram)
Amadeus Productions Дроссельный узел на Lancer IX 1.6 (4G18), 2.0 (4G63) и другие моторы
Ремкомплект РХХ на Mitsubishi Lancer IX, 1.6 (4G18), MD619857, 1450A116
Облегченный маховик на 1.6 (4G18) и другие моторы
Облегченные шкивы на 1.6 (4G18) и другие моторы
One-touch или "Ленивые поворотники"

116 страниц V  « < 15 16 17 18 19 > »   
Reply to this topicStart new topic
> Диагностика двигателя, логгирование и прошивка ECU.
gktuning
сообщение 16.6.2011, 2:44
Сообщение #321


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 439
Регистрация: 28.3.2010
Из: Odessa
Вне форума


Репутация:   16  


--"И если ЕГР есть - это же экология, да? Что будет если ЕГР отключить нафиг, если оно уводит зажигание в плюс, вероятно без него будет ехать лучше?"
Все так, да немножечко не так - это не только экология, но и экономичность. При добавлении выхлопных газов в смесь снижается скорость ее горения, а следовательно, склонность к детонации. Это и позволяет увеличивать угол опережения при довольно бедной смеси. "зажигание в плюс" - это совсем не плохо, при условии, что нет детонации.
(Из опыта настройки на стенде, после настройки состава в каждой (на сколько возможно) точке карты двигаем угол в + до появления детонации. Как только звякнула - откат на 2 - 3 градуса назад (или обогатить смесь, но нужно учитывать, что богаче 12 для атмо и 11,4 для турбо наливать не стОит, такая смесь горит плохо и слишком медленно, растет температура выхлопа из за того, что горение заканчивается уже при открытом выпускном клапане). . При наличии некоторого опыта до детонации можно и не доводить, если при увеличении угла крутящий момент довольно существенно растет, то детонации не будет, за 2 -3 градуса до детонации рост момента практически прекращается.)
Так что отключать лучше программно. При механическом отключении часто появляется детонация там, где работает прибавка угла из карты, которую ты привел в посту #1309, она так и называется EGR-Enabled Advance - их две High и Low (в Low, как правило все 0)

--"но стОит включить кондишен - тут же начинает ныть вентиллятор - дрыгатель еще греется, а его уже вовсю охлаждают."
Это правильно, радиатор кондея, (теплообменник - выражаясь языком холодильщиков) греется значительно быстрее - вот его и охлаждает "карлсон". С прогревом двигателя это не связано.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
falcon
сообщение 16.6.2011, 4:21
Сообщение #322


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 201
Регистрация: 9.8.2010
Из: Крым, Ялта
Вне форума
Авто: Lancer9-07 2L AT LPG, 80230006

Репутация:   26  


Цитата(gktuning @ 16.6.2011, 2:44) *
--"И если ЕГР есть - это же экология, да? Что будет если ЕГР отключить нафиг, если оно уводит зажигание в плюс, вероятно без него будет ехать лучше?"
Все так, да немножечко не так - это не только экология, но и экономичность. При добавлении выхлопных газов в смесь снижается скорость ее горения, а следовательно, склонность к детонации. Это и позволяет увеличивать угол опережения при довольно бедной смеси. "зажигание в плюс" - это совсем не плохо, при условии, что нет детонации.

У меня основное топливо - пропан, он и так горит медленнее бенза - карту зажигания под него править пришлось. И сгорает пропан, насколько я в курсе, вроде, лучше бенза - в выхлопе пары воды и CO2 - есть смысл на газу использовать EGR?

Цитата(gktuning @ 16.6.2011, 2:44) *
(Из опыта настройки на стенде, после настройки состава в каждой (на сколько возможно) точке карты двигаем угол в + до появления детонации. Как только звякнула - откат на 2 - 3 градуса назад


А есть возможность двигать зажигание "на лету", без перепрошивки ? Мне такое очень пригодилось бы, чтобы "промерять" поточнее пропановое зажигание...

Цитата(gktuning @ 16.6.2011, 2:44) *
Так что отключать лучше программно. При механическом отключении часто появляется детонация там, где работает прибавка угла из карты, которую ты привел в посту #1309, она так и называется EGR-Enabled Advance - их две High и Low (в Low, как правило все 0)


Ну, отключить - не проблема, уже вижу как, ничего сложного, осталось понять, надо его отключать или нет.
А Advance, да карт две, для HiOct и для LoOct, я все никак не мог понять для чего они нужны, только сейчас нашел куда ведет тот бит, что их включает. Но на моем 4G63 эти таблицы идентичны на 100% HiOct и LoOct.

Цитата(gktuning @ 16.6.2011, 2:44) *
--"но стОит включить кондишен - тут же начинает ныть вентиллятор - дрыгатель еще греется, а его уже вовсю охлаждают."
Это правильно, радиатор кондея, (теплообменник - выражаясь языком холодильщиков) греется значительно быстрее - вот его и охлаждает "карлсон". С прогревом двигателя это не связано.

Т.е. была у меня мысль обнулить первую строчку (88 градусов) чтобы оно не нудело на непрогретом двиге, но лучше этого не делать?
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
Artem NN
сообщение 16.6.2011, 9:05
Сообщение #323


Супер Технический Маньяк
*****

Группа:
Администраторы
Сообщений: 818
Регистрация: 29.5.2009
Из: Нижний Новгород
Вне форума


Репутация:   57  


Карту термофан правил. Менял % работы вентиляторов. Где то включение ставил пораньше (или добавлял % оборотов), где то уменьшал. Могу сказать что это работает.
По EGR-Enabled Advance я думаю, что дополнительные градусы зажигания (карта HI) добавляются на холодном двигателе, для быстрого прогрева катализаторов - выход на рабочий режим, а затем заменяются нулями (карта Lo).
Возможно ошибаюсь.
В коде Тэфры (мод) для Evo прошивок есть фишка по отключению ЕГР и адсорбера и так же отключению опроса OBD ошибок.
Можешь просто занулить карты EGR Duty Cycle HI и LO - тем самым клапан не будет открываться.

Править карты на лету без прошивки. Делай врезку кода DMA и используй прогу Live map. Там и логгирование в разы быстрее и можно править карты топлива и зажигания в RAM без прошивки.

Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
falcon
сообщение 16.6.2011, 15:16
Сообщение #324


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 201
Регистрация: 9.8.2010
Из: Крым, Ялта
Вне форума
Авто: Lancer9-07 2L AT LPG, 80230006

Репутация:   26  


Цитата(Artem NN @ 16.6.2011, 9:05) *
По EGR-Enabled Advance я думаю, что дополнительные градусы зажигания (карта HI) добавляются на холодном двигателе, для быстрого прогрева катализаторов - выход на рабочий режим, а затем заменяются нулями (карта Lo).
Возможно ошибаюсь.

Точно ошибаешься. Зажигание берется из таблицы Hi или Lo Oct ignition в зависимости от того, разрешены или запрещены hiOct процедуры/таблицы, затем, для некоторых режимов egr, к полученному зажиганию добавляется табличка EGR Advance. Если вычисления велись по HiOct карте, берется одна карта egr advance - HiOct Advance, если по LoOct картам, то вторая - LoOct Advance, к основному значению угла зажигания добавляется значение Advance, дальше, если вычисления идут по HiOct картам, еще проводится коррекция по датчику детонации, и все.
Никто никуда не обнуляется и с одной на другую карту на ходу не переключается.

К прогреву катов это никакого отношения не имеет, более того, при непрогретом двигателе вся эта кухня НЕ работает, и постепенно начинает работать только с выходом на рабочую температуру.
Поэтому, если механически заглушить ЕГР, то получим либо детонацию с 1500 до 4000 оборотов при нагрузке 30-60%, либо, если ее устранить, понизив углы в карте зажигания, тогда получим заваленное зажигание в других режимах.
Короче, отключать, и правда, надо программно тоже.

Что до термостатов - если посмотреть на таблички tf duty - то везде в температурах 103,105,107,109, и 111 градусов стоИт 100%, поэтому можно сдвинуть ось на 4 деления - сделать 103 градуса самым горячим значением, зато добавить четыре более "холодных" режима 85, 75 и еще два любых.
Только, почитав уважаемого gktuning, я подумал что кондей отводит тепло напрямую в радиатор (а он совмещен с двигательным?), в то время как термостат холодного двигателя работает по замкнутому кругу, и есть теретический шанс, что кондей перегреет радиатор быстрее двига? Вопрос в том, ГДЕ стоит датчик температуры - где-то в двиге или в радиаторе? Если в двиге, то и правда, при работающем кондее радиатор получается, что не контролируется - и карлсоны лучше не трогать. А если в радиаторе, то можно, сместив температурную ось, в холодных режимах понизить tf duty.
Вопрос в том, где у нас датчик температуры?
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
Yuriy_R
сообщение 16.6.2011, 16:29
Сообщение #325


*****
*******

Группа:
Администраторы
Сообщений: 2152
Регистрация: 26.7.2009
Из: Славный град Тобольск
Вне форума


Репутация:   53  


Цитата
Вопрос в том, ГДЕ стоит датчик температуры - где-то в двиге или в радиаторе?

Их два, они стоят перед термостатом.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
falcon
сообщение 16.6.2011, 21:04
Сообщение #326


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 201
Регистрация: 9.8.2010
Из: Крым, Ялта
Вне форума
Авто: Lancer9-07 2L AT LPG, 80230006

Репутация:   26  


Цитата(Yuriy_R @ 16.6.2011, 16:29) *
Цитата
Вопрос в том, ГДЕ стоит датчик температуры - где-то в двиге или в радиаторе?

Их два, они стоят перед термостатом.


Надо понимать, на двиге, значит термофаны включенного кондея трогать не стОит, потому что температура радиатора при замкнутом цикле неизвестна.

Кстати, вчера наткнулся на нетипичную таблицу - оказалось бывают еще и 16-битные таблицы, с такими же процедурами их выборки как и у 8-битных таблиц. Их моя прога не определяла. Вчера некогда уже было, сейчас вот, доработал, чтобы и 16-битные таблицы тоже искало.

Кстати, ни одного отзыва по программе - раньше все спрашивали автоматоискалку таблиц, а теперь даже не отпишется никто, как оно на ваших прошивках пашет или нет...
Прикрепленные файлы
Прикрепленный файл  MMC_Table_Finder_v1.02.zip ( 90,59 килобайт ) Кол-во скачиваний: 438
 
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
falcon
сообщение 16.6.2011, 22:50
Сообщение #327


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 201
Регистрация: 9.8.2010
Из: Крым, Ялта
Вне форума
Авто: Lancer9-07 2L AT LPG, 80230006

Репутация:   26  


Цитата(cumpol @ 16.6.2011, 22:22) *
Искать нужно 15-20 основных для тюнинга параметров, многое не нужно, например не стоит трогать все относящееся к контролю детонации. Имхо.


А кто-нибудь в состоянии внятно сказать, КАКИЕ параметры и КАК обычно тюнингуют?

А вообще по поводу "лишних" параметров - разбирая прошивку приходится лазить по ней практически по всей, иначе остаются белые пятна, потом мешающие разбору интересующих кусков.
Вот например, я вчера споткнулся об 16-битную таблицу - сейчас сижу думаю, что это и как оно считается, походу выясняется, что в моей прошивке есть защита от перегрева - при достижении двигом температуры Х градусов, судя по-всему время открытия форсунок урезается по самое не надо баловаться - толи чтобы только-только на холостой хватало, толи чтобы вообще глохла, пока не доразобрался.
А теперь внимание - Температура Х - ДВЕСТИ ПЯТНАДЦАТЬ ГРАДУСОВ цельсия. Сейчас пытаюсь понять работоспособна ли ветка защиты от перегрева, потому что во многих местах инженеры мицу так просто блокируют "лишние" ветки - что-то, уже не помню... турба или lean-spool? так же отсечена - минимальная температура для нее у меня выставлена в те же 215 градусов и считай что этого кода нет, но так по этой турбе и код не весь присутствует.
А тут если код есть, можно поставить разумное значение верхней температуры и будет полезная фишка, особенно с учетом того, что лансер на перегрев никаких сигналов не подает, точнее подает, но в виде стуканувшего движка ;( - сколько читал про потекшие радиаторы...

Если зуммер открытия водительской двери при включенных габаритах включается через ЭБУ - сделаю патч, чтобы пищала при перегреве, но для этого надо сам зуммер найти в прошивке, если он там есть, а то ведь могли и минуя ЭБУ эту штуку сделать.

Мне перешивать для этого ЭБУ лишний раз не охота, а если есть желающие поэкспериментировать с работоспособностью этой защиты - можно на ваших прошивках этот кусок найти и там поставить 95 градусов цельсия и посмотреть, что получится при достижении этой температуры (IMG:style_emoticons/default/smile.gif)

Кстати, при 0 на датчике (-40 цельсия, кажется) там тоже какая-то ветка есть, т.е. вполне вероятно, что при таком холоде оно просто не будет заводиться. Эту ветку я не смотрел пока - мне в Ялте это не так важно (IMG:style_emoticons/default/smile.gif)

Цитата(cumpol @ 16.6.2011, 22:22) *
Как посмотреть в ecuedit "high octan ignition map"? В экуфлеш вижу, а в экуэдите нет.

Ну так от XML-я зависит...
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
gktuning
сообщение 17.6.2011, 0:22
Сообщение #328


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 439
Регистрация: 28.3.2010
Из: Odessa
Вне форума


Репутация:   16  


Радиаторов в машинах с кондеем два, в одном (охлаждение двигателя) циркулирует вода, тосол, антифриз - в общем охлаждающая жидкость. В другом (кондиционерном), хладоген - фреон или еще что (не помню, чем сейчас модно у холодильщиков кондеи заправлять).
Эти системы между собой не связаны (не сообщаются).
Отсечка по температуре - проверь внимательно, уж не по перегреву ли катализатора?
А по настройке - не пожалей времени, почитай всю тему. И я и другие форумчане по этому поводу много писали и приводили ссылки на материалы по этому делу. Не хочется повторяться - тема то и так "пухленькая" получилась (многих 65 страниц уже пугает), а двумя словами тут не обойдешься. Я довольно подробно описывал, как я это делаю
(не претендую на абсолютную истинну, но на практике получалось не плохо).
Вот только с газом никогда дела не имел, хотя методика будет та же, только состав смеси другой, и углы раньше.
Для бензина стехиометрический состав - 14,7:1, хорошо было бы узнать это значение для газа - было бы от чего плясать.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
gktuning
сообщение 17.6.2011, 1:04
Сообщение #329


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 439
Регистрация: 28.3.2010
Из: Odessa
Вне форума


Репутация:   16  


Еще пару слов об охлаждении...
Мерять температуру радиатора нет смысла, важна температура двигателя. При закрытом термостате жидкость циркулирует внутри двигателя, минуя радиатор, (так называемый малый круг), и если термостат не откроет "большой круг, (через радиатор), то двиг. может кипеть сколько угодно, а нижний бачек радиатора будет холодным.
Так же двиг. перегреется, если термостат откроет "болшой", но не перекроет при этом "малый" круг (не полное открытие) - основная часть жидкости все равно пойдет по "малому" кругу (пути наименьшего сопротивления)
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
falcon
сообщение 17.6.2011, 15:19
Сообщение #330


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 201
Регистрация: 9.8.2010
Из: Крым, Ялта
Вне форума
Авто: Lancer9-07 2L AT LPG, 80230006

Репутация:   26  


Цитата(gktuning @ 17.6.2011, 0:22) *
Отсечка по температуре - проверь внимательно, уж не по перегреву ли катализатора?

Нет, там именно температура двига (coolant) проверяется. 215 стоИт не потому что такое значение кому-то понравилось, а потому что это максимальное восьмибитное значение 0xFF (255) по формуле вычитаем 40 и получаем 215С, т.е. это 100% опция в коде в каких-то моделях/версиях прошивки была, а тут ее просто отключили.
Дальше пока не смотрел куда идет это дело, не хватает времени, но суть в том, что в случае перегрева инжектор пересчитывается по одной таблице, а в случае нормального режима - по второй. Картинки таблиц прикладываю.
Я вам скажу больше. Таблица "перегрева" двухмерная, в то время как если бы она защищала ТОЛЬКО от перегрева, в ней не было бы смысла - там бы была константа, потому как при перегреве опрашивать таблицу температуры двига как-то... нелогично. Из этого я делаю вывод, что этот бит может взводиться не только при перегреве двигателя но и в случае каких-то других ошибок, при которых надо снижать мощность - там много ссылок на эту переменную, искать сейчас некогда, будет время - потом разберусь точнее, но это сейчас не важно. Важно что этот код есть, и сюда же можно вернуть отключенную защиту от перегрева.

Кстати, глядя на график "штатного" пересчета инжектора, мне сразу вспомнились форумные темы "северных" владельцев лансеров, которые жалуются, что мол на морозах лансер по полчаса прогревается.
Смотрим на график - на холодном двиге до -8С там инжектор работает по минимуму, и только при достижении -8С начинается активный разогрев двигателя - глядя на режимы от -8 до 7 градусов мне на ум невольно приходит слово "поливать". Теперь понятно, куда у меня девается бенз, хоть езжу на газу, а на бензе оно только греется (IMG:style_emoticons/default/wink.gif)
И, кстати, еще. При минусовых тепмературах, эбу контролирует СКОРОСТЬ изменения температуры двигателя, если двигатель холоднее... эээ... сейчас не помню - там тоже какая-то минусовая температура была в константе... в общем при каких-то минусовых температурах двига, если двигатель прогрелся БОЛЬШЕ чем на 5 градусов за определенный промежуток времени, то данные из указанной таблички ЕЩЕ умножаются на 70%, т.е. еще время открытия инжектора снижается на 30%, а посмотрев, что на холодном прогреве и так инжектор работает по минимуму(на уровне аварийной таблички) - вот вам и темы "сколько у вас греется лансер зимой"
Насколько я понимаю, японцы этим защищают слишком холодный двиг от повреждений (трещин и прочего?), которые может вызвать слишком быстрый рост температуры блока?

Одним словом, я себе в xml-ку занес в раздел лимитов "максимальная температура двигателя", отдельно ради этого перешиваться не буду, а при следующей перепрошивке пропишу туда 115 градусов.
Предложение провести эксперимент еще в силе, если есть желающие (IMG:style_emoticons/default/wink.gif)
А я подумываю вообще сделать патч, чтобы отключались все 4 форсунки при достижении критической температуры, если эта защита окажется неэффективной.

Цитата(gktuning @ 17.6.2011, 0:22) *
А по настройке - не пожалей времени, почитай всю тему. И я и другие форумчане по этому поводу много писали и приводили ссылки на материалы по этому делу. Не хочется повторяться - тема то и так "пухленькая" получилась (многих 65 страниц уже пугает), а двумя словами тут не обойдешься. Я довольно подробно описывал, как я это делаюх.

Да прочитал я всю тему - насколько я помню - впечатления остались... смешанные. (IMG:style_emoticons/default/wink.gif) Плюс, там кругом широкополосная лямбда упоминалась - нет ее у меня.

Цитата(gktuning @ 17.6.2011, 0:22) *
Вот только с газом никогда дела не имел, хотя методика будет та же, только состав смеси другой, и углы раньше.
Для бензина стехиометрический состав - 14,7:1, хорошо было бы узнать это значение для газа - было бы от чего плясать.

На пропане стехиометрическая смесь, насколько я помню, 15.5. Пишу по памяти - могу сейчас ошибаться, но вроде, так.

Цитата
Еще бы кто объяснил как finder`ом пользоваться?

Дык, запускаешь с параметром - имя бинарной прошивки. Оно на экран вывалит всю найденную информацию. Информации много, поэтому рекомендуется перенаправить результат работы в файлик.
Типа такого:
MMC_Table_Finder.exe MYROM.BIN >tables.txt
Потом смотрим файлик tables.txt
Можно сразу заставить ее сделать xml с секцией таблиц под EcuEdit. Не готовый xml, а только таблички в его формате, их потом редактором можно перенести в существующий xml своей прошивки. Делается это так:
MMC_Table_Finder.exe MYROM.BIN /xml >tables.txt

Если буду еще пересобирать прогу - добавлю ридмишку в архив.
Прикрепленные изображения
Прикрепленное изображение Прикрепленное изображение
 
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
falcon
сообщение 17.6.2011, 16:58
Сообщение #331


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 201
Регистрация: 9.8.2010
Из: Крым, Ялта
Вне форума
Авто: Lancer9-07 2L AT LPG, 80230006

Репутация:   26  


Цитата(cumpol @ 17.6.2011, 16:39) *
Простите за безграмотность, но не создает файлик. Где он должен появиться, в той же папке где лежит прога и бинарник? Если пишу такую строку: MMC_Table_Finder32.exe MYROM.BIN, то появляется черное окно, где с бешеной скоростью проскакивают строки, через 3-4 секунды оно исчезает бесследно. Если дописываю как в цитате "...>tables.txt", то окно не появляется вообще, только вспышка и все. Пробовал класть в корень, в папки, никак не получается. XP(SP3).

Вот то, что проскакивает - это и есть список найденного добра (IMG:style_emoticons/default/wink.gif)

запускать надо в командной строке "MMC_Table_Finder32.exe MYROM.BIN > tables.txt" без кавычек.
В результате рядом с программой все то что бежало в черном окошке окажется в этом файлике tables.txt

PS: А прошивка рядом с программой лежит и называется MYROM.BIN?
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
ayashiko
сообщение 19.6.2011, 10:00
Сообщение #332


Начинающий Технический Маньяк
**

Группа:
Технический Маньяк
Сообщений: 78
Регистрация: 31.10.2009
Из: Екатеринбург
Вне форума


Репутация:   5  


вот немного полезного для ида добавить в C:\Program Files\IDA\idc
Прикрепленные файлы
Прикрепленный файл  idc.rar ( 15,34 килобайт ) Кол-во скачиваний: 318
 
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
falcon
сообщение 19.6.2011, 13:30
Сообщение #333


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 201
Регистрация: 9.8.2010
Из: Крым, Ялта
Вне форума
Авто: Lancer9-07 2L AT LPG, 80230006

Репутация:   26  


Цитата(ayashiko @ 19.6.2011, 10:06) *
а у этой программы MMC_Table_Finder_v1.02.zip есть возможность работать с прошивками от ланцер х процессор м32р


Без понятия (IMG:style_emoticons/default/smile.gif) У меня - 9тка, в ней и разбираюсь, под нее и программу сделал. Насчет десятки ничего сказать не могу.

Цитата
Привет очень много повторяющихся таблиц штук по 5-6 а так вроде отлично а можно там как то идентифицировать таблицы топлива и зажигания топливо всегда начинается с значения 80 хекс, надо просто найти зависимость


Вопросы к программистам мицы - любителям одну и ту же индексную переменную использовать под разные оси/таблицы. Писать ИИ, который будет решать их ребусы мне неохота (IMG:style_emoticons/default/wink.gif)
Такие таблицы, обычно, легко определяются в ИДА, именно потому что оси постоянно пересчитываются, и обычно, делается это прямо перед выборкой самой таблицы.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
ayashiko
сообщение 19.6.2011, 22:32
Сообщение #334


Начинающий Технический Маньяк
**

Группа:
Технический Маньяк
Сообщений: 78
Регистрация: 31.10.2009
Из: Екатеринбург
Вне форума


Репутация:   5  


вот мой файл делал для аиртрека атмосферного там немного правил коробку конечно не все значения понятны но кое что есть
файл для еку едит
Прикрепленные файлы
Прикрепленный файл  82620000.xml ( 24,04 килобайт ) Кол-во скачиваний: 738
 
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
Artem NN
сообщение 20.6.2011, 12:55
Сообщение #335


Супер Технический Маньяк
*****

Группа:
Администраторы
Сообщений: 818
Регистрация: 29.5.2009
Из: Нижний Новгород
Вне форума


Репутация:   57  


По моей просьбе Falcon дал мне урок по дизассемблированию!!!
Выкладываю его. Думаю он будет полезен всем.

В общем начнем просто с работы с битами.

Смотрим МУТ-команды:

DA Disable injector 1
DB Disable injector 2
DC Disable injector 3
DD Disable injector 4
DE Disable injector 5 (unused)
DF Disable injector 6 (unused)

Вот эти команды и посмотрим, как ЭБУ отключает инжекторы.
В данном куске кода код MUT команды находится в R1. В приведенный пример выполнение доходит уже только для кодов команды 0xDA или более.
кусок не полный, я из него вырезал лишнее, чтобы не отвлекало о главного - работы с битами.
В коде присутствуют мои же англоязычные комментарии - если понятно - читай и их

ROM:0001FA3E Not_0xD9: ; CODE XREF: MUT_COMMAND_EXECUTE+170j
ROM:0001FA3E extu.w r1, r1
Регистр приводится из 16битного к 32битному виду, подготовка к сравнению.
Смысл этого действа в том, что регистр 32 битный, а данные туда можно записать 8-битные или 16-битные, в этом случае старшие биты в регистре останутся со старым значением. Поэтому если следующее действие планируется с всем регистром, всеми его 32-битами, то надо вызывать extu.b для преобразования 8->32 бита и extu.w для 16->32.
Представь себе счеты. Ты насчитал 1234 на них. Теперь ты хочешь посчитать 5+6. На нижние "костяшки" ты кладешь 5. Перед тем как начать считать, надо очистить верхние три ряда, где 1, 2, и 3 костяшки соответственно. Иначе вычисления пойдут не от 5, а от 1235 - старые разряды тысяч сотен и десятков ведь никуда не делись. Вот такая же ерунда и с регистрами. Extu - это по-сути заполнение "лишних" разрядов старшим битом от 8/16битного значения.

ROM:0001FA40 mov.w MUT_CMD_0xDF, r10 ; h'DF
В R10 заносится значение 0xDF

ROM:0001FA42 cmp/hi r10, r1 ; r1>0xDF
Сравнение регистра R1 с R10 по условию БОЛЬШЕ.
"ЕСЛИ R1 БОЛЬШЕ R10", если это условие выполняется, то процессор запомнит в регистре состояния, что последняя логическая операция имела результат T=1 (TRUE), иначе результат T=0 (FALSE)
Смотрим на МУТ-коды. 0xDA-0xDF включительно - это отключение форсунок. Если код БОЛЬШЕ 0xDF, то это уже какая-то другая команда. Вот именно это и проверяется.

ROM:0001FA44 bt Higher_than_0xDF
Branch when TRUE, иными словами, если последняя логическая операция имела статус (TRUE), то выполняется переход по адресу Higher_than_0xDF, (в коде я его не показал). Т.е. если МУТ-команда имела код, бОльший чем 0xDF, то программа пойдет дальше по указанному адресу. Если код был ДО 0xDF включительно, то переход не выполнится.

[часть второстепенного кода вырезал, чтобы не мусолило глаза]

Сюда управление доходит ТОЛЬКО для команд 0xDA-0xDF - отключение форсунок.
ROM:0001FA5E mov.w MUT_CMD_Const_0xDA, r10 ; h'DA
в R10 записывается 0xDA

ROM:0001FA60 sub r10, r1 ; r1=Injector Number, 0-based
Из R1 вычитается R10 и результат помещается в R1
0xDA-0xDA=0
0xDB-0xDA=1
0xDC-0xDA=2
0xDD-0xDA=3
0xDE-0xDA=4
0xDF-0xDA=5
Иными словами в R1 получается НОМЕР отключаемого инжектора, если считать с 0.

ROM:0001FA62 shll r1 ; r1=(Injector_index)*2 (Power_Of_2 index)
Логический сдвиг регистра влево на один разряд. В других ассемблерах есть еще арифметические сдвиги, но в этом хитаче их, похоже нет
О сдвигах. Мы, люди считаем в 10теричной системе, компы работают в двоичной.
Приведу аналогию с людьми.
Самый простой метод умножить число на 10 какой? Дописать справа нолик, т.е. ПЕРЕДВИНУТЬ цифры числа влево на один разряд.
001234 * 10 = 0<-01234<-0==012340, т.е. числа сдвигаются влево на один разряд, старший разряд "выпадает"(куда - пока не важно), справа дописывается 0.

Вот такая же хренотень и в процессоре, только он работает в двоичной системе.
Возьмем число 10. В бинарном виде 00001010
делаем ему shll: 0<-0001010<-0, получаем 00010100, т.е. 0x14 в шестнадцатеричной или 20 в десятичной.
После сдвига влево на один разряд число умножилось на два (как и наши, человеческие, числа умножаются на 10, если их подобным образом обработать)
Соответственно, shlr - это деление на два
shll2 - сдвиг на ДВА разряда, умножение на 2 и еще на 2, т.е. умножение на 4
И т.д..
Однако надо помнить, что умножение оно только до тех пор, пока не теряются СТАРШИЕ РАЗРЯДЫ, потому что тогда сдвиг уже не дает математических результатов, которые и не являются основной целью сдвигов.
Но в данном случае, конечно, цель этого сдвига - именно умножение на 2. Зачем - будет видно пару строчек ниже.

ROM:0001FA64 mov.l off_1FB24, r0 ; Power_Of_2
В R0 записывается адрес таблицы, которую я назвал Power_Of_2 - она внизу кода. Одно значение таблицы занимает ДВА байта.

ROM:0001FA66 mov.w @(r0,r1), r10 ; r10=Power_Of_2[Injector_index]
В R10 записывается 16-битное(mov.W) значение, взятое из @ - значит ПО АДРЕСУ, указанному операндом.
В нашем случае, В R10 записывается значение, взятое по адресу R1+R0. R0 - Это начальный адрес таблицы Power_of_2. А R1 - это УМНОЖЕННЫЙ НА ДВА индекс отключаемой форсунки.
Вот потому что таблица 16-битная (двухбайтовая), вот поэтому R1 двумя командами ранее и двигался влево на один разряд - умножался на ДВА, чтобы в этой команде выбрать правильное 16-БИТНОЕ значение таблицы Power_of_2

Итого, в регистре R10 получается следующее значение:
Для первой форсунки получится Power_of_2+0 = 1
Для второй форсунки получится Power_of_2+2 = 2
Для третьей форсунки получится Power_of_2+4 = 4
Для четвертой форсунки получится Power_of_2+6 = 8
Это и есть тот бит, который мы в итоге ВЫКЛЮЧИМ из битовой маски работающих форсунок.

ROM:0001FA68 not r10, r10 ; r10=~r10
все биты регистра R10 инвертируются, т.е. меняют значение на противопложное 0->1, и 1->0
Скажем, для первой форсунки, если там к этому моменту было 1 (0000000000000001), то станет 0xFFFE (1111111111111110)

ROM:0001FA6A mov.l off_1FB20, r11 ; INJECTOR_CONTROL
В R11 записывается АДРЕС ячейки, где хранятся биты, отвечающие за работу форсунок.

ROM:0001FA6C mov.w @r11, r11
Теперь в R11 записывается w - word(два байта), взятые ПО АДРЕСУ, который был в R11, т.е. на предыдущем шаге мы загрузили в R11 32-битный АДРЕС переменной INJECTOR_CONTROL
, а теперь взяли по этому адресу два байта - собственно само значение этой переменной.

ROM:0001FA6E and r11, r10 ; r10=r10&INJECTOR_CONTROL
Тут выполняется побитовое AND (И).
R10 И R11 и результат помещается в R10. Цель этой операции - погасить в R10 те биты, которые НЕ взведены в R11.
Скажем, для первой форсунки в R10 у нас было 0xFFFE (1111111111111110)
Стало быть это значение AND-ится с действующей маской работающих форсунок.
Старшие биты, где в R10 единички, значения не меняют. А младший бит, где в R10 0 - этот бит принудтельно становится нулевым независимо от старого значения.
Собственно, именно этого мы и добивались - мы выключили тот бит, который отвечает за выбранную форсунку.
Дальше этот результат, который сейчас хранится в R10, просто будет записан назад в переменную INJECTOR_CONTROL.

ROM:0001FA70 mov.l off_1FB20, r12 ; INJECTOR_CONTROL
В R12 загружается АДРЕС переменной INJECTOR_CONTROL

ROM:0001FA72 mov.w r10, @r12 ; INJECTOR_CONTROL &= ~Power_Of_2[cmd-0xDA]
По АДРЕСУ, хранящемуся в R12 (а там адрес переменной INJECTOR_CONTROL) записывается значение из R10

ROM:0001FA72 ; reset INJECTOR_CONTROL bit n r1-0xDA,
ROM:0001FA72 ; disabling corresponding injector
Чем отличается это значение INJECTOR_CONTROL от того что там было - тем что в нем выключили один бит, в зависимости от кода MUT команды.
для 0xDA команды выключается младший бит (из чего делаем вывод, что он отвечает за 1-ую форсунку) (1110) пишу только 4 младших бита, чтобы не писать кучу лишних единичек
для 0xDB команды выключается следующий бит (из чего делаем вывод, что он отвечает за 2-ую форсунку) (1101)
для 0xDC команды выключается следующий бит (из чего делаем вывод, что он отвечает за 3-ую форсунку) (1011)
для 0xDD команды выключается следующий бит (из чего делаем вывод, что он отвечает за 4-ую форсунку) (0111)
Остальные биты остались нетронутыми.

ROM:000092BE Power_Of_2: .data.w 1 ; DATA XREF: MUT_COMMAND_EXECUTE+220o
ROM:000092C0 .data.w 2
ROM:000092C2 .data.w 4
ROM:000092C4 .data.w 8
ROM:000092C6 .data.w h'10
ROM:000092C8 .data.w h'20
ROM:000092CA .data.w h'40
ROM:000092CC .data.w h'80
ROM:000092CE .data.w h'100
ROM:000092D0 .data.w h'200
ROM:000092D2 .data.w h'400
ROM:000092D4 .data.w h'800
ROM:000092D6 .data.w h'1000
ROM:000092D8 .data.w h'2000
ROM:000092DA .data.w h'4000
ROM:000092DC .data.w h'8000

Вот собственно и пример работы с битами на примере выключения форсунок.


Для прошивки 93270019
таблица Power_Of_2 по адресу 989A
старт алгоритма 20B76 (DF)
далее 20B96 (DA)
Прикрепленное изображение

Ждем продолжения !!!

Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
falcon
сообщение 22.6.2011, 22:55
Сообщение #336


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 201
Регистрация: 9.8.2010
Из: Крым, Ялта
Вне форума
Авто: Lancer9-07 2L AT LPG, 80230006

Репутация:   26  


Цитата(gktuning @ 22.6.2011, 22:25) *
Оси точно RPM и LOAD, но у карт Fuel и Ignition, они разные - выборка осей идет по разным адрессам.
Вот hex и xml для EcuFlash, сравни по аналогии - это одна из наиболее "отработанных" прошивок:
[attachment=9642:96530006.rar]
P. S. Верно понимаете - до100%- разрежение, после - наддув.


Судя по всему, это - широко распространенное заблуждение.
В общем, не скажу про другие прошивки, буду говорить про свою. Напомню, обычный атмосферник 2.0, автомат. Никаких надувов, естественно, нету. И еще напомню - езжу на пропане, карту зажигания надо править.

1. При "перегибе" с зажиганием, появляется детонация. Убираешь углы по карте зажигания в том месте, где детонация - машина тупит, а детонация никуда не девается. Почему?
2. Почему логируется детонация там, где ее не должно быть - в кнок контроле есть табличка, отсекающая малые нагрузки. Не должно быть на малой нагрузке кнока, а он есть.
3. Почему если сравнивать логированный ignition advance с картой зажигания - он не сходится.

Почитав исходник прошивки, я утверждаю, что зажигание вычисляется по параметру, посчитанному по хитрой формуле из расходомера воздуха плюс ecuload плюс всякие температурные поправки, и этот параметр не имеет ничего общего с ECULoad, по которому, судя по всему, все смотрят свои таблички.

Сегодня поездил записал лог. Теперь детонации НЕТ на малых нагрузках - фильтр рабоатет.
Теперь углы в логе сходятся по режимам с картой зажигания.
И этот параметр скачет до 250, не даром в двухлитровике эта ось до 260. Холодный двиг с работающим кондеем - параметр скачет от 80 до 111...
Поэтому я не мог убрать детонацию - потому что я менял ее по другому параметру, и получается, просто наугад тыкал в ось нагрузки, думал, что убираю ее там, где надо, а на самом деле - наугад.

В общем, сейчас нет времени все подробно описывать, позже отпишусь.
И - да. Топливная карта действительно считается тоже по другому параметру, потому и ось другая - до 100%.

Вот лог короткой поездки.
Фиолетовая - та самая нагрузка, с которой сходится зажигание. (Желтая - скорость, Оранжевый РПМ, красный - throttle)

Кто-то в теме тут говорил, что правил у себя оси, потому что они "неиспользуются полностью" - думаю, не стОит это делать.

Кстати, а что такое Purge Control Solenoid Duty? Я думал, это что-то связанное с турбой, а сейчас смотрю - есть в прошивке и даже что-то там обсчитывается...
Прикрепленные изображения
Прикрепленное изображение
 
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
Yuriy_R
сообщение 22.6.2011, 23:47
Сообщение #337


*****
*******

Группа:
Администраторы
Сообщений: 2152
Регистрация: 26.7.2009
Из: Славный град Тобольск
Вне форума


Репутация:   53  


Цитата
Кстати, а что такое Purge Control Solenoid Duty? Я думал, это что-то связанное с турбой, а сейчас смотрю - есть в прошивке и даже что-то там обсчитывается...


Purge Control Solenoid Valve, это клапан который скидывает из адсорбера пары бензина во впуск.

PCSV.
Прикрепленное изображение
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
Yuriy_R
сообщение 23.6.2011, 0:55
Сообщение #338


*****
*******

Группа:
Администраторы
Сообщений: 2152
Регистрация: 26.7.2009
Из: Славный град Тобольск
Вне форума


Репутация:   53  


Адсорберы предназначаются для поглощения бензиновых паров из бензобака, когда автомобиль остановлен, а при работе автомобиля - для десорбции паров бензина из адсорбера в топливную систему.
Адсорберы препятствуют попаданию паров бензина в атмосферу из топливного бака.

Адсорбер размещается в моторном отсеке и имеет трубопроводное соединение с дроссельным патрубком и топливным баком. Электромагнитный клапан расположен на крышке адсорбера и с помощью сигналов, исходящих от блока управления, переключает режимы работы поглощающей системы. При нерабочем состоянии двигателя электромагнитный клапан закрыт.

В рабочем состоянии двигателя блок управления способствует открыванию и закрыванию клапана за счет исходящих импульсов с частотой 16Гц. В открытом состоянии клапана происходит перекрытие подачи паров бензина и открывается отверстие для доступа воздуха в адсорбер. В этот момент осуществляется продувка адсорбера, и бензиновые пары с воздухом отсасываются по шлангу из адсорбера за дроссельную заслонку в дроссельный патрубок. Скважность импульсов, которые подает на клапан блок управления, может варьироваться от 0% до 100%.
При скважности равной 0% не происходит продувка адсорбера, так как клапан не открывается.
При скважности равной 100% происходит полная продувка адсорбера, так как клапан не закрывается


Оказывается, он еще и во впуск их пускает.


To Titus, Витя, это к нашему вопросу об ПОЛНОМ перекрытии форсунок!!!!
тоесть получается форсы все же закрыты,
а за счет наличия паров во впуске и возникает отличие звука мотора при торможении двигателем от совсем заглушенного.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
falcon
сообщение 23.6.2011, 17:27
Сообщение #339


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 201
Регистрация: 9.8.2010
Из: Крым, Ялта
Вне форума
Авто: Lancer9-07 2L AT LPG, 80230006

Репутация:   26  


Цитата(Yuriy_R @ 23.6.2011, 0:55) *
To Titus, Витя, это к нашему вопросу об ПОЛНОМ перекрытии форсунок!!!!
тоесть получается форсы все же закрыты,
а за счет наличия паров во впуске и возникает отличие звука мотора при торможении двигателем от совсем заглушенного.

А вы отключите пурж и сравните (IMG:style_emoticons/default/smile.gif) Чтобы отключить надо сбросить 12-ый бит по адресу 0xFAA
Для 2-лировика записать в 0xFAA значение 0xС692 вместо 0xD692
Для 1600 - 0x46D8 вместо 0x56D8
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
gktuning
сообщение 23.6.2011, 23:06
Сообщение #340


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 439
Регистрация: 28.3.2010
Из: Odessa
Вне форума


Репутация:   16  


ECU Periphery0 (FAA) Bits

bit.15
bit.14 front o2 sensor heater circuit
bit.13
bit.12 Purge Control Solenoid
bit.11 Disable EGR / Enabled Ign Adv (set bit=1)
bit.10 timing knockdown on light acceleration and less than 3000rpm
bit.9 Enable Warmup Ign Retard
bit.8
bit.7 Enable High Oct Ign Map Lookup (and many other subroutines)
bit.6 "WG solenoid? Enable Speed Limit Test"
bit.5
bit.4 for full time open loop set to 0
bit.3 for immobilizer function disable set to 0
bit.2
bit.1 rear o2
bit.0
Узнать бы еще, что означают биты 0, 2, 5, 8, 13 и 15
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post

116 страниц V  « < 15 16 17 18 19 > » 
Fast ReplyReply to this topicStart new topic
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0

 



Быстрый заказ, позвонить +7-978-708-85-73
Дроссель Amadeus Productions. Быстрый заказ по телефону.
(Viber, WhatsApp, Telegram)
Amadeus Productions Дроссельный узел на Lancer IX 1.6 (4G18), 2.0 (4G63) и другие моторы
Ремкомплект РХХ на Mitsubishi Lancer IX, 1.6 (4G18), MD619857, 1450A116
Облегченный маховик на 1.6 (4G18) и другие моторы
Облегченные шкивы на 1.6 (4G18) и другие моторы
One-touch или "Ленивые поворотники"