Аппаратная конфигурация
В данном разделе описано, как устроена аппаратная часть BRover-E5: как соединены между собой компоненты, каким образом передаются данные и как организовано питание системы.
Ровер построен по принципу распределённой архитектуры. Это означает, что вычисления и управление разделены между разными устройствами, которые обмениваются данными через общую шину связи.
Общая архитектура системы
Центральным элементом всей системы является сборка из трёх устройств: Raspberry Pi 5, установленного на него адаптера VBCores CAN-FD HAT и коммутационной платы питания и CAN. Эти компоненты физически объединены в один узел и выполняют роль управляющего центра ровера.

Raspberry Pi отвечает за работу управляющих программ верхнего уровня, ROS2 и обработку пользовательских команд. Через CAN-FD HAT он взаимодействует с остальной электроникой, передавая команды и получая обратную связь.
Коммутационная плата в данной системе выполняет роль удобного интерфейса подключения. Она выводит шины CAN и линии питания на внешние разъёмы, что позволяет подключать как штатные, так и дополнительные устройства без вмешательства в основную проводку.
Исполнительная часть системы включает модуль управления питанием и драйверы двигателей, которые получают команды от Raspberry Pi по CAN-шине и непосредственно управляют аппаратной частью ровера.
Сигнальная схема
Обмен данными внутри ровера осуществляется по шине CAN0 (CAN FD), поверх которой используется протокол Cyphal для взаимодействия Raspberry Pi с остальными модулями системы.
Топология шины имеет линейную структуру и может быть представлена в следующем виде:
CAN-FD HAT → Коммутационная плата → PowerBoard 30A → DC Driver → DC Driver → ... → DC Driver → Терминатор (120 Ом)
Сигнал последовательно проходит через все устройства. Для корректной работы шины используются два терминатора: один установлен на CAN-FD HAT, второй — на последнем устройстве в цепочке.
Отдельно выведена шина CAN1, которая может использоваться для подключения дополнительных устройств.
Подключение устройств по USB
Часть оборудования подключается напрямую к Raspberry Pi по USB. Это сделано для устройств, которым требуется высокая пропускная способность или стандартный интерфейс взаимодействия с операционной системой.
К таким устройствам относятся камера, инерциальный датчик и адаптер для подключения радиомодельного джойстика.
USB-подключение позволяет системе сразу распознавать устройства на уровне Linux без необходимости работы через CAN-шину. Например, камера определяется как видеоустройство, IMU — как отдельный сенсорный модуль, а SBus-адаптер — как устройство ввода.
Такой подход упрощает разработку и настройку, поскольку взаимодействие с этими устройствами может осуществляться стандартными средствами операционной системы и ROS2.
Схема питания
Питание всей системы организовано через модуль PowerBoard 30A, который выполняет роль центра распределения напряжения.
Ровер может работать от двух источников питания:
| Название источника питания | Характеристики | Разъем подключения |
|---|---|---|
| Аккумуляторная сборка | 4 Li-Po аккумулятора типоразмера 18650, подключенные последовательно. Выходное напряжение: 16.8 В. | Разъём XT-60 Male |
| Внешний блок питания | Выходное напряжение: 15 В. Максимальный ток: 6 А. | Разъём питания TC-022-2.0MM |
При одновременном подключении источников питания используется питание от блока питания.
После поступления питания на PowerBoard оно распределяется по двум основным линиям:
- линия PC — используется для питания Raspberry Pi и обеспечивает его стабильную работу
- линия BUS — предназначена для питания исполнительных устройств
Линия BUS далее разводится на несколько направлений: питание подаётся на коммутационную плату и на драйверы двигателей, которые разделены на левую и правую стороны ровера.
К модулю PowerBoard также подключены элементы управления: кнопка включения/выключения питания, пользовательская кнопка, звуковой сигнализатор и кнопка аварийной остановки.
Кнопка аварийной остановки реализована таким образом, что при её нажатии отключается питание линии BUS, но питание линии PC сохраняется. Это означает, что двигатели и периферия отключаются, а Raspberry Pi продолжает работать.
Такое решение позволяет безопасно остановить ровер и при этом сохранить возможность управления и корректного завершения работы программного обеспечения.