Проект продается, 60 000 USD [email protected]

Блог им. zlsl → Подключаемся к колодке диагностики Hyosung



Итак, пересел я на корейца с инжектором — Hyosung GT650RC 2013 года.
А так, как наличие инжектора подразумевает наличие и ЭБУ в котором можно поковыряться…

Колодка диагностики обнаружилась под местом второго номера, состоит она из двух разъемов — 2 контакта и 4 контакта.
В сервис-мануале про двухконтактный разъем вполне прозрачно написано — подключите мега-навороченный вендор-тул и познайте коды ошибок :)
Вендор-тул на картинке внезапно был похож на двухпозиционный тумблер, беглый взгляд на схему проводки и распиновку выходов ЭБУ показали, что таки да, диагностическая линия замыкается на массу и ЭБУ переходит в режим «моргания лампочкой» на панели. А так как я еще ничего не сломал, то фишка бесполезная.

Про второй разъем — информации ноль, на зарубежных форумах владельцев Hyosung осторожные предположения — что там вроде как диагностика, но что за стандарт — вопрос. Блок Delphi MT-05 очень популярен на мотоциклах и квадроциклах, сервисные пакеты для него существуют, но требуют денег и спецкабелей. Китайцы осторожно ковыряли этот блок и нашли, что есть некая программа PCHUD, что его видит и работает с ним. Сие изделие нашел и скачал, да вот оно оказалось 16-битное, то есть запускать только из под системы с поддержкой 16-битных приложений (Вроде WinXP). Опа, а у меня Linux x64 =)
Поднимать виртуалку и ковырять потенциально нерабочее приложение было совсем лень.

Решил пойти по самому легкому пути. Из запасов был поднят Multitronics VC731, который отлично работал на 31105 с Микасом. Вспомнил, что там поддержка чуть ли не всех существовавших протоколов, кроме ALDL.

Подключение прошло шикарно, к колодке-переходнику подключил провода от колодки диагностики мотоцикла, там +12 Вольт, две земли и бордово-голубой неизвестный. Бортовой компьютер включился, далее многие минуты ковыряния меню и переключение режимов. Но линию не видит. Подключал для начала через K-Line.

Решил, что включенного зажигания недостаточно и решил завести. Мот завелся, БК перезагрузился. Уже результат, подумал Штирлиц :)
Но ЭБУ обнаружен не был. Зато БК чётко перезагружался при запуске двигателя.

Хм, перезагрузка — значит защита срабатывает. Мультиметр в помощь. Измеряю напряжение на клемме переходника — при заглушенном около 10 вольт, при заведенном — скачки до 16-18. В мозгу пролетели спецификации всех используемых проводных интерфейсов, Как бы многовато, что для K-Line, что для CAN. Смотрю внимательно на колодку, да не, все по стандарту, только для бортовой сети питания :)). На контакт колодки, что K-Line кинул зачем-то 12 вольт вообще с другой колодки, что для GPS и камеры.
Вообщем правильное подключение не дало ничего и запах из БК намекал, что диагностикой он заниматься больше не будет.

Пошурудил в ящиках, о! ELM327 я еще не спалил, что через Bluetooth работает.
Припаял провода к нему, 12 вольт, массу и для начала к контакту K-Line.


Несколько программ из GooglePlay для диагностики OBD2 ЭБУ не опознали через все протоколы (10). Подключился к ELM через терминал и понеслась.
ELM327 это устройство, которое общается через AT-команды, как модем.
Не ругающийся протокол обнаружился на ATSP5. А вот стандартные ODB2 пакеты ЭБУ принимал, да вот ругался странными ответами. Хотя китайцы упоминали, что там точно OBD2. А если таки Keyword2000?
Отправляю 2101… Оп, под сотню байт ответ. Отвечает только на PID 01, на остальные — код ошибки PID не найден.

В динамике кручение-верчение дроссельной заслонкой показало, что да, данные меняются, вот только при повороте меняется байт так под 20 и абсолютно без системы. Но данные есть и их можно изучить.

Гугление не дало абсолютно ничего, небольшие зацепки дало изучение Kawasaki KDS Protocol, но у всех ЭБУ расположение данных в пакете разное. Сделал небольшую утилиту для записи лога и поехал кататься.

Далее было несколько дней в расшифровке, кропотливо в таблицах искал «легкие» позиции вроде температуры двигателя, положения заслонки. Первой отловил параметр времени работы двигателя, потом расшифровал TPS (дроссель), далее внезапно напряжение бортсети (по провалу при запуске и подъему после работы генератора). Тяжело расшифровывался байт температуры двигателя, там диковатый множитель — X * 160 / 25500. Далее помощь оказала картинка с рабочего экрана той самой PCHUD.

В итоге были расшифрованы положения всех (кроме одного байта, что всегда в 0) датчиков и статусов.

PID's и смещения в пакете:
2 MAP Multiplier factor
4 5 Command AFR afr
6 7 Target AFR afr
8 9 BLM Multiplier1 factor
10 11 BLM Multiplier2 factor
12 13 Charge Air Temperatu degC
14 15 Charge Air Temperatu degC
16 17 CLC Integral Term1 count
18 19 CLC Integral Term2 count
20 21 CLC Fuel Multiplier1 pct
22 23 CLC Fuel Multiplier2 pct
24 25 BLM Cell Number cellNo.
26 Pump Duty pct
28 29 Fuel Pulse Width 1 ms
30 31 Fuel Pulse Width 2 ms
32 33 Volume Efficiency1 pct
34 35 Volume Efficiency2 pct
36 Desired Motor Step step
37 38 Idle Airflow Integra pct
39 40 Desired Idle RPM rpm
41 42 Idle RPM Error rpm
43 Current Malfcode NA
45 History Malfcode NA
47 48 Engine Run Time Sec
49 50 Command SA CA
51 52 Target SA CA
53 54 Dynamic SA CA
55 Spark Dwell Time ms
56 Status Byte 1 [Fuel Cutoff Enable][Clear Flood Enable][DFCO Met][DFCO Enable][DFCO Exit Enable][OSFCO Enable][Rollover Enable][CLC Reset Cyl2]
57 Status Byte 2 [CLC Enable Cyl1][PrimePusle Disable][Pump Enable][AE Enable][DE Enable][AE Disable][DE Disable][CLC Enable Cyl2]
58 Status Byte 3 [O2 Sensor Rich Cyl1][CLC Reset Cyl1][O2 Heater Enable Cy][O2 Sensor Ready Cyl][IACV Closed Loop En][IACV Lost][IACV Move Inhibit][Ignition On]
59 Status Byte 4 [MAP CID Enable][MAP CID Succeed][Idle Enable][Power Enrichment En][PE AFR Protection E][Park Neutral Switch][Diagnostic Switch E][MIL On]
60 Status Byte 5 [Airflow Correction][Baro Update Met][Sequential Spark En][TipIn Spark Enable][Light Off Spark Ena][Engine In RUN][Stable Warm Idle][O2 Sensor Ready Cyl]
61 Crank Error Counter count
62 63 AFC Cell Number cellNo.
64 65 Vehicle Speed KmperH
66 67 Evaporator Canister pct
68 69 Baro kpa
70 71 Coolant Temperature degC
72 73 MAPCID Fail Counter count
74 75 MAPCID Pass Counter count
76 77 Intake Air Temperatu degC
78 79 Battery Voltage voltage
80 81 Measured MAP kpa
82 83 MAP Comp_ Altitude kpa
84 85 Expect MAP kpa
86 87 MAP Read Angle CA
88 89 O2 Voltage1 mV
90 91 Engine Speed rpm
92 93 Throttle Position pct
94 95 IACV Comp_TPS pct
96 97 TPS AD count
98 99 Engine Previous Run Sec
100 101 O2 Voltage2 mV

Приложение под Android уже можно пощупать. Часть показаний постоянно корректируется. В папку на карте памяти записываются два лога — сырой и расшифрованный CSV. Можно грузить в Excel и изучать.


Для работы — подключаете ELM327, как на фотках (вид со стороны адаптера). Далее при включенном питании находите Bluetooth-устройство и обязательно выполняете сопряжение (код или 0000 или 1234).
Далее запускаете программу, выбираете устройство и вперед :)
Теоретически должны подключаться все блоки Delphi MT-05, это и Hyosung и CF-MOTO как минимум.

После приведения приложения в божеский вид выложу в GooglePlay. Будет и расшифровка ошибок и красивый дашборд.

http://zlobniyslaine.org/files/gt650rc.apk
  • zlslzlsl
  • Юрий
  • 7 июня 2016 в 22:25
  • 13
  • оценка: +54

Комментарии (26)

RSS свернуть / развернуть
0
maxys146
Класс, в избранное однозначно!!!
Если будет мопед с мозгами буду ковырять)))
+1
zlsl
Принцип подключения для всех один, вот протоколы разные совсем. Даже на одной и той же модели авто в зависимости от года выпуска и версии прошивки разные данные идут, хотя на авто и проще, там полноценный OBD2. На мотоциклах BMW тоже диагностика шикарная.
0
maxys146
Да понятно что все костылят по своему, всё равно разбираться)
Главное сам принцип)
0
CostMan
Зачет! Ай да молодца автор!
+4
HotGuy
Чрезвычайно крутой реверс-инжиниринг! Снимаю шляпу, автор молодец
0
zlsl
Почти без жертв :) Мультитроникс скорее всего не выжил.
А вот когда катал и логи снимал немножко поседел, когда приехал, выключил зажигание, потом подошел, включаю, а на панели лампа FI не горит, помпа не качает.
Все предохранители проверил, уже готовился домой катить, потом дошло, что передача, подножка… Дома то на нейтрали тестировал сотни раз, а тут разрыв шаблона :)
+3
HotGuy
это как если пропал интернет — перебрать vpn-соединение, заменить сетевую карту, а потом вспомнить про баланс на счете))
0
klopik
Побольше бы таких кому интересно ковырять, и мозги позволяют. А то обычно либо первое, либо второе.
0
029ah
Очень круто. За ковыряние из-под никсов — отдельное очень круто :)
0
ZERZIA
Браво!
0
doloto
Кртуой пост, люто плюсую. Хоть и не владелец хьюса.
+2
Korider
это чтоб не выдумывать велосипед заново главное преимущество мозгов делфи перед предидущей модефикацией мозгов СнТ Моторс это конечно же в памяти хранения кодов ошибок. если когда либо мотоцикл сигнализировал о FI данная ошибка сохраняется.
Данный диагностический прибор работает как на андроид так и на РС, посредством кабельного соединения либо же Блутус. как я уже говорил с помощью прибора можно проверить какие были ошибки, можно их чистить, есть не особо функциональная закладка тестирования мотоцикла (насос, катушки, и еще парочка каких то узлов) ну и разумеется развернутая инфа по каждому датчику, давлению, напряжению, где сбоку сразу всплывает пояснение какая норма!
в целом корейцы молодцы, можно сказать вышли на новый уровень, хотя по правде особо по пользоватся прибором не удалось, мотоциклы бегают без проблем.
+1
zlsl
ELM327 стоит от 250 рублей, а на родной диагност ценник будет немного выше и далеко не в каждом городе его можно свободно купить.
0
ezoo
  • ezoo
  • 8 июня 2016 в 10:52
Чего-то мудрено все очень. Я подключался к Delphi Mt05 на своем Stels Benelli. K-line OBD адаптер простой и все. PCHUD шла под Win 7 32bit. В группе VK по Benelli есть целая ветка обсуждения на этот счет. А ТС столько терминов, техники, такие кривые пути обхода, ей богу — горе от ума.
0
zlsl
Здесь задумка подключиться именно с телефона и иметь логи поездок, совмещенные с GPS-треками. На win7 32-bit есть 16-битная подсистема, только не на всех сервис-паках уже.
0
Korider
вот как по мне было бы очень полезно разработать указатель передачи.
Большинство указателей типа PZR Racing реализовуються через дигностический разъем. если не ошибаюсь сам диагностический комп определяет передачу и выдает это на экран
0
zlsl
Delphi MT-05 не считает сам номер передачи, скорость он выдает с большой дискретизацией похоже.
В идеале, для каждой передачи — свой коэффициент RPM/Скорость.
На графике это выглядит как пучок линий из начала координат под разными углами.
Чем выше обороты — тем легче рассчитать передачу. Но работа сцеплением все испортит естественно. Уже наработки есть.

Сейчас не могу понять, правильно ли рассчитываю скорость из данных ЭБУ, получается выше GPS и выше показаний спидометра. Спидометр — 160, GPS — около 145, в логах при текущей формуле — 180
0
motogad
а зачем всё это?
0
Korider
ну для ремонтов точно покатит. например мот парит мозг, чтоб не лезть к каждому датчику с тестером, получаешь всю инфу с мота на экран, потом сверяешься с мануальными значениями.
очень часто бывает когда какой то из датчиков неисправен, но почему то ФИ не ругается на его.
а для чего еще оно нужно я конечно тоже не знаю.
0
step0
читать и анализровать логи — это хорошее подспорье в диагностике глюков. А вот на лету менять параметры работы мотора тут есть возможность или это отдельная грустная история с прошивкой в ПЗУ?
0
zlsl
На команды чтения блоков памяти ЭБУ реагирует. Записывать пока не рискую. А смысл на ходу менять один параметр.
Карты там есть, интересней сделать ручное переключение, как на Микасах например.

На высоких оборотах детонацией можно легко пренебречь, поэтому и нет датчиков детонации на мотоциклах, так что можно просто увеличивать длительность импульсов на форсунках. С этим справляются достаточно простые устройства. Вот только обратная связь от датчиков кислорода будет портить картину.
0
step0
про детонацию не знал, интересно, однако. Менять карты — это ли не смена параметров работы мотора)))))
0
step0
прод детонацию на высоких оборотах спорно
0
zlsl
Ее крайне сложно поймать, шум ГРМ и прочего становится близок к ней.
0
c_piper
сначала подумала, что попутала БП с хабром. ан нет, всё-таки БП ))
0
1972
  • 1972
  • 9 апреля 2020 в 15:34
Добрый день! У меня на Hyosung GT250 2013 г. после сброса газа на скорости глохнет двигатель и зажигается красная лампочка. В городе нет блока диагностики хьюса, ближайший город, где есть — за 500 км. Хочу продиагностировать способом, который описал автор, но к сожалению ссылка на программу устарела, а Юрий пока не ответил. Большая просьба ко всем — если у кого осталась запись программы под андроид — сбросьте, пожалуйста, на kolesnikvigmailcom или дайте ссылку. Всем удачи!
Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста, или зарегистрируйтесь.
При перепечатке материалов, видео или картинок гиперссылка на «bikepost.ru» обязательна
мотоблоги, Блог им. zlsl, Подключаемся к колодке диагностики Hyosung