Разработка робота для передвижения по пересеченной местности на базе микроконтроллера ATmega328P | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 27 апреля, печатный экземпляр отправим 1 мая.

Опубликовать статью в журнале

Библиографическое описание:

Смирнов, А. Б. Разработка робота для передвижения по пересеченной местности на базе микроконтроллера ATmega328P / А. Б. Смирнов, В. А. Дубовицких, Д. А. Мезенцев. — Текст : непосредственный // Молодой ученый. — 2016. — № 27 (131). — С. 159-165. — URL: https://moluch.ru/archive/131/36663/ (дата обращения: 19.04.2024).



В работе описывается методология разработки, реализации и отладки, а также технические решения при создании робота для передвижения по пересеченной местности полигона соревнования «Кубок РТК — Экстремал» на базе микроконтроллера ATmega328P.

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

Ключевые слова: образовательная робототехника, arduino, программирование, микроконтроллер, радиолинк, камера, First Person View (FPV)

На сегодняшний день робототехника стала практически неотъемлемой частью нашей жизни, в школах преподают уроки с использованием конструктора LEGO MINDSTORM EV3 и Arduino, проводятся различные соревнования, вплоть до международного масштаба. Одним из таких соревнований является и «Кубок РТК».

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

Данный проект — робот, разработанный для участия в соревновании «Кубок РТК», способный передвигаться под удаленным управлением оператора, передавая ему видеоизображение с установленной на борту FPV-камеры. Для успешного прохождения испытательного полигона должен уметь взбираться на лестницу, иметь манипулятор, обладать мобильностью и высокой проходимостью в таких участках местности как песок, гравий, буераки, лед и т. п.

В качестве программируемой платформы было решено использовать Arduino Pro Mini, на базе микроконтроллера ATmega328P. В процессе разработки были созданы: структурная схема, печатная плата в среде разводки печатных плат Sprint-Layout 6.0, код программы для робота в программе Arduino IDE, клиентская часть на языке C# в Visual Studio 2015, конструкция робота — на основе которых далее был реализован и запрограммирован первый прототип.

  1. Описание конструкции робота.

Движение робота осуществляется за счет двух двигателей постоянного тока и резиновых гусеничных лент, для управления направлением и скоростью вращения установлен драйвер двигателя на основе микросхемы L298N. Управляющий сигнал передается по радиосвязи, а расположенная на борту FPV-камеры с отдельным передатчиком позволяет удаленно управлять роботом от первого лица. В качестве источника питания используется Li-Po аккумулятор. На основе вышеперечисленного была составлена функциональная схема устройства (см. рисунок 1).

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

  1. Конструкция робота.

Ввиду большего пятна контакта гусеничная машина имеет большее тяговое усилие, лучше себя ведет на грунтах с низкой несущей способностью и, как правило, более устойчива. При разработке дизайна робота были рассмотрены 3 стандартных вида конструкций, собранных на базе конструктора Makeblock (см. рисунок 2).

Рис. 2. Варианты конструкций: а — стандартная, б — с углом атаки, в — треугольная

В качестве основы было решено использовать вариант «а». Конструкция имеет простоту сборки, малую вероятность падения на бок, не был смещен центр тяжести, что позволило заезжать на поверхности под углом более 45. В ходе испытаний выяснилось, что для преодоления таких элементов полигона соревнования «Кубок РТК» как «Лестница» или «Копыто» (конструкция, представляющая собой резкий подъем 30°, поворот и спуск под 30°) мощности стандартных моторов конструктора Makeblock не хватало, поэтому были использованы двигатели постоянного тока из конструктора Tetrix. Однако их габариты были велики, из-за чего пришлось увеличить колеса с 50мм до 100мм (см рисунок 3), расширить раму и изготовить алюминиевые крепления для двигателей (см. рисунок 4). Расстояние между центральными поперечными рейками выбиралось с целью обеспечения наибольшей жесткости конструкции (см. рисунок 5).

Рис. 3. Изготовленное колесо

Рис. 4. Изготовленные крепления

Гусеницы разведены на расстояние оптимальное для прохождения в ячейку полигона и сохранения устойчивости. Общие габариты робота составили ~ 32х18х12 см.

Рис. 5. Конструкция робота, вид снизу

  1. Печатная плата.

Для компактности расположения электроники, была создана печатная плата, замещающая 3х этажную схему Arduino, Troyka Shield, Motor Shield. На ней были размещены драйвер двигателей L298N, Arduino Pro Mini и предохранитель на 0,5А. Разработка платы проводилась в среде Sprint-Layout 6.0 (см. рисунок 6), а для переноса рисунка на фольгированный стеклотекстолит использовался лазерно-утюжный метод.

Рис. 6. Спроектированная плата в среде Sprint-Layout 6.0: а — нижний слой, б — верхний слой

После протравливания в хлорном железе, в плате были просверлены отверстия, впаяны штырьковые соединители для подключения дополнительных датчиков, смонтированы элементы. Сама плата была установлена в корпус, как показано на рисунке 7.

Рис. 7. Печатная плата: а — Вид сверху, б — Вид снизу

  1. Видеотрансляция.

Одним из основных условий участия в номинации «Экстремал» было удаленное управление роботом. Оператор мог управлять только из специальной комнаты и наблюдать за всем «глазами» робота.

Первоначальным вариантом было использование камеры GoPro HERO 3, со встроенным Wi-Fi модулем. Во время тестирования при удалении робота от оператора на расстояние более 10м падала скорость передачи изображения, что значительно осложняло управление роботом. В результате было решено использовать модуль FPV-камеры DAL 700 (см. рисунок 8). Так как возможности Arduino не позволяет взаимодействовать с данным модулем, то решено было использовать дополнительный радиомодуль для односторонней передачи видеосигнала (см. рисунок 9). Изображение с камеры транслировалось на монитор, расположенный в комнате оператора.

Рис. 8. FPV-камера

Рис. 9. Радио-модуль с UART интерфейсом

  1. Система питания робота.

В роботе решено было использовать две цепи питания: логическая и питающая двигатели. Для питания первой необходимо иметь стабилизированный источник 5В для микроконтроллера, камеры, передатчика, телеметрии, а также 12В для двигателей. В качестве источника питания выбран Li-Po аккумулятор 3S 2200 mAh 20C, позволяющий получать напряжение от 9,9В до 12,6В в зависимости от степени разряженности батарей. Исходя из этих критериев система была спроектирована следующим образом: нестабильное напряжение с батареи поступает на драйвер двигателя L298N (см. рисунок 10), имеющий встроенный преобразователь напряжения с выходами на 5В.

Рис. 10. Драйвер двигателя L298N

  1. Программа.

Программное обеспечение робота состояло из приложения (см. рисунок 11), написанного на языке С# и программы, написанной на языке в среде Arduino IDE для которой были написаны библиотеки, позволяющие взаимодействовать с драйвером двигателя.

Рис. 11. Приложение на С#

Разработанное приложение позволяло управлять движением робота через передатчик, подключенный к USB-порту. После соединения и активации приводов контроль осуществлялся путем нажатий кнопок «W», «A», «S», «D», «Q», «E», соответственно означающих движение «вперед», «назад», «влево», «вправо», «разворот влево», «разворот вправо». Приложение сохраняет историю нажатий для визуального контроля за исполнением команд.

Программа, написанная в среде Arduino IDE, отвечает за обработку принимаемых команд и их выполнение.

  1. Заключение.

Результатом данного проекта является действующий прототип, построенный на базе программируемого контроллера Arduino Pro Mini, движение осуществляется с помощью двигателей постоянного тока и гусеничной ленты. Видеотрансляция помогает оператору удаленно управлять роботом. Конструкция была протестирована на местности, на которой разбросаны камни, металлические препятствия различной формы высотой до 14 см. Прототип способен перемещаться в высокой траве, на песке и взбираться на ступень до 10 см, удерживаться на площадке под углом до 60 градусов.

В процессе работы над проектом были получены навыки: проектирования робототехнических систем, программирования, отладки, разработки электрических схем, конструирования, разработки печатных плат, поиска неисправностей и их устранения.

Данная работа может оказаться полезной для людей, занимающихся практической реализацией различных проектов по робототехнике и электронике, активно участвующих в соревновательной деятельности. Проектная деятельность велась в научно-образовательном центре робототехники и мехатроники Самарского университета.

Литература:

  1. Работа драйвера двигателей постоянного тока L298N и Arduino http://arduino-diy.com/arduino-drayver-shagovogo-dvigatelya-i-dvigatelya-postoyannogo-toka-L298N
  2. Datasheet // Atmel Corporation [Electronic resource]. — 2015. — Mode of access: http://www.atmel.com/images/atmel-8271–8-bit-AtMega328p-microcontroller-atmega48a-48pa-88a-88pa-168a-168pa-328–328p_datasheet_complete.pdf. — Date of access: 15.08.2016.
  3. Datasheet // Arduino Pro Mini [Electronic resource]. — 2015. — Mode of access: https://cdn.sparkfun.com/datasheets/Dev/Arduino/Boards/ProMini16MHzv1.pdf- Date of access: 15.08.2016.
Основные термины (генерируются автоматически): IDE, драйвер двигателя, печатная плата, рисунок, конструкция робота, DAL, FPV, HERO, LEGO, MINDSTORM.


Похожие статьи

Создание робота-гонщика на платформе Arduino

Электронный блок — это печатная плата с установленным микроконтроллером.

Разработка приложений на базе плат Arduino осуществляется в специальной среде программирования Arduino IDE.

Робототехника: конструирование и программирование

Конструкция, позволяющая передавать вращение, создаваемое двигателем, на все колеса.

Овсяницкая, Л. Ю. Алгоритмы и программы движения робота Lego Mindstorms EV3 по линии / Л. Ю. Овсяницкая, Д. Н. Овсяницкий, А. Д. Овсяницкий.

Разработка робота для транспортировки малогабаритных...

В центре робототехники, в котором авторы занимаются преподаванием программирования на Arduino и LEGO MINDSTORM EV3, а также ведут

1.4 Шасси и драйвер двигателей. Шасси, материалом которого является акрил, служит базой для всей конструкции робота.

Легоконструирование как составная часть робототехники

- для детей 3-6 лет конструкторы «LEGO» представлены в самом большом ассортименте - City, Classic, Super Heroes, Friends, Juniors, Princesses, Elves, Minifigures.

Игрушки серии «LEGO Mindstorms» позволяют строить настоящих действующих роботов.

Создание робота автономного движения по линии

Снимок робота представлен на рисунке 3. Рис. 3. Конструкция робота.

3. На основании полученных коэффициентов подается соответствующий сигнал на драйвер, который управляет работой двигателями.

Роль робототехники в образовательном процессе

Несмотря на то, что компания LEGO занимается в основном производством игрушек, mindstorms можно считать полноценным комплектом для конструирования роботов.

«Робофест» как способ организации соревновательной...

Вполне очевидно, что школьник, создавший своего первого робота на занятии кружка «Робототехника», имеет естественное желание его кому-то продемонстрировать и сравнить с другими моделями.

Lego MindStorm, а «Hello, Robot!

Ориентация робота в условиях коридорной местности

В докладе изложены этапы создания робота, рассказан алгоритм его движения по извилистому участку

Перед нашим аппаратом стояла задача преодолеть следующий путь (рисунок 1)

В дальнейшем эта идея была реализована, старая плата из машинки была извлечена, на ее...

Создание робота-гонщика на платформе Arduino

Электронный блок — это печатная плата с установленным микроконтроллером.

Разработка приложений на базе плат Arduino осуществляется в специальной среде программирования Arduino IDE.

Робототехника: конструирование и программирование

Конструкция, позволяющая передавать вращение, создаваемое двигателем, на все колеса.

Овсяницкая, Л. Ю. Алгоритмы и программы движения робота Lego Mindstorms EV3 по линии / Л. Ю. Овсяницкая, Д. Н. Овсяницкий, А. Д. Овсяницкий.

Разработка робота для транспортировки малогабаритных...

В центре робототехники, в котором авторы занимаются преподаванием программирования на Arduino и LEGO MINDSTORM EV3, а также ведут

1.4 Шасси и драйвер двигателей. Шасси, материалом которого является акрил, служит базой для всей конструкции робота.

Легоконструирование как составная часть робототехники

- для детей 3-6 лет конструкторы «LEGO» представлены в самом большом ассортименте - City, Classic, Super Heroes, Friends, Juniors, Princesses, Elves, Minifigures.

Игрушки серии «LEGO Mindstorms» позволяют строить настоящих действующих роботов.

Создание робота автономного движения по линии

Снимок робота представлен на рисунке 3. Рис. 3. Конструкция робота.

3. На основании полученных коэффициентов подается соответствующий сигнал на драйвер, который управляет работой двигателями.

Роль робототехники в образовательном процессе

Несмотря на то, что компания LEGO занимается в основном производством игрушек, mindstorms можно считать полноценным комплектом для конструирования роботов.

«Робофест» как способ организации соревновательной...

Вполне очевидно, что школьник, создавший своего первого робота на занятии кружка «Робототехника», имеет естественное желание его кому-то продемонстрировать и сравнить с другими моделями.

Lego MindStorm, а «Hello, Robot!

Ориентация робота в условиях коридорной местности

В докладе изложены этапы создания робота, рассказан алгоритм его движения по извилистому участку

Перед нашим аппаратом стояла задача преодолеть следующий путь (рисунок 1)

В дальнейшем эта идея была реализована, старая плата из машинки была извлечена, на ее...

Похожие статьи

Создание робота-гонщика на платформе Arduino

Электронный блок — это печатная плата с установленным микроконтроллером.

Разработка приложений на базе плат Arduino осуществляется в специальной среде программирования Arduino IDE.

Робототехника: конструирование и программирование

Конструкция, позволяющая передавать вращение, создаваемое двигателем, на все колеса.

Овсяницкая, Л. Ю. Алгоритмы и программы движения робота Lego Mindstorms EV3 по линии / Л. Ю. Овсяницкая, Д. Н. Овсяницкий, А. Д. Овсяницкий.

Разработка робота для транспортировки малогабаритных...

В центре робототехники, в котором авторы занимаются преподаванием программирования на Arduino и LEGO MINDSTORM EV3, а также ведут

1.4 Шасси и драйвер двигателей. Шасси, материалом которого является акрил, служит базой для всей конструкции робота.

Легоконструирование как составная часть робототехники

- для детей 3-6 лет конструкторы «LEGO» представлены в самом большом ассортименте - City, Classic, Super Heroes, Friends, Juniors, Princesses, Elves, Minifigures.

Игрушки серии «LEGO Mindstorms» позволяют строить настоящих действующих роботов.

Создание робота автономного движения по линии

Снимок робота представлен на рисунке 3. Рис. 3. Конструкция робота.

3. На основании полученных коэффициентов подается соответствующий сигнал на драйвер, который управляет работой двигателями.

Роль робототехники в образовательном процессе

Несмотря на то, что компания LEGO занимается в основном производством игрушек, mindstorms можно считать полноценным комплектом для конструирования роботов.

«Робофест» как способ организации соревновательной...

Вполне очевидно, что школьник, создавший своего первого робота на занятии кружка «Робототехника», имеет естественное желание его кому-то продемонстрировать и сравнить с другими моделями.

Lego MindStorm, а «Hello, Robot!

Ориентация робота в условиях коридорной местности

В докладе изложены этапы создания робота, рассказан алгоритм его движения по извилистому участку

Перед нашим аппаратом стояла задача преодолеть следующий путь (рисунок 1)

В дальнейшем эта идея была реализована, старая плата из машинки была извлечена, на ее...

Создание робота-гонщика на платформе Arduino

Электронный блок — это печатная плата с установленным микроконтроллером.

Разработка приложений на базе плат Arduino осуществляется в специальной среде программирования Arduino IDE.

Робототехника: конструирование и программирование

Конструкция, позволяющая передавать вращение, создаваемое двигателем, на все колеса.

Овсяницкая, Л. Ю. Алгоритмы и программы движения робота Lego Mindstorms EV3 по линии / Л. Ю. Овсяницкая, Д. Н. Овсяницкий, А. Д. Овсяницкий.

Разработка робота для транспортировки малогабаритных...

В центре робототехники, в котором авторы занимаются преподаванием программирования на Arduino и LEGO MINDSTORM EV3, а также ведут

1.4 Шасси и драйвер двигателей. Шасси, материалом которого является акрил, служит базой для всей конструкции робота.

Легоконструирование как составная часть робототехники

- для детей 3-6 лет конструкторы «LEGO» представлены в самом большом ассортименте - City, Classic, Super Heroes, Friends, Juniors, Princesses, Elves, Minifigures.

Игрушки серии «LEGO Mindstorms» позволяют строить настоящих действующих роботов.

Создание робота автономного движения по линии

Снимок робота представлен на рисунке 3. Рис. 3. Конструкция робота.

3. На основании полученных коэффициентов подается соответствующий сигнал на драйвер, который управляет работой двигателями.

Роль робототехники в образовательном процессе

Несмотря на то, что компания LEGO занимается в основном производством игрушек, mindstorms можно считать полноценным комплектом для конструирования роботов.

«Робофест» как способ организации соревновательной...

Вполне очевидно, что школьник, создавший своего первого робота на занятии кружка «Робототехника», имеет естественное желание его кому-то продемонстрировать и сравнить с другими моделями.

Lego MindStorm, а «Hello, Robot!

Ориентация робота в условиях коридорной местности

В докладе изложены этапы создания робота, рассказан алгоритм его движения по извилистому участку

Перед нашим аппаратом стояла задача преодолеть следующий путь (рисунок 1)

В дальнейшем эта идея была реализована, старая плата из машинки была извлечена, на ее...

Задать вопрос