Страница 1 из 2

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

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

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

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

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

Добавлено: 18 авг 2023, 04:23
DrMario
Для начала необходимо узнать скорость КАН шины, и она может отличатся от 250 или 500, как ELM327

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Добавлено: 22 авг 2023, 13:54
Brama
Есть положительный результат. Удалось определить где время, одометр и скорость. Еще предстоит несколько датчиков имитировать. На это уйдет некоторое продолжительное время.
[spoiler]
канхакер2.jpg
[/spoiler]
_
_
Весь этот сбор информации нужно для изготовления переносного устройство, где можно оперативно посмотреть уровни датчиков, наличие некоторых сигналов.
В данный момент, после ремонта локомотива, мы узнаем несоответсвия после расшифровки кассет специальной службой. Локомотив в это время уже в пути и заедет на следующий ремонт не ранее через месяц. Из-за этого для устранения ошибки уходит порой пол года.
Если удастся сделать приборчик, намного облегчит ремонт локомотивов.

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

Добавлено: 26 авг 2023, 14:55
Brama
С встроенным блоком "МСР2515 чтение" не получается считывать кан шину.
В настройках скорости нет 25 кбтс. Пытаюсь все темже с измененным кварцем, на 20-й скорости при кварце 10 МГц. На мониторе порта десять нулей. Вот скрин экрана FLProg.
[spoiler]
CANread.jpg
[/spoiler]
Не знаю как установить скорость 25 кбтс. Однако в канхакере работает с измененным кварцем.
CANread.flp
Незнаю что делать, пока руки не опускаются.

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

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

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

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

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

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

Добавлено: 29 авг 2023, 11:32
Brama
[ref]DrMario[/ref], спасибо, учту.
Пока вряд ли потяну ESP32. Посмотрел в программе FLProg, не нашёл блок с встроенным CAN для ESP32.
Мне бы с этим модулем MCP2515 для начала разобраться.

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

Добавлено: 29 авг 2023, 12:21
DrMario
Поищите, я где-то выкладывал блоки ESP32 CAN

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

Добавлено: 30 авг 2023, 07:56
Brama
viewtopic.php?t=6950

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

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

Добавлено: 30 авг 2023, 08:12
DrMario
Brama писал(а): 30 авг 2023, 07:56От 100 кбтс
В расчетах ошибки скорости нет?

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

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