IV Международный конкурс
научно-исследовательских и творческих работ учащихся
«СТАРТ В НАУКЕ»
 
     

РАЗРАБОТКА МОДЕЛИ АВТОМОБИЛЯ, УПРАВЛЯЕМОГО ПО КООРДИНАТАМ
Равчев Р.Н.
Текст научной работы размещён без изображений и формул.
Полная версия научной работы доступна в формате PDF


Введение

Мы живём в век стремительного развития робототехники, и современные игрушки поражают своим художественным оформлением и технологией работы. Уже сейчас можно найти в магазинах наборы для самостоятельной сборки и программирования роботов. В основном эти наборы ориентированы для обучения детей и студентов, но и для взрослых, интересующихся робототехникой, здесь открываются большие возможности для реализации своих идей. В статье я предлагаю краткую информацию о том, какие конструкторы для сборки программируемых роботов существуют в природе уже сейчас, представлены варианты стоимостью до 100 тыс. рублей. Вот какие конструкторы попали в обзор:

LEGO Education WeDo;LEGO Education WeDo 2.0;LEGO Mindstorms ; Education EV3;TETRIX;MATRIX;Robotis OLLO;Robotis Bioloid;Hovis Lite;VEX EDR;VEX IQ;VEX PRO;Технолаб;Arduino;#Структор;Multiplo;Makeblock;HUNA-MRT;RoboRobo;fischertechnik;Engino Robotics Platform;ТРИК;MOSS;Robo Wunderkind.

Интерес автора к физическим основам конструкции автомобиля и программированию послужили основой для выбора темы исследования.

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

Цель работы – описать разработку модели автомобиля и создать приложение, управляющее узлами автомобиля.

Объектом исследования в работе является технология функционирования автомобиля.

Предметом исследования в работе является разработка управляющей программы для Arduino, позволяющей управлять автомобилем как дистанционно (с помощью смартфона), так и автономно.

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

Для достижения поставленной цели необходимо решить следующие задачи:

  1. Определить конструктивные особенности модели автомобиля и перечень необходимых компонентов для её создания.

  2. Собрать и протестировать работоспособность модели.

  3. Разработать на базе платы Arduino приложение, управляющее пошаговым движением автомобиля.

Часть 1. Теоретические аспекты разработки модели автомобиля

В ходе изучения интернет-ресурсов меня заинтересовал робот «mCar», это трехколесный робот-автомобиль http://neobot.ru/products/universalnyj-obrazovatelnyj-nabor-mdrawbot-kit.

В качестве ведущих колес используется 2 шаговых двигателя. Шаговые двигатели позволяют достичь высокой точности перемещения при относительно небольшой стоимости комплектующих. Третье колесо - опорное, позволяет роботу поворачивать в любых направлениях. Используя этот робот-автомобиль, можно нарисовать собственные маршруты движения на бумаге. Если вместо ручки установить мелок (или маркер), можно рисовать на полу.

Стоимость этого робота-автомобиля около 22000 рублей. Конечно же, я начал думать, как мне сделать такой чудо-автомобиль самому. Изучив описание вышеописанного робота «mCar» я понял, что он представляет собой плату контроллера, две платы управления шаговыми моторами (их называют драйверами), источник питания и кабель к компьютеру. А траекторию движения в него загружают с помощью приложения, работающего на ПК.

Я решил, что мой робот-автомобиль должен быть полностью автономным и не должен быть привязан к компьютеру. В связи с этим я просмотрел на Google Play Market имеющиеся бесплатные приложения, использующие ресурсы смартфона и выдающие данные по каналу Bluetooth под названием «Arduino Joystick Controller». Мне понравилось удобство управления двумя рычажками: вперёд-назад и вправо-влево, а так же приложение может вместо рычажков использовать данные с гироскопа, встроенного в смартфон. Соединив по Bluetooth смартфон с планшетом, я проанализировал с помощью программы «Terminal» какие данные выдаёт приложение.

В состоянии покоя в 16-ричном формате посылка выглядит так F3 00 58 00

Старший байт (#3) HEX:

F3 стоп

F1 вперёд

F2 назад

F4 ручной тормоз

байт (#2) HEX: скорость 00…255

байт (#1) HEX: положение руля 65…88…110

байт (#0) BIN:

7 bit передние фары включить

6 bit задние фары включить

5 bit гудок

4 bit «A» включено

3 bit «B» включено

2 bit «C» включено

Остаётся написать программу для управляющего контроллера, которая бы принимала посылку по последовательному порту, управляла бы отдельно правым и левым колесом в зависимости от принятых данных скорости и угла поворота. А так же хочу чтобы при нажатии на кнопку «А» включалась бы запись движений, а при нажатии на кнопку «B» - воспроизведение записанного.

Часть 2. Экспериментальная работа Параграф 1. Выбор комплектующих элементов автомобиля

Для создания модели автомобиля на торговой площадке aliexpress.com я начал искать комплектующие для самостоятельной сборки такой игрушки.

Таблица приобретённых комплектов:

Название

Стоимость, (руб).

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

Двигатель- 2 шт.

по 945

на них одеваются колёса

Платы-драйверы- 2 шт.

по 100

управление двигателями

Модуль «HC-05»

215

приём данных по Bluetooth, пароль к нему «1234»

Плата Arduino UNO

880

«мозг» машины (контроль и управление)

Итого:

3491

 

А каркас автомобиля и колёса были взяты от старого «железного» конструктора.

Параграф 2. Сборка

Сперва я закрепил два шаговых двигателя с помощью металлического конструктора (крепёжные отверстия в двигателях были предусмотрены).

Затем одел на шестерни двигателя отрезки пластиковой трубки и запрессовал пластиковые колёса от того же конструктора.

И закрепил на железном каркасе плату контроллера

В соответствии с информацией из поисковых систем подключил двигатели к платам драйверов и платы драйверов к Arduino UNO.

Затем подключил Bluetooth модуль HC-05.

Параграф 3. Программирование платы Arduino

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

Таблица 1. Используемые переменные

 

Имя переменной

Тип

Назначение

T_min

word (0…65535)

Минимальное время переключения шагов, допустимое для двигателей.

Tik_l

word (0…65535)

Отсчёт времени для левого двигателя

Time_l

word (0…65535)

Заданное время шага для левого двигателя

Step_l

byte (0…255)

Текущий номер шага левого двигателя

Tik_r

word (0…65535)

Отсчёт времени для правого двигателя

Time_r

word (0…65535)

Заданное время шага для правого двигателя

Step_r

byte (0…255)

Текущий номер шага правого двигателя

S_zad

byte (0…255)

Заданная скорость 0…255

Turn_zad

byte (0…255)

Заданный поворот 65…88…110

Mode_zad

byte (0…255)

Заданный режим стоп-вперёд-назад

Dev_zad

byte (0…255)

Дополнительные кнопки управления

i

word (0…65535)

Вспомогательная переменная.

k

Int(-32768… 32767)

Вспомогательная переменная.

x

byte (0…255)

Вспомогательная переменная.

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

Для приёма данных с Bluetooth модуля используется функция Serial.read()

Далее данные обрабатываются и пересчитываются в направление шагов и временные задержки между шагами двигателя.

Заключение

В данной работе была теоретически осмыслена и практически реализована идея создания робота-автомобиля, который можно создать своими руками из недорогих компонентов. Данный автомобиль может стать игрушкой для ребёнка и не надоедать монотонностью работы, так как помимо режима управления с любого смартфона, его можно обучать.

В ходе работы над проектом автором была проведена теоретическая работа по изучению физических основ работы шагового двигателя, а также принципа работы последовательного порта.

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

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

Список используемых источников и литературы
  1. Гальперштейн Л.Я. Забавная физика: научно-популярная книга/ Л.Я. Гальперштейн. – М.: Детская литература, 1993. – 255 с.

  2. Информационно-строительная основа моего дома [Электронный ресурс] – Режим доступа: http://osnovam.ru/stroitelnye/fontan-svoimi-rukami

  3. Классная физика: занятные страницы [Электронный ресурс] – Режим доступа: http://class-fizika.spb.ru/index.php/opit/658-op-davfon

  4. Культура и искусство [Электронный ресурс] – Режим доступа: http://www.kulturologia.ru/

  5. Освой программирование играючи. Сайт Александра Климова [Электронный ресурс] – Режим доступа: http://developer.alexanderklimov.ru/arduino/threeleds.php

  6. Емельянов, А. В. Шаговые двигатели:учеб.пособие / А. В. Емельянов, А. Н. Шилин. – Волгоград: ВолгГТУ, 2005. – 48 с.

  7. Уроки программирования Ардуино. Последовательный порт UART и Библиотека Serial. [Электронный ресурс] – Режим доступа: http://mypractic.ru/urok-12-posledovatelnyj-port-uart-v-arduino-biblioteka-serial-otladka-programm-na-arduino.html

  8. Конструкторы программируемых роботов. [Электронный ресурс] – Режим доступа: http://www.proghouse.ru/article-box/26

  9. Роботы и робототехника [Электронный ресурс] – Режим доступа: http://www.prorobot.ru/arduino/uno_lesson9.php