Бортовой компьютер

Бортовой компьютер для карбюраторных авто (Arduino)

В память запись идёт каждый раз при остановке, не слишком часто? По моей прикидке ячеек хватит тысяч на 10 пробега в лучшем случае.

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

Бортовой компьютер

Чесались руки сделать что-то для свежекупленного автомобиля, остановился на полезной вещи – бортовой компьютер. Автомобиль Nissan Almera N15 1.6SR, двигатель GA16DE. Лепил из того что было, и хотелось поскорее, так что за конструкторскую проработку не пинайте.

LED-драйверы MEAN WELL – оптимальные решения для различных задач освещения (материалы вебинара)

Бортовой компьютер

В передней панели, под магнитолой имеется небольшое углубление, для хранения всякой мелочи, я решил в нем разместить БК.

Бортовой компьютер

Место не самое удобное для бардачка и для БК, но ничего более подходящего не нашел. Корпус БК – сам бардачок, передняя панель – кусок обычного фольгированного текстолита с наклеенной черной пластиковой самоклеящейся пленкой (такой холодильники обклеивают).

Бортовой компьютер

После перелопачивания определенного количества материала на тему БК, пришел к выводу, что самый правильный подход реализован вот тут http://multi-set.ru/. Только дисплей все же у них слишком аскетичный. Поэтому и решил делать БК в том же русле, весь теоретический материал есть на их сайте. Брать поток данных с БУ двигателя не хотелось, т.к. в нем не все есть, что надо, и это привязывает БК к конкретной марке автомобиля. Перегружать БК огромным количеством функций тоже считаю не нужным, только то, что нужно мне, но одновременно. С другой стороны исходники открыты и хорошо комментированы, ног свободных в контроллере много – дописывайте сами все что хотите. (Извините за работу со знакогенератором индикатора через ж, вверх ногами ставил дисплей, для лучших углов видимости сверху).

Кнопка, индикатор и его подсветка размещены на передней панели. Печатная плата под устройство не разрабатывалась, все спаяно на обычной макетке. Дополнительное гнездо прикуривателя с огромным конденсатором – не силовое, а для питания, чтобы при старте двигателя не перезагружался FM-MP3-трансмиттер, или навигатор.

Бортовой компьютер

Уличный термодатчик лучше всего выносить внутрь бокового зеркала, но тащить провода в дверь очень неудобно. У меня он расположен в самой левой передней части бампера, достаточно низко, подальше от противотуманки и радиаторов. Непосредственно на ножках датчика припаяны конденсаторы по 0.1 мкф. Необходимо обеспечить герметичность датчика термоусадкой, эпоксидкой или другим способом. Внутренний термодатчик расположен прямо на передней панели. Можно попытаться найти для него лучшее место, но меня устраивает и так.

МК PIC18F258 или PIC18F252 в DIP корпусе, установлен в панельке. Термодатчик TMP36 – заменим на микрочиповский MCP9700. MCP1525 – источник опорного напряжения +2.5 В, заменим на TL431 + резистор 680 Ом к +3.3 В. Индикатор TIC-120 и LED подсветку к нему TB1084 можно купить в Тритоне или Гамме, там же можно купить МК, опорник и термодатчик. Можно использовать и другие индикаторы 64х32 точки на контроллере PCF8531. LP2950-3.3 – стабилизатор питания на 3.3 В, можно применить LM1117-3.3, или какой-нибудь регулируемый. Хотя, по большому счету, тут надо использовать специализированый стабилизатор для автомобильного применения. На все детальки даташиты без труда можно найти гуглем. Дополнительный прикуриватель – от какой-то нашемарки.
Подключение. Все подписано на схеме, добавлю только, по цепи «+12v»ON»3» – провод, на котором появляется +12 В только при 3 положении ключа зажигания. Все цепи не силовые, и по автомобильным меркам ничего не потребляют, кроме цепи «Масса» и «+12V Accu», их нужно подключить толстым проводом. К форсунке в автомобиле подходят два провода: +12 В и сигнальный, к БК нужно подключить сигнальный.

Внешний вид экрана (в дежурном режиме и при включенном зажигании):

Бортовой компьютерБортовой компьютер

На первой строке отображается температура в салоне автомобиля (символ «мордочка») и на улице («солнышко»).

На второй строке отображается скорость вращения двигателя (обороты в минуту) и разница в процентах от скорости вращения, которое было запомнено по длительному нажатию кнопки.
Коротким нажатием на кнопку сбрасывается счетчик израсходованного топлива. Одновременно с ним можно сбросить штатный счетчик километража, тогда можно будет видеть количество топлива потраченного в пути.

На третьей строке отображается мгновенный расход топлива – это скорость расходования топлива при текущем положении педали газа в текущем режиме работы двигателя. Т.е. количество топлива проходящее через инжектор за единицу времени, в пересчете к литрам в час. Сначала был сделан еще и прогресбар этой величины, (графическое отображение) но пришел к выводу, что это интересно только первые дни использования БК.

В дежурном режиме, и первые 10 секунд после старта на месте мгновенного расхода отображается напряжение бортсети автомобиля. Остальное время оно в общем не нужно, если не будет заряда при работе двигателя – загорится сигнальная лампа на приборной панели.

Длительным нажатием на кнопку, текущее значение параметра «F» принимается за 0% и запоминается. Параметр «F» – это усредненное значение времени на которое открывается форсунка за один цикл работы двигателя.

На четвертой строке отображается количество израсходованного топлива и параметр «dF».

Блок управления двигателем во время работы на основе сигнала с датчика кислорода (лямда-зонда) непрерывно корректирует время, в течении которого открыта форсунка. Параметр «dF» – это разница(разброс) между максимальным и минимальным значением времени на которое блок управления открывает форсунку в течении 10 циклов работы двигателя. Параметр «dF» отображается в микросекундах. Его увеличение говорит о разбалансировке системы например в следствии плохой свечи, или не качественной работе одного из клапанов.

При отображении всех величин, если это необходимо, автоматически передвигаются десятичные запятые, гасятся незначащие нули и отбрасываются не несущие информации младшие значащие цифры.
Кнопка активна только при включенном зажигании. Простое нажатие – сброс счетчика накопленного расхода топлива, сопровождается кратковременной надписью «Reset» в нижней строке индикатора. Длительное нажатие – запоминание значений оборотов и времени открытого состояния форсунки. Сопровождается надписью «Save» в третьей строке.

На основе показаний параметров «F» и «dF» можно судить о качестве работы различных систем (впускная, зажигания, питания) и датчиков (воздуха, положения дроссельной заслонки). Величины ухода параметров можно получить, если заранее сымитировать каждую из этих неисправностей.

Использование параметра «F»:

  1. На холостых оборотах прогретого двигателя блок управления подает через форсунки определенную порцию топлива в цилиндры (параметр «F»), длительным нажатием на кнопку принимаем величину этой порции за начальную точку отсчета – 0%.
  2. Теперь при последующей эксплуатации автомобиля, выведя двигатель на холостые обороты всегда можно будет увидеть на сколько изменилось это значение, по отношению к запомненному. Его увеличение означает, что для того же режима работы, двигателю требуется больше топлива, а значит времени для впрыска, например из-за засорения инжектора, или было заправлено не качественное топливо. Уменьшение будет наблюдаться наоборот, при заправке более качественным топливом, после чистки инжектора, или после правильных регулировок различных систем двигателя. А чтобы увидеть, что на эту величину повлияли изменившиеся холостые обороты – их отклонение в процентах так же отображается.
  3. Резко, до пола, нажать на одну секунду педаль газа и тут же отпустить. Число до которого увеличится параметр «F» – это «приемистость» двигателя. По сравнению с холостыми оборотами, объем топлива должен возрасти примерно в 3 раза, т.е. до 300%. Через короткое время после этого параметр «F» должен уменьшиться примерно до 100% – это работа экономайзера, который уменьшает подачу топлива. Для правильной работы экономайзера необходимо правильно выставленное начальное положение датчика дроссельной заслонки.
  4. Плавно нажать на педаль газа и придержать 3000 об/мин. Параметр «F» должен показать некоторое уменьшение объема топлива на один цикл, т.к. на таких оборотах возрастает КПД двигателя. В идеальном случае – 20%, т.е. на пятую часть меньше, по сравнению к объему топлива холостых оборотов.

Производительность форсунки двигателя GA16DE – 181-189cc, 185 см 3 /мин = 3.0833 мл/с = 11.1 л/час. Данные для других форсунок можно взять тут (47 kb).

Для использования БК с другими автомобилями нужно скорректировать исходник.

Файлы для MPLAB, прошивка, а так же исходники находятся в архиве – mplab.zip (26 kb).

Среду разработки MPLAB можно взять на сайте Microchip.

Программаторов для прошивки МК очень много, один из них, например, описан на моей страничке.

Бортовой компьютер для авто на arduino

Схема Тестирование Электроника Моделирование

Появилась идея реализовать визуализатор для данных собираемых автомобильным OBD2 адаптером на базе ELM327 с поддержкой BlueTooth соединения. Хотелось обойтись без использования TorqueLite/Pro и прочих программных компонент, требующих наличие телефона.

title_pic

Взаимодействие и считывание было решено организовать с помощью Arduino Nano. Платка маленькая, большое число готовых библиотек для реализации задумки, а так же возможно питание от аккумулятора 12-ю вольтами. Т.к ток потребления сравнительно не большой, то перегрева внутреннего стабилизатора не должно быть. В крайнем случае можно поставить внешний стабилизатор до 7 вольт с радиатором, а далее уже внутренний стабилизатор на плате справится без перегрева.

Для взаимодействия был выбран модуль BlueTooth HC05/06. Все имелось в наличии, поэтому поле для экспериментов было открыто.

По задумке управляться устройство должно следующим способом:

  • сенсорная кнопка, нет дребезга и не требует усилий при нажатии.
  • переключатели, для отключения питания и принудительного сброса сохраненных настроек.

Первым делом возник вопрос, а ка же проверять работоспособность схемы и программы, не гонять же постоянно автомобиль. И решение было найдено, есть программа эмулятор, которая успешно запустилась под Windows 10. Программа называется OBDSim — https://icculus.org/obdgpslogger/obdsim.html.

Выглядит при запуске примерно вот так:

obdsim-gui2

И может подцепиться при запуске к COM порту. Запускать нужно в командном окне, командой:

ну или тем COM портом, который создался при сопряжении с блутуз адаптером. Сам процесс сопряжения показан на видео в конце статьи.

Изначально была проведена операция сопряжения obdsim с TorqueLite, чтоб убедиться, что сопряжение работает и команды посылаемые в obdsim и ответы, воспринимаются корректно. Испытания прошли успешно, программа показала, что все изменения на телефоне воспринимаются корректно и любой изменение датчика в obdsim тут же отображается в TorqueLite.

vlcsnap-2021-07-13-22h53m16s266

Это был первый этап — проверка. Второй этап — компьютер с obdsim выступает в роли мастера, а arduino nano в связке с HC06(который может быть только в роли slave) в роли ведомого.

hc06

Для arduino nano была набросана простая программа с использованием ELMDuino и вновь симуляция закончилась успехом. Весь процесс соединения и работы устройства показан на видео в конце статьи.

И третий этап — это окончательная реализация визуализатора на HC05 в режиме master.

hc05

Сразу было решено, что сопрягать ELM327 и визуализатор нужно в автоматическом режиме, т.е перевод HC05 в режим приема команд должен сам микроконтроллер.

Была найдена библиотека, которая с небольшими изменениями (перевел ее с Serial, на SoftwareSerial) отлично заработала в проекте.

Окончательная схема получилась такая:

scheme1

и примерно так выглядит на макетке:

scm_bb

только аккумулятор 12В.

На HC05 я напаял два проводка на выходы 34 — CMD и выход 11 — RESET.

hc05_pins

И эти проводки были подсоединены к микроконтроллеру для перевода HC05 в режим передачи данных или в режим приема команд, а так же для жесткого сброса (hardReset).

В режиме команд МК посылает HC05 следующие команды:

Данный набор команд ищет все видимые устройства и по очереди показывает MAC адреса данных блутуз устройств на дисплее.

dispaly00001

Если за время отображения адреса нажать на сенсорную кнопку, то адрес запишется в постоянную память микроконтроллера и HC05 будут отправлены следующие команды:

После данного набора команд в Windows 10 появляется окошко с запросом пароля и устанавливается сопряжение. В автомобиле же в ELM327 просто устанавливается сопряжение. Работа данного устройства также показана в видео в конце статьи.

Далее HC05 сбрасывается командой HardReset и переводится в режим обмена данными. С этого момента перебираются различные скорости для SoftwareSeria от 4800 до 38400.

dispaly00002

Как только сопряжение визуализатора и ELM327 или obdsim произошло, сразу отображается дисплей с отображаемым параметром:

dispaly00003

Короткое однократное нажатие на сенсорную кнопку переключает следующий отображаемый параметр.

Долгое нажатие на сенсорную кнопку (более 5 сек, в этот момент светодиод начинает мигать) отображает экран со всеми доступными для считывания параметрами:

dispaly00004

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

На текущий момент вот доступные для считывания параметры OBD2:

Вот сам код для Arduino IDE. Для сборки необходимо установить библиотеки:

  • Adafruit_GFX_Library
  • Adafruit_SSD1306
  • BluetoothHC05 — https://github.com/BayRepoOrg/Bluetooth_HC05
  • ELMDuino
  • U8g2_for_Adafruit_GFX
  • U8g2
  • GFX_Library_for_Arduino

Все библиотеки есть в стандартном менеджере библиотек, кроме BluetoothHC05, которая скачивается с указанного репозитория.

Для сброса запомненных данных: адреса блутуз устройства и скорости, нужно отключить питание визуализатора, и законнектить переключателем присоединенным к ножке d12 контроллера на землю и включить визуализатор, данные мгновенно будут стерты из памяти. Обратное отключение питания и отключения земли от ножки D12 вернет МК в стандартное рабочее состояние и он снова начнет искать доступные BlueTooth устройства.

Бортовой компьютер на Arduino

Гость beautiful mind

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Идеи для авто на основе маленькой платы с маленьким процессором — Arduino

Компы давно и плотно вошли в нашу жизнь. Аппаратная платформа Arduino — это одна из последних разработок с открытым программным кодом, которая построена на обычной печатной схеме. Подробнее о том, как с помощью такой платы сделать разные устройства для авто, мы расскажем далее.

С помощью платы Arduino можно соорудить автомобильный бортовой компьютер, который сможет:

  • рассчитать расход горючего;
  • вывести информацию о температуре антифриза;
  • рассчитать скорость движения, а также расстояние поездки;
  • вывести потраченное горючее за определенный километраж;
  • определить обороты мотора и т.д (автор видео — канал Arduino Tech PTZ).

Помимо устройства Arduino вам также потребуется жидкокристаллический модуль, адаптер Блютуз НС-05, а также сканер ELM327 и резисторное устройство на 10 кОм. Разумеется, необходимо приготовить и звуковой индикатор, монтажные провода и сам корпус устройства.

Процедура сборки осуществляется следующим образом:

  1. Сначала настраиваем Блютуз адаптер. К пинам устройства нужно припаять провода — к двум нижним и верхним контактам.
  2. Сам модуль подключается к плате для настройки, для этого необходимо открыть программу Arduino >Фотогалерея «Схема подключения БК»

GPS-трекер

Чтобы собрать GPS-трекер на базе Arduino, вам потребуется:

  • сама плата, процесс описан на примере модели Mega 2560;
  • модуль GSM/GPRS, который будет использоваться для передачи данных на сервер;
  • а также Arduino GPS-приемник, в примере мы рассмотрим модель SKM53 (автор видео об изготовлении трекера на примере платы SIM 808 — канал Alex Vas).

Как производится подключение схемы:

  1. Сначала осуществляется подключение модуля к основной плате, по умолчанию установлена скорость передачи данных 115200.
  2. После подключения нужно включить девайс и установить одинаковую скорость для всех портов — как последовательных, так и программных.
  3. GSM передатчик подключается к контактам 7 и 8 на основной микросхеме.
  4. Затем производится настройка модуля путем ввода команд. Все команды мы описывать не будем, их и так можно найти в Интернете без проблем. Рассмотрим только самые основные. AT+SAPBR=3,1,«CONTYPE»,«GPRS» — команда определяет тип подключения, в данном случае это GPRS. AT+SAPBR=3,1,«APN»,«internet.***.ru», где *** — это адрес оператора мобильной сети, который будет использоваться. AT+HTTPINIT — по этой команде производится инициализация HTTP.
  5. Нужно отметить один нюанс — при написании серверной составляющей интерфейса, желательно предусмотреть прием и выведение данных для нескольких адаптеров. Нужно установить переключатель на три позиции, это даст возможность получать данные от восьми автомобилей.
  6. Затем производится написание скетча на микросхеме. Сам скетч также можно найти в Сети, писать его необязательно. Учтите, если будут использоваться два активных последовательных порта, это может привести к ошибкам в передачи и отправке информации.

Парктроник

Чтобы соорудить парктроник, вам потребуются такие составляющие:

  • сама микросхема;
  • ультразвуковое устройство, в данном случае это дальномер HC-SR04:
  • шесть светодиодных элементов;
  • шесть резисторных элементов сопротивлением на 220 Ом;
  • соединительные провода типа «папа-папа»;
  • пьезодинамический элемент;
  • макетная схема для сборки.

Элементы для сборки парктроника на Arduino

Процедура сборки выглядит следующим образом:

  1. Для начала на макетной схеме необходимо установить светодиодные элементы, подготовленные заранее. Отрицательный контакт у всех светодиодов будет общим. Короткий контакт — катод — следует подключить к отрицательной шине, которая имеется на макетной плате.
  2. К более длинным контактам диодов, то есть анодам, необходимо подключить резисторные элементы на 200 Ом, если вы не будете их использовать, это приведет к перегоранию диодов.
  3. На центральной части производится монтаж ультразвукового устройства. На этом контроллере есть четыре контакта. Vcc — это контакт питания на пять вольт, Echo — это выходной контакт, Trig — это вход, а GND — это заземление.
  4. После того, как дальномер будет установлен, к его выходам следует подключить проводку. В частности, контакт Echo подключается к выходу 13, Trig — к 12 контакту. GND, соответственно, необходимо соединить с заземлением, которое имеется на схеме контроллера, а оставшийся выход Vcc соединяется с 5-вольтовым питанием на плате Arduino.
  5. После выполнения этих действий нужно соединить проводку с контактами резисторных элементов. А также они подключаются последовательным образом к пинам на плате — используются пины от 2 до 7.
  6. Следующим этапом будет подключение пьезопищалки, которая и будет предупреждать водителя о приближении к препятствию. Минусовой выход, как вариант, можно будет объединить с отрицательным контактом установленного ранее дальномера. Что касается положительного контакта, то он соединяется с пином под номером 11 на микросхеме.
  7. Для того, чтобы устройство в конечном итоге работало в нормальном режиме, дополнительно нужно будет написать, после чего загрузить код программы в плату. В этом коде необходимо точно указать дистанцию, при приближении к которой начнут загораться диодные элементы и будет срабатывать пищалка. Причем тональность пищалки должна быть разной, чтобы водитель мог узнать, когда приближение к препятствию будет критическим. Сам код либо пишется самостоятельно, либо берется уже готовый вариант из Интернета. Вариантов скетчей очень много, вам нужно только выбрать наиболее подходящий для вашего устройства (автор видео — канал Arduino Prom).

Еще на эту тему:

Jacek

Апрель 19, 2017 at 19:28 | #

Hello
Arduino PRO MINI is 5V, hc-05 module is 3,3V.
This is problem with direct connection.
Pleas send me schematic diagram.
Thanks

Soner ?Z

Январь 11, 2018 at 22:52 | #

Could you share with us libraries which you use in the project
like

Примерно за 25 долларов мы сможем сделать бортовой компьютер, умеющий считать расход топлива, показывать температуру охлаждающей жидкости, скорость авто, расстояние поездки, потраченный за поездку бензин, обороты двигателя, давление во впускном коллекторе, температуру впускного коллектора, УОЗ, коррекции топлива, вольтаж датчиков кислорода, нагрузку двигателя и многое другое. Сброс ошибок доступен в режиме «recovery» (как зайти написано ниже). Общий цикл работы с запросом всех данных из эбу происходит примерно раз в 750 мс. (при условии паузы между запросами в 65 мс, так по умолчанию)

Список требуемых деталей для сборки БК

1) Arduino Uno R3 — 1 шт.

2) LCD2004 жк-модуль

3) Модуль Bluetooth HC-05

4) OBD ELM327 Bluetooth сканер

5) Резистор 10 кОм подстроечный, бипер для звука, 2 кнопки для смены экранов, провода для соединений, корпус

Настройка блютуз модуля HC-05 для работы

Подпаиваем провода к пинам блютуза: (картинку с выходами смотреть в описании требуемых деталей)

  • 1 — это TX
  • 2 — это RX
  • 12 — это 3.3V
  • 13 — это GND
  • 34 — на этот вход тоже кидаем 3,3 V (нужен для перевода модуля в режим настройки с помощью AT команд).

Подключаем блютуз модуль к ардуине для его настройки

  • 1 — TX модуля в 6 пин ардуины. (внимание будет TX в TX это не ошибка!)
  • 2 — RX модуля в 7 пин ардуины. (аналогично не ошибка!)
  • 12 — и 34 пин к 3,3V ардуины.
  • 13 — GND ардуины.

  • 1 — TX модуля в 6 пин ардуины. (внимание будет TX в TX это не ошибка!)
  • 2 — RX модуля в 7 пин ардуины. (аналогично не ошибка!)
  • 12 — и 34 пин к 3,3V ардуины.
  • 13 — GND ардуины.

Открываем Aduino IDE 1.0.6 (использовал эту версию) и заливаем скетч через USB порт в плату.

#include
SoftwareSerial BTSerial(6, 7); // TX | RX
void setup()
Serial.begin(9600);
Serial.println(«Enter AT commands:»);
BTSerial.begin(38400);
>

void loop()
if (BTSerial.available())
Serial.write(BTSerial.read());
if (Serial.available())
BTSerial.write(Serial.read());
>

После успешной загрузки скетча открываем: Сервис->Монитор порта. Далее снизу ставим скорость 9600 бод и NL+CR вместе.

Далее вводим команды по одной и нажимаем [Послать]. После каждого ввода должен быть ответ ok.

AT // (возможно 1 раз вылетит Error, не пугайтесь… это нормально, повторите опять)
AT+NAME=Car //Присваиваем имя модулю Car
AT+ROLE=1 // Переводим модуль в режим Мастер
AT+PSWD=1234 // Ставим пароль 1234 как на OBD ELM327
AT+BIND=AABB,CC,112233 //Прописываем Mac адрес OBD ELM327.
AT+CMODE=1 // Подключение модуля с фиксированным адресом

Заметьте, что mac-адрес вида: «AA:BB:CC:11:22:33» вводится как «AABB,CC,112233». MAC- адрес своего модуля ELM327 можете посмотреть, подключившись для начала на него со своего мобильника. (Стандартные пароли обычно: 1234, 6789, 0000).

Всё, настройка модуля Bluetooth закончена.

Теперь нужно собрать схему Arduino + блютуз + LCD-экран

1.Начнем с подключения HC-05 Bluetooth модуля.

  • 1 — TX модуля засовываем в 7 Pin (Rx) арудины (именно TX в RX, не так как ранее);
  • 2 — RX модуля засовываем в 8 Pin (Tx) арудины;
  • 12 — Pin (3,3V) модуля в Pin 3,3V ардуины;
  • 13 — Pin (Gnd) в Gnd арудуины;
  • 34 — Pin мы никуда не подключаем (заизолируйте или отпаяйте).

2. Подключаем монитор LCD.

  • VSS экрана к GND ардуины;
  • VDD экрана к 5V ардуины;
  • V0 экрана к центральному выходу резистора;
  • RS экрана к 12 пину ардуины;
  • RW экрана к GND ардуины;
  • E экрана к 11 пину ардуины;
  • DB4 экрана к 5 пину ардуины;
  • DB5 экрана к 4 пину ардуины;
  • DB6 экрана к 3 пину ардуины;
  • DB7 экрана к 2 пину ардуины;
  • A — к 5V ардуины;
  • K — GND ардуины.

Одну из оставшихся ног потенциометра пустить на GND ардуины.

Переменный резистор на 10кОм нужен, чтобы управлять контрастностью монитора, так что если при первом включении вы включите и ничего не увидите, попробуйте отрегулировать контрастность шрифта поворотом резистора.

3. Подключаем дополнительную кнопку для переключения экранов с данными.

[1 кнопка]: один конец от нормально-открытой кнопки подключаем в GND ардуино, а второй конец в пин 10.
[2 кнопка]: GND + пин 9.

Бипер для звуковых предупреждений подключить по следующей схеме «+» к пину 13, а минус к GND ардуино.

Заливаем скетч в Arduino с помощью Aduino IDE 1.0.6 (использовал эту версию).

Единственное, в скетче присутствуют переменные, которую нужно подправить.

Нужно будет обязательно учесть три переменных:

1) ED=1.998 Например объем двигателя в литрах 1.398;
2) VE_correct=1.0; Корректировка объёмного КПД ДВС по таблице: (если расход реально меньше — то уменьшаем значение в процентном соотношении). Если не хотите калибровать добейтесь чтобы при прогретом двигателе мгновенный расход в л/час был в районе половины обьема двигателя;
3) tcorrect=1.014 (калибровка времени).
4) delay_var=65 Время паузы между запросами в ЭБУ, в дастере например все работает уже на 65 мс, а в старом chrysler cirrus надо аж 235 мс ставить.
5)speed_korrect_val=1; Корректировка скорости машины, смотреть по GPS/

Возможно, Arduino будет не точно считать время с помощью комманды millis()… Тут только вручную корректировать значение. На экране «технологический 2» будет указаны секунды: например, time_start: 23. Сравните значение с реальным. Для примера засеките 10 минут, когда значение time_start будет, например, равно 23. И выйдет, что через 600 секунд реально покажет 605. Итого 623-605=18 секунд отставание в ардуинке. То есть поправочный коэффициент tcorrect будет равен 623/605=1,02975.

Управление

[Кнопка 1], [кнопка 2] — листать экран вперед назад.
При включении при надписи «Connecting»… держать [кнопку 1] вход в режим показывания технологических экранов и параметров отдаваемых ЭБУ в 16-чном формате. Если будете включать БК не в машине то нужно отключить функцию опроса блютуз, надо продолжать держать две кнопки при надписи «Recovery»… до появлении надписи «All off»… а то экран будет все время пустой.

[Кнопка 1] + [кнопка 2]: 4 секунды — Сброс журнала общего пробега и потраченного бензина на втором экране, также это сброс ошибок на экране информации об ошибках.

Скетч:

(по умолчанию настройки в скетче на Рено Дастер 2.0)

Все, идем в машину, вставляем ELM327 в порт, ардуину в зарядку для авто и проверяем.

UPD 06.02.15: Обновлен расчет MAF по изменяемой объемной эффективности VE согласно графика при которое VE зависит от оборотов двигателя.
UPD 05.03.15: Переделан режим записи в EEPROM данных журнала пробега и расхода. Теперь данные записывает при низкой скорости от 1 до 9 км/час раз в 30 секунд, а при заведенном двигателе но скорости 0 км/час, раз в 10 секунд.
UPD 04.03.15: Обновлен режим «торможение двигателем», теперь срабатывает по нагрузке двигателя, работает корректнее чем по Fuel System Status. Расход топлива теперь изменяется по топливным коррекциям Long и Short. Также добавлено множество других правок.
UPD 26.02.15: Добавлен звуковой бипер. Если температура двигателя выше 102 градусов то вывести предупреждение о высокой температуре на экран и прогудеть бипером, так же будет звук при появлении ДжекиЧана
UPD 25.02.15: Добавлены экраны датчиков кислорода B1S1, B1S2.
UPD 24.02.15: При включении БК проверяет есть ли ошибки двигателя. При их наличии пишет сколько ошибок в двигателе, и показывает код ошибки. Сброс доступен в режиме рекавери.
UPD 23.02.15: Добавлен экран топливной коррекции.
UPD 22.02.15: Добавлен экран очистки ошибок в режиме recovery. Для очистки ошибок зажать обе кнопки на 4 секунды.
UPD 19.02.15: Добавил журнал общего пробега и потраченного бензина. Сброс — обе кнопки подержать 3 секунды.

Про параметр Fuel system status:

Для него нормальные показания это Closed loop (2).
Но иногда можно увидеть там open loop (1). Это значение можно увидеть в трех случаях:
1) автомобиль холодный и датчик кислорода еще не прогрелся
2) сильное нажатие на педаль газа и прекращение коррекции по ДК с целью достижения макс. мощности
3) прекращение подачи топлива при отпускании педали газа на скорости на передаче.

Про Обьемный КПД двигателя

Объёмный КПД двигателя внутреннего сгорания отражает эффективность всасывания в цилиндр и выпуска из цилиндра рабочей среды (то есть, топливо-воздушной смеси или выхлопных газов). Говоря более строго, объёмный КПД — это отношение (или процентное соотношение) количества рабочей среды, фактически всасываемой в цилиндр, к объёму самого цилиндра (при неизменных условиях). Поэтому те двигатели, которые могут создавать давления на входах в трубопроводы выше давления окружающей среды, могут иметь объёмный КПД больший 100 %.

VE изменяется в зависимости от оборотов, и дроссельной заслонке согласно найденной информации и в машинах для него вообще есть настоящие 3D таблицы:

Нашел график изменения в гугле и попытался воспроизвести хотя бы грубо его изменение.

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

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector