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)

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 это сильно.
Написать парсер под это не сложно.


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

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