Глава 2. Совместимые с микрокомпьютером NanoPi-AR платы
Микрокомпьютер NanoPi-AR является одним из основных вычислительных модулей, входящих в состав робототехнических наборов, производимых ООО «Прикладная робототехника». В зависимости от направленности набора и требуемого от него функционала, в состав каждого такого набора входит робототехнический контроллер. Как правило, контроллер, помимо реализации своего основного функционала, имеет на своей плате место для интеграции в него микрокомпьютера. Встраиваемый микрокомпьютер позволяет увеличить вычислительные мощности и расширить функционал робототехнического контроллера. Для интеграции встраиваемого микрокомпьютера в контроллер используются штыревые межплатные соединители, с шагом 2.54 мм. Они располагаются двумя блоками по 24 контактных линии в двух рядах. Через эти контактные линии микрокомпьютер получает требуемое питание, обменивается данными с основным микроконтроллером, а также позволяет использовать имеющиеся на платах интерфейсные разъемы. Все платы, позволяющие интегрировать в себя микрокомпьютер NanoPi-AR, имеют схожие схемотехнические решения в плане функционирования интегрированного модуля в составе контроллера.
Базовый набор функционала сводится к следующему:
- Обеспечение стабилизированного питания микрокомпьютера;
- Организация двух USB Host разъемов;
- Организация проводного Ethernet соединения;
- Организация системы аудио ввода/вывода;
- Возможность подключения к отладочному UART.
В зависимости от типа контроллера, на нем могут быть еще разведены такие управляемые микрокомпьютером интерфейсы, как: 1-Wire TTL, RS485, I2S.
Краткое описание популярных робототехнических контроллеров, позволяющих интегрировать в себя микрокомпьютер NanoPi-AR, приведено ниже. А более подробное описание функционала и примеры работы микрокомпьютера приведены в учебных пособиях, посвященных определенным робототехническим наборам, либо универсальным робототехническим контроллерам.
2.1. Робототехнический контроллер STEM Board 2
Робототехническим контроллером STEM Board 2, фактически, называется периферийная плата STEM Board, производимая ООО «Прикладная робототехника», являющаяся основной платой, объединяющей на аппаратном уровне программируемый контроллер OpenCM9.04 и встраиваемый микрокомпьютер NanoPi-AR. Помимо аппаратного объединения, данная периферийная плата обеспечивает каждый установленный на ней модуль необходимым питанием, а также позволяет подавать питание на управляемый объект. Помимо линий питания, на плате STEM Board выведены необходимые для работы интерфейсы со встраиваемого микрокомпьютера NanoPi-AR, в виде популярных разъемов, а также штыревые гнезда с GPIO от контроллера OpenCM9.04.

Рис. 2.1. Универсальный робототехнический контроллер STEM Board 2 (периферийная плата c интегрированным в нее микрокомпьютером NanoPi-AR)
На изображении выше представлены следующие разъемы универсального робототехнического контроллера STEM Board 2:
- Вход питания от аккумуляторной батареи. Поддерживаются стандартные аккумуляторные батареи Li-Po формата 3S. Не рекомендуется использовать питание от аккумулятора при большом количестве подключенных внешних устройств.
- Вход питания от преобразователя напряжения. Рекомендуется использовать преобразователь напряжения, способный выдать ток силой, не менее 3А.
- Включатель питания силовой части платы. При подключении платы с установленным на ней контроллером OpenCM9.04, к компьютеру будет подано питание на все вычислительные модули платы. Однако, для подачи питания на внешние устройства, подключенные к плате (например, манипулятор), необходимо включить питание силовой части, при помощи данного переключателя.
- microUSB разъем, позволяющий подключиться к отладочному UART0 встраиваемого микрокомпьютера (стандартные параметры терминал – скорость 115200).
- 3х пиновый разъем для подключения внешних Dynamixel-совместимых устройств по TTL интерфейсу. Данный разъем управляется контроллером OpenCM9.04 физической шиной 3 (#define DEVICE_NAME «3») 6 – 4х пиновый разъем для подключения внешних Dynamixel-совместимых устройств по RS485 интерфейсу. Данный разъем управляется контроллером OpenCM9.04 физической шиной 3 (#define DEVICE_NAME «3») 7 – Ethernet разъем для подключения встраиваемого микрокомпьютера к локальной сети.
- аудио выход на динамики с микрокомпьютера. Позволяет подключить внешние динамики с отдельным питанием к микрокомпьютеру и выводить на них звук.
- аудио вход микрокомпьютера. Позволяет подключить устройство записи звука.
- 2 разъема USB2.0 для подключения внешней периферии – флешек, веб-камеры и т.п.
- 3х пиновый разъем для подключения внешних Dynamixel-совместимых устройств по TTL интерфейсу. Данный разъем управляется от встраиваемого микрокомпьютера.
- программируемая кнопка. Данная кнопка заведена на линию GPIO A3 встраиваемого микроконтроллера.
- программируемый светодиод. Данный светодиод управляется линией GPIO A6 встраиваемого микроконтроллера.
- перемыкатель сигнальной линии для работы с Dynamixel-совместимыми устройствами от контроллера OpenCM9.04. В левом положении связь обеспечивается физической шиной 3 (#define DEVICE_NAME «3»), при этом, остальные перемыкатели должны стоять так же в левом положении. В правом положении связь обеспечивается физической шиной 1 (#define DEVICE_NAME «1»). Остальные перемыкатели при этом должны быть сняты.
- перемыкатели UART3 для формирования физической шины 3 (#define DEVICE_NAME «3»). При снятом положении пользователю становятся доступны полноценный UART3 (D24/D25/TXD3/RXD3) либо I2C шина.
- 4х пиновый разъем в форм-факторе JST для подключения внешних Dynamixel-совместимых устройств по RS485 интерфейсу. Данный разъем управляется контроллером OpenCM9.04.
- 3х пиновый разъем в форм-факторе JST для подключения внешних Dynamixel-совместимых устройств по TTL интерфейсу. Данный разъем управляется контроллером OpenCM9.04.
- штыревой разъем I2S интерфейса, выведенного со встраиваемого микрокомпьютера 19 - 3х пиновый разъем в форм-факторе JST для подключения внешних Dynamixel-совместимых устройств по TTL интерфейсу. Данный разъем управляется встраиваемым микрокомпьютером.
2.2. Робототехнический контроллер OpenCR-AR
Робототехнический контроллер OpenCR-AR является популярным программируемым контроллером для управления манипуляционными и мобильными робототехническими комплексами. Отличительной особенностью контроллера является наличие на борту мощного базового вычислительного микропроцессора STM, программирование которого возможно с помощью классической среды Arduino IDE, а также возможность интегрирования в контроллер встраиваемый микрокомпьютер NanoPi-AR, позволяющий существенно расшить круг решаемых с помощью данного контроллера задач. Для обмена данными между микрокомпьютером и встроенным микроконтроллером имеется аппаратно-организованная линия передачи данных на основе интерфейса UART.

Рис. 2.2. Модуль управления OpenCR-AR (Контроллер OpenCR-AR с интегрированным в него микрокомпьютером NanoPi-AR)
Основные элементы контроллера OpenCR-AR следующие (Рис. 2.2):
- Разъем для подачи питания.
- Разъем для подключения аккумулятора.
- Выключатель.
- USB интерфейс для загрузки управляющих программ в модуль управления OpenCR-AR.
- USB интерфейс для работы с микрокомпьютером NanoPi-AR.
- Кнопка Reset для перезагрузки контроллера.
- Светодиод индикации питания.
- Тактовая кнопка для входа в режим загрузчика
- Программируемый светодиод, управляемый микрокомпьютером
- Интерфейсы 1-Wire TTL, трехвыводные на основе полудуплексного UART, используемые для подключения сервоприводов и датчиков,обменивающихся данными по протоколу Dynamixel. Управляются встроенным в контроллер микроконтроллером.
- Интерфейсы 1-Wire TTL, трехвыводные на основе полудуплексного UART, используемые для подключения сервоприводов и датчиков, обменивающихся данными по протоколу Dynamixel. Управляются интегрированным в контроллер микрокомпьютером NanoPi.
- Интерфейсы RS485, четырехвыводные, используемые для подключения сервоприводов и датчиков, обменивающихся данными по протоколу Dynamixel. Управляются встроенным в контроллер микроконтроллером.
- Интерфейсы RS485, четырехвыводные, используемые для подключения сервоприводов и датчиков, обменивающихся данными по протоколу Dynamixel. Управляются интегрированным в контроллер микрокомпьютером NanoPi.
- Интерфейс Ethernet 100 Мбит/с микрокомпьютера NanoPi-AR.
- Линейный стерео аудио вход микрокомпьютера NanoPi-AR.
- Линейный стерео аудио выход микрокомпьютера NanoPi-AR.
- Интерфейсы USB A ведущие (Host) High Speed, используемые для подключения периферийных устройств к микрокомпьютеру NanoPi-AR.
- Пьезоизлучатель.
- Ключи для управления силовой нагрузкой.
- Клеммники для подключения двигателей постоянного тока.
- Интерфейсы для подключения и управления системой вакуумного захвата.
- Разъем интерфейса CAN.
- Интерфейсы для подключения OLLO-совместимых периферийных модулей.
- Клемная колодка с выведенными линиями микроконтроллера для пользовательского применения
- Программируемая пользовательская кнопка, заведенная на микрокомпьютер NanoPi-AR.
- Пользовательская программируемая кнопка, заведенная на встроенный микроконтроллер.
- Кнопка ввода встроенного микроконтроллера в сервисный (DFU) режим.
2.3. Робототехнический контроллер LAVR
Робототехнический контроллер LAVR является Arduino-совместимой аппаратной платформой (Рис. 2.3, Рис. 2.4), позволяющей выполнять прототипы робототехнических систем, применяя элементную базу Arduino и элементы популярных робототехнических конструкторов: LEGO EV3, VEX EDR, ROBOTIS (для серий сервоприводов DYNAMIXEL AX/MX) совместно.

Рис. 2.3. Универсальный робототехнический контроллер LAVR (с интегрированным в него микрокомпьютером NanoPi-AR)

Рис. 2.4. Расположение основных элементов на робототехническом контроллере LAVR
Основные элементы контроллера LAVR следующие:
- Разъем для подачи питания.
- Выключатель.
- USB интерфейс для работы с микрокомпьютером NanoPi-AR.
- USB интерфейс для загрузки управляющих программ в контроллер.
- Разъемы для подключения моторов LEGO EV3.
- Разъемы для подключения моторов общего назначения.
- Разъемы для подключения датчиков LEGO EV3.
- Кнопка Reset для перезагрузки контроллера.
- Разъем для обновления встроенного программного обеспечения микроконтроллера ATmega16U2, обеспечивающего обмен данными через USB интерфейс между компьютером и основным микроконтроллером ATmega2560.
- Светодиод индикации загрузки и запуска управляющих программ.
- Светодиод индикации питания.
- Светодиоды индикации обмена данными между контроллером и микрокомпьютером NanoPi-AR.
- Переключатель интерфейсов обмена данными между микрокомпьютером NanoPi-AR, контроллером и USB.
- Разъем для обновления встроенного программного обеспечения основного микроконтроллера ATmega2560.
- Разъемы для подключения модулей расширения, в т.ч. NanoPi-AR.
- Интерфейсы Dynamixel 3-х выводные на основе полудуплексного UART, используемые для подключения сервоприводов и датчиков Robotis.
- Интерфейс Ethernet 100 Мбит/с микрокомпьютера NanoPi-AR.
- Линейный стерео аудио вход микрокомпьютера NanoPi-AR.
- Линейный стерео аудио выход микрокомпьютера NanoPi-AR.
- Интерфейсы USB A ведущие (Host) High Speed, используемые для подключения периферийных устройств к микрокомпьютеру NanoPi-AR.
- Arduino-совместимые интерфейсы ввода-вывода общего назначения, позволяющие так же подключать 3-х выводные датчики конструкторов VEX EDR.
2.4. Плата расширения для интегрирования одноплатного микрокомпьютера NanoPi-AR Shield
В отличие от рассмотренных выше плат – контроллеров с поддержкой интеграции микрокомпьютера NanoPi-AR, плата NanoPi-AR Shield является в чистом виде платой расширения для микрокомпьютера. Сама по себе она не имеет никаких вычислительных мощностей, и ее основной задачей является организация питания микрокомпьютера NanoPi-AR, а также вывод необходимых разъемов и коммутирование требуемых интерфейсов. По сути, плата расширения для микрокомпьютера является аналогом контроллера STEM Board 2, только без дополнительного вычислительного функционала. Так же данная плата имеет сквозные соединительные межплатные разъемы, что позволяет ее использовать в качестве классической Arduino-платы расширения. Т.е. установить на любую Arduino-совместимую плату и обмениваться с ней данными. Плата расширения NanoPi-AR Shield с установленным на ней микрокомпьютером NanoPi-AR изображена на Рис. 2.5.

Рис. 2.5. Плата расширения NanoPi-AR Shield с интегрированным в нее микрокомпьютером NanoPi-AR
Основные элементы платы расширения NanoPi-AR Shield следующие:
- Интерфейс MicroUSB отладочный, предоставляющий доступ к консоли микрокомпьютера NanoPi-AR.
- Клеммник для подключения аккумулятора.
- Соединитель для подключения внешнего источника питания.
- Тумблер включения/отключения питания.
- Ethernet интерфейс для проводного подключения к сети.
- Разъёмы USB Host.
- Интерфейс 1-Wire TTL c соединителем JST.
- Интерфейс RS485 с соединителем JST.
- Интерфейс 1-Wire TTL с соединителем Molex.
- Интерфейс Dynamixel RS485 с соединителем Molex.
- Аудиовход Jack 3.5.
- Аудиовыход Jack 3.5.
- Тактовая кнопка пользовательская.
- Тактовая кнопка для перезагрузки платы.
- Перемыкатель, образующий соединение UART NanoPi и UART Arduino-совместимой платы, в которую может быть интегрирована плата расширения.
- Перемыкатель, коммутирующий напряжение питания.
- Перемыкатель, формирующий интерфейсы 1-Wire TTL и RS485. В снятом положении интерфейсы не функционируют.
- Блок штыревых выводов, содержащих линии GPIO интегрированного микрокомпьютера.
Отверстия для крепления обладают залуженными полями и выполнены в расчете на использование винтов, диаметром 3 мм. Таким образом, допускается установка платы на стандартные металлические стойки с резьбой М3.
При размещении платы на металлических поверхностях необходимо помнить о расположенных снизу контактных выводах – при соприкосновении с металлической поверхностью возможно образование короткого замыкания. Учитывая допустимое напряжение питания до 12В, это может привести к выходу из строя как самой платы, так и вычислительного контроллера, к которому она может быть подключена.
Плата расширения NanoPi-AR Shield является работоспособной при напряжении питания в диапазоне от 6.8В до 12В. Однако, надо понимать, что подключенные к плате модули могут требовать дополнительное питание, например, для управления внешними исполнительными механизмами. Питание может быть подано через соответствующие разъемы – на плате существуют клеммник, на котором указана полярность подключения, и стандартный круглый разъём, в который можно подключить блок питания, входящий в образовательный робототехнический набор.
При подключении источника питания к модулю убедитесь в правильности выбора полярности!