PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Общение с машиной (http://pccar.ru/forumdisplay.php?f=14)
-   -   Arduino+CANBUS Shield (http://pccar.ru/showthread.php?t=23221)

Misha2066 13.10.2018 14:23

А у меня их много! Начиная с 0хх и до 6хх оооочень много!
До блока еще не добрался, вскрыл дисплей климата, который на фото выше, он проще снимается. Там нет никаких доп. контроллеров, только одна средних размеров микросхема. Но он и не подключен к кану. Может сегодня вечером доберусь до блока климата, тогда будет о чем поговорить.

T_r_D 13.10.2018 18:25

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

Misha2066 14.10.2018 22:36

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

T_r_D 15.10.2018 02:08

Ну тогда тебе не повезло...
Хотя опыт для CAN получил.

А точно там одна линия?
Или есть ещё такт?
Если есть такт, то похоже на i2c.

randy 15.10.2018 22:39

Цитата:

Сообщение от Misha2066 (Сообщение 405929)
но на одном проводе.

Вот например на Рио 13-го года климат никакого отношения к CAN не имеет. Но имеет вывод на диагностическую колодку, И ещё этот провод заходит в BCM, и корейцы пишут, что это K-line. Может это оно?

Misha2066 15.10.2018 23:02

Цитата:

Сообщение от randy (Сообщение 405963)
корейцы пишут, что это K-line. Может это оно?

Возможно. Как бы это узнать точно?
Ардуину можно как-то подключить к этому проводу и GDN и посмотреть? Или надо какой-то специальный девайс, типа анализатора логики?

randy 15.10.2018 23:06

Вложений: 2
Цитата:

Сообщение от T_r_D (Сообщение 405708)
Только та что дороже надевается на ардуину без всяких проводов.

В этом её большой плюс, особенно для новичка. А минус, что каракатица получается изрядная. И цена.
Примерно вот так
http://pccar.ru/showpost.php?p=382995&postcount=195
Дополню ещё описания.
Можно проверить VIN (на экране только 16 символов):
http://pccar.ru/attachment.php?attac...1&d=1539629535
В режиме прослушки выявил такие ID

2C0 349
0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0

545 348
C0 0 0 47 0 0 0 0
C5 48 0 8E FF FF FF FF

18F 348
0 3A 0 0 0 42 0 0
FE 73 0 0 0 78 0 20

580 174
0 0 0 0 0 0 0 0
18 0 0 0 0 0 0 0

A0 348
0 79 0 0 0 1E 0 0
E0 82 FF 19 0 43 4 0

A1 348
7B 7D 0 0 1B 0 0 0
88 7D 0 A 61 0 0 0

260 346
0 E E 0 0 0 39 0
7F FF FF 30 0 0 A5 3F

2A0 348
20 0 72 0 0 0 0 0
E0 0 7F 0 0 0 0 0

329 348
F AB 7A 10 11 21 0 E
D3 B8 7A 92 12 88 0 E

316 349
30 E 0 0 E F 0 7F
71 A7 FF 19 FF 39 0 7F

690 35
0 0 0 0 0 0 0 0
0 0 0 0 0 20 0 0

5A0 4
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
В моей машине 12 видов пакетов — адрес, относительная частота, строка минимальных значений, строка максимальных значений.
Как видно из цифр, Ардуина успевает сжирать более 3000 пакетов в секунду.
Что означают цифирки пока не разбирался. Знаю точно, среди них есть инфа о состоянии круиза и оборотах двигателя. (Круиза нет, а инфа есть!)
Прослушка продолжается до нажатия кнопки select.
Результаты прослушки можно сохранить в EEPROM и по особой команде передаются в консоль Arduino IDE.
http://pccar.ru/attachment.php?attac...1&d=1539629731
(На фотке адрес в десятичном формате).

Теоретически можно смотреть и стирать ошибки. У меня ошибок нет, а ломать машину для проверки скетча я не стал :)

Ну и если кому интересно, то вот скетч
https://yadi.sk/d/VD6P8eDB3UqjL9
Сразу не выкладывал, т.к. собирался навести в этом бардаке порядок. Но руки так и не дошли, поэтому выкладываю как есть.

Misha2066 15.10.2018 23:24

Ладно аккуратная этажерка и скетч, а куда какие провода подключаются? И если всю информацию можно посмотреть в "мониторе порта" или канхакере, то зачем нужен LCD-шилд? Для автономности?

randy 16.10.2018 00:23

Насколько это достоверно?
Цитата:

Сообщение от Misha2066 (Сообщение 405749)
А если смотреть эл. схемы машины, то кан-шина одна.

И она сто пудов моторная. И климата и прочего там быть не может. ИМХО

randy 16.10.2018 00:26

Цитата:

Сообщение от Misha2066 (Сообщение 405749)
В основе модуль старлайна на котором стоит STM32F105

А это что такое?

randy 16.10.2018 00:31

Цитата:

Сообщение от T_r_D (Сообщение 405810)
А если нужно больше, то взять 407VETx

Прикупил себе такую вещь
https://ru.aliexpress.com/item/Free-...973133edJvOyHa
А осваивать совсем нет времени :sad2:

randy 16.10.2018 00:47

Цитата:

Сообщение от T_r_D (Сообщение 405932)
похоже на i2c.

А он в "боевых" условиях применяется? Я считал, что только в рамках одного девайса.

randy 16.10.2018 00:56

Цитата:

Сообщение от Misha2066 (Сообщение 405967)
Ардуину можно как-то подключить к этому проводу и GDN и посмотреть? Или надо какой-то специальный девайс, типа анализатора логики?

В K-line не силен (по большому счету вообще ноль). Это однопроводной последовательный интерфейс, работающий по своему протоколу, причем их несколько. Для подключения ардуины нужен как минимум преобразователь уровней (кан-шилд тут вообще не катит) и, самое поганое, программная реализация протокола.
Можно, но сложно (во всяком случае, я не знаю как).

randy 16.10.2018 01:35

Цитата:

Сообщение от Misha2066 (Сообщение 405970)
Ладно аккуратная этажерка и скетч, а куда какие провода подключаются? И если всю информацию можно посмотреть в "мониторе порта" или канхакере, то зачем нужен LCD-шилд? Для автономности?

В смысле "куда какие провода "? Нет никаких проводов. Есть только кабель для подключения к розетке OBD.
http://pccar.ru/attachment.php?attac...6&d=1539367074

И он как-бы стандартный
https://usercontent2.hubstatic.com/12176379_f520.jpg

Цитата:

Сообщение от Misha2066 (Сообщение 405970)
зачем нужен LCD-шилд? Для автономности?

А мне так удобнее. Во-первых, для управления - через меню. У меня нет столько времени, просиживать часами в машине. Я свой скетч (теперь их уже несколько) постоянно меняю - старые запросы выбрасываю, новые вставляю. А потом ответы ECU в лабораторных, так сказать, условиях как-то изучаю. И ещё для чистоты эксперимента- чтобы всякие канхакеры, ЕЛМ и т. д. своими косяками меня в непонятки не вводили

T_r_D 16.10.2018 12:59

Про плату старлайна.
Да это модуль 2CAN для сигнализации.
На борту 105 СТМ и трансивер на два порта FT CAN.

Про i2c, куда его только не пихают...

Про vet6. Плата клёвая, но есть один косяк на ней.
Точнее не косяк, а кривая распиновка если на ssd1963 к ней экран подключать. Там такой осминог из проводов выходит!
Может кто знает какой экран можно пин в пин подключить?


А про экранчик, ну это реально удобно.

Kos91 16.10.2018 14:03

По поводу уровней сигнала. Если использовать TJA1051 вместо MCP2551, может пропускать данные от каких-то блоков? У меня например TJA1051 работает на 33.33kbps, но я не могу найти пакет от кнопок с руля. В интернете есть известная связка MCP2515+MCP2551 под ардуино

Kos91 16.10.2018 14:05

Цитата:

Сообщение от T_r_D (Сообщение 405871)
Угу, только и всего.
А потом это ни где не обрабатывается.
Про это выше и написал.
От скорости структура посылки пакета не меняется, так что всё будет хорошо.
Но если хочется чтоб из программы устанавливалась скорость, то нужно её отлавливать в скетче и конфигурировать кан шилд.
Можете допилить, вам только спасибо скажут. :)

Задаю в скетче скорость 33.33, выбираю в CANHacker 500kbps, жму connect и ругается что сканер не отвечает. Пока не разбирался, но думаю что все-таки все обрабатывается

Misha2066 16.10.2018 17:00

Цитата:

Сообщение от randy (Сообщение 405963)
Вот например на Рио 13-го года климат никакого отношения к CAN не имеет. Но имеет вывод на диагностическую колодку, И ещё этот провод заходит в BCM, и корейцы пишут, что это K-line. Может это оно?

Я узнал параметры пакетов идущих в дисплей от блока климата, это (цитата):
скорость передачи 14400,
8 бит данные, 1 стоп бит, и по четности – нечетный(odd)
Посылка состоит из 10 «пакетов.
другими словами двумерный массив из 10 строк по 11 элементов, если на языке СИ, то mass[10][11];
Вот пример реальных данных:
unsigned char data[10][11] =
{
{ 160,0,0,0,120,103,44,0,0,0,51 }, //
{ 161,0,9,0,0,0,0,0,0,0,9 }, //
{ 162,0,0,0,120,103,44,0,0,0,51 }, //
{ 163,0,9,0,0,0,0,0,0,0,9 }, //
{ 164,0,0,0,120,103,44,0,0,0,51 }, //
{ 165,0,9,0,0,0,0,64,0,0,73 }, //
{ 166,0,0,0,120,103,44,0,0,0,51 }, //
{ 167,0,9,0,0,0,0,0,0,0,9 }, //
{ 168,0,0,0,120,103,44,0,0,0,51 }, //
{ 169,0,9,0,0,0,0,0,0,0,9 } //
};

Первая строка начинается с 0xA0(нулевой элемент массива, также его можно назвать ID), вторая 0xA1 …последняя с 0xA9, последний байт в каждой строке контрольная сумма, представляющая собой логическую операцию исключающее ИЛИ (XOR) 1 по 9 элемент(байты данных), т.е. mass[i][10]=mass[i][1]^mass[i][2]^…^mass[i][9];
(конец цитаты)

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

Misha2066 16.10.2018 23:28

Попробовал ради интереса скетч из примера SoftwareSerialExample. Подключился к контакту идущему от блока климата и массе а/м, на контакты 10 Ардуины и GND, светодиод ТХ Ардуины моргает, в мониторе мусор, но по видимому я на верном пути, надо только подобрать скорости обмена и составить правильный скетч.
Ну и наверное уходить из этой ветки, т.к. к кан-шине это никакого отношения уже не имеет.

T_r_D 17.10.2018 02:38

А я не уверен что библиотека поддерживает 33.33.
Надо смотреть.
Я уже на вскидку не помню.
Попробуй задать стандартную 500 или 125 и посмотри будет ли коннект.

А про климат забавно! Передача по UART это сильно.
Написать парсер под это не сложно.

Misha2066 17.10.2018 11:54

Цитата:

Сообщение от T_r_D (Сообщение 406005)
А я не уверен что библиотека поддерживает 33.33

А что значит 33.33? Вроде скорость по информации из инета 14400

Silych 17.10.2018 15:18

Доброе время суток, коллеги!

Подскажите пожалуйста чайнику. Разбираюсь с примерами к библиотеке mcp2515.h
Не могу понять, как при отправке данных использовать id типа 0x12345678
передает только 0x123 ?

Спасибо.

T_r_D 18.10.2018 00:50

Включить режим 29 бит видимо.

Kos91 18.10.2018 11:10

Цитата:

Сообщение от Misha2066 (Сообщение 406006)
А что значит 33.33? Вроде скорость по информации из инета 14400

Это скорость шины

Misha2066 18.10.2018 16:36

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

randy 18.10.2018 22:09

Как-то непонятно форум работает - авторизует только с домашнего компа. А с рабочего посылает.

Цитата:

Сообщение от T_r_D (Сообщение 405983)
Может кто знает какой экран можно пин в пин подключить?

Обратите внимание, на той же странице продаван предлагает экран специально для этой платы.
Как можно видеть на ILI9341. правда маленький.

T_r_D 18.10.2018 23:07

На ILI9341 все дисплеи вроде не большие.
Я не вникал, но походу ограничение самого контроллера.
Но за ответ всё равно спасибо.

Кстати идеальный вариант для портативного канхакера выйдет.
Вообще почти без пайки, только КАН трансивер припаять.

GASCHE 19.10.2018 10:09

Цитата:

Сообщение от Misha2066 (Сообщение 406034)
Интересно то, что посылки разной длины и нет четкой привязки к тому, что изображено на дисплее

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

Misha2066 19.10.2018 12:03

Мне кажется, что я не правильно скорость выставил. Как бы это проверить? Информации по этому параметру не нашел.

Misha2066 19.10.2018 23:43

Похвастаю на последок. Скорость работы uart-шины между блоком климата и дисплеем климата в Ниссан 9600. Это точно.
Появились осмысленные данные, которые напрямую зависят от того, что выводится на дисплей.

Soldat6600 03.01.2019 23:35

Цитата:

Сообщение от T_r_D (Сообщение 365508)
Отправка
unsigned char stmp[8] = {0, 1, 2, 3, 4, 5, 6, 7}; ЭТО ДАТА
CAN0.sendMsgBuf(0x00, 0, 8, stmp); это отправка в адрес 00. и длина пакета 8 байт
тоесть твои ID надо перевести в хекс
Вместо CAN0. надо подставить то название, с котором у тебя проинициализирован MCP

Как отправить вот эти считанные данные: ID: 62F Data: 44 51 16 14 0E
помогите пж., не получается.

caneiv 17.01.2020 18:47

Здраствуйте Андруино друзя. Я новьй здес и меня нужна помощ.

Я използуваю arduino nano + mcp2515 и хочу читать message over 95kBPS Mid-Speed Can-Bus. Я попробувал с canhacker но здесь токой baud rate нет, какое библиотеку и конфигурации мне нужнь для четения ета.

Я из Болгарии для ето мой руский токой :). Надеюс ктото делал и даеть насока.

Kos91 18.01.2020 11:06

Цитата:

Сообщение от caneiv (Сообщение 414814)
Здраствуйте Андруино друзя. Я новьй здес и меня нужна помощ.

Я използуваю arduino nano + mcp2515 и хочу читать message over 95kBPS Mid-Speed Can-Bus. Я попробувал с canhacker но здесь токой baud rate нет, какое библиотеку и конфигурации мне нужнь для четения ета.

Я из Болгарии для ето мой руский токой :). Надеюс ктото делал и даеть насока.

Нужно указать в коде скорость 95кб/с, а в canhacker можно выбрать любую скорость

caneiv 18.01.2020 15:42

Цитата:

Сообщение от Kos91 (Сообщение 414816)
Нужно указать в коде скорость 95кб/с, а в canhacker можно выбрать любую скорость

Можно посилать как указать в коде ето скорост.

Kos91 19.01.2020 22:57

Цитата:

Сообщение от caneiv (Сообщение 414817)
Можно посилать как указать в коде ето скорост.

В основном скетче, когда создается объект mcp2515, в конструктор передается 2 параметра. Один из них скорость

johnyquest 17.04.2020 19:47

Ребята, подскажите пожалуйста. Кто-нибудь подключал джойстик от e70 кузова с номером: 6979472?
https://a.allegroimg.com/original/03...a228a22e019026

Никак не могу нащупать код инициализации.
ID 202 зажигает подсветку, но только после "включения зажигания" - через ID 130.
И командами не отвечает. Работает только в связке с KGM или CAS блоком.
Я уже и шилды проверял (у меня их 2 - на TJA и MCP c 8 и 16 мГц кварцами), и фильтры ставил - нет ответа. Использую CAnHacker 2.00.02

Kos91 20.04.2020 19:49

Цитата:

Сообщение от johnyquest (Сообщение 415559)
Никак не могу нащупать код инициализации.

Возможно джойстик нужно постоянно пинговать

johnyquest 23.04.2020 23:57

Цитата:

Сообщение от Kos91 (Сообщение 415594)
Возможно джойстик нужно постоянно пинговать

Благодарю за ответ. Думал темка "заглохла":rolleyes2:

Так-то пингую, постоянно, но ответа нет.
Вернее нет ответа об инициализации с ID 5E7, только с ID 4E7
Самое интересное, что джойстик от F06 #9286707 с кнопкой медиа (K_CAN2) - работает.

Kos91 24.04.2020 14:07

Цитата:

Сообщение от johnyquest (Сообщение 415663)
только с ID 4E7

Так есть ответ или нет?

Цитата:

Сообщение от johnyquest (Сообщение 415559)
Работает только в связке с KGM или CAS блоком.

Подключи их в связке и сними лог

johnyquest 26.04.2020 03:38

Вложений: 1
сообщения или появляются или нет, закономерности выявить не удалось.
поэтому посадил canl на землю через резюк 10к, подаю "питание" командой ID 130, а потом активирую джойстик циклично ID 1AA, которая в логе.
вроде бы работает.
правда есть один нюанс - джойстик работает до тех пор, пока я не включаю подсветку через ID 202 =)


Часовой пояс GMT +4, время: 08:46.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot