Автор: Шуляков Е.А
Источник: Научная электронная библиотека Киберленинка
Шуляков Е.А Учебный робототехнический комплекс. Данная статья посвящена описанию средства обучения программированию микропроцессорных систем. В статье производится анализ существующих робототехнических разработок, приводятся преимущества разработанной системы. Описываются функциональные возможности и структура самого комплекса. Определяются области возможного применения комплекса в образовательном процессе.
Ключевые слова: роботы, робототехника, микропроцессорные системы, мобильные роботы.
В настоящее время широкое распространение в мире получили системы различного назначения на базе микроконтроллеров. Подобные системы можно встретить в промышленности, военной технике, медицине и еще многих областях науки и техники. Достоинствами современных моделей микроконтроллеров являются их доступность, относительно невысокая стоимость и простота программирования. Развитие технологии Flash памяти породило развитие моделей микроконтроллеров с большим ресурсом возможности перепрограммирования. Микроконтроллер может управлять различными устройствами и принимать от них данные при минимуме дополнительных узлов, так как большое число периферийных схем уже имеется непосредственно на кристалле микроконтроллера. Это позволяет уменьшить размеры конструкции и снизить потребление энергии [1]. Все эти достоинства обуславливают высокий интерес и актуальность темы микропроцессорных систем.
Важной проблемой на пути развития микропроцессорных систем является проблема обучения программированию микроконтроллеров. В частности проблема заключается в отсутствии наглядных и доступных технических средств обучения. Существующие учебные системы в большинстве случаев носят узкоспециализированный характер и требуют глубоких знаний и навыков работы с микропроцессорнойэлектроникой. Примерами таких обучающих систем являются разнообразные макетные платы, платы развития, отдельные микропроцессорные модули. Применять подобные системыв обучении в общетехнических специальностях затруднительно. При рассмотрении микропроцессорных систем в робототехнике, выявилась следующая закономерность – практически все готовые решения можно разбить на три большие группы:
Пригодными для применения в обучении, при некоторой доработке, можно признать лишь робототехнические решения второй группы. Зарубежом, в отличие от России, подобная проблема стоит не так остро. По моему мнению, главной причиной такой ситуации является широкое развитие на западе средств любительской робототехники, таких как разнообразные готовые робототехнические модули, компоненты робототехнических систем и даже готовые робототехнические системы учебного назначения.
Данная работа направлена на создание недорогого и доступного средства обучения программированию микроконтроллеров в виде учебного робототехнического комплекса. Комплекс в целом позволяет студентам весьма подробно проводить все этапы разработки программ для платформы на базе современного микроконтроллера, начиная от написания текста программы и до непосредственного исполнения программы на действующей модели.
Основой комплекса является действующая модель робота. Главной проблемой при проектировании модели является выбор средств аппаратной реализации, а именно выбора модели микроконтроллера. Основные критерии при решении данной задачи обосновываются учебным назначением комплекса. В качестве таковых выбраны актуальность изучения данной модели икроконтроллера, простота и доступность программирования микроконтроллера. В качестве альтернатив рассмотрены два наиболее популярных семейства микроконтроллеров: PIC компании Microchip и AVR компании Atmel. В соответствии с поставленными задачами было выбрано семейство AVR. Определяющими факторами такого выбора явились следующие факты. Микроконтроллеры данного семейства очень часто можно встретить как в любительских, так и в промышленных проектах. Таким образом, микроконтроллеры и востребованы и широко поддерживаются разработчиками, то есть по ним всегда можно найти материал в виде технических описаний, примеров схем, примеров программ и другую полезную информацию. Существенной так же является возможность многократного внутрисхемного перепрограммирования. Реализация технических средств программирования микроконтроллеров AVR проще реализации средств программирования микроконтроллеров PIC.
Конечный состав учебного робототехнического комплекса определен следующим образом: среда программирования, действующая модель робота, программатор, а так же три программы-примера демонстрирующие возможности робота, а именно реализующие алгоритмы движения с обходом препятствий.
Интегрированная среда программирования обеспечивает написание текста программы, проверку синтаксиса, компиляцию текста программы, отладку программы и непосредственно запись программы в память микроконтроллера с помощью программатора. Для данного комплекса в качестве среды разработки программ выбрана CodeVisionAVR.
Модель робота показана на рис. 1. Модель робота предназначена для наглядного исполнения программ, обучению студентов процессу программирования микроконтроллеров на практике. Модель позволяет демонстрировать различные алгоритмы движения с использованием информации об окружающей среде, получаемой при помощи датчиков.
Так же, возможно использование электрической принципиальной схемы и печатных плат модели робота в качестве наглядного примера подключения к микроконтроллеру внешних устройств.
Система управления робота построена на базе микроконтроллера ATMega 8L. Данный микроконтроллер имеет достаточный объем памяти, легко программируется и имеет невысокую стоимость. Так же немаловажен тот факт, что система команд и принципы подключения устройств данного семейства при переходе от младших моделей к старшим не меняются. Таким образом, освоив работу с начальными моделями семейства, можно без труда освоить и более мощные модели контроллеров [2].
Помимо микропроцессорного модуля управления электроника модели робота включает модуль управления двигателями и модуль инфракрасных датчиков отражения. Для обеспечения наглядности режимов работы модель робота оснащена светодиодной индикаторной панелью. В таком составе электроника робота позволяет принимать информацию о наличии препятствия от двух фронтальных датчиков отражения, обрабатывать полученную информацию программой микроконтроллера и выдавать управляющие воздействия на два двигателя платформы, таким образом, управляя движением робота.
Программатор предназначен для обеспечения процесса записи программы, разработанной в интегрированной среде разработки, в память программ микроконтроллера. Схема программатора открыто предоставляется на сайте компании Atmel.
Результатом данной работы является учебный робототехнический комплекс, который можно считать полноценным средством обучения студентов программированию микроконтроллеров.
Разработанный комплекс позволяет:
Применение в обучении комплекса или нескольких подобных комплексов может проходить по следующей схеме:
Важным моментом данной схеме является процесс отладки и поиска ошибок. Применительно к данному комплексу подразумевается, что проверка корректности исполнения алгоритмов производится на действующей модели робота, а не на виртуальных средствах эмуляции. С точки зрения эффективности разработки программ такой подход не является наилучшим. Однако, как мне кажется, именно поиск ошибок в условиях реальной, но не слишком сложной технической модели приведет к более детальному и осмысленному пониманию принципов и особенностей программирования микропроцессорных средств. Следует отметить, что часть функций используемой в проекте модели микроконтроллера остались неиспользованными. Это позволяет на базе уже разработанных схем и печатных плат в дальнейшем проектировать новые модели роботов или иные учебные модули. Используя перечисленные возможности, комплекс может быть внедрен в учебные дисциплины, связанные с программирования микроконтроллеров или робототехникой.
Основным преимуществом данного комплекса является наглядность обучения, при которой студент имеет возможность увидеть результат своей работы в действиях робота. При этом сам процесс обучения носит игровой характер, что повышает интерес к обучению.
В настоящее время модель робота, входящая в состав комплекса, используется в качестве наглядного примера робототехнической системы в рамках дисциплины Гибкие автоматизированные производства, робототехника и САПР
.
В связи с тем, что комплекс существует в единичном экземпляре, его фактическое применение для обучения программированию микроконтроллеров в рамках как-либо из дисциплин затруднительно.