Вопрос по CAN шине.

Вопросы от новичков
Аватара пользователя
Brama
Рядовой
Сообщения: 57
Зарегистрирован: 02.07.2020{, 14:27}
Репутация: 5
Откуда: Уфа
Имя: Сергей

Вопрос по CAN шине.

#1

Сообщение Brama » 15.08.2023{, 23:14}

Доброго времени суток.
Скажу сразу, - в работе CAN шине на "вы".
Стоит задача принять данные с локомотивного устройства КПД-3.
Коротко о его работе:
Устройство регистрирует скорость, давления, различные электрические сигналы с устройств управления и контроля. Всё данные записывается на съемный носитель ( кассета).
Также устройство имеет два вывода CAN H
и CAN L. Подключил к этим выводам осциллограф
СпойлерПоказать
IMG_20230814_190714.jpg
СпойлерПоказать
IMG_20230814_190735.jpg
Пачки импульсов повторяются одни и те же.
Загрузил на ардуино пользовательский блок can_hacker, подключил MCP2515. Далее скачал программу Can hacker, подключил как положено по описании блока.
СпойлерПоказать
IMG_20230814_190832.jpg
Но в окне программы всё пусто. Нет никаких данных. Пробовал менять в настройке программы скорость обмена шины CAN, - то же самое, пусто.
Может я не то совсем делаю? Подскажите пожалуйста, как можно считать данные с устройства.
Повторюсь, с работой CAN на "ВЫ". И впервые сталкиваюсь с подобной задачей.

Aviacode
Рядовой
Сообщения: 37
Зарегистрирован: 15.02.2021{, 15:04}
Репутация: 1
Имя: Серго

Вопрос по CAN шине.

#2

Сообщение Aviacode » 16.08.2023{, 21:04}

Я бы начал с того, что собрал на ардуинке второе устройство кан (или использовал автомобильную ELM327, на ней очень удобно АТ командами работать), и проверил работоспособность этой системы, а уже потом, подключал к паровозу. Платы на МСР2515 часто просто помирают, вообще без причин. Ну и попробуйте подключить терминальный резистор, или наоборот, отключить.

Аватара пользователя
DrMario
Лейтенант
Сообщения: 368
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 56
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

Вопрос по CAN шине.

#3

Сообщение DrMario » 18.08.2023{, 04:23}

Для начала необходимо узнать скорость КАН шины, и она может отличатся от 250 или 500, как ELM327

Аватара пользователя
Brama
Рядовой
Сообщения: 57
Зарегистрирован: 02.07.2020{, 14:27}
Репутация: 5
Откуда: Уфа
Имя: Сергей

Вопрос по CAN шине.

#4

Сообщение Brama » 18.08.2023{, 22:55}

DrMario писал(а):
18.08.2023{, 04:23}
Для начала необходимо узнать скорость КАН шины, и она может отличатся от 250 или 500, как ELM327
Сегодня подключил осциллограф получше.
Ширина самого короткого импульса - 40 мкс.
Что соответствует 25 кбит/с.
СпойлерПоказать
IMG_20230817_135648.jpg
Ширина одной клетки 80 мкс. Импульс занимает половина клетки.
В самой программе can_hacker не могу установить скорость 25 кбит/с.. Есть 20, следом 50.

Отправлено спустя 8 часов 5 минут 40 секунд:
Интересно, а можно будет путём изменения значения частоты кварца в самом блоке
FLProg изменить скорость приёма модуля MCP2515?
То есть, в настройке CAN_HACKER установить скорость 20, а принимать или отправлять будет уже на скорости 25.

ggen4ik
Рядовой
Сообщения: 19
Зарегистрирован: 09.02.2022{, 17:34}
Репутация: 1
Имя: Evgeny

Вопрос по CAN шине.

#5

Сообщение ggen4ik » 19.08.2023{, 14:50}

Не проще использовать стандартный блок Чтение шины CAN?
Можно выходы с этого блока преобразовать в строки и через пробелы сложить (чтобы видеть разделение битов наглядно) и выводить на дисплей полученное сообщение, либо на ноут в UART выводить.
Там и скорость можно менять в блоке.

Вообще для такого дела (чтение непонятной can шины) лучше прикупить логический анализатор SALEAE LOGIC, упростит жизнь очень сильно, стоит меньше 1к (есть и на али).

Аватара пользователя
Brama
Рядовой
Сообщения: 57
Зарегистрирован: 02.07.2020{, 14:27}
Репутация: 5
Откуда: Уфа
Имя: Сергей

Вопрос по CAN шине.

#6

Сообщение Brama » 20.08.2023{, 08:41}

Brama писал(а):
15.08.2023{, 23:14}
Вообще для такого дела (чтение непонятной can шины) лучше прикупить логический анализатор SALEAE LOGIC, упростит жизнь очень сильно, стоит меньше 1к (есть и на али).
Есть такой анализатор в наличии.
Буду пробовать считать. Там в софте вроде декодер CAN имеется.

Отправлено спустя 2 минуты 58 секунд:
Очень мало информации расшифровки CAN с неизвестных устройств. Вернее, нет вовсе. Что не скажешь про автомобилей.

ggen4ik
Рядовой
Сообщения: 19
Зарегистрирован: 09.02.2022{, 17:34}
Репутация: 1
Имя: Evgeny

Вопрос по CAN шине.

#7

Сообщение ggen4ik » 20.08.2023{, 12:56}

Если есть анализатор - подключаетесь к can шине (L и H на соседние каналы, например 1 и 2), и, если не ошибаюсь, gnd анализатора нужно подкинуть на gnd устройства, с которого считываете шину.
В софте анализатора выставляете can шину, методом тыка подбираете скорость. Если всё сойдётся - на экране будут видны сообщения в виде последовательности импульсов с расшифровкой сообщения.

Аватара пользователя
Brama
Рядовой
Сообщения: 57
Зарегистрирован: 02.07.2020{, 14:27}
Репутация: 5
Откуда: Уфа
Имя: Сергей

Вопрос по CAN шине.

#8

Сообщение Brama » 21.08.2023{, 15:15}

ggen4ik писал(а):
20.08.2023{, 12:56}
Если есть анализатор - подключаетесь к can шине (L и H на соседние каналы, например 1 и 2), и, если не ошибаюсь, gnd анализатора нужно подкинуть на gnd устройства, с которого считываете шину.
К сожалению корпус ( общее питание) на этом устройстве гальванически развязаны от шины CAN.
GND анализатора подключил к LO, а нулевой канал к HI.
Скорость выставил на 25 000 бит /сек. Вроде как расшифровал.
СпойлерПоказать
анализатор 1.jpg
кадры повторяются одни и те же.
Здесь чуть увеличил строку.
СпойлерПоказать
анализатор 2.jpg
а здесь раскрыл еще более.
Уважаемые гуру,что означают красные крестики? Не соответствие протокола?
СпойлерПоказать
анализатор 3.jpg

ggen4ik
Рядовой
Сообщения: 19
Зарегистрирован: 09.02.2022{, 17:34}
Репутация: 1
Имя: Evgeny

Вопрос по CAN шине.

#9

Сообщение ggen4ik » 21.08.2023{, 17:12}

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

Аватара пользователя
Brama
Рядовой
Сообщения: 57
Зарегистрирован: 02.07.2020{, 14:27}
Репутация: 5
Откуда: Уфа
Имя: Сергей

Вопрос по CAN шине.

#10

Сообщение Brama » 21.08.2023{, 17:38}

Brama писал(а):
15.08.2023{, 23:14}
В идеале анализатором нужно смотреть, когда ваше устройство будет в нормальном режиме работы (т.е к нему подключены входы, оно работает, что-то регестрирует)
Сегодня смотрел карманным осциллографом непосредственно в локомотиве. К регистратору подключён ещё одно устройство.
Да, есть различия. И видно, что данные постоянно меняются. Но как установить нестандартную скорость 25 кбит на Канхакере?
В установке помимо стандартных скоростей есть строка "User Def" Под ним FFFFFF .
СпойлерПоказать
IMG_20230821_192910~2_640x403.jpg
Может им можно менять скорость. Пробовал разные варианты наугад. На передачу скорость не меняется. Остаётся неизменным от последнего стандартного.

Аватара пользователя
Brama
Рядовой
Сообщения: 57
Зарегистрирован: 02.07.2020{, 14:27}
Репутация: 5
Откуда: Уфа
Имя: Сергей

Вопрос по CAN шине.

#11

Сообщение Brama » 21.08.2023{, 18:39}

Пришлось маленько сколхозить аппаратно. Вместо кварца 8 МГц запаял 10 МГц, тем самым увеличил тактовую частоту устройства MCP2515 на 25%. На самой программе Канхакер установил скорость 20 Кбит. Так как есть увеличение на 25%, принимать стал на 25 Кбит.
На сей раз ID 5F9 и пачки повторяются реже, 1 разв секунду.
СпойлерПоказать
анализатор 4.jpg
Параллельно включил анализатор, данные те же.
СпойлерПоказать
анализатор 5.jpg
Остается сходить на локомотив и на месте считать поток.
Думаю, корректировка кварцем не повлияет на ход события.

Аватара пользователя
Brama
Рядовой
Сообщения: 57
Зарегистрирован: 02.07.2020{, 14:27}
Репутация: 5
Откуда: Уфа
Имя: Сергей

Вопрос по CAN шине.

#12

Сообщение Brama » 22.08.2023{, 13:54}

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

Аватара пользователя
Brama
Рядовой
Сообщения: 57
Зарегистрирован: 02.07.2020{, 14:27}
Репутация: 5
Откуда: Уфа
Имя: Сергей

Вопрос по CAN шине.

#13

Сообщение Brama » 26.08.2023{, 13:20}

С встроенным блоком "МСР2515 чтение" не получается считывать кан шину.
В настройках скорости нет 25 кбтс. Пытаюсь все темже с измененным кварцем, на 20-й скорости при кварце 10 МГц. На мониторе порта десять нулей. Вот скрин экрана FLProg.
СпойлерПоказать
CANread.jpg
CANread.jpg (33.17 КБ) 1156 просмотров
Не знаю как установить скорость 25 кбтс. Однако в канхакере работает с измененным кварцем.
CANread.flp
(251.74 КБ) 28 скачиваний
Незнаю что делать, пока руки не опускаются.

Отправлено спустя 1 час 35 минут 30 секунд:
Прошу прощения господа. На WEMOS mini не работает, на arduino nano заработало.

Аватара пользователя
Brama
Рядовой
Сообщения: 57
Зарегистрирован: 02.07.2020{, 14:27}
Репутация: 5
Откуда: Уфа
Имя: Сергей

Вопрос по CAN шине.

#14

Сообщение Brama » 29.08.2023{, 09:34}

С ESP8266 WEMOS min проблема решена. Причина в недостаточности питания модуля МСР2515 в составе которого имеется микросхема TJA1050 (U пит. 4.75...5.25), хотя сама микросхема MCP2515 может работать и от 3.3в. Запитал весь модуль от 5в и данные в последовательном порте побежали.
Теперь остается (писать) рисовать сам FLProg.
Может кто подскажет хотя бы где посмотреть примеры с встроенными блоками MCP2515 чтение/запись?
Спасибо.

Аватара пользователя
DrMario
Лейтенант
Сообщения: 368
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 56
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

Вопрос по CAN шине.

#15

Сообщение DrMario » 29.08.2023{, 10:04}

Есть немного другой КАН драйвер TJF1051/T3, я пользуюсь именно этим.
https://datasheet.ciiva.com/16382/tjf10 ... 382456.pdf
У него два питания. Со стороны контроллера питание 3,3, со стороны КАН шины 5 вольт.
А зачем нужен MCP2515? На ESP32 есть встроенный CAN BUS

Аватара пользователя
Brama
Рядовой
Сообщения: 57
Зарегистрирован: 02.07.2020{, 14:27}
Репутация: 5
Откуда: Уфа
Имя: Сергей

Вопрос по CAN шине.

#16

Сообщение Brama » 29.08.2023{, 11:32}

DrMario, спасибо, учту.
Пока вряд ли потяну ESP32. Посмотрел в программе FLProg, не нашёл блок с встроенным CAN для ESP32.
Мне бы с этим модулем MCP2515 для начала разобраться.

Аватара пользователя
DrMario
Лейтенант
Сообщения: 368
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 56
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

Вопрос по CAN шине.

#17

Сообщение DrMario » 29.08.2023{, 12:21}

Поищите, я где-то выкладывал блоки ESP32 CAN

Аватара пользователя
Brama
Рядовой
Сообщения: 57
Зарегистрирован: 02.07.2020{, 14:27}
Репутация: 5
Откуда: Уфа
Имя: Сергей

Вопрос по CAN шине.

#18

Сообщение Brama » 29.08.2023{, 21:57}

viewtopic.php?t=6950

Отправлено спустя 9 часов 59 минут 2 секунды:
От 100 кбтс :(

Аватара пользователя
DrMario
Лейтенант
Сообщения: 368
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 56
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

Вопрос по CAN шине.

#19

Сообщение DrMario » 30.08.2023{, 08:12}

Brama писал(а):
30.08.2023{, 07:56}
От 100 кбтс
В расчетах ошибки скорости нет?

Аватара пользователя
Brama
Рядовой
Сообщения: 57
Зарегистрирован: 02.07.2020{, 14:27}
Репутация: 5
Откуда: Уфа
Имя: Сергей

Вопрос по CAN шине.

#20

Сообщение Brama » 30.08.2023{, 08:39}

Да не. Посмотрел в настройках блока для ESP32 , там указано от 100 кб. А в моём случае надо 25 кб.
Пока остановлюсь на WEMOS mini + mcp2515.
-
Первая удачная попытка. Принимаю на монитор порта время от КПД-3.

Ответить

Вернуться в «Начинающим»