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

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

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

Теги:

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

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

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

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

Комментарии (430) | Я собрал (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
Roman #
Для 1 варианта, схему делали в протеусе? И имеется ли она у вас на данный момент?
Ответить
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 шина.
Ответить
0
Дмитрий #
Добрый день, mr_smit. Правильно ли я понял, что прошивать микроконтроллер необходимо файлом из архива с расширением hex? И нужно прошивать EEPROM или нет
Уточню, файл hex из архива "Исходный код ВАЗ 2115", им необходимо прошить ATmega16?
Ответить
0

[Автор]
mr_smit #
EEPROM прошивать не обязательно. В контроллер прошить файл с расширением hex. И не забыть выставить фьюзы на работу от внешнего кварца. На первой странице комментариев есть.
Ответить
0
Андрей #
На январь 5.1 работает?
Ответить
0

[Автор]
mr_smit #
Должен
Ответить
0
Дмитрий #
нет
Ответить
0
Андрей #
Что это за выводы, куда их паять на плате и подключать?
Меня больше интересует схема №2 под тач
Прикрепленный файл: Screenshot_2.png
Прикрепленный файл: Screenshot_3.png
Ответить
0
Андрей #
Разобрался... Это для прошивки МК.. Я правильно разобрался?
Ответить
0

[Автор]
mr_smit #
Да, всё верно.
Ответить
0
Анлрей #
Здравствуйте! Подскажите Фьюзы на ATmega16 и ATmega8 одинаковые или разные.
Фьюзы на ATmega8:
CKSEL0 = 0
CKSEL1 = 1
CKSEL2 = 1
CKSEL3 = 1
SUT0 = 0
SUT1 = 1
BODEN = 1
BODLEVEL = 1
BOOTRST = 1
BOOTSZ0 = 0
BOOTSZ1 = 0
EESAVE = 1
CKOPT = 0
WDTON = 1
RSTDISBL = 1
Ответить
0

[Автор]
mr_smit #
Одинаковые
Отредактирован 18.01.2018 19:39
Ответить
0
Андрей #
Привет! Если я цепляю перемычку от 12 вольт к K-Line который через резистор 3,9, то Мега начинает жутко греться. Схема подключена только к блоку питания, к K-Line она не подключена
Прикрепленный файл: Screenshot_2.jpg
Ответить
0
Андрей #
И напряжение на выходе 7805 из 4,9 вольт подымается до 9,9в
Ответить
0
Андрей #
Вроде разобрался, на LM293(на самой миркухе) коротко замкнуты 7 и 8 ноги. По даташиту это VCC и 2OUT (который идет на Мегу)
Ответить
0
Андрей #
Собрал прибор на Меге16 с тачскрином. Работает, показывает все датчики кроме в меню АЦП. ДМРВ и Датчик кислорода он почему-то не показывает никаких значений, как при зажигании, так и на заведенной машине. Машина ВАЗ21103 Январь 5.1. В чем может быть причина?
Ответить
0

[Автор]
mr_smit #
Это меню я отключил в прошивке потому что не смог добиться достоверных показаний.
Ответить
0
Андрей #
А как включить? И почему показания тогда не достоверны?
Ответить
0

[Автор]
mr_smit #
Дописать этот пункт. У меня почему-то показания не соответствовали действительности.
Ответить
0
Андрей #
Этот пункт в коде есть.
Прикрепленный файл: Screenshot_1.png
Ответить
0

[Автор]
mr_smit #
Значит эбу не отвечает на запрос этих параметров. У БОШа возможно другой запрос нужен. Не разбирался. Нужно посмотреть в любой программе диагностики что она отправляет при считывании АЦП данных.
Ответить
0
Роман #
Подскажите пожалуйста для каких прошивок подойдут схемы для Atmeg 8 или 16 на ЭБУ I303CF06 (Ителма) M73 21114-1411020-42 21114 E-3 от Калины. Заранее благодарен.
Ответить
0
Игорь #
Так и не понял куда подключать тачскрин?
Ответить
0

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

Макетная плата для пайки (10 шт)
Макетная плата для пайки (10 шт)
FM-модуль RDA5807M Печатная плата для усилителя "LM3886 + AD825"
вверх