Adruino + CAN (TJA1050T)
- Войдите на сайт для отправки комментариев
Вс, 02/04/2017 - 15:36
Здравствуйте
Ищу примеры реализации CAN-шины на основе связки Arduino (если конкретно, то рассматриваю Nano) и микросхемы TJA1050T (CAN-трансивер).
Может быть кто-то делал подобное?
Заранее спасибо!
Кстати, в принципе не против рассмотреть другие микросхемы.
CAN-шилд не предлагать :)
Для TJA1050 нужен еще и TMCP2551.
Почитайте http://c4-sedan.ru/forum/viewtopic.php?f=10&t=2545&sid=603515adeebfd465ac39c7ad831074e9
Т.е. всегда нужна связка MCP 2515 + TJA1050?
http://tixer.ru/catalog/modules/interfaces-modules/modul_can_na_baze_tja1050/?sphrase_id=361350
А вот такой модуль с Nano сам по себе работать не будет?
Да.
TJA1050 это только драйвер, по суте дела, на физическои уровне и один работать не будет.
Вам нужно вот это: https://ru.aliexpress.com/item/Free-shipping-MCP2515-CAN-Bus-Module-TJA1050-Receiver-SPI-Module-For-arduino/32670968796.html?spm=2114.13010608.0.0.sBabUQ
Да, уже наткнулся. Огромное спасибо!
Правильно ли я понимаю, что оно будет работать с библиотекой MCP_CAN, с которой работает вот этот шилд: http://amperka.ru/product/can-bus-shield?
У меня пока нет железа, жду :)
Тоже заказал. Жду.
Шилд пришел. Пытаюсь разобраться, но пока не работает.
Что не работает? К чему подключал? Какие библтотеки использовал?
Это пробывал? https://github.com/autowp/can-usb
Использую Nano.
Подключался к SPI через ICSP (MISO, MOSI, SCK) и CS к 10-й ноге.
Подключался к SPI через обычные ноги.
Использовал библиотеки:
1) https://github.com/p1ne/CAN_BUS_Shield - для модифицированного кварца на 8 МГц
2) https://github.com/autowp/arduino-mcp2515 - для MCP2515
Пока так и не смог заставить работать, но пытаюсь.
Руководствовался вот этим: https://www.drive2.ru/l/460733581140951184/
Инициализация проходит, а вот отправлять и получать не получается.
Думаю, что это из-за кварца в 8 МГц, но проблему пока не решил :(
может изза того что CS на 9 ногу? http://can.web-box.ru/work_with_can/arduino_canbus
Меняйте кварц с 8 на 16 МГц и все будет работать. я не смог запустить ни с одной библиотекой, поменял кварц и заработало на первой попавшейся библиотеке
Ну ввообще в библиотеке от speed-studio есть такое:
MCP_CAN::mcp2515_configRate(const byte canSpeed, const byte clock)
т.е. при инициализации достаточно указать :
CAN.begin(CAN_500KBPS,MCP_8MHz ) и должен заработать на 8мГц.
Позже разобрался, но не на всех библиотеках заработало если проц от 16.
Сейчас вообще на stm32 перешёл, так надобность в mcp2515 отпала, бери любой кварц от4 до 32 и всё, потащили митю тапки :))
Всем привет!
Подскажите плиз. Хочу использовать Nano + модуль CAN шины для подключения нескольких (4-5 шт) ардуин между собой. По логике работы необходимо, чтобы все устройства могли и слушать и передавать данные в шину.
Насколько я понимаю CAN асинхронная шина. Возможно ли менять режим работы вышеуказанного модуля программно, с ведомого на ведущий и обратно, при необходимости?
Можно конечно использовать RS-485, но вроде как сейчас от неё отказываются в пользу CAN (ну может я ошибаюсь).
В CAN нет ведущего/ведомого. Все равноправные (слышат траффик и могут передавать). Впрочем, в сущности, RS485 - тоже, но он коллизии не разруливает. Ведущий/ведомый в данной ситуации - это вопрос архитектуры прикладного уровня, а не транспортного.
Т.е. CAN полностью синхронный протокол? Все коллизии регулируются на высоком уровне логикой программы?
Все коллизии регулируются на высоком уровне логикой программы?
CAN коллизии устраняет на транспортном уровне. RS485 - на прикладном.
С архитектурой ведущий/ведомый это не связано никакак.
Понял! Спасибо Вам ОГРОМНОЕ!
Еще вопросик, по схеме подключения...
Как собрать шину из ардуин (5 шт) на таком модуле? Везде схемы соединения двух устройств, но у меня задача собрать шину из 5 штук.
Параллельно на пару проводов (я на UTP вешаю). На крайних замкнуть джампер "терминатор".
Параллельно на пару проводов (я на UTP вешаю). На крайних замкнуть джампер "терминатор".
А джампер терминатор это J3 или J1?
А к RPi этот модуль подключить возможно? Или там другие шилды?
upd: про RPi нашёл мануал https://vimtut0r.com/2017/01/17/can-bus-with-raspberry-pi-howtoquickstar...
Сбоку который. Другой - это то же самое, что и винтовой коннектор.
Понятно. Спасибо!