Главная » Электроника для авто
Призовой фонд
на май 2017 г.
1. Тестер компонентов MG328
Паяльник
2. Осциллограф DSO138
Паяльник
3. Регулируемый паяльник 60 Вт
Паяльник
4. 100 руб.
От пользователей

Бортовой компьютер для ВАЗ с цветным дисплеем и тачскрином

С приходом в жизнь автолюбителей инжектора и его окончательной победе над карбюратором, появилась необходимость в "его" периодической диагностике. Поскольку стоимость диагностики отечественной машины варьируется от 300 до 500 руб., а квалификация диагноста порой вызывает сильные сомнения, то практически каждому автолюбителю зачастую приходится вникать в суть проблемы (неисправности) самостоятельно. И как минимум без специального адаптера и компьютера тут не обойтись. А если неисправность возникла где-то в пути и вдали от города? Поэтому порой просто необходимо иметь под рукой эдакий «миникомпьютер», который всегда будет в автомобиле и сможет помочь в пути.

Сам я являюсь обладателем автомобиля ВАЗ 11183 (Калина), поэтому далее повествование пойдет о бортовом компьютере для Калины. А в конце будет несколько слов про бортовой компьютер для ВАЗ 2115.

Цены на подобные устройства, мягко говоря, не очень радуют. Самый простой компьютер-кнопка для отображения каких-никаких кодов категорически не устраивает. Ввиду его убогости. Стоимость таких около 600-700 руб. Ну а что-то посерьёзней, с дисплеем, уже порядка 1800-2000 руб. Ну и самые дорогие модели приблизительно по 5000 руб. Поэтому было принято решение собрать бортовой компьютер для себя и с целью экономии денежных средств и с целью саморазвития.

Что я хотел видеть: параметры в режиме реального времени, текущие ошибки и возможность их сбросить. Замер времени разгона 0-100 км/ч (появилось позднее, так... побаловаться...)

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

Итак. Обмен информацией между Электронным Блоком Управления (ЭБУ) и Бортовым Компьютером (БК) происходит при помощи интерфейса K-Line. При этом используются различные протоколы. Вот с этим то как раз и возникает первая трудность. Где взять описание протокола? Мне повезло, я нашел в сети единственное описание протокола для ЭБУ Январь 5. На моей машине 2006 г.в. стоит ЭБУ Январь 7.2+. Подключившись к диагностической линии и запустив программу диагностики, я увидел, что запросы и расшифровка ответов ЭБУ полностью совпадают с найденным описанием. Дело сдвинулось....

Я думаю многие задавались вопросом, зачем вообще используется какой то там адаптер для подключения к машине. Отвечаю: адаптер представляет из себя преобразователь уровней. В стандартном COM порте (он же интерфейс RS-232) логическая единица это -12 вольт, логический 0 это +12 вольт. В K-линии логическая единица это +12 вольт, а логический ноль это 0 вольт. Т.е. размах сигнала 0-12 вольт против "-12" - "+12" у RS232. К тому же разница не только в уровнях, RS-232 имеет 2 сигнальные линии RxD и TxD, а K-Line одну двунаправленную. Итак:

Вариант №1. Калина. Кнопочное управление компьютером

Я использовал:
1. Микроконтроллер фирмы Atmel: ATMega8
2. Дисплей от сотового телефона Siemens S65
3. Обвязка... питание, резисторы, конденсаторы и другая мелочевка.
4. Преобразование уровней на сдвоенном компараторе LM293. Просто и доступно.

Питание. Тут всё просто. LM317 формирует стабилизированный ток 20 мА для светодиодов подсветки дисплея. LM7805 стабилизирует напряжение для питания микроконтроллера. Защитный диод 1N6281 рассчитанный на 27 вольт спасет от возможных всплесков напряжения.

Питание схемы

При отладке можно использовать +12 вольт с 16-го пина колодки OBD2. А при постоянной работе напряжение на БК должно подаваться при каждом включении зажигания. Т.е. необходимо протянуть провод от замка зажигания к БК.

Ну и сама схема:

Схема бортового компьютера для ВАЗ

Тут есть маленькая тонкость. Чтобы продлить срок службы дисплея необходимо перед отключением питания отправить в дисплей определенную последовательность команд. Транзистор на схеме в нормальном режиме работы придавливает вывод контроллера к нулю. Вывод настроен как вход с подтяжкой. Как только напряжение пропадет, на выводе появится логическая единица.  Энергии накопленной конденсатором 470 мкФ хватит на то чтобы микроконтроллер успел отправить команду выключения в дисплей. Диод 1N5818 не даст разряжаться конденсатору в «сеть», а так же защищает от переплюсовки при подключении питания.

Прошивка для микроконтроллера написана в среде CodeVisionAVR 2.05 на языке Cи.

Описание протокола есть в приложенных к статье материалах. Кратко пробежимся по основным моментам. Чтобы начать диагностику, нам надо отправить в ЭБУ запрос startCommunication:

Запрос startCommunication:
81 10 F1 81 03
Ответ:
83 F1 10 C1 6B 8F 3F

В ответе C1 означает, что ЭБУ готов с нами работать (на связи).

После этого мы можем запросить у него параметры, отправив запрос:
82 10 F1 21 01 A5
ЭБУ моей машины отвечает:
80 F1 10 26 61 01 3B 90 41 04 00 00 00 00 47 80 00 00 00 52 52 80 18 00 8E 00 5C 00 00 00 00 00 00 00 00 00 FF FF DD A4 47 02 CE

Расшифровка (пример):
61 - Положительный ответ readDataByLocalIdentifier
01 - afterSalesServiceRecordLocalIdentifier (что то там....)
....
11-й байт - Температура охлаждающей жидкости
....

Формула для расчета: N=E-40 [°C]
E - передаваемое значение
N - физическая величина

У меня это значение 47. Берем windows калькулятор. Переводим 47 hex в dec. Получаем 71. Дальше 71-40=31°C. На момент снятия данных машина постояла на улице. До конца не остыла.

И так далее… со всеми остальными параметрами.

Запрос ошибок readDTCByStatus:
84 10 F1 18 00 00 00 9D
ЭБУ моей машины отвечает:
88 F1 10 58 02 04 43 E0 14 26 E0 24

P0443 - всё верно, 2 ошибки у меня сейчас.
P1426

Самое сладкое, сброс ошибок clearDiagnosticInformation:
83 10 f1 14 00 00 98

Запрос значений АЦП:
82 10 F1 21 03 A7

Из АЦП взял напряжение на датчике кислорода и на датчике массового расхода. Хотя необходимость этого пункта под сомнением. Думаю вообще убрать. Всё остальное есть в описании.

Плата разведена на одностороннем фольгированном текстолите. Дисплей приклеен при помощи клея "секунда". Защитное стекло для дисплея сделал из коробки от компакт диска. На самоклеящейся бумаге распечатал лицевую часть (черную), наклеил на пластик, совместил, приклеил к плате. Чтобы под стекло не набивалась пыль, промазал обычным герметиком. Доработал напильником посадочное место в ящике для мелочей и просто вставил туда БК. Подключил питание и диагностическую линию. Левая кнопка смена режимов отображения, правая сброс ошибок (в режиме сброса ошибок) и сброс времени разгона на ноль (в режиме замера времени). На плате имеется место для памяти 24LC512. Но она не использовалась (не хватило flash памяти МК на реализацию). Фьюзы МК выставлены на работу от внешнего кварца.

Плата и экран

По себестоимости получилось порядка 450 руб

Экран

Экран в работе

Встраиваем

Зимой было очень удобно следить за температурой двигателя при прогреве. А не ждать когда же стрелка от отметки 50 градусов «оторвется»…

Установленный бортовой компьютер

Установленный бортовой компьютер

Показания бортового компьютера

Показания бортового компьютера

Видео работы устройства:

Вариант №2. ВАЗ 2115. Тачскрин

Далее был изготовлен компьютер под панель ВАЗ 2115. Элементная база остается та же. Только добавляется тачскрин от телефона Sony-Ericsson G900. Цена тачскрина 35 руб. Ну и естественно меняется прошивка. Были небольшие проблемы при калибровке экрана. Хотел сначала ввести алгоритм калибровки по 4-м точкам. Добавить соответствующий пункт в меню. Но, почитав и посмотрев алгоритмы на англоязычных сайтах (под Андройд и прочее), понял, что это довольно сложно и в моём случае не нужно. Просто записываем значения АЦП по 2-м точкам, сопоставляем координаты и через уравнение прямой по 2-м точкам находим промежуточные значения нажатия. У меня получилось:
x = 232 - 0.276*ADC
y = 0.25*ADC - 67.5

Схема бортового компьютера для ВАЗ 2115

Подключение тачскрина

Печатная плата претерпела существенные изменения. Теперь используется микроконтроллер ATMega16A.

При помощи ножа, напильника и шпатлевки по пластику тачскрин был вмонтирован в панель, которую потом обтянул карбоновой пленкой.

Встраиваем бортовой компьютер в ВАЗ 2115

Встраиваем бортовой компьютер в ВАЗ 2115

Встраиваем бортовой компьютер в ВАЗ 2115

Встраиваем бортовой компьютер в ВАЗ 2115

Встраиваем бортовой компьютер в ВАЗ 2115

Работа бортового компьютера

Ббортовой компьютер в ВАЗ 2115

По началу прикупил стилус, но потом оказалось что проще «тыкать» пальцем в экран. Залапывается он конечно. Но не более чем на телефонах с сенсорным экраном.

Для повторения рекомендую вариант с тачскрином. Его можно использовать как под Калину, так и под Пятнашку. На этом всё.

- Прошивка и файлы печатных плат для ЭБУ Январь: [car_computer.rar]
- Прошивка для ЭБУ Bosch (Обновлено 17.03.2014): [car_computer_bosch.rar]

Автор: Шапкин Дмитрий Александрович или mr_smit (shapkin85@bk.ru)

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
Питание
VR1 Линейный регулятор
LM317
1 Поиск в FivelВ блокнот
VR2 Линейный регулятор
UA7805
1 Поиск в FivelВ блокнот
Диод1N62811 Поиск в FivelВ блокнот
Диод Шоттки
1N5818
1 Поиск в FivelВ блокнот
R1 Резистор
62 Ом
1 Поиск в FivelВ блокнот
C1 Электролитический конденсатор470 мкФ1 Поиск в FivelВ блокнот
C2 Электролитический конденсатор10 мкФ1 Поиск в FivelВ блокнот
C3-C5 Конденсатор0.1 мкФ3 Поиск в FivelВ блокнот
L1 Катушка индуктивности100 мкГн1 Поиск в FivelВ блокнот
Схема 1
Компаратор
LM293
1 Поиск в FivelВ блокнот
МК AVR 8-бит
ATmega8
1 Поиск в FivelВ блокнот
T1 Биполярный транзистор
BC817
1 Поиск в FivelВ блокнот
Cr1 Кварцевый резонатор16 МГц1 Поиск в FivelВ блокнот
C7, C6 Конденсатор22 пФ2 Поиск в FivelВ блокнот
R2, R5-R7, R9-R11 Резистор
10 кОм
7 Поиск в FivelВ блокнот
R3, R12 Резистор
2 кОм
2 Поиск в FivelВ блокнот
R4, R8 Резистор
3.9 кОм
1 Поиск в FivelВ блокнот
Схема 2
Компаратор
LM293
1 Поиск в FivelВ блокнот
МК AVR 8-бит
ATmega16A
1 Поиск в FivelВ блокнот
T1 Биполярный транзистор
BC817
1 Поиск в FivelВ блокнот
Cr1 Кварцевый резонатор16 МГц1 Поиск в FivelВ блокнот
C6, C7 Конденсатор22 пФ1 Поиск в FivelВ блокнот
C8 Конденсатор100 нФ1 Поиск в FivelВ блокнот
R2, R11 Резистор
2 кОм
2 Поиск в FivelВ блокнот
R3, R7 Резистор
3.9 кОм
2 Поиск в FivelВ блокнот
R4-R6, R8-R10, R12 Резистор
10 кОм
7 Поиск в FivelВ блокнот
L1 Катушка индуктивности10 мкГн1 Поиск в FivelВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Опубликована: Изменена: 18.03.2014 0 5
Я собрал 0 1
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 5 Проголосовало: 1 чел.

Комментарии (406) | Я собрал (0) | Подписаться

0
Sinner #
Познавательный проект. Респект автору. Не могу разрешить такую проблему - прибор на скорости 10400 бод передает в терминальную программу вместо команды 81 10 F1 81 03 - C1 94 C1 E0. Если скомпилировать прошивку под стандартную скорость 9600, 14400 или 19200 то прием идет без ошибок. Может кварц бракованный? Если да, то как его подобрать?
Отправил комментарий и сразу нашел причину. Причина в адаптере USB - COM. С железным СОМ портом и с адаптером PCI-SERIAL работает отлично!
Ответить
0
Abrams #
А какой программатор используете?
Ответить
0
Vladimir #
Можно ли ваш прибор установить на ВАЗ2110?
Ответить
0

[Автор]
mr_smit #
Если ЭБУ соответствует, то да.
Ответить
0
Виталий #
А можете изменить для нексии?
Ответить
0

[Автор]
mr_smit #
Могу. Но интереса заниматься этим нет.
Ответить
0
Виталий #
А что нужно изменить? Может я сам смогу
Ответить
0

[Автор]
mr_smit #
По нэксии есть отдельная статья
Ответить
0
NLO90 #
Подходит ли для ЭБУ Bosch 1.5.4?
Ответить
0

[Автор]
mr_smit #
Не тестировал. Не на чем. Возможно версия под Bosch подойдет.
Ответить
0
Ильдар #
Можете переписать программу под дисплей 1602. и с кнопками? Просто найти дисплей у нас в городе трудновато. Да и большой 1602 OLED дисплей выглядит прикольно)
Ответить
0

[Автор]
mr_smit #
Могу. Но делать этого не буду. Нет ни времени ни желания.
Ответить
0
Антон #
На питание подсветки подается 12в? Я правильно понял?
Ответить
0

[Автор]
mr_smit #
Стабильный ток 20 мА или 10,4 В
Ответить
0
nfaced #
Подскажите пожалуйста как лудили компьютерный шлейф, не получается у меня его залудить
Ответить
0

[Автор]
mr_smit #
Флюс нормальный возьмите.
Ответить
0
jktu312 #
Добрый день, подскажите если я оставлю Фьюзы по умолчание, будет работать? Или скиньте скриншот какие фьюзы ставить на PonyProg. Спасибо!
Ответить
0
dmisor #
Как выставлять Fuse было описано ранее (ветку прочтите, всю). По умолчанию не будет, надо частоту 16 MHz.
Ответить
0
jktu312 #
Да прочитал, только не фига не пойму, выставлял как написано ранее, Амтел надо теперь восстанавливать, потом вычила что если на PonyProg надо их выставлять инверсно, а как это я не могу понять, опыта мало с микроконтроллерами.
можете написать какие именно галочки поставить. Спасибо!
Ответить
0
jktu312 #
Писал "Dobro vam 18.02.2014 20:19 #"
Ну вот разобрался, ЗАРАБОТАЛО. Я шью пони прог 2000, там фьюзы реверсивно стоят. Спасибо автору огромнейшее!
Можно разъяснить безграмотному участнику проекта, как реверсивно выставить?
Ответить
0
jktu312 #
Привет "dmisor" Вы писали ( Добрый день! Сам разбирался с ответами от ЭБУ Калина М74 Ителма с Е-газ. Все параметры разобрал, показания в норме, если надо могу скинуть.) - можете скинуть прошивку на амега8 или где лежит?
За проект автору огромное спасибо, все работает, штучка классная, осталось прикрутить в машину.
Ответить
0
dmisor #
Привет! Все в архиве.
Прикрепленный файл: Калина М74 Ителма.rar
Ответить
0
jktu312 #
Вот вроде допер, правильно я понял?
Прикрепленный файл: ATmega8_ для PonyProg.jpg
Прикрепленный файл: ATmega8_ для UniProf.jpg
Ответить
0
dmisor #
Для пони да, другой не пользуюсь
Ответить
0
Владимир #
Зачем контроллер дрыгает ногой PD7? На схеме она никуда не подключена. Это для работы по протоколу с использованием L-линии?
Ответить
0

[Автор]
mr_smit #
L линия не используется. PD7 тоже
Ответить
0
Сергей #
81 10 F1 81 03 83 F1 10 C1 6B 8F 3F
82 10 F1 21 01 A5 80 F1 10 4A 61 01 02 4A 47 6B
D3 00 00 00 00 00 00 00 FF FF FF 40 00 00 7C 69
00 00 00 00 7D 80 00 10 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 01 C2 16 00 00
00 00 00 00 00 80 00 00 00 23 81 00 00 00 7D 00
00 00 F8 80 1F

Где здесь можно взять температуру охлаждающей жидкости и напряжение бортовой сети? Эбу М73.
Лежит на столе. Вместо датчика температуры впаян резистор. В диагностической программе ТОЖ 5.25 градусов, напряжение 12.232 вольт.
Ответить
0

[Автор]
mr_smit #
Только напряжение почему то не сходится с вашим.
Отредактирован 14.03.2017 22:22
Прикрепленный файл: M73.png
Ответить
0
Государенков Сергей Юрьевич #
Все сходится. Я единичку пропустил. 15.25 вольта. Спасибо большое. Только не понятно почему так много. Диагностическая программа показывает столько же. Ацп показывает 12.232. Мультиметр на источнике питания 12.6 в.
Ошибся. 15.56 вольта в диагностической программе. Ацп 12.232 вольта. В той же программе.
Ответить
0
Sergey_6633 #
А под М73 можете прошивку выложить. Я уже весь мозг сломал. Оба варианта попробовал нет связи сЭБУ.
Ответить
+1

[Автор]
mr_smit #
Та что под Bosch должна по идее работать.
Ответить
0
Sergey_6633 #
У меня М73 автел ваз 2114. собрал на atmega8. Все вроде работает но нет связи с ЭБУ. Спасибо за ответ завтра попробую отпишусь.
Прикрепленный файл: мой 2.lay
Ответить
0
Sergey_6633 #
Проверил не работает с моим ЭБУ. Помогите пожалуйста. Уже что знал попробовал. Дальше мозгов не хватает. Может от ителма М73 подойдет. Выложи пожалуйста.
Ответить
+1

[Автор]
mr_smit #
Если вы используете код под Мегу8 и пытаетесь подключиться к М73, то всё правильно, работать не будет. Потому что в той прошивке нет импульса инициализации перед отправкой запроса т.к. это под Январь. Я в комментариях выкладывал кусок кода который нужно добавить в инициализацию. На 2-й или на 3-й странице. Либо брать Мегу16 и заливать Bosch прошивку.
Отредактирован 15.04.2017 20:34
Ответить
0
Sergey_6633 #
Добавил все вроде правильно, но все равно с М73 не работает
Прикрепленный файл: bk.c
Ответить
0
Sergey_6633 #
Собрал бы на Мега16, но нет тача и переделать прошивку от БОШ нельзя под кнопки так как нет исходника. Если сможете буду благодарен.
Ответить
0
Sergey_6633 #
Собрал на Мега16, прошивка от БОШ тоже не заработала с АВТЕЛ М73, к январь 7.2 с прошивкой 2115 работает. Помогите хоть как-то их законектить с М73.
Ответить
0
Sergey_6633 #
Mега 16 и БОШ заработало. Плохо что нет исходника. Хотелось бы вариант с кнопками. Автору респект. Надеюсь поможете с прошивкой БОШ на Мега 16 под кнопки.
Ответить
0
Игорь #
Уважаемый автор ! У меня машина гранта 11186, подойдет ли эта схема для моей машины?
Ответить
0

[Автор]
mr_smit #
Нет. В гранте CAN шина.
Ответить
«234
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Конструктор: DDS генератор сигналов
Конструктор: DDS генератор сигналов
Набор 4WD Kit Bluetooth Радиореле 220В
вверх