Статья опубликована в рамках: Научного журнала «Студенческий» № 7(51)
Рубрика журнала: Технические науки
Секция: Радиотехника, Электроника
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2
РЕАЛИЗАЦИЯ ЦЕНТРАЛИЗОВАННОЙ МОДУЛЬНО-ФУНКЦИОНАЛЬНОЙ АРХИТЕКТУРЫ ДЛЯ РОБОТИЗИРОВАННЫХ СИСТЕМ НА БАЗЕ МИКРОКОНТРОЛЛЕРОВ AVR
Введение
Роботизированные решения в настоящее время находят очень широкое применение во всех областях жизни. В настоящее время существует множество технических решений и огромное количество технологий, лежащих в основе реализации решений в области автоматики и телемеханики, т. е. в робототехнике. Одним из перспективных решений является применение AVR контроллеров на базе Ардуино. Это решение является очень выгодными с точки зрения цены. Одним из недостатков является ограниченное число функций, исполняемых отдельным Ардуино-модулем, что при всей привлекательности данной элементной базы ограничивает область ее применения. В связи с этим актуальной задачей представляется разработка такой архитектуры, которая позволила бы объединить достоинства микроконтроллеров Ардуино и в тоже время реализовать требуемую функциональность устройства. Многофункциональность роботизированных решений может быть достигнута двумя способами:
- Интенсивное наращивание аппаратных и программных мощностей с целью достижения многофункциональности, которые неизбежно вызовут за собой повышение стоимости продукты
- Применение микроконтроллеров, каждый из которых будет реализовывать одну функцию. Микроконтроллеры по своей стоимости не велики, функциональность у них достаточная для реализации одной функции.
AVR микроконтроллеры – это тип устройств, разработанный компанией Atmel, которые имеют определенное преимущество перед обычными микросхемами. AVR микроконтроллеры выпускаются в нескольких корпусах, некоторые предназначены для монтажа в отверстия, некоторые для поверхностного монтажа. AVR бывают 8-ми и 100-пиновыми, хотя все, что выше 64-х пинов доступно только для монтажа в отверстия. [9].
Основные достоинства Arduino
- Низкая стоимость.
- Кроссплатформенность – программное обеспечение (ПО) Arduino работает под ОС Windows, Macintosh OSX и Linux.
- Простая и понятная среда программирования.
- ПО с возможностью расширения и открытым исходным текстом.
- Платы расширения – платы, расширяющие функциональность Arduino для управления различными устройствами, получения данных и т.д. (WiFi, Xbee, Ethernet, Motor Shield).
Кроме того, Ардуино – это платформа с открытым исходным кодом, поэтому все схемы и исходный код программ доступны для любого желающего. [11, с. 10].
Цели
Целью работы является разработка и реализация центральной многофункциональной архитектуры на базе микроконтроллеров AVR в частности Arduino. Центральная функция управления реализуется мастер- контроллером в основе которого используется Arduino Mega ADK. Периферийные функции реализуются соответствующими модулями в основе которых используются Arduino Uno. Требуется разработать архитектуру, которая позволит централизованно управлять всеми функциями, реализованными периферийными модулями и решить вопрос и аппаратного и программного сопряжение всех функционально-ориентированных модулей.
Реализация
Решение данной задачи заключается в том, что каждому периферийному модулю назначается своя реализуемая функция. Многозадачность системы обеспечивается составом функций, выполняемых каждым устройством. Общее управление всеми этими подсистемами, передаётся на центральный контроллер.
Для достижения цели нужно решить ряд задач:
- Разработать иерархическую модель архитектуры.
- Разработать функции реализуемые каждой из подсистем.
- Разработать подсистему управления, основанную на системе команд и событий.
Схема модульно-функциональной архитектуры приведена на рисунке 1.
Рисунок 1. Модульно-функциональная архитектура
- Модуль лица – отвечает за лицевую анимацию робота. Подключен к мастер-контроллеру с использованием программно-организованных последовательных портов (Software Serial), со стороны модуля это контакты 10,11 GPIO со стороны мастер контроллера это 14,15.
- Имитатор сердца – имитирует работу сердца как у человека. Подключен к мастер-контроллеру с использованием программно-организованных последовательных портов (SS), со стороны модуля это контакты 10,11 GPIO со стороны мастер контроллера это 20,21.
- Голосовой модуль – отвечает за коммуникативную функцию робота. Подключен к мастер-контроллеру с использованием аппаратно-организованных последовательных портов (UART), со стороны модуля это контакт 4, GPIO со стороны мастер контроллера это 5.
- Драйвер моторов – отвечает за два двигателя которые приводят робота в движение. Подключен к мастер-контроллеру с использованием аппаратно-организованных последовательных портов (UART), со стороны драйвера моторов это контакт 1, GPIO со стороны мастер контроллера это 7.
- ИК (инфракрасное) управление – позволяет управлять роботом на расстоянии с помощью инфракрасного пульта. Подключен к мастер-контроллеру с использованием аппаратно-организованных последовательных портов (UART), со стороны ИК это контакт 1, GPIO со стороны мастер контроллера это 8.
- Bluetooth модуль – позволяет подавать роботу команды с смартфона. Подключен к мастер-контроллеру с использованием программно-организованных последовательных портов (SS), со стороны модуля это контакты 10,11 GPIO со стороны мастер контроллера это 17,18.
- Мастер-контроллер – центральная часть робота, выполняющая заданные программой преобразования информации и осуществляющая управление всем вычислительным процессом.
Система функций и взаимосвязь между ними, на стереотипах классов системы приведена на рисунке 2.
Рисунок 2. Схема функций системы
Многозадачность системы обеспечивается многомодульной архитектурой за счет того, что каждый модуль выполняет свою отдельную функцию. Основными модулями являются следующие:
- mMC или (module MasterController) – основная цель данного модуля приводить в действие другие модули: mFace, mVoice, mHeart, mDrivers. Он соединяет модули в систему благодаря чему реализуется многофункциональность роботизированной системы.
- mFace – модуль лица. Данный модуль работает согласованно с mVoice в результате чего обеспечивается синхронизация звука и лицевой анимации. Модуль лица поддерживает автоматический режим, когда нет взаимодействия с голосовым модулем. Взаимодействие MasterController и модуля лицевой анимации обеспечивается с помощью двух команд:
- Команда SP (Speech) – команда запускает разговорную лицевую анимацию.
- Команда SM (Smile) – запускает цикл различных лицевых анимаций, когда робот работает в автоматическом режиме.
- мVoice – голосовой модуль. Данный модуль всегда работает вместе с модулем лица. Он имеет несколько режимов работы, такие как приветствие, проигрывание музыки, рассказ сказки или тоста. Все эти режимы активируются с помощью команд передаваемых с мастер-контроллера на голосовой модуль. Перечень данных команд:
- Команда P (greeting) – отвечает за функцию приветствия.
- Команда T (toast)– отвечает за проигрывание тоста.
- Команда S (stories) – рассказ сказки.
- Команда V (music) – отвечает за проигрывание музыки.
- Команда Q (stop) – останавливает воспроизведение всего.
- mHeart – модуль сердцебиения. Модуль сердцебиения работает как самостоятельно, так и вместе с модулем mDrivers усиливая или уменьшая свою частоту в зависимости от выбранной скорости.
- mDrivers – модуль который отвечает за движение робота. Управляет работой двигателей с помощью команд:
- Команда MF (Forward) – команда движения вперед.
- Команда MB (Back) – команда движения назад.
- Команда RL (Right) – команда движения направо за счет снижения оборотов правого двигателя и увеличение левого.
- Команда RR (Left) – команда движения направо за счет снижения оборотов левого двигателя и увеличение правого.
- Команда SF (Speed +) – команда увеличения скорости движения.
- Команда SB (Speed -) – команда уменьшения скорости движения.
- Команда MX (Stop) – команда остановки двигателей.
За счет многомодульной архитектуры роботизированная система способна выполнять огромное множество сценариев работы. В качестве примера можно привести следующие сценарии.
Сценарий 1. “Управление роботизированной системой”
У роботизированной системы есть 3 вида управления.
- Управление с помощью смартфона по Bluetooth модулю.
- Управление с помощью ИК пульта.
- Управление с помощью модуля распознавания речи.
Управление с помощью смартфона по Bluetooth и ИК пульта схоже по своему функционалу. ИК пульт запрограммирован подавать определенные команды голосовому модулю и драйверу мотора, также, как и смартфон, который подает команды с при помощи Bluetooth модуля. При выборе нажимается соответствующая запрограммированная на это действие кнопка и, команда посылается в модуль MasterController. MasterController обрабатывает команду и в зависимости от поданной команды выполняет следующие действия:
- Если выбранная команда, относится к коммуникативным функциям, то mMC (MasterController) посылает команду в голосовой модуль, который в свою очередь воспроизводит заданный звуковой файл.
- Если выбранная команда относится к движению, то mMC посылает команду в модуль драйвер мотора. Модуль драйвера мотора в свою очередь приводит в движение два двигателя с заданной командой скоростью для каждого из них.
Управление с помощью модуля распознавания речи — это голосовое управление. Данный модуль позволяет системе мгновенно реагировать на заранее записанную команду, и передавать эту команду в MasterController.
Сценарий 2. “Движение робота с включенной музыкой”
C помощью ИК пульта, смартфона или голосового управления подается команды v (music), после чего модуль mMC который обрабатывает эту команду передает ее в модуль mVoice. Голосовой модуль воспроизводит музыку в случайном порядке до тех пор, пока не поступит команда q (stop). Следующим действием с помощью известных видов управления подаётся команда движения в модуль mDrivers (модуль драйвера мотора). Для того чтобы робот начал движение в модуль mDrivers должна поступить одна из 4 команд:
- Команда MF (Forward) – команда движения вперед.
- Команда MB (Back) – команда движения назад.
- Команда RL (Right) – команда движения направо за счет снижения оборотов правого двигателя и увеличение левого.
- Команда RR (Left) – команда движения направо за счет снижения оборотов левого двигателя и увеличение правого.
Заключение
В итоге работы, получены следующие практические результаты:
- Алгоритмы работы аппаратно-программных модулей.
- Протоколы взаимодействия функциональных модулей и управляющего мастер контроллера.
- Коды программ для исполнения основных функций и управления модулями.
- Централизованная модульно-ориентированно функциональная архитектура.
Полученные результаты могут быть использованы для разработки и построения любых многофункциональный роботизированных систем выполнены на базе микроконтроллеров AVR, ARM или аналогичных. Развитие исследования возможно по пути анализа и построения средств управления многозадачностью, реализации систем массового обслуживания на базе указанных устройств.
Данное решение было представлено на выставке “Дни дальнего востока” в г. Москва 12 декабря 2018 г.
Рисунок 3. Роботизированная система на стадии разработки
Рисунок 4. Роботизированная система на выставке “Дни дальнего востока”
Список литературы:
- Баранов В.Н. Применение микроконтроллеров AVR: Схемы, алгоритмы, программы: М. «Додека». 288 с. – 2014.
- Голубцов М.С. Микроконтроллеры AVR: от простого к сложному. М., Солон-пресс., 2013.
- Джереми Б. Изучаем Arduino: инструменты и методы технического волшебства. Пер. с англ. СПб.: БХВ-Петербург, 2015. 336 с.: ил.
- Евстифеев А.В. Микроконтроллеры AVR семейства Tiny и Mega фирмы «ATMEL»: М. «Додека». 558с. – 2014.
- Кузьминов А.Ю. Интерфейс RS232. Связь между компьютером и микроконтроллером. М. Радио и связь. 2014. 168с.
- Петин В.А. Проекты с использованием контроллера Arduino. — СПб.: БХВ-Петербург, 2014. — 400 с.
- Петров И. В. Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования: М. «Солон-Р». 256 с. – 2014.
- Титце Е. Шенк К. Искусство полупроводниковой схемотехники. М., Мир., 1990
- Что такое AVR микроконтроллер? [электронный ресурс] — Режим доступа. — URL: https://prom-electric.ru/articles/2/25/ (дата обращения: 02.01.18)
- Шпак Ю.А. Программирование на языке С для AVR и PIC микроконтроллеров: К.: «МК-Пресс». 402 с. – 2016.
- My Arduino. Микропроцессоры и электроника для начинающих. [электронный ресурс] — Режим доступа. — URL: http://www.my-arduino.ru/sravnenie-xarakteristik-razlichnyxplatform-arduino/
Оставить комментарий