Вопрос по CAN шине.
- DrMario
- Лейтенант
- Сообщения: 378
- Зарегистрирован: 07 ноя 2016, 13:11
- Откуда: Камень-на-Оби
- Имя: Евгений
- Контактная информация:
Вопрос по CAN шине.
В библиотеке ESP32-Arduino-CAN-Ok по этой ссылке viewtopic.php?t=6950
есть файл CAN_config.h
В этом файле добавьте скорость 25, должно получится так:
CAN_SPEED_25KBPS = 25, /**< \brief CAN Node runs at 25kBit/s. */
CAN_SPEED_100KBPS = 100, /**< \brief CAN Node runs at 100kBit/s. */
CAN_SPEED_125KBPS = 125, /**< \brief CAN Node runs at 125kBit/s. */
CAN_SPEED_200KBPS = 200, /**< \brief CAN Node runs at 250kBit/s. */
CAN_SPEED_250KBPS = 250, /**< \brief CAN Node runs at 250kBit/s. */
CAN_SPEED_500KBPS = 500, /**< \brief CAN Node runs at 500kBit/s. */
CAN_SPEED_800KBPS = 800, /**< \brief CAN Node runs at 800kBit/s. */
CAN_SPEED_1000KBPS = 1000 /**< \brief CAN Node runs at 1000kBit/s. */
Дописать скорость в блоках дело техники и внимательности
есть файл CAN_config.h
В этом файле добавьте скорость 25, должно получится так:
CAN_SPEED_25KBPS = 25, /**< \brief CAN Node runs at 25kBit/s. */
CAN_SPEED_100KBPS = 100, /**< \brief CAN Node runs at 100kBit/s. */
CAN_SPEED_125KBPS = 125, /**< \brief CAN Node runs at 125kBit/s. */
CAN_SPEED_200KBPS = 200, /**< \brief CAN Node runs at 250kBit/s. */
CAN_SPEED_250KBPS = 250, /**< \brief CAN Node runs at 250kBit/s. */
CAN_SPEED_500KBPS = 500, /**< \brief CAN Node runs at 500kBit/s. */
CAN_SPEED_800KBPS = 800, /**< \brief CAN Node runs at 800kBit/s. */
CAN_SPEED_1000KBPS = 1000 /**< \brief CAN Node runs at 1000kBit/s. */
Дописать скорость в блоках дело техники и внимательности
- Brama
- Рядовой
- Сообщения: 95
- Зарегистрирован: 02 июл 2020, 14:27
- Откуда: Уфа
- Имя: Сергей
- Благодарил (а): 44 раза
- Поблагодарили: 2 раза
Вопрос по CAN шине.
[ref]DrMario[/ref], спасибо.
Буду пробовать. Закажу трансивер.
__
Не ожидал, что с первого раза заведется.
Для пробы.
[spoiler] [/spoiler]
[spoiler] [/spoiler]
Предстоит множества данных вывести на дисплей 1602.
Думаю, в проекте будет куча переменных.

__
Не ожидал, что с первого раза заведется.
Для пробы.
[spoiler] [/spoiler]
[spoiler] [/spoiler]
Предстоит множества данных вывести на дисплей 1602.
Думаю, в проекте будет куча переменных.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- DrMario
- Лейтенант
- Сообщения: 378
- Зарегистрирован: 07 ноя 2016, 13:11
- Откуда: Камень-на-Оби
- Имя: Евгений
- Контактная информация:
- Brama
- Рядовой
- Сообщения: 95
- Зарегистрирован: 02 июл 2020, 14:27
- Откуда: Уфа
- Имя: Сергей
- Благодарил (а): 44 раза
- Поблагодарили: 2 раза
- Brama
- Рядовой
- Сообщения: 95
- Зарегистрирован: 02 июл 2020, 14:27
- Откуда: Уфа
- Имя: Сергей
- Благодарил (а): 44 раза
- Поблагодарили: 2 раза
Вопрос по CAN шине.
Что то не велик ассортимент этого девайса в алиэкспресс. В основном опт.
А обычный готовый модуль TJA1050 подойдёт? Порты ESP32 толерантны к потенциалу 5 вольт?
Просто этот модуль есть у меня имеется в наличии.
- DrMario
- Лейтенант
- Сообщения: 378
- Зарегистрирован: 07 ноя 2016, 13:11
- Откуда: Камень-на-Оби
- Имя: Евгений
- Контактная информация:
Вопрос по CAN шине.
Для ESP32 TJA1050 не подойдет, выйдет из строя канал Rx в контроллере (проверено). Нужен именно TJA1050/T3 или ее аналог TPT1051V-SO1R.Brama писал(а): 01 сен 2023, 14:38 А обычный готовый модуль TJA1050 подойдёт? Порты ESP32 толерантны к потенциалу 5 вольт?
На алиэкспресс покупал TJA1050/T3 но по факту выслали 5 вольтовый TJA1050. В результате спалил два ESP32.
-
- Полковник
- Сообщения: 4005
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Вопрос по CAN шине.
Если брать на алике, то тогда стоит уже обновленную версию брать TJA1051T/3.DrMario писал(а): 03 сен 2023, 06:23Для ESP32 TJA1050 не подойдет, выйдет из строя канал Rx в контроллере (проверено). Нужен именно TJA1050/T3 или ее аналог TPT1051V-SO1R.Brama писал(а): 01 сен 2023, 14:38 А обычный готовый модуль TJA1050 подойдёт? Порты ESP32 толерантны к потенциалу 5 вольт?
На алиэкспресс покупал TJA1050/T3 но по факту выслали 5 вольтовый TJA1050. В результате спалил два ESP32.
А за TPT1051V-SO1R спасибо, нужно будет попробовать, тем более в чипдипе в наличии за 45 руб.
- DrMario
- Лейтенант
- Сообщения: 378
- Зарегистрирован: 07 ноя 2016, 13:11
- Откуда: Камень-на-Оби
- Имя: Евгений
- Контактная информация:
Вопрос по CAN шине.
Проверенные схемы включения драйвера TJA1051. Драйверы на 3,3 вольта, типа VP232 (SN65HVD232) работают хуже. На некоторых КАН шинах нет обмена - не хватает амплитуды CANH-CANL.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 4005
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Вопрос по CAN шине.
Большое спасибо.DrMario писал(а): 05 сен 2023, 02:25 Проверенные схемы включения драйвера TJA1051. Драйверы на 3,3 вольта, типа VP232 (SN65HVD232) работают хуже. На некоторых КАН шинах нет обмена - не хватает амплитуды CANH-CANL.
Из приведенной схемы для TJA1051 вытекает, что добавление резистора 120 ом вместе со стабилитроном 3.3v на вход RX ESP32 решает проблему согласования уровней.
Немного смущает не понимание параметров быстродействия стабилитрона - на на этих скоростях наверное все будет нормально.
Вопрос 1: мне попадались подобные схемы согласования для ESP32 без стабилитрона - возможно ли это в Вашей схем?
Вопрос 2: По Вашей схеме отсутствует mcp2515? Как-то сказывается это на надежности и быстродействие обмена?
- DrMario
- Лейтенант
- Сообщения: 378
- Зарегистрирован: 07 ноя 2016, 13:11
- Откуда: Камень-на-Оби
- Имя: Евгений
- Контактная информация:
Вопрос по CAN шине.
Я выше говорил, что схема проверена. Быстродействие стабилитрона не имеет значения, он просто ограничит напряжение до номинального.ecoins писал(а): 05 сен 2023, 04:56 Из приведенной схемы для TJA1051 вытекает, что добавление резистора 120 ом вместе со стабилитроном 3.3v на вход RX ESP32 решает проблему согласования уровней.
Немного смущает не понимание параметров быстродействия стабилитрона - на на этих скоростях наверное все будет нормально.
Отправлено спустя 4 минуты 11 секунд:
Если использовать встроенный CAN ESP32, то mcp2515 не нужен. Встроенный работает ничуть не хужеecoins писал(а): 05 сен 2023, 04:56 Вопрос 2: По Вашей схеме отсутствует mcp2515? Как-то сказывается это на надежности и быстродействие обмена?
- DrMario
- Лейтенант
- Сообщения: 378
- Зарегистрирован: 07 ноя 2016, 13:11
- Откуда: Камень-на-Оби
- Имя: Евгений
- Контактная информация:
Вопрос по CAN шине.
Библиотека ESP32-Arduino-CAN занимает немного больше места, чем для MCP2515, но это совсем не критично. Если правильно настроить фильтр и маску, то будут проходить только КАН пакеты с нужным ID а не все подряд, как на снимке в 22 сообщении.
Тесты не нашел где посмотреть.
-
- Сержант
- Сообщения: 118
- Зарегистрирован: 18 окт 2016, 21:46
- Откуда: Москва
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
Вопрос по CAN шине.
Вопрос к DrMario, Какой программой пользуетесь для трансляции кан на телефон. Мне нужен блютуз или вайфай кан сканер. В некоторых случаях не удобно с ноутом
Вопрос по CAN шине.
Тесты вот: viewtopic.php?f=247&t=8539#p125612DrMario писал(а): 08 сен 2023, 09:07Библиотека ESP32-Arduino-CAN занимает немного больше места, чем для MCP2515, но это совсем не критично. Если правильно настроить фильтр и маску, то будут проходить только КАН пакеты с нужным ID а не все подряд, как на снимке в 22 сообщении.
Тесты не нашел где посмотреть.
Сомневаюсь, что фильтр с маской помогут в данной ситуации.
- Brama
- Рядовой
- Сообщения: 95
- Зарегистрирован: 02 июл 2020, 14:27
- Откуда: Уфа
- Имя: Сергей
- Благодарил (а): 44 раза
- Поблагодарили: 2 раза
Вопрос по CAN шине.
Доброго всем.
Устройство сделано и вполне функционирует.
[spoiler]https://www.youtube.com/watch?v=6OpVFmg3mMM[/spoiler]
Устройство процессе формирования. Необходимо добавит еще пару блоков.
Спасибо форуму и участникам. Без вас нереально было бы сотворить подобное.
Сам проект.
Устройство сделано и вполне функционирует.
[spoiler]https://www.youtube.com/watch?v=6OpVFmg3mMM[/spoiler]
Устройство процессе формирования. Необходимо добавит еще пару блоков.
Спасибо форуму и участникам. Без вас нереально было бы сотворить подобное.
Сам проект.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Brama
- Рядовой
- Сообщения: 95
- Зарегистрирован: 02 июл 2020, 14:27
- Откуда: Уфа
- Имя: Сергей
- Благодарил (а): 44 раза
- Поблагодарили: 2 раза
Вопрос по CAN шине.
Всем доброго.
Устройство начал приобретать популярность у электромехаников, обслуживающих локомотивы..
Единственное неудобство в повторении, это замена кварцевого резонатора с 8 МГц на 10 МГц в плате MCP2515. Так как в настройках чтения CAN шины отсутствует скорость шины 25 кбит/с. В данное время, путем установок скорости программно 20 частота кварца 8 МГц, но в железе кварц на 10 МГц, мы как бы обманываем процесс и действительную скорость получаем 25 кбт/с.
Вопрос:
Как можно добавить в библиотеку скорость 25 кбт/с и уже обойтись без перепаивания кварцев на плате MCP2515?
Устройство начал приобретать популярность у электромехаников, обслуживающих локомотивы..
Единственное неудобство в повторении, это замена кварцевого резонатора с 8 МГц на 10 МГц в плате MCP2515. Так как в настройках чтения CAN шины отсутствует скорость шины 25 кбит/с. В данное время, путем установок скорости программно 20 частота кварца 8 МГц, но в железе кварц на 10 МГц, мы как бы обманываем процесс и действительную скорость получаем 25 кбт/с.
Вопрос:
Как можно добавить в библиотеку скорость 25 кбт/с и уже обойтись без перепаивания кварцев на плате MCP2515?
- fefar51702
- Сержант
- Сообщения: 248
- Зарегистрирован: 26 июн 2022, 07:35
- Имя: Валера
- Благодарил (а): 1 раз
- Поблагодарили: 5 раз
Вопрос по CAN шине.
[ref]Brama[/ref], правильно ли я понимаю что вы пытаетесь получить самую низкую скорость для того что бы слейвы подключались к мастеру веером а не гирляндой притом на длинное растояние ?
к примеру веером можно подключить без проблем имея длину около 30см но если понизить скорость то можно и подлинее сделать согласно статьям
к примеру веером можно подключить без проблем имея длину около 30см но если понизить скорость то можно и подлинее сделать согласно статьям
- Brama
- Рядовой
- Сообщения: 95
- Зарегистрирован: 02 июл 2020, 14:27
- Откуда: Уфа
- Имя: Сергей
- Благодарил (а): 44 раза
- Поблагодарили: 2 раза
Вопрос по CAN шине.
Приветствую.fefar51702 писал(а): 04 фев 2024, 04:49 Brama, правильно ли я понимаю что вы пытаетесь получить самую низкую скорость для того что бы слейвы подключались к мастеру веером а не гирляндой притом на длинное растояние ?
Нет, не совсем. В блоке чтения САN отсутствует скорость 25кбт/с.
[spoiler] [/spoiler]
Замена числа 20 на 25 в скетче не канает.При компиляции пишет ошибку. Потому как в самой библиотеке отсутствует установка скорости 25.
[spoiler] [/spoiler]
В данный момент принимаю скорость 25 путем замены кварца с 8 на 10 МГц. А в настройках устанавливаю 20.
Было так:
[spoiler] [/spoiler]
Стало так:
[spoiler] [/spoiler]
Вопрос: как изменить (или добавить в) библиотеку MCP2515 скорость 25 кбт/с?
Как я понял, для определенной скорости необходимо указать коэффициент деления трех делителей. (см выше картинку библиотеки)
Может кто знает готовый калькулятор делителей для микросхемы MCP2515?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Brama
- Рядовой
- Сообщения: 95
- Зарегистрирован: 02 июл 2020, 14:27
- Откуда: Уфа
- Имя: Сергей
- Благодарил (а): 44 раза
- Поблагодарили: 2 раза
Вопрос по CAN шине.
Всем доброго.
Все же удалось подобрать значения в двух регистрах, чтоб назначить скорость 25 кбтс программно со своим штатным кварцем 8 МГц в модуле MCP2515.
Необходимо в библиотеке mcp2515.h изменить значения двух регистров.
__
#define MCP_8MHz_20kBPS_CFG1 (0x07)
#define MCP_8MHz_20kBPS_CFG2 (0xBF) // <- заменить на (0xB4)
#define MCP_8MHz_20kBPS_CFG3 (0x87) // <- заменить на (0x86)
__
Таким способом изменили коэфф. деления прескалера.
Программу в ФЛПроге пишется как обычно. Выбираем кварц 8 МГц, скорость 20 кбтс. А действительная скорость окажется 25 кбтс.
___
Естественно ,эту редактированную библиотеку используем только для разового ( необходимого случая).
Думаю, такой способ пригодится в случае, где необходимы нестандартные скорости обмена CAN шины.
Все же удалось подобрать значения в двух регистрах, чтоб назначить скорость 25 кбтс программно со своим штатным кварцем 8 МГц в модуле MCP2515.

Необходимо в библиотеке mcp2515.h изменить значения двух регистров.
__
#define MCP_8MHz_20kBPS_CFG1 (0x07)
#define MCP_8MHz_20kBPS_CFG2 (0xBF) // <- заменить на (0xB4)
#define MCP_8MHz_20kBPS_CFG3 (0x87) // <- заменить на (0x86)
__
Таким способом изменили коэфф. деления прескалера.
Программу в ФЛПроге пишется как обычно. Выбираем кварц 8 МГц, скорость 20 кбтс. А действительная скорость окажется 25 кбтс.
___
Естественно ,эту редактированную библиотеку используем только для разового ( необходимого случая).
Думаю, такой способ пригодится в случае, где необходимы нестандартные скорости обмена CAN шины.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей