Статья:

СОЗДАНИЕ ПРОТОТИПА ПРОСТОГО РОБОТА НА ОСНОВЕ ПЛАТЫ ARDUINO (MEGA2560 R3)

Конференция: XII Студенческая международная заочная научно-практическая конференция «Молодежный научный форум: технические и математические науки»

Секция: 13. Радиотехника, Электроника

Выходные данные
Квасников Д.А. СОЗДАНИЕ ПРОТОТИПА ПРОСТОГО РОБОТА НА ОСНОВЕ ПЛАТЫ ARDUINO (MEGA2560 R3) // Молодежный научный форум: Технические и математические науки: электр. сб. ст. по мат. XII междунар. студ. науч.-практ. конф. № 5(12). URL: https://nauchforum.ru/archive/MNF_tech/5(12).pdf (дата обращения: 22.12.2024)
Лауреаты определены. Конференция завершена
Эта статья набрала 14 голосов
Мне нравится
Дипломы
лауреатов
Сертификаты
участников
Дипломы
лауреатов
Сертификаты
участников
на печатьскачать .pdfподелиться

СОЗДАНИЕ ПРОТОТИПА ПРОСТОГО РОБОТА НА ОСНОВЕ ПЛАТЫ ARDUINO (MEGA2560 R3)

Квасников Даниил Андреевич
студент Череповецкого государственного университета, РФ, г. Череповец
Сазонова Елена Владимировна
научный руководитель, старший преподаватель Череповецкого государственного университета, РФ, г. Череповец

 

Робототехника относится к числу приоритетных отраслей развития России. Поэтому в настоящее время исследования в области робототехники являются актуальными. С каждым годом роботы становятся сложнее и все большее количество функции при этом они приобретают. Различные производители предлагают разнообразные платформы для разработки функциональных систем с различными характеристиками, к примеру: MSP430 LaunchPad и Arduino Mega. Возможности платформы Arduino позволяют пользователю вносить поправки, а так же улучшения в функциональную и программную области робота.

Основными компонентами Arduino-аппаратной вычислительной платформы или контроллера являются простая плата ввода-вывода и среда разработки на языке Processing/Wiring. Контроллер — это электронное устройство, которое что-нибудь контролирует, т. е. реагирует на изменения одних параметров изменением других. Например, кондиционер, в нем стоит «умная» плата-контроллер, включающая и выключающая (когда необходимо) подогрев — охлаждение — увлажнение воздуха.

Кондиционер, mp3-плеер, сигнализация, мобильник, навигатор — всё это специализированные контроллеры. Персональный компьютер — это контроллер универсальный, расширяемый, с его помощью всё вышеперечисленное можно реализовать, требуются соответствующие платы расширения и софт.

Существует большое разнообразие универсальных контроллеров и плат развития, позволяющих осуществлять технически сложные проекты, но Arduino имеет ряд преимуществ:

·     не требуется программатор;

·     не нужны глубокие специфические познания в программировании микроконтроллеров (элементов контроллера);

·     проект Arduino полностью открытый;

·     платформа Arduino набирает популярность (имеются сайты с библиотеками, схемами и проектами);

·     стандартное расположение выводов, что делает Arduino привлекательным для производителей — появляются всё новые шилды;

·     кроссплатформенная среда разработки.

Все «размеры» и разновидности Arduino-плат абсолютно совместимы друг с другом, их можно реализовать на обычной Ardino (Freeduino) или Ardino Mega (SeeduinoMega). При этом ни в коде, ни в схеме переделки не требуются. Нет разницы для работы программы при различных платах с разными размерными рядами.

Для выбора контроллера, удовлетворяющего цели работы, были рассмотрены несколько контроллеров Arduino: Uno, Mega 560 и Nano. Они имеют множество характеристик, среди них наиболее важные: микроконтроллер; количество цифровых входов; количество аналоговых входов; flash-память; стоимость контроллера. Подробные характеристики контроллеров Arduino приведены в таблице 1.

Таблица 1.

Характеристики контроллеров Arduino


Характеристика


Arduino Uno


Arduino
Mega2560


Arduino Nano


Микроконтроллер


ATmega328


ATmega2560


Atmel ATmega168
or ATmega328


Количество
цифровых входов


14


54


14


Количество
аналоговых входов


6


16


8


Flash-память

 


32 Кб


256 Кб


16


Стоимость


1 120 р.


1900 р.


800 р.

Одним из основных критериев при отборе контроллера также являлось наличие возможности его модифицирования и улучшения. Поэтому был выбран Arduino Mega2560, т. к. именно эта платформа имеет самый большой потенциал для целей работы.

Программное обеспечение создаваемого прототипа робота должно выполнять следующие функции:

1.    обрабатывать сигналы клавиш и фоторезистора;

2.    подавать сигналы на двигатель и диод;

3.    обрабатывать исключительные ситуации.

Благодаря функциональным характеристикам Arduino можно проверять цифровые входы на наличие или отсутствие в них сигнала. Аналоговый вход позволяет измерять силу входящего сигнала. Так же на платформе Arduino имеется возможность подавать сигналы на цифровые выходы, благодаря чему сигналы подаются на драйвер двигателей, который и управляет их движением.

Для обработки исключительных ситуаций была составлена таблица истинности с четырьмя переменными, соответствующими клавишам «вперед», «назад», «влево», «вправо» и четырьмя функциями, соответствующими работе двигателей: вперед и назад для 1-ого и 2-ого двигателей (таблица 2).

Таблица 2.

Таблица истинности для управления двигателями



вперед


назад


влево


вправо


двигатель 1 вперед


двигатель 1 назад


двигатель 2 вперед


двигатель 2 назад


1


1


1


1


0


0


0


0


1


1


1


0


0


1


1


0


1


1


0


1


1


0


0


1


1


1


0


0


0


0


0


0


1


0


1


1


1


0


1


0

 

Продолжение таблицы 2.


1


0


1


0


0


0


1


0


1


0


0


1


1


0


0


0


1


0


0


0


1


0


1


0


0


1


1


1


0


1


0


1


0


1


1


0


0


1


0


0


0


1


0


1


0


0


0


1


0


1


0


0


0


1


0


1


0


0


1


1


0


0


0


0


0


0


1


0


0


1


1


0


0


0


0


1


1


0


0


1


0


0


0


0


0


0


0


0

 

На основе данной таблицы были составлены формулы 1—4 для обработки нажатия клавиш:

a)  для первого двигателя:

b)  для второго двигателя:

c)   для третьего двигателя:

d)  для четвертого двигателя:

Создание прототипа робота осуществлялось по следующему алгоритму:

1)  создание принципиальной схемы прототипа робота (рисунок 1);

2)  закупка необходимого оборудования (аппаратная вычислительная платформа Arduino Mega2560 R3, драйвер двигателя L293D, 4 клавиши, 6-ь резисторов по 200 Ом, 2 переключателя, 2 двигателя, диод, фоторезистор, 4 колесика, 4 батарейки по 1,5 В, источник питания на 12 В и соединительные провода);

3)  подбор корпуса (выбран корпус-коробка из картона, как распространенный, дешевый и достаточно крепкий материал);

4)  подготовка корпуса к установке деталей (сделаны отверстия для платы, двигателей, диода, фоторезистора, клавиш, а также для пульта управления и колес);

5)  установка всех частей в корпус. Двигатели, как и ведущая ось, были установлены по центру корпуса. Расположение выбиралось с расчетом на то, что центр тяжести будет между двумя осями, что в сочетании с расположением оси по центру, позволит роботу поворачиваться лишь за счет работы 2-х двигателей;

6)  соединение элементов с помощью проводов. Во избежание замыкания открытые участки проводов перекрыты изолентой (рисунок 2);

7)  тестирование прототипа робота (рисунок 3).

 

Рисунок 1. Принципиальная схема прототипа робота

 

Рисунок 2. «Начинка» прототипа робота

 

Рисунок 3. Прототип робота

 

Таким образом, в результате проведенного исследования показаны возможности платформы Arduino по созданию простого робота. Благодаря большому количеству выходов, а так же удобству использования, была выбрана платформа Arduino Mega. Разработанное программное обеспечение позволило управлять роботом, а также не перегружать систему за счет обработки исключительных ситуаций. Созданный прототип простого робота контролируемого пользователям при помощи средств платформы Arduino Mega 2560 R3 соответствует всем заявленным разработчиками требованиям (функциям).

Дальнейшие работы в рамках настоящего исследования могут быть связаны с разработкой других функциональных возможностей модели (звуковых, световых и прочих эффектов).

 

Список литературы:
1.    Arduino — [Электронный ресурс] — Режим доступа. — URL: http://www.arduino.cc/ (дата обращения 14.04.2014).