![]() |
ELM327 & JOBD (Toyota) Пишу программу.
Вложений: 2
Купил я китайченский аналог ELM327 (в серебристом металлическом корпусе и на нем написано что версии он 1.5а). Порыскал в просторах и ничего что бы работало с этим контроллером не нашел. Но нашел что все-таки зацепить через терминал и проинициализировать ЭБУ можно! А значит и можно прогу написать которая все это будет делать! Сразу оговорюсь, что по професии я сисадмин и ничего общего как с машинами, так и с программированием здесь нет, но кое что все же умею.
В терминале набирал наугад все подрят и после ввода последних команд 30020 - был эффект: машина подняла обороты до ~2200 и держала около 20 сек, а потом скидывала. Больше с командами не экспериментировал - боялся как-бы чего не закосячить. Кто силен прокоментируйте что все-таки произошло при вводе 30020 и вообще, что я запрашивал и что мне отвечало авто? Выкладываю новую версию. В отличае от предъидущей она уже что-то умеет: читает все pids которые указаны в ответе на запрос 0100. |
Ладно, до чего дошел самостоятельно:
0100 - запрос поддерживаемых пидов. (41 00) BF 9F B1 00 - как расшифровать 4 байта? 0105 - температура ОЖ. Вроде (41 05) 73 получается 73-40=33 гон! На момент эксперимента двигатель прогрет был! Т.е. ~80 градусов там было! |
С температурой настало прозрение: 73hex=115dec! Т.е. 115-40=75 градусов. Уже похоже на правду ))
|
Поиск просветлил мой моск:
------------------------------ >1000 BUS INIT: ...OK 50 Что означает ответ 50? >0100 41 00 (BF 9F B1 00) Ответ в бинарном виде: 10111111 10011111 10110001 00000000 0101 1 00 (нет ошибок системы) 0102 0 -- (пид не поддерживался) 0103 1 02 02 (Обе головы работают по обратной связи (подготовка смеси по кислородникам)) 0104 1 2F (47*100/255=18% нагрузка на двигатель) 0105 1 73 (115-40=75 градусов температура антифриза) 0106 1 80 (ST#1 (128-128)*100/128=0% показатель в норме) 0107 1 78 (LT#1 (120-128)*100/128=-6,25% хреновастенько) 0108 1 7E (ST#2 (126-128)*100/128=-1,56% Почти в норме) 0109 1 71 (LT#2 (113-128)*100/128=-10,68% х-ня какая-то со втором блоком творится) :( 010A 0 -- (пид не поддерживался) 010B 0 -- (пид не поддерживался) 010C 1 0D 2A ((13*256)+42)/4=842 оборота в минуту двигатель) 010D 1 00 (0км/ч скорость) 010E 1 9B (91 чего-то там. Время на целиндр. Время открытия форсунки?) 010F 1 33 (51-40=11 грдусов температура воздуха во впускном коллекторе) 0110 1 (не запрашивал так же как и все остальное) 0111 1 0112 0 0113 1 0114 1 0115 0 0116 0 0117 0 0118 1 0119 0 011A 0 011B 0 011C 0 011D 0 011E 0 011F 0 0120 0 Остальное разгадать не удалось: >01b1 41 B1 00 >0400 44 STOPPED По всей видимости попытка сбросить ошибки, но т.к. двигатель заведен, то не вышло. >044 44 >0400 44 >0401 44 >0402 44 >0403 44 >0404 44 >0405 44 >0406 44 >04a7 44 >3000 70 00 D9 82 00 00 >3001 70 01 >30020 Двигатель поднял обороты >3002 70 02 >30030 Ничего не обычного не заметил |
Этот файлик у тебя есть?
|
Когда обороты на время поднимались и опускались скорее всего включил адаптацию чего (на ауди так)
|
Документация на ЕЛМ конечно же есть. А про адаптацию подробней можно? Адаптация чего к чему?
|
Как пример = НО ЭТО ВСЕ НА АУДИ
Канал - Двигатель блок 028 проверка датчиков детонации (базовая регулировка) - активировать экспресс-опрос, нажав клавишу 4 - нажать на педаль тормоза и одновременно начажать на педаль газа: Частота вращения увеличивается автоматически до 2200 об/мин - Тест вкл - дождаться появления в поле 4 сообщения "Система исправна" |
Обновил версию - теперь читает все пиды, которые комп отдает на запрос 0100. Пока без интерпритации значений. У кого прочитает - сообщите марку/год и какие пиды считала!
|
Автор, выложите лучше исходный код программы.
|
Не вижу смысла в исходниках. Если вы программист и хотите взглянуть на мой г0вн0код (не программер я поэтому многое там скорее всего реализовано кривовастенько), то это можно без проблем сделать т.к. пишу на dotNet.
|
Самое интересно. это вычислить расход топлива л/ч и л/100 км.
Как это можно сделать? |
программа коннектится к эмулятору, но пиды не пишет
|
Время открытия форсунки известно, скорость известна. Таблицы производительности форсунок то же есть (натыкался как-то). По времени открытия и производительности узнаем объем пропущенного бенза. Соответственно вот расход в час. Скорость то же известна что еще надо?
|
Цитата:
|
1. На первой странице вроде как ошибка, это не время открытия форсунок.
2. Цеплял не к машине а к эмулятору на компе. С ним работают ВСЕ программы для диагностики (хоть и пишут почти чушь, но все же). Ваша программка его увидела, но на 2-й странице вообще ничего не отобразила. В основном все вычисляют расход по MAF датчику. код 0110 вроде |
Цитата:
|
Эмулятор, настраивается на определенный порт. Далее открываем любую программу,, в т.ч. putty и смотрим параметры виртуального двигателя.
obdsim |
Цитата:
|
Цитата:
|
Написал программку. Читает PID-ы, выводит информацию
проверил на машине. Все работает на ура. На фото скриншот с эмулятора, поэтому циферки такие фото http://www.e1.ru/fun/photo/view_albu...cc2ea1c531e73a |
|
Цитата:
|
Часовой пояс GMT +4, время: 16:19. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot