Вопрос по 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. */
Дописать скорость в блоках дело техники и внимательности
Вопрос по CAN шине.
[ref]DrMario[/ref], спасибо.
Буду пробовать. Закажу трансивер.
__
Не ожидал, что с первого раза заведется.
Для пробы.
[spoiler] [/spoiler]
[spoiler] [/spoiler]
Предстоит множества данных вывести на дисплей 1602.
Думаю, в проекте будет куча переменных.
![Улыбка! :)](./images/smilies/ha_smile.gif)
__
Не ожидал, что с первого раза заведется.
Для пробы.
[spoiler] [/spoiler]
[spoiler] [/spoiler]
Предстоит множества данных вывести на дисплей 1602.
Думаю, в проекте будет куча переменных.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- DrMario
- Лейтенант
- Сообщения: 378
- Зарегистрирован: 07 ноя 2016, 13:11
- Откуда: Камень-на-Оби
- Имя: Евгений
- Контактная информация:
Вопрос по CAN шине.
Для ESP32 TJA1050 не подойдет, выйдет из строя канал Rx в контроллере (проверено). Нужен именно TJA1050/T3 или ее аналог TPT1051V-SO1R.
На алиэкспресс покупал TJA1050/T3 но по факту выслали 5 вольтовый TJA1050. В результате спалил два ESP32.
Вопрос по CAN шине.
Если брать на алике, то тогда стоит уже обновленную версию брать TJA1051T/3.
А за TPT1051V-SO1R спасибо, нужно будет попробовать, тем более в чипдипе в наличии за 45 руб.
- DrMario
- Лейтенант
- Сообщения: 378
- Зарегистрирован: 07 ноя 2016, 13:11
- Откуда: Камень-на-Оби
- Имя: Евгений
- Контактная информация:
Вопрос по CAN шине.
Проверенные схемы включения драйвера TJA1051. Драйверы на 3,3 вольта, типа VP232 (SN65HVD232) работают хуже. На некоторых КАН шинах нет обмена - не хватает амплитуды CANH-CANL.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Вопрос по CAN шине.
Большое спасибо.
Из приведенной схемы для 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 не нужен. Встроенный работает ничуть не хуже
- DrMario
- Лейтенант
- Сообщения: 378
- Зарегистрирован: 07 ноя 2016, 13:11
- Откуда: Камень-на-Оби
- Имя: Евгений
- Контактная информация:
Вопрос по CAN шине.
Библиотека ESP32-Arduino-CAN занимает немного больше места, чем для MCP2515, но это совсем не критично. Если правильно настроить фильтр и маску, то будут проходить только КАН пакеты с нужным ID а не все подряд, как на снимке в 22 сообщении.
Тесты не нашел где посмотреть.
-
- Рядовой
- Сообщения: 97
- Зарегистрирован: 18 окт 2016, 21:46
- Откуда: Москва
Вопрос по CAN шине.
Вопрос к DrMario, Какой программой пользуетесь для трансляции кан на телефон. Мне нужен блютуз или вайфай кан сканер. В некоторых случаях не удобно с ноутом
Вопрос по CAN шине.
Тесты вот: viewtopic.php?f=247&t=8539#p125612DrMario писал(а): ↑08 сен 2023, 09:07Библиотека ESP32-Arduino-CAN занимает немного больше места, чем для MCP2515, но это совсем не критично. Если правильно настроить фильтр и маску, то будут проходить только КАН пакеты с нужным ID а не все подряд, как на снимке в 22 сообщении.
Тесты не нашел где посмотреть.
Сомневаюсь, что фильтр с маской помогут в данной ситуации.
Вопрос по CAN шине.
Доброго всем.
Устройство сделано и вполне функционирует.
[spoiler]https://www.youtube.com/watch?v=6OpVFmg3mMM[/spoiler]
Устройство процессе формирования. Необходимо добавит еще пару блоков.
Спасибо форуму и участникам. Без вас нереально было бы сотворить подобное.
Сам проект.
Устройство сделано и вполне функционирует.
[spoiler]https://www.youtube.com/watch?v=6OpVFmg3mMM[/spoiler]
Устройство процессе формирования. Необходимо добавит еще пару блоков.
Спасибо форуму и участникам. Без вас нереально было бы сотворить подобное.
Сам проект.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Вопрос по CAN шине.
Всем доброго.
Устройство начал приобретать популярность у электромехаников, обслуживающих локомотивы..
Единственное неудобство в повторении, это замена кварцевого резонатора с 8 МГц на 10 МГц в плате MCP2515. Так как в настройках чтения CAN шины отсутствует скорость шины 25 кбит/с. В данное время, путем установок скорости программно 20 частота кварца 8 МГц, но в железе кварц на 10 МГц, мы как бы обманываем процесс и действительную скорость получаем 25 кбт/с.
Вопрос:
Как можно добавить в библиотеку скорость 25 кбт/с и уже обойтись без перепаивания кварцев на плате MCP2515?
Устройство начал приобретать популярность у электромехаников, обслуживающих локомотивы..
Единственное неудобство в повторении, это замена кварцевого резонатора с 8 МГц на 10 МГц в плате MCP2515. Так как в настройках чтения CAN шины отсутствует скорость шины 25 кбит/с. В данное время, путем установок скорости программно 20 частота кварца 8 МГц, но в железе кварц на 10 МГц, мы как бы обманываем процесс и действительную скорость получаем 25 кбт/с.
Вопрос:
Как можно добавить в библиотеку скорость 25 кбт/с и уже обойтись без перепаивания кварцев на плате MCP2515?
- fefar51702
- Рядовой
- Сообщения: 79
- Зарегистрирован: 26 июн 2022, 07:35
- Имя: Валера
Вопрос по CAN шине.
[ref]Brama[/ref], правильно ли я понимаю что вы пытаетесь получить самую низкую скорость для того что бы слейвы подключались к мастеру веером а не гирляндой притом на длинное растояние ?
к примеру веером можно подключить без проблем имея длину около 30см но если понизить скорость то можно и подлинее сделать согласно статьям
к примеру веером можно подключить без проблем имея длину около 30см но если понизить скорость то можно и подлинее сделать согласно статьям
Вопрос по 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?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Вопрос по 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.
![Улыбка! :)](./images/smilies/ha_smile.gif)
Необходимо в библиотеке 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 шины.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость