Как написать программу для автомобиля

PID (параметр идентификации данных, ПИД) — код, посылаемый блоку управления двигателя (ЭБУ), однозначно определяемый параметр, который должен тот вернуть. Для разных автомобилей могут отличаться даже по годам.

Скачать PIDы

Скачать PID для Torque Pro можно из представленной таблицы.

ИмяРазмерСкачиваний
BMW 320 E91 для АКПП 1 KiB 1319
BYD F3 ABS 2 KiB 2338
BYD F3 Delphi MT20U 1 KiB 2097
Chery Tiggo Delphi System 2.0L-2.4L 4G63-4G64 2 KiB 3069
Chevrolet Aveo Lacetti Daewoo Nexia SiriusD42 5 KiB 9630
Chevrolet Aveo Sedan 2011 SiriusD42 1CCU 1 KiB 3448
Citroen C4 2014 7 KiB 1516
Citroen C5 5FN 2011 7 KiB 1056
Fiat Doblo 2 KiB 1072
Ford Focus II топливо пробег 296 B 1961
Ford Fusion Restyle 2006 Benzin 1.4L 3 KiB 2756
Geely ABS MK70 419 B 2351
Geely Delphi MT20U2 2 KiB 2384
GreatWall Delphi MT20U2 EOBD 3 KiB 2438
Gybrid Vehicle Toyota PRIUS MHW11 4 KiB 1945
Honda Accord 2009 2 KiB 2894
Honda CR-V III 2.0L 2011 464 B 368
Honda FIT GK3 2014 1 KiB 847
Honda Insight 2014 2 KiB 789
Hyundai Elantra 2003 3 KiB 3063
Hyundai HD Coupe 1 KiB 2530
Hyundai I30 1.6 CRDI 2016 Саж. фильтр 1 KiB 396
Jeep Wrangler TPMS 2016 Давл. шин 605 B 224
Kia Sorento 660 B 3734
Kyron D20DT 1 KiB 2321
Largus ABS 1 KiB 2607
Largus SRS 2 KiB 2365
Lexus RX330 4WD 4 KiB 962
Lifan Solano ABS Mando 2 KiB 1925
Lifan Solano ABS Wanxiang 1 KiB 1841
Micas 11.4 EURO 3 2 KiB 790
Mikas 10.3 ZAZ Sens 3 KiB 2368
Mikas 11 1 KiB 2115
Mitsubishi L200 NMPS 4D56 New Pajero Sport 8 KiB 3650
Mitsubishi Outlander 2008-2015 6 KiB 4725
Mitsubishi Pajero-4 3.0 V93W 10 KiB 2734
MUT Plugin Import 5 KiB 3450
Opel Astra K 1.6 2016 1 KiB 2804
Opel Astra-G 2002 Y17DT 3 KiB 3221
Opel Astra-J 1.3 2012 сажевый фильтр 1 KiB 1189
Opel Combo C 1.3 CDTi 3 KiB 926
OPEL MERIVA B Benzin A14XER 6 KiB 2389
Opel Vectra B X18XE 2 KiB 3063
Peugeot 307 SW ME744 3 KiB 1146
Peugeot 307 АКПП AL4 3 KiB 1130
Peugeot 308 2010 SL4 2 KiB 1250
Peugeot 407 AL4 для АКПП 4 KiB 373
Renault Fluence Megane 4 KiB 8665
Renault Fluence Megane Kontrol Raboty Ustrojs 1 KiB 6347
Renault K9K 832 And 836 6 KiB 9789
Renault Kangoo ECU DCM12 1.5l DCI 2 KiB 3995
Renault Scenic RX4 2002 Diesel 2 KiB 3502
Renault Trafic 1 KiB 3141
Reno Trafic II Diesel 2500 2 KiB 2421
Sagem2000 2 KiB 1711
Siemens ACR167 KWP 1 KiB 2021
Skoda Kodiag 4WD Haldex 2 KiB 1213
SsangYong Kyron Rexton Action Musso Korando Benzin 2.3 MSE 3 KiB 3482
Subaru Forester 2011 ABS 784 B 1099
Suzuki Swift 2005 2 KiB 2055
Toyota AXIO 2ZR 2006 3 KiB 2119
Toyota Corolla 2002 1CD-FTV 2 KiB 3161
Toyota Corolla Verso 2.2 D-cat 2006 1 KiB 1073
Toyota Kami Terios K3-VE Toyota Duet EJ DE TeriosKid EF-DEM 3 KiB 2191
Toyota Passo 1KR-FE 4 KiB 1941
Toyota PRIUS NHW10 3 KiB 2273
Toyota Sienta 1NZ-FE CVT 3 KiB 2122
Toyota Sienta ABS 1NZ-FE CVT 2 KiB 2062
Toyota Sienta EMPS 1NZ-FE CVT 2 KiB 1998
Toyota Vitz 1KRFE 2009 1 KiB 2226
UAZ Patrion M17 2 KiB 2902
VAZ Itelma Avtel M73 4 KiB 4088
VAZ Yanvar 7.2 EURO2 2 KiB 4539
Volkswagen Caravelle 2.5 TDI 1 KiB 956
Volkswagen Caravelle 2.5 TDI Rus 2 KiB 1292
Volvo XC70 D5 2008 929 B 2861
Yanvar 2 KiB 2923
Yanvar 5 1 1 KiB 3183
Yanvar 5.1.1 R83 2 KiB 3139
Yanvar 7.2 EURO2 2 KiB 3680
ВАЗ M74CAN 3 KiB 2663
Микас 7.6 ZAZ Sens 3 KiB 1123

Оборудование для чип тюнинга. Оптимальный набор для начала.

Как добавлять PIDы в Torque

Чтобы использовать ПИД понадобиться адаптер ELM327 версии 1.5 и программа Torque. Возможно вам еще понадобятся строки инициализации ELM327.

Теперь надо разобраться как редактировать, просматривать и добавлять дополнительные PIDы в программу Torque.

  1. Нужно найти и скачать на смартфон набор ПИДов в формате «csv», подходящий для вашего автомобиля. Некоторые из них можно найти в данной статье выше по тексту.
  2. Скачанный набор PIDов помещаем в папку «.torque/extendedpids» . Папка «.torque» находится в корне карты памяти или памяти телефона. Обращаем внимание, что эта папка является скрытой и чтобы получить к ней доступ необходимо включить отображение скрытых папок. На скриншотах все действия с файлами производятся файловом менеджере «ES проводник», у вас может быть установлен другой. PIDы для TorquePIDы для TorquePIDы для TorquePIDы для TorquePIDы для TorquePIDы для TorquePIDы для TorquePIDы для TorquePIDы для Torque
  3. Написать «csv» файл проще, чем прописывать дополнительные ПИДы в ручную в программе. Можно воспользоваться блокнотом или любым текстовым редактором, Microsoft Excel вносит ошибки при сохранении файла, лучше пользоваться редактором notepad++. PIDы для Torque
    В файле «csv» первой строчкой идет шапка, вторая и последующие строки — это создаваемые ПИДы, структура записи которых аналогична шапке.
Читайте также:
Какая нужна программа чтобы работал принтер

Синтаксис формул PID

Ответ ЭБУ обычно состоит из нескольких байт. Для обращения к определенному байту ответа используется буквенная адресация.

A — 1 байт ответа, B — 2, C — 3, …, Z — 26, AA — 27,AB — 28,…

Для составления формулы используются следующие операции:

  • A*10 — умножение.
  • A/2.5 — деление.
  • A+B — сложение.
  • B−10 — вычитание.
  • A
  • A8)+B.
  • — x-тый бит первого байта. A = 00001010b = 09h, = 0; = 1.
  • [XX] — значение PID, где XX — идентификатор PID, т.е. [0d]-скорость, [ff1001] — скорость по GPS.
  • Baro() — значение внешнего давления или с PID [33] – от двигателя, или [ff1270] — с датчика телефона.
  • A^B — А в степени B.
  • Log10(A) — Десятичный логарифм из А.
  • SIGNED(A) — воспринимается как байт со знаком, где старший бит — знаковый.
  • ABS(A) — модуль из А.
  • VAL — значение датчика с заданным именем.

Разделителем целой и десятичной части коэффициента является знак точки « . »

Источник: elm3.ru

Машинка Arduino – как собрать и программа

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

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

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

Я могу долго показывать в картинках, как что-то подключить, но лучше все же показать это в видео, поэтому все подключение лучше взять из видео.

Эта статья служит дополнительным материалом, потому что некоторые вещи проще показать в текстовой версии. Например, исходный код программы для машины Arduino.

В видео для создания машинки на базе Ardiono использовались:

— для управления двигателями я использовал плату L298N

— какой-то безымянный IR Receiver, у которого нет на плате никакого номера. Я вообще не знаю, там ставят какие-то номера или нет.

В видео использовался следующих исходный код программы для машинки на базе Arduino:

#include // константы const int RECEIVER_PIN = 12; const int LEFT_MOTOR_IN = 11; const int RIGHT_MOTOR_IN = 10; const int LEFT_MOTOR1 = 8; const int LEFT_MOTOR2 = 7; const int RIGHT_MOTOR1 = 4; const int RIGHT_MOTOR2 = 3; // IR ресивер IRrecv irrecv(RECEIVER_PIN); decode_results results; void setSpeed(int LeftSpeed, int RightSpeed) < analogWrite(LEFT_MOTOR_IN, LeftSpeed); analogWrite(RIGHT_MOTOR_IN, RightSpeed); >// Инициализация void setup() < Serial.begin(9600); setupMotors(); irrecv.enableIRIn(); >// Функция инициализации управления моторами. void setupMotors() < pinMode(LEFT_MOTOR1, OUTPUT); pinMode(LEFT_MOTOR2, OUTPUT); pinMode(RIGHT_MOTOR1, OUTPUT); pinMode(RIGHT_MOTOR2, OUTPUT); pinMode(LEFT_MOTOR_IN, OUTPUT); pinMode(RIGHT_MOTOR_IN, OUTPUT); setSpeed(255, 255); >// движение void setMotors(bool l1, bool l2, bool r1, bool r2) < digitalWrite(LEFT_MOTOR1, l1); digitalWrite(LEFT_MOTOR2, l2); digitalWrite(RIGHT_MOTOR1, r1); digitalWrite(RIGHT_MOTOR2, r2); >// движение вперед. void forward() < setMotors(HIGH, LOW, HIGH, LOW); >// Поворот налево с блокировкой левых колес. void forward_left() < setMotors(LOW, LOW, HIGH, LOW); >// Поворот направо с блокировкой правых колес. void forward_right() < setMotors(HIGH, LOW, LOW, LOW); >void left() < setMotors(LOW, HIGH, HIGH, LOW); >// Поворот направо с блокировкой правых колес. void right() < setMotors(HIGH, LOW, LOW, HIGH); >// Включаем движение назад. void backward() < setMotors(LOW, HIGH, LOW, HIGH); >// Останавливаемся void _stop() < setMotors(LOW, LOW, LOW, LOW); >void processIrInput() < if (!irrecv.decode( return; >Serial.println(results.value, HEX); switch (results.value) < // Вперед case 0xFF18E7: forward(); break; // Назад case 0xFF4AB5: backward(); break; // Влево case 0xFF10EF: left(); break; // Вправо case 0xFF5AA5: right(); break; // Прямо и влево case 0xFF30CF: forward_left(); break; // Прямо и вправо case 0xFF7A85: forward_right(); break; // Стоп case 0xFF38C7: case 0xFF6897: _stop(); break; >irrecv.resume(); > // Главный цикл void loop()
04 Марта 2019 | Программирование

Читайте также:
Типы обучающих программ программированного обучения

Поделитесь с друзьями

Внимание. Если ты копируешь эту статью себе на сайт, то оставляй ссылку непосредственно на эту страницу. Спасибо за понимание

Источник: www.flenov.info

Программное обеспечение автомобиля

Все для автолюбителя: обзоры, ремонт, авто схемы и новости

Программное обеспечение автомобиля

Статья о том, что из себя представляет программное обеспечение современного автомобиля. Особенности софта, процессы и технологии. В конце статьи — интересное видео о 5 нужных лайфхаках для вашей машины! Статья о том, что из себя представляет программное обеспечение современного автомобиля. Особенности софта, процессы и технологии.

В конце статьи — интересное видео о 5 нужных лайфхаках для вашей машины!

Программное обеспечение автомобиля

Ни один современный автомобиль не мыслим без электронной начинки, которая предполагает сложное программное обеспечение. Управляя автомобилем, мы почти не задумываемся о том, какие при этом процессы протекают у него внутри – монитора-то как у компьютера нет, а, значит, действие программ не визуализировано, словно бы их и нет. Но они есть.

Особенности автомобильного софта

Современное программное обеспечение для вашего автомобиля весьма надежно: коэффициент сбоя оборудования — всего лишь один на миллион операций в течение года, и то в качестве исключения.

Сейчас в каждом автомобиле имеется в наличие несколько электронных блоков управления (ЭБУ) – electronic control unit, ECU, которые взаимодействуют между собой через электронную сеть автомобиля.

Взаимодействие между этими блоками выполняется благодаря шинным архитектурам, которые представляют собой совокупность контроллеров — CAN, controller area network, а также специальную сеть, предназначенную для передачи информации специального цифрового оборудования — MOST, media-oriented systems trans, FIexRay, а также систему Local interconnect, (LIN).

Если сравнить перечисленные шины с Ethernet, который предназначен для ПК, они работают с пониженной скоростью, так как объем обрабатываемых данных в автомашинах небольшой. Но это минимальное количество информации должно обрабатываться буквально за считанные миллисекунды.

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

    Надежность — системные программы автомашины в достаточно сложной сети ECU в продолжение всего периода использования должны работать максимально надежно;

Внимание: Ни в коем случае не допускать перезагрузку ECU во время работы!

Основные составляющие ECU

ECU представляет собой довольно сложную плату, на которой, помимо микроконтроллера, имеются сотни других элементов. Рассмотрим основные детали.

    Аналого-цифровой преобразователь(ADC) — это оборудование предназначено для снятия показателей с определенных автомобильных датчиков, и с датчика кислорода в том числе. Дело в том, что процессор способен воспринимать только цифровые значения, а, например, показатель кислорода выдает лишь электрические сигналы напряжением от 0 до 1,1V. ADC преобразует эти данные в десятибитное двоичное число, и оно становится понятным для процессора.

Процессы и технология

Программное обеспечение автомобиля

С тех пор, как появилось первое ПО для автомобилей, многое изменилось. Если изначально программное обеспечение мог контролировать всего лишь один производитель, то теперь это стало практически невозможно.

Изначально в прошлом столетии в качестве ПО использовался ассемблер. Язык же Си стал распространяться в 90-е годы. Компания Robert Bosch и многие другие производители начали разрабатывать ПО с помощью Mathlab/Simulink и ASCET (управляющие и моделирующие технологии).

Системы шин CAN делают ПО автомашины достаточно сложным. Причина заключается в том, что они не исключают взаимодействия между программами разных ECU. Современные автомобили класса люкс могут содержать сложную сеть, состоящую из 80 ECU, которые в общей сложности имеют до 100 млн. строк кода.

Читайте также:
Через какую программу можно изменить формат видео

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

Инженерные решения на уровне процессов и архитектуры тоже становятся одним из главных условий аутсорсинга. В связи с этим обстоятельством компания Bosch некоторые разработки начала отдавать на сторону еще с начала 90-х годов прошлого столетия.

В настоящее время работа над ПО для автомашин проводится несколькими объединениями, распределенными по всему миру. И такого рода деятельность стала довольно оптимальной для бизнеса.

Управление двигателем

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

Например, современные дизельные двигатели способны впрыскивать топливо в минимальном количестве семь раз за один такт. А это для двигателя с четырьмя цилиндрами, который развивает скорость вращения до 1800 оборотов в минуту, составляет 420 раз в секунду. Все это требует новых функций ПО и более продуманных алгоритмов управления, чтобы любые отклонения свести к минимуму.

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

Центром управления трансмиссиями автомашин является модуль управления двигателем. Современные модули имеют объем более 2 мегабайт цифровой памяти и функционируют с частотой тактов до 160 МГц. При этом задействуются программы до 300 тыс. строк кода.

Стандартизация

При разработке современных цифровых программ для автомашин однозначно учитывается специфика необходимого ECU: ПО непосредственно взаимодействует с определенным оборудованием. Благодаря постоянному возрастанию количества автомобильных ECU, вторичное использование ПО становится в приоритете. Поэтому в такой ситуации уместно говорить о стандартизации.

В 2003 году поставщиками и производителями было создано объединение «Automotive Open System Architecture»(Autosar). Цель создания организации – выполнение общего стандарта и единых технологий. Сегодня это объединение охватывает свыше 150 организаций, которыми сообща разрабатывается новое строение ECU, базовое ПО и все необходимое для создания рабочего программного обеспечения.

Такого рода взаимодействие предполагает создание узлов, которые не зависят от оборудования. Это дает возможность поставщикам и производителям обмениваться разработками, а также использовать их повторно на самых разных ECU.

Строение Autosar состоит из нескольких абстрактных уровней, в которых ПО отделяется от аппаратного обеспечения. На самом верху находится прикладное ПО, которое реализует всю прикладную деятельность. Ниже следует базовое, номинальное ПО. Оно гарантирует нужную абстракцию от аппаратного обеспечения точно так же, как это происходит, например, в персональном компьютере. Autosar Runtime Environment (среда исполнения в реальном времени) осуществляет связи внутри ECU.

Технология Autosar содержит все необходимые форматы обмена и шаблоны, которые используются как для генерации и конфигурации инфраструктуры, так и для ее описания.

Самыми распространенными в современном автомобилестроении являются шины (высокоскоростные) Ethernet. Они надежно поддерживают связи между ECU, а также новые опции, в том числе и в отношении безопасности.

Самая разнообразная информация качественно анализируется в целях создания объективной модели окружающей среды, что позволяет формировать новые опции, которые поддерживают водителя в экстремальных случаях.

Например, водитель во время следования отвлекся на пассажира. В этом случае приложение определяет торможение движущегося впереди автомобиля, затем предупреждает водителя или самостоятельно включает торможение. Кстати, водитель может даже сразу не узнать о наличие такого ПО, пока не окажется в опасном положении.

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

5 нужных лайфхаков для автомобиля — в видео:

Источник: fastmb.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru