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.
- Нужно найти и скачать на смартфон набор ПИДов в формате «csv», подходящий для вашего автомобиля. Некоторые из них можно найти в данной статье выше по тексту.
- Скачанный набор PIDов помещаем в папку «.torque/extendedpids» . Папка «.torque» находится в корне карты памяти или памяти телефона. Обращаем внимание, что эта папка является скрытой и чтобы получить к ней доступ необходимо включить отображение скрытых папок. На скриншотах все действия с файлами производятся файловом менеджере «ES проводник», у вас может быть установлен другой.
- Написать «csv» файл проще, чем прописывать дополнительные ПИДы в ручную в программе. Можно воспользоваться блокнотом или любым текстовым редактором, Microsoft Excel вносит ошибки при сохранении файла, лучше пользоваться редактором notepad++.
В файле «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