ARDUINO в качестве бортового компьютера для автомобиля.

Andrej
Рядовой
Сообщения: 84
Зарегистрирован: 13.07.2017{, 17:30}
Репутация: 0

ARDUINO в качестве бортового компьютера для автомобиля.

#101

Сообщение Andrej » 25.07.2017{, 19:18}

вот такой у меня адаптер есть. Из схемы понятно что K-Line сигнал только через БТ, меня это не устраивает. Частые обрывы связи, помехи и прочее.
СпойлерПоказать
1831199.jpg

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

ARDUINO в качестве бортового компьютера для автомобиля.

#102

Сообщение DrMario » 25.07.2017{, 19:29}

Andrej писал(а):меня это не устраивает. Частые обрывы связи, помехи и прочее.
Выше я дал ссылку как проверить нормальный адаптер. Командой ATPPS вызвать таблицу, из которой можно будет узнать на какой скорости обмена работает сам чип ЕЛМ. Если скорость головки блютуз и скорость чипа не совпадают, то адаптер будет некорректно работать.

Andrej
Рядовой
Сообщения: 84
Зарегистрирован: 13.07.2017{, 17:30}
Репутация: 0

ARDUINO в качестве бортового компьютера для автомобиля.

#103

Сообщение Andrej » 25.07.2017{, 19:36}

DrMario писал(а):Если скорость головки блютуз и скорость чипа не совпадают
Это я еще давно проверил, нормально все. 
А блок из этой библиотеки можно собрать? Получилось бы связка: данные-блок ОБД-блок УАРТ- отправка. Прием блоком УАРТ-обработка блоком ОБД-данные.
Бред конечно, ну а вдруг?

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

ARDUINO в качестве бортового компьютера для автомобиля.

#104

Сообщение DrMario » 25.07.2017{, 20:13}

Думаю, что блоки можно будет сделать прямо в флпроге. Для этого после положительного ответа от ЕЛМ об успешном соединении, нужно будет подать команду 01 00 и запросить список поддерживаемых PID’ов для определения какие параметры поддерживаются автомобилем - биты поддерживаемых параметров. Остальное дело техники. Все формулы для расчета значений всех параметров есть на википедии. Работать с адаптером ЕЛМ удобно еще тем, что обмен с ЕЛМ происходит в строчном виде, данные приходят тоже в строчном виде.
Пример раскладки поддерживаемых ПИДов здесь.
Последний раз редактировалось DrMario 25.07.2017{, 20:18}, всего редактировалось 1 раз.

Andrej
Рядовой
Сообщения: 84
Зарегистрирован: 13.07.2017{, 17:30}
Репутация: 0

ARDUINO в качестве бортового компьютера для автомобиля.

#105

Сообщение Andrej » 25.07.2017{, 20:48}

В ваших словах есть мотивация и очень железная! Мне пообещали дать на пробу НС05, но будет это очень не скоро. Пока же я все таки попытаюсь что то сваять на МЕГЕ с использованием компаратора LM293. который есть в наличии. 
По ЕЛМ могу сказать что все это китай и очень не стабильный! Общение должно быть ровно 25/25мс, а он по каким то причинам сбивает этот режим. Есть подозрения что (схема дана выше) конденсаторы на кварце чудят или сам кварц не стабилен. Я не электронщик, это все что смог узнать. У всех моих знакомых кто купил подобные адаптеры тоже иногда наблюдается такой сбой. Поэтому и было принято решение исключить этот глюк из проекта изначально. Как вариант можно поискать с USB выходом, но там тоже поле чудес! Частенько там просто кристалл в эпоксидке и получить оттуда чистый RX-TX нет возможности.

Добавлено (25.07.2017, 20:48)
---------------------------------------------
Вот такую тему мне подкинули добрые люди.

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

ARDUINO в качестве бортового компьютера для автомобиля.

#106

Сообщение DrMario » 25.07.2017{, 21:07}

Ссылка магазина на "хвостатый" адаптер, что Вы давали выше должен нормально подойти. Он на чипе FTDI и легко можно будет найти необходимые выводы RxD и TxD. Эти выводы нужно будет напрямую подключать к порту ардуины.
Спаривать два блютуз модуля на адаптере и в ардуине даже не знаю как это получится.
Примерно накидал опрос одного параметра, который есть на всех машинах.
Вложения
RPM_0C.flp
(192.07 КБ) 98 скачиваний

Andrej
Рядовой
Сообщения: 84
Зарегистрирован: 13.07.2017{, 17:30}
Репутация: 0

ARDUINO в качестве бортового компьютера для автомобиля.

#107

Сообщение Andrej » 25.07.2017{, 21:15}

ВОТ! Вот что мне надо! Аналог ОБД с чистым выходом RX-TX!!!

Добавлено (25.07.2017, 21:15)
---------------------------------------------
DrMario писал(а):Он на чипе FTDI
Тоесть полагаете что не возможно без интерфеса FTDI создать запросы опираясь на внутренние блоки?

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

ARDUINO в качестве бортового компьютера для автомобиля.

#108

Сообщение DrMario » 25.07.2017{, 21:36}

Чип FTDI нужно будет убрать из ELM адаптера совсем, он там будет не нужен. Вместо него нужно будет подключать КОМ порт ардуины и управлять самим чипом ELM при помощи АТ команд. Ответы от чипа можно выводить на дисплей в строчном виде, а после ответа что ELM соединился с ЭБУ двигателем уже отправлять запросы параметров тоже в строчном виде.
Если идти другим, аппаратным путем на низком уровне, то необходимо знание формата сообщений протокола, на котором работает данный ЭБУ а прежде нужно научится делать инициализацию этого протокола.

Добавлено (25.07.2017, 21:36)
---------------------------------------------
Andrej писал(а):ВОТ! Вот что мне надо! Аналог ОБД с чистым выходом RX-TX!!!
Это называется обычный адаптер K-Line

Andrej
Рядовой
Сообщения: 84
Зарегистрирован: 13.07.2017{, 17:30}
Репутация: 0

ARDUINO в качестве бортового компьютера для автомобиля.

#109

Сообщение Andrej » 26.07.2017{, 14:28}

Формат я знаю. А вот с инициализацией пока затык. Если вы правы, а вы правы то ардуино имеет тот же эффект сбоя такта как и китайские ЕЛМ. Интересно, у не китайских ардуино тоже есть такая болезнь?

Управление спомощью АТ команд это замечательно и очень облегчит задачу! Но я их совершенно незнаю и не представляю как это будет смотреться.
В общем пока занимаюсь таймерами и читаю форум.

Добавлено (26.07.2017, 14:28)
---------------------------------------------
Нашел такой таймер SP-таймер. Аналог на сименсах судя по описанию. Как думаете, подойдет?

omich66
Рядовой
Сообщения: 33
Зарегистрирован: 17.12.2015{, 19:37}
Репутация: 0

ARDUINO в качестве бортового компьютера для автомобиля.

#110

Сообщение omich66 » 31.07.2017{, 14:04}

Вот   проект, только не на Ардуине. Идею можно позаимствовать. Используется STM32. На ней проще, поскольку многое поддерживается аппаратно.

Andrej
Рядовой
Сообщения: 84
Зарегистрирован: 13.07.2017{, 17:30}
Репутация: 0

ARDUINO в качестве бортового компьютера для автомобиля.

#111

Сообщение Andrej » 01.08.2017{, 06:22}

omich66 писал(а):Используется STM32
Там же нет ни настроек, ни вменяемых параметров. Полуподелка. 
Заказал шнурок ЕЛМ. Ждем.

omich66
Рядовой
Сообщения: 33
Зарегистрирован: 17.12.2015{, 19:37}
Репутация: 0

ARDUINO в качестве бортового компьютера для автомобиля.

#112

Сообщение omich66 » 01.08.2017{, 10:18}

Andrej писал(а):Там же нет ни настроек, ни вменяемых параметров
Настройки в исходниках.
При наличии ELMа проще установить Torque на смартфон или планшет или ScanMaster под винду и получите все необходимое без ардуины.
Можно кое-что здесь посмотреть. Только задачка там обратная. Ардуино выступает в роли ECU.

Добавлено (01.08.2017, 10:18)
---------------------------------------------
Andrej писал(а):Заказал шнурок ЕЛМ. Ждем
Версия шнурка какая?
Если 2.1 то можно попасть на урезанный вариант прошивки.

Andrej
Рядовой
Сообщения: 84
Зарегистрирован: 13.07.2017{, 17:30}
Репутация: 0

ARDUINO в качестве бортового компьютера для автомобиля.

#113

Сообщение Andrej » 01.08.2017{, 13:55}

omich66 писал(а):При наличии ELMа проще установить Torque
Я не горю желанием загружать телефон торкуэ когда он мне нужен как телефон. Если вы купите мне еще один смартфон, тогда согласен!
omich66 писал(а):Настройки в исходниках.
Я похож на крутого специалиста по программированию??? Не смешите мои дырявые носки!   
Спасибо, но stm32 отпадает за незнанием языка "с". А все мои попытки хотя бы разобраться в том что дали и собрать работающую поделку приведут к вашему суициду.    Будут такие вопросы?!?   Что в пору застрелиться! Лучше живите счастливо! 

omich66
Рядовой
Сообщения: 33
Зарегистрирован: 17.12.2015{, 19:37}
Репутация: 0

ARDUINO в качестве бортового компьютера для автомобиля.

#114

Сообщение omich66 » 01.08.2017{, 15:09}

Andrej писал(а):Я не горю желанием загружать телефон торкуэ когда он мне нужен как телефон
Поэксперементировав с телефоном вы хотя бы поймете что можно получить от вашего авто, и надо ли оно вам.
Возможно на этом все и закончится

OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07.09.2015{, 23:53}
Репутация: 0

ARDUINO в качестве бортового компьютера для автомобиля.

#115

Сообщение OlegAn1962 » 01.08.2017{, 15:22}

По-моему, это очередная мертвая тема на кучу страниц.

omich66
Рядовой
Сообщения: 33
Зарегистрирован: 17.12.2015{, 19:37}
Репутация: 0

ARDUINO в качестве бортового компьютера для автомобиля.

#116

Сообщение omich66 » 01.08.2017{, 16:32}

OlegAn1962 писал(а):По-моему, это очередная мертвая тема на кучу страниц.
Согласен

Andrej
Рядовой
Сообщения: 84
Зарегистрирован: 13.07.2017{, 17:30}
Репутация: 0

ARDUINO в качестве бортового компьютера для автомобиля.

#117

Сообщение Andrej » 02.08.2017{, 05:40}

omich66 писал(а):Поэксперементировав
Прийдет елм и будем посмотреть.

Andrej
Рядовой
Сообщения: 84
Зарегистрирован: 13.07.2017{, 17:30}
Репутация: 0

ARDUINO в качестве бортового компьютера для автомобиля.

#118

Сообщение Andrej » 07.08.2017{, 14:19}

Такая схема будет работать? Дело в том что с китая ждать нужные микросхемы очень долго, а тут я в наличии нашел последние 2 таких. Уже собрал на проводках схему, но пока не испытывал. Машина очень далеко, в другом районе. В суботу заберу и попробую.
СпойлерПоказать
4135609.jpg
Добавлено (05.08.2017, 19:26)
Попробовал. Не понимает он что я от него хочу. Запрос идет, а ЭБУ не отвечает. Придется ждать шнурок.     Уже разные форматы испробовал. Молчит. Правда разок выдал 255, видно замучал я его вот он и матюкнулся.

Добавлено (07.08.2017, 14:19)
Все таки откликнулся раз ЭБУ вчера! Потом ноут выключился, батарея села. Подключал через 0-1, скорость 9600. Я на 13й пин подсадил опознание байта ответа. Да и на дисплее что то высветилось, не успел расмотреть.
Последний раз редактировалось Andrej 05.08.2017{, 19:41}, всего редактировалось 1 раз.

Аватара пользователя
DrMario
Лейтенант
Сообщения: 371
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 58
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

ARDUINO в качестве бортового компьютера для автомобиля.

#119

Сообщение DrMario » 08.08.2017{, 08:53}

Тема может и не совсем мертвая, если правильно поставить задачу.
Если целью является получать данные от мотора по стандарту (протоколу) OBD-II Generic, то для начала необходимо разобраться с самим стандартом. Это даст возможность осознать, какой список параметров будет доступен после запроса поддерживаемых PID's.
После чего необходимо иметь знания и понимать разницу в протоколах обмена данными и инициализации протоколов. Для общего стандарта ОБД2 их несколько типов:
1 - SAE J1850 PWM (41.6 Kbaud) 
2 - SAE J1850 VPW (10.4 Kbaud) 
3 - ISO 9141-2  (5 baud init, 10.4 Kbaud) 
4 - ISO 14230-4 KWP (5 baud init, 10.4 Kbaud) 
5 - ISO 14230-4 KWP (fast init, 10.4 Kbaud) 
6 - ISO 15765-4 CAN (11 bit ID, 500 Kbaud) 
7 - ISO 15765-4 CAN (29 bit ID, 500 Kbaud) 
8 - ISO 15765-4 CAN (11 bit ID, 250 Kbaud) 
9 - ISO 15765-4 CAN (29 bit ID, 250 Kbaud)
Для заводских (OEM) протоколов еще есть много разновидностей.
После этого можно пытаться получать данные от ЭБУ двигателя и выводить их на дисплей например.
Если пропустить второй этап, то останется только иметь понятие о стандарте OBD-II Generic и данные получать через интерфейс ELM-327.
Вот как-то так.

Andrej
Рядовой
Сообщения: 84
Зарегистрирован: 13.07.2017{, 17:30}
Репутация: 0

ARDUINO в качестве бортового компьютера для автомобиля.

#120

Сообщение Andrej » 08.08.2017{, 21:27}

Все верно! Я использую протокол 5 - ISO 14230-4 KWP (fast init, 10.4 Kbaud) с устойчивой скоростью ( не путать с максимальной) 10400Kb. Но так как в ФЛпрог нет такой скорости, я использовал 9600, это ближе к тем параметрам что заявил разработчик ЭБУ. У меня раз получилось подцепиться, но как вы уже знаете ноут разрядился.
Вот по такой схеме у меня получилось. диск. Возможно я что то перемудрил, но спрашивать нестал. Схема примерная, так как я порядком трех часов что то изменял, корректировал. Изменения помоему только в данных. Ну может что то из блоков добавил.

Добавлено (08.08.2017, 18:58)
---------------------------------------------
Еще я нашел вот такой сайт с описанием протокола на буржуйском. Пока изучаю.

Добавлено (08.08.2017, 20:30)
---------------------------------------------
Нужна помощь. Я использую шаблоны с форумов, но хотелось бы формировать самому данные запроса. Исходя из ОПИСАНИЯ я попробую сформировать запрос, а вы поправьте.

Мне нужно к примеру получить параметр "010C2Обороты двигателя016,383.75rpm((A*256)+B)/4"
Получается что мне надо сформировать в НЕХ 8211F1(Это заголовок)0С01(данные) а как вычислить контрольную сумму? Из чего она исчисляется?

Добавлено (08.08.2017, 21:27)
---------------------------------------------
Разобрался. На хабаре нашел нужный калькулятор. Надо просто все сложить вместе и последние два байта и есть контрольная сумма.
Последний раз редактировалось Andrej 08.08.2017{, 20:32}, всего редактировалось 1 раз.

Ответить

Вернуться в «Проекты различных устройств на Arduino»