Бортовой компьютер для ВАЗ с цветным дисплеем и тачскрином – схемы, видео
Цены на подобные устройства, мягко говоря, не очень радуют. Самый простой компьютер-кнопка для отображения каких-никаких кодов категорически не устраивает ввиду его убогости. Стоимость таких около 600–700 руб. Ну а что-то посерьёзней, с дисплеем, уже порядка 1800–2000 руб. Ну и самые дорогие модели приблизительно по 5000 руб. Поэтому было принято решение собрать бортовой компьютер, который отображал бы параметры в режиме реального времени, текущие ошибки и возможность их сбросить. Также интересен был замер времени разгона от 0 до 100 км/ч.
Итак, обмен информацией между Электронным Блоком Управления (ЭБУ) и Бортовым Компьютером (БК) происходит при помощи интерфейса K-Line. При этом используются различные протоколы. Вот с этим то как раз и возникает первая трудность. Где взять описание протокола? Его придётся поискать в Сети.
Многие конечно задаются вопросом, зачем вообще используется какой-то там адаптер для подключения к машине. Отвечаем: адаптер представляет собой преобразователь уровней. В стандартном COM порте (он же интерфейс RS-232) логическая единица это -12 вольт, логический 0 — это +12 вольт. В K-линии логическая единица — это +12 вольт, а логический ноль — это 0 вольт. То есть размах сигнала 0–12 вольт против -12…+12 у RS232. К тому же разница не только в уровнях, RS-232 имеет 2 сигнальные линии RxD и TxD, а K-Line — одну двунаправленную. Итак:
Бортовой компьютер на ВАЗ Калина — схема и необходимые компоненты
Необходимые детали для сборки:
- Компаратор — LM293.
- Микроконтроллер AVR 8-бит — ATmega8.
- Дисплей от сотового телефона Siemens S65.
- Биполярный транзистор (T1) — BC817.
- Кварцевый резонатор (Cr1) — 16 МГц.
- 2 конденсатора (C7, C6) — 2х22 пФ.
- 10 резисторов — R2, R5-R7, R9-R11 (10 кОм); R3, R12 (2 кОм); R4, R8 (3.9 кОм).
Питание схемы бортового компьютера на ВАЗ
Здесь всё просто. LM317 формирует стабилизированный ток 20 мА для светодиодов подсветки дисплея. LM7805 стабилизирует напряжение для питания микроконтроллера. Защитный диод 1N6281 рассчитанный на 27 вольт спасет от возможных всплесков напряжения.
При отладке можно использовать +12 вольт с 16-го пина колодки OBD2. А при постоянной работе напряжение на БК должно подаваться при каждом включении зажигания. То есть необходимо протянуть провод от замка зажигания к БК.
Тут есть маленькая тонкость. Чтобы продлить срок службы дисплея, необходимо перед отключением питания отправить в дисплей определённую последовательность команд. Транзистор на схеме в нормальном режиме работы придавливает вывод контроллера к нулю. Вывод настроен как вход с подтяжкой. Как только напряжение пропадет, на выводе появится логическая единица.
Энергии накопленной конденсатором 470 мкФ хватит на то, чтобы микроконтроллер успел отправить команду выключения в дисплей. Диод 1N5818 не дает разряжаться конденсатору в «сеть», а также защищает от переплюсовки при подключении питания.
- Смотрите также, как сделать прибор для промывки форсунок
Список необходимых радиоэлементов:
- 2 линейных регулятора (VR1, VR2) — LM317 и UA7805 соответственно.
- Диод — 1N6281.
- Диод Шоттки — 1N5818.
- Резистор (R1) — 62 Ом.
- 2 электролитических конденсатора (C1, C2) 470 мкФ и 10 мкФ.
- 3 конденсатора (C3-C5) — 0.1 мкФ.
- Катушка индуктивности (L1) — 100 мкГн.
Бортовой компьютер на ВАЗ — инструкция по прошивке
Прошивка для микроконтроллера написана в среде CodeVisionAVR 2.05 на языке Cи.
Описание протокола есть в приложенных к статье материалах. Кратко пробежимся по основным моментам. Чтобы начать диагностику, надо отправить в ЭБУ запрос startCommunication.
В ответе C1 означает, что ЭБУ готов с нами работать (на связи).
После этого мы можем запросить у него параметры, отправив запрос:
ЭБУ автомобиля отвечает, например:
61 — Положительный ответ readDataByLocalIdentifier
01 — afterSalesServiceRecordLocalIdentifier
.
11-й байт — Температура охлаждающей жидкости
.
У нас это значение 47. Берем Windows калькулятор. Переводим 47 hex в dec. Получаем 71. Дальше 71-40=31°C. На момент снятия данных машина постояла на улице. До конца не остыла.
- Схема устройства для проверки свечей зажигания автомобиля
И так далее со всеми остальными параметрами.
P0443 — всё верно, 2 ошибки есть сейчас.
P1426
Самое крутое, сброс ошибок clearDiagnosticInformation:
83 10 f1 14 00 00 98
Запрос значений АЦП:
82 10 F1 21 03 A7
Из АЦП взято напряжение на датчике кислорода и на датчике массового расхода. Хотя необходимость этого пункта под сомнением. Можно вообще убрать. Всё остальное есть в описании.
Сборка и подключение бортового компьютера на ВАЗ Калину своими руками
Плата разведена на одностороннем фольгированном текстолите. Дисплей приклеен при помощи клея «Секунда». Защитное стекло для дисплея можно сделать из коробки от компакт-диска.
- На самоклеящейся бумаге печатаем лицевую часть (черную), клеим на пластик, совмещаем, клеим к плате.
Чтобы под стекло не набивалась пыль, смазываем обычным герметиком. Дорабатываем напильником посадочное место в ящике для мелочей и просто вставляем туда БК.
На плате имеется место для памяти 24LC512. Но она не использовалась (не хватило flash памяти МК на реализацию). Фьюзы МК выставлены на работу от внешнего кварца.
По себестоимости получилось порядка 450 рублей.
Зимой очень удобно следить за температурой двигателя при прогреве. А не ждать, когда же стрелка от отметки 50 градусов «оторвется».
Бортовой компьютер на ВАЗ 2115 с тачскрином
Этот БК изготовлен под панель ВАЗ 2115, но подходит и для Калины. Элементная база остается та же. Только добавляется тачскрин от телефона Sony-Ericsson G900. Цена тачскрина 35 рублей. Ну и естественно меняется прошивка.
- Интересные самоделки для гаража своими руками
Вводить алгоритм калибровки по 4-м точкам довольно сложно и в нашем случае не нужно. Просто записываем значения АЦП по 2-м точкам, сопоставляем координаты и через уравнение прямой по 2-м точкам находим промежуточные значения нажатия. У нас получилось:
Схема бортового компьютера для ВАЗ 2115:
Печатная плата претерпела существенные изменения. Теперь используется микроконтроллер ATMega16A.
При помощи ножа, напильника и шпатлевки по пластику тачскрин монтируем в панель, которую потом обтягиваем карбоновой пленкой.
По началу использовался стилус, но потом оказалось, что проще «тыкать» пальцем в экран. Он конечно залапывается, но не более чем на телефонах с сенсорным экраном.
Простой бортовой компьютер для Итальянских авто и ВАЗ
Современный автомобили в большей степени оснащены бортовым компьютером учёта мгновенного и среднего расхода. Являясь обладателем авто Фиат Мареа 1.9JTD данной функции в нем не было предусмотрено. Заводские девайсы отказывались работать или выводили скудную и маловажную информацию.
Я являюсь приверженцем простоты и надёжности своих разработок. Что вполне и показала эксплуатация собранного устройства.
Самодельный бортовой компьютер (БК) через интерфейс K-Line для Итальянских авто. Испытан на JTD евро 2 и 3 (CF2, CF3). Схема согласования уровней микроконтроллера с К-линией взята с диагностического адаптера ELM327, команды (PIDs) опроса ЭБУ авто сканированы по К-линии при работе диагностического софта Multiecuscan. Также изучалась документация [АО “АвтоВАЗ” Генеральный Департамент Развития Управление Проектирования Электроники и электрооборудования], [ISO/WD 14230-1 — Road Vehicles — Diagnostic Systems — Keyword Protocol 2000 — Physical layer].
Протокол ISO14230. Для приёма/передачи по К-линии был задействован аппаратный USART интерфейс PIC16F628. Но поскольку вывод передатчика (ТХ) не имеет функции инверсного режима работы, требуемого по условию схемы, был задействован соседний вывод. Который программно работает в режиме ТХ передатчика, инвертируя его состояние.
В основу схемы взят индикатор 16х2 HD44780 (распиновка питания может отличаться), контроллер PIC16F628A и немного пассивных элементов smd (габарит 1206 и 805), номинал не критичен. Транзисторы можно MMBT2222 SOT-23 (2N2222). Кренка на 5В в layoute вверх радиатором для схемы с dip PICом. В зависимости от подсветки ЛСД (>20mA) может потребоваться небольшой радиатор для кренки. Цепочка R10 и D16 выполняют защитную функцию схемы. Сама плата вписывается в габариты и клеится с обратной стороны дисплея.
При подключении схемы к авто К-линию подключать в последнюю очередь, не допускать замыкание К-линии БК на плюс!.
Программная часть работы схемы начинается с инициализации LCD и подключению к ЭБУ авто. Для ЭБУ тип евро 2 и 3 отличается адресация подключения к блоку, выбор выполняется удержанием кнопки UP до появления надписи нужного типа CF2 или CF3. При успешном подключении к ЭБУ включится подсветка LCD. Далее чтение HW и SW номера ЭБУ для JTD. И переход в первое меню, 4 параметра (мгновенный и средний расход, скорость и температура двигателя), другие меню могут быть по 2, 3 параметра. Переход по
меню клавишей UP или Down (индикация нажатия — закрашенный первый сегмент). Можно сохранить текущее меню (с 0 по 12) как стартовое при включении бортового компьютера — длительно удержав UP (более 2 сек.).
В 13 меню — чтение ошибок, выводиться количество ошибок и до 4 кодов (слитно Р***), удаление ошибок — длительно удержав UP.
В 14 меню (мгновенный расход и общее количество газойля) — можно менять число цилиндров в авто (4 или 5) для правильного расчёта расхода топлива — длительно удержав UP.
В 15 меню сброс показаний средней скорости и среднего расхода, и также регулирование подсветки LCD — длительно удержав UP.
Регулирование подсветки LCD представляет собой цепочку: pin13 через Т2 — стандартная яркость; и pin3 через R12 — пониженная яркость подсветки.
В обновлении схемы, архив №2, меню смещены и 15 меню выделено под плавное регулирование яркости подсветки экрана (ШИМ). При длительном удержании кнопки — плавное нарастание яркости от 0 до 255 и так по кругу. При отпускании кнопки — сохранение значения яркости в энергонезависимой памяти. При этом возможна потеря связи с ЭБУ, т.к. опрос прерывается.
Расчёт расхода топлива выполняется по показаниям общего количества газойля, оборотов и скорости авто. И расчёт происходит при активном меню расхода. Мгновенный расход выводиться в литрах/час при скорости до 10км/ч, а выше — в литрах на 100км. Обесточив БК средний расход сброшен и =0. Формула расчёта расхода =. Литры*100/. км. При пройденном расстоянии равном нулю, средний расход стремится к бесконечности. По мере движения и увеличения пройденного пути средний будет приближаться к мгновенному значению расхода.
Меню включает в себя набор следующих параметров: обороты двигателя, текущую скорость, скорость круиз-контроля, температура двигателя, температура топлива и воздуха, подогрев свечей накала и топлива, общее количество газойля, расход воздуха, давление топлива и его регулятор, давление наддува и его регулятор; расчёт мгновенного и среднего расхода, и средней скорости; чтение/удаление ошибок авто.
Сообщение «Error K-Lines» говорит о замыкании К-линии на минус, питание схемы ниже 9В или неисправности схемы, в частности сгоревший транзистор Т1 при замыкании К-линии на плюс.
В версии для ВАЗа все данные читаются напрямую с блока ЭБУ одним кадром, включая расход в л/100км и л/час, согласно документации. Для ВАЗ (Lada) БК работает с блоком Январь-. .
Обновление 30.05.2015: Добавил ШИМ управление яркостью подсветки LCD. Открыл для себя, что в 16F628 есть выход PWM. В архиве №2 новая схема и прошивки «r4», (не тестировал).
Схема бортовой компьютер для автомобиля
Felar Furlong » Пн янв 20, 2014 7:47 pm
надумал сделать бк, чтобы за расходом следить, да и вообще, не хватает мне там электроники, хотя широкая приборка радует (кроме тех моментов, когда ее надо снимать).
у буржуинов нашел такой проект — , с ардуиной я уже дело имел по своим авиамодельным делам и оно мне понравилось.
при использовании готовой ардуины несложная.
детали заказал из китаю.
на данный момент собрал на макетке, прошивку взял .
вроде сразу все заработало как надо.
в ближайшее время нарисую платку в спринте и вырежу на чпушке. дальше надо думать, куда ее впихнуть. толи вместо пепельницы, не факт, что войдет. толи выкинуть двухдиновый мафон, поставить однодиновый и в освободившееся место. толи выносной блок на кокпит сделать.
с удовольствием выслушаю любые комментарии.
себестоимость невелика. ардуина с дисплеем в сумме около 300 рублей с алибабая. рассыпуха копейки стоит здесь. дисплей имеет размеры 80х35, поэтому его вряд-ли можно впихнуть в приборку безболезненно, хотя американы ставят туда дисплеи поменьше (и подороже) и все-таки находят место в приборке. типа, как .
а, в основном, ставят , или .
насчет кита, маловероятно. я, фактически, начинающий радиогубитель. мне-бы эту собрать как следует.
хотя, по сути, конструкция довольно простая, можно не делать плату и все навесным монтажом собрать, как . с этим и начинающий справится.
подключается четырьмя проводами. сигнал открытия форсунки, импульсы со спидометра, +12, земля.
прикинул по размерам, должно на место бычатницы войти. печатку буду делать под ардуину про мини, не хочу с отдельной мегой возиться, с китайскими ценами никакой экономии на этом не получится.
пошел спринт раскочегаривать, давно я его в руки не брал.
Re: собрался делать бортовой компьютер
Felar Furlong » Ср янв 22, 2014 12:00 am
потихоньку размещаю детали в спринте. кипит мой разум возмущенный.
предварительная разводка:
три, видимо, придется проводочками кидать.
ну вот, как-то так.
теперь осталось все еще раз проверить разводку и на станок, сделать прототип платы. дальше примерить детали, если все совпадет, то паять и проверять.
Re: собрался делать бортовой компьютер
Вася » Чт янв 23, 2014 7:12 am
Re: собрался делать бортовой компьютер
Felar Furlong » Вс янв 26, 2014 7:01 pm
хорошо вошел, как будто там и был.
да это намного проще, чем спектрум спаять. мк уже в обвязке и прошит бутлоадером, чтобы его можно было через последовательный порт прямо из ide шить. ардуино великая вещь. isp порограмматор у меня правда тоже есть.
плата выпиливается
плата выпилилась
раскочегариваю паяльник. надеюсь, с разводкой я не накосячил. держите за меня кулаки.
Re: собрался делать бортовой компьютер
Felar Furlong » Вс янв 26, 2014 10:26 pm
слушайте, как не странно, но все заработало.
есть желающие пожертвовать своим карибом во имя науки?
Re: собрался делать бортовой компьютер
vik13 » Вс янв 26, 2014 10:28 pm
Re: расход бензина на холостых оборотах
Felar Furlong » Вт фев 04, 2014 6:42 pm
вообщем, попал я наконец-то к моему приятелю-электрику. с ходу он забраковал выбраный мной провод и разъемы, запаял в комп jst средний, провода не сильно тонкие использовал, с проходным предохранителем на 250ма. потестировал, жрет он в районе 20ма, когда спит с выключенным светом и около 40 с макс подсветкой. приделал его скрутками на косу к компу в районе ног пассажира переднего. и, вот чудо, все заработало!
калибровочные константы я взял от короллы дх с 4a-fe, по скорости похоже один-в-один, по форсункам не понятно пока, но тоже похоже на правду. с перегазовками поездили минут 15, средний расход был 16л. на инстанте, если педальку на старте давануть, все 60 литров мелькают O_o.
завтра в коробку его загоню и поезжу по-нормальному.
установил я комп в коробочку, которую в радиоле купил. немного больше, чем нужно, но пока сойдет.
так это теперь выглядит:
а так оно выглядит в работе:
кстати, 14 это средний расход за этот день. правда я немного ездил и в пробках практически не стоял.
и немного видео работы:
вторая половина видео, на стоянке, слева внизу расход в литрах в час, справа вверху — обороты.
отписываюсь по результатам полевых испытаний.
все прошло крайне успешно, устройство работает совершенно безглючно и весьма удобно. я даже не столько расходом пользуюсь (хотя и смотрю его иногда ), сколько электронным баком. не секрет, что карибовский индикатор топлива показывает погоду в аджикистане, а не реальный уровень бензина, а с компьютером я всегда знаю, сколько у меня еще есть запаса.
выкладываю финальную печатку в sprint layout, только четыре перемычки, без проводов. теоретически, можно было даже это развести, но я не использую лут, поэтому я ограничен размером дорожки, который надежно получается на моем станке чпу с имеющимися фрезами.
http://laser-squad.com/mpgv2-1.rar
напомню, разводка выполнена под готовую ардуину про мини, поскольку с текущими ценами на них у китайцев (
3.5$), я не вижу никакого смысла возиться с отдельной мегой.
каталог элементов:
1. процессор — 1 шт
2. дисплей — 1 шт (бывают разного цвета и инверсного типа)
3. разъем 4-pin (у нас в магазине он называется cwf-4) — 1 шт
4. кнопка swt-20-9.5 (подойдет любая такого типа) — 3 шт
5. стабилитрон 5.1в 1n4733a — 2 шт
6. конденсатор 0.1 мкф — 1 шт
7. конденсатор 330 мкф х25в — 1 шт
8. резистор 470 ом 1 вт — 1шт
9. резистор 51 ком 0.125в — 3 шт
10. транзистор 2n3904 — 1 шт
11. стабилизатор l7805cv — 1 шт
12. диод 1n4004 — 1 шт
13. резистор 220 ом — 1 шт
всякую мелочь по вкусу — гребенку для дисплея, текстолит, фрезы для станка, проставки, красивую коробочку.
общая себестоимость порядка 450 рублей, если фрезы не ломать
для самостоятельной прошивки понадобится еще ftdi (еще баксов 6-8 на али, или ебай).
выкладываю прошивку уже настроенную, которую я сейчас использую на предсерийном образце:
http://laser-squad.com/mpguino_tav.rar
для компиляции и прошивки используется .
на всякий случай переложу к себе схему: