Оглавление:
- Шаг 1. Необходимые материалы
- Шаг 2: построение CAN-шины на макетной плате
- Шаг 3: Программирование Arduino
- Шаг 4: Тестирование
- Шаг 5. Изучите
- Шаг 6: (Дополнительно) Создайте шину CAN с помощью UTP
Видео: Учебное пособие Sparkfun CAN Bus Shield: 6 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Получение и передача сообщений с помощью Sparkfun CAN Bus Shield
Что такое CAN?
Шина CAN была разработана компанией BOSCH как система широковещательной передачи сообщений с несколькими ведущими, которая определяет максимальную скорость передачи сигналов 1 мегабит в секунду (бит / с). В отличие от традиционных сетей, таких как USB или Ethernet, CAN не отправляет большие блоки данных от узла A к узлу B под контролем мастера центральной шины. В сети CAN множество коротких сообщений, таких как температура или число оборотов в минуту, передаются по всей сети, что обеспечивает согласованность данных в каждом узле системы.
Шаг 1. Необходимые материалы
2 - Щиток шины CAN Sparkfun
2 - Arduino UNO
2 - резисторы 120 Ом
1 - Макетная плата
Провода перемычки
Библиотека CAN Bus Shield Скачать:
drive.google.com/open?id=1Mnf2PN_fAQFpo1ID…
Дополнительно (шина CAN):
DB9 (женский)
RJ45
Кабель UTP
Двухполосный разветвитель RJ45
Прямой разъем RJ45
Инструменты:
Отвертка
Обжимной RJ45
Паяльник
Шаг 2: построение CAN-шины на макетной плате
1. Установите экран шины CAN на каждый Arduino.
2. Подключите контакты CAN_H и CAN_L экрана к макетной плате.
3. Подключите согласующие резисторы на 120 Ом на каждом конце линий CAN_H и CAN_L.
Шаг 3: Программирование Arduino
1. Загрузите и установите библиотеку CAN Bus Shield по указанной выше ссылке.
Настройте 1-й Arduino для чтения сообщений CAN
2. Откройте Arduino IDE.
3. Перейдите в раздел Примеры файлов SparkFun CAN-Bus CAN_Read_Demo
4. Выберите соответствующий порт первого Arduino и загрузите его.
Настройте 2-й Arduino для отправки сообщений CAN
5. Откройте новую IDE Arduino.
6. Перейдите в раздел Примеры файлов SparkFun CAN-Bus CAN_Write_Demo
7. Выберите соответствующий порт второго Arduino и загрузите его.
Шаг 4: Тестирование
/ * Добавляем картинки рабочего примера * /
После загрузки программы на два Arduinos…
1. Откройте последовательные мониторы первого и второго Arduino.
2. Установите скорость передачи 9600 бод.
3. Проверьте, получены ли данные первым Arduino.
Если данные не получены:
1. Проверьте, выбран ли соответствующий порт и скорость передачи для каждого Arduino.
2. Проверьте соединения линий CAN_H и CAN_L.
3. Проверьте подключение согласующих резисторов.
Шаг 5. Изучите
Создавайте собственные сообщения CAN
Измените программу CAN_Write_Demo на…
- изменить идентификатор сообщения (message.id)
- изменить бит RTR (message.header.rtr)
- установить длину данных (message.header.length)
- введите свои данные (message.data [x])
Отредактируйте CAN_Read_Demo, чтобы настроить способ печати ваших данных.
- Распечатайте идентификатор сообщения (message.id)
- Вывести длину сообщения (message.header.length)
- Распечатать данные сообщения (message.data [x])
Шаг 6: (Дополнительно) Создайте шину CAN с помощью UTP
Шина CAN, используемая на этой схеме, представляет собой 8-контактный кабель UTP.
На этой схеме есть два типа разъемов, а именно (DB9 - к - RJ45) и (RJ45 - к - RJ45).
DB9 - к - RJ45
DB9 (контакты 1-8) = wO, O, wG, Bl, wBl, G, wBr, Br
RJ45 (контакты 1-8) = wO, O, wG, Bl, wBl, G, wBr, Br
RJ45 - к - RJ45 (прямой)
RJ45 (контакты 1-8) = wO, O, wG, Bl, wBl, G, wBr, Br
RJ45 (контакты 1-8) = wO, O, wG, Bl, wBl, G, wBr, Br
RJ45 - к - Терминатору
RJ45 (контакты 1-8) = wO, O, wG, Bl, wBl, G, wBr, Br
Терминаторный резистор (wG, wBl)
Узлы могут быть подключены к CAN-шине в соответствии с вашими предпочтениями и количеством используемых узлов.
Для двухузлового соединения используется прямой разъем RJ45 между кабелями (DB9 - to - RJ45).
Для трехузлового соединения двухсторонний разветвитель соединен с прямым соединителем для создания Т-образного соединения между всеми кабелями (DB9 - к - RJ45).
Для соединения 2+ узлов (2 или более узлов) двухсторонний разветвитель соединяется с прямым соединителем для создания "T" соединения. Кабель (RJ45 - к - RJ45) используется для соединения двух узлов «T», а кабель (DB9 - на - RJ45) используется для подключения узла «T» к экрану шины CAN. RJ45-to-Terminator использовался на каждом конце "T" CAN-шины.
Рекомендуемые:
Учебное пособие по LoRa GPS Tracker - LoRaWAN с Dragino и TTN: 7 шагов
Учебное пособие по LoRa GPS Tracker | LoRaWAN с Драгино и TTN: Эй, как дела, ребята! Акарш от CETech. Пару проектов назад мы смотрели на LoRaWAN Gateway от Dragino. Мы подключили различные узлы к шлюзу и передали данные от узлов к шлюзу, используя TheThingsNetwork в качестве s
Учебное пособие по Arduino Cellular Shield: 9 шагов (с изображениями)
Учебное пособие по Arduino Cellular Shield: Arduino Cellular Shield позволяет совершать звонки по сотовым телефонам и отправлять текстовые сообщения. Мозгом этого экрана является SM5100B, который представляет собой надежный сотовый модуль, способный выполнять многие из задач большинства стандартных сотовых телефонов. Это дерьмо
Учебное пособие по Arduino GPS Shield: Калькулятор расстояния: 5 шагов
Arduino GPS Shield Tutorial: Distance Calculator: GPS or Global Positioning System - это спутниковая радионавигационная система, которая позволяет вам определять ваше местоположение и направлять вас по другим местам с помощью хорошо распознаваемой и предопределенной карты, такой как карты Google, и в мире Ардуино, это
Учебное пособие по TFT Shield: 4 шага
Учебное пособие по TFT Shield: сегодня вы узнаете, как создавать и использовать кнопки в проектах Arduino TFT Touchscreen. Я использую Куман 2,8 " TFT Shield в сочетании с Arduino UNO Кумана. Бонус: TFT Shield от Kuman поставляется с бесплатным стилусом, который вы можете использовать
Учебное пособие для L298 2A Motor Driver Shield для Arduino: 6 шагов
Учебное пособие для L298 2A Motor Driver Shield для Arduino: Описание L298 2Amp Motor Driver Shield для Arduino основано на интегральной схеме драйвера двигателя L298, полномостовом драйвере двигателя. Он может управлять двумя отдельными двигателями постоянного тока 2А или 1 шаговым двигателем 2А. Скорость и направление двигателя можно регулировать отдельно