16.07.2015, 22:16 | #11 |
Бывалый писикарщик
Регистрация: 23.04.2009
Возраст: 53
Город: Ставрополь
Регион: 26
Машина: Opel Zafira 2007
Сообщений: 5,275
|
Идентификатор 520, байты 0 и 1
C = buf[0]; C = (C*256+buf[1])/8; Только файлы можно просто прикреплять к сообщению, а не вставлять их в текст
__________________
Opel Zafira B --- ГАЗ 21 ВОЛГА в 21 веке --- Скин OpelZafira для RideRunner --- Скин CFStyle для RideRunner Плагин RRCheckEngine --- CFStyle для iCar DS --- iCarVOBD --- iCarDuino --- iCarCoreTemp --- iCarNotes --- iCarVoiceCommander |
16.07.2015, 23:37 | #12 |
Старший Пользователь
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
|
Bersenev
Как ты это делаешь шаман? Какой прогой анализируешь? Спасибо огромное! Кстати по запросу через OBD II я так ни чего и не понял, но попробую ещё подумать. Вики я всю пересмотрел. PS. А что ещё можно извлечь из данного лога? И проверил ща в машине. Там опять какая-то каша! Без запуска двигателя кажет <CUT> Скетч приобрёл вид #include <SPI.h> #include "mcp_can.h" MCP_CAN CAN(10); unsigned char len = 0; unsigned char buf[8]; unsigned int RPM; INT32U canId = 0x000; // идентификаторы могут быть 11-ти или 29-битные void setup() { Serial.begin(115200); START_INIT: if(CAN_OK == CAN.begin(CAN_500KBPS,MCP_8MHz)) { Serial.println("Init OK!"); } else { Serial.println("Init fail"); delay(100); goto START_INIT; } } void loop() { if(CAN_MSGAVAIL == CAN.checkReceive()) // check if data coming { CAN.readMsgBuf(&len, buf); canId = CAN.getCanId(); if (canId = 520) { RPM = buf[0]; RPM = (RPM*256+buf[1])/8; Serial.print("Engine RPM: "); Serial.println(RPM); } } } Последний раз редактировалось T_r_D; 17.07.2015 в 00:31. |
17.07.2015, 00:01 | #13 |
Бывалый писикарщик
Регистрация: 23.04.2009
Возраст: 53
Город: Ставрополь
Регион: 26
Машина: Opel Zafira 2007
Сообщений: 5,275
|
Своей, так как постоянно приходится вскрывать протоколы разной техники, пришлось написать для себя программку
Из этого лога только обороты, так как для них он и делался, вроде ещё попалась температура ОЖ, но не факт. Для всего есть своя методика, но меня по работе интересует в основном скорость и уровень топлива
__________________
Opel Zafira B --- ГАЗ 21 ВОЛГА в 21 веке --- Скин OpelZafira для RideRunner --- Скин CFStyle для RideRunner Плагин RRCheckEngine --- CFStyle для iCar DS --- iCarVOBD --- iCarDuino --- iCarCoreTemp --- iCarNotes --- iCarVoiceCommander |
17.07.2015, 00:04 | #14 |
Бывалый писикарщик
Регистрация: 23.04.2009
Возраст: 53
Город: Ставрополь
Регион: 26
Машина: Opel Zafira 2007
Сообщений: 5,275
|
__________________
Opel Zafira B --- ГАЗ 21 ВОЛГА в 21 веке --- Скин OpelZafira для RideRunner --- Скин CFStyle для RideRunner Плагин RRCheckEngine --- CFStyle для iCar DS --- iCarVOBD --- iCarDuino --- iCarCoreTemp --- iCarNotes --- iCarVoiceCommander |
17.07.2015, 00:28 | #15 |
Старший Пользователь
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
|
Bersenev всё- заработало, ещё раз спасибо!
А остальные цифры в 520 что-то значат? Возможно ли что в одном ID два параметра находятся? А в принципе видимо из этих данных можно выловить всё о машине что касается двигателя? Как сделать лог для всего остального? Ну например той же температуры ОЖ, скорости, напряжения, уровня топлива и самое главное расхода топлива? И можно ли каким-то стандартным софтом анализировать протокол? Хочу хоть примерно понять. PS. Температура ОЖ там врядли была. она ровнялась температуре окружающей среды |
17.07.2015, 00:59 | #16 | |||||
Бывалый писикарщик
Регистрация: 23.04.2009
Возраст: 53
Город: Ставрополь
Регион: 26
Машина: Opel Zafira 2007
Сообщений: 5,275
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
(buf[1]*256 + buf[2])/256 то есть в байте 1 температура в градусах, а в байте 2 значение после запятой. У тебя в логе она поднялась с 37.8 до 39.2
__________________
Opel Zafira B --- ГАЗ 21 ВОЛГА в 21 веке --- Скин OpelZafira для RideRunner --- Скин CFStyle для RideRunner Плагин RRCheckEngine --- CFStyle для iCar DS --- iCarVOBD --- iCarDuino --- iCarCoreTemp --- iCarNotes --- iCarVoiceCommander |
|||||
17.07.2015, 01:36 | #17 | ||
Старший Пользователь
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
|
Цитата:
Цитата:
И если будет время запишу лог разгона и торможения. По поводу напряжения- хочется всётаки понять где оно там спрятано. По поводу топлива- алгоритм-то понятен. Надо только лейку найти и доехать в канистру 20л бензина налить, вот только как потом ровно по 10 литров налить? А второй канистры нету. По поводу расхода- понятно. Там наверняка берётся из расчёта времени открытия форсунок и может быть давления в рампе. |
||
17.07.2015, 21:11 | #18 | |
Старший Пользователь
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
|
Снял лог.
Разгон 0-60 и потом 60-0 с отпущенным газом. Файл приложил. В архиве txt Про температуру. Вчера ты написал Цитата:
Ща схожу проверю в машине. |
|
17.07.2015, 23:38 | #19 |
Бывалый писикарщик
Регистрация: 23.04.2009
Возраст: 53
Город: Ставрополь
Регион: 26
Машина: Opel Zafira 2007
Сообщений: 5,275
|
ид 1101 скорость в 0 и 1, 2 и 3, 4 и 5, 6 и 7 байтах, но судя по всему в первых трёх парах скорость в милях, а в последней в километрах
Если разгонялся до 60 км/ч, то формула такая (buf[6]*256 + buf[7])/200 Но это ещё надо разбираться, возможно что скорость в км именно в 0 и 1 байтах, тогда (buf[0]*256 + buf[1])/100 что именно верно надо уже проверять экспериментально. также скорость в ид 909 байт 0 и 1 (buf[0]*256 + buf[1])/100 В моторной шине скорость часто идёт с разными ид. Но лучше их брать с шины которая идёт на панель приборов., там она всегда одна. а ид 1362 ночно не температура ОЖ
__________________
Opel Zafira B --- ГАЗ 21 ВОЛГА в 21 веке --- Скин OpelZafira для RideRunner --- Скин CFStyle для RideRunner Плагин RRCheckEngine --- CFStyle для iCar DS --- iCarVOBD --- iCarDuino --- iCarCoreTemp --- iCarNotes --- iCarVoiceCommander |
17.07.2015, 23:49 | #20 |
Старший Пользователь
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
|
Bersenev
1362 это какой-то таймер и обновляется раз в секунду. По поводу скорости- я примерно до 60 разогнался. Может чуть меньше. в 909 скорость в милях? В итоге всётаки выходит что мне проще читать через OBD II данные. Мне на самом деле нужно просто повторить показания на экране бортового компа. А всё остальное это уже баловство. А на экране отображается 1 Расход на 100 2 Моментальный расход 3 Расстояние которое можно проехать до заправки 4 Трип счётчик Из всего что мне нужно- расход на 100 и моментальный. Как я понимаю дёрнуть из протокола ситра будет это очень не просто. Так что думаю что сделаю проще. В диаг разъём вставлю ELM, а с него уже буду брать данные. Так проще и про ELM всё рассказано уже. А свой CAN Shield переделаю на комфорт шину и оттуда буду читать температуру за бортом, нажатие кнопок на магнитоле и руле и сообщения от магнитолы на дисплей. То что ты расшифровал в логе по скорости- проверю. |
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2) | |
|
|