Международный школьный научный вестник
Научный журнал для старшеклассников и учителей ISSN 2542-0372

О журнале Выпуски Правила Олимпиады Учительская Поиск Личный портфель

РАЗРАБОТКА МОДЕЛИ АВТОМОБИЛЯ, УПРАВЛЯЕМОГО ПО КООРДИНАТАМ

Равчев Р.Н. 1
1 г. Тольятти, МБУ «Лицей № 67», 7 класс
Малышева С.В. (г. Тольятти, МБУ «Лицей № 67»)
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
10. http://neobot.ru/products/universalnyj-obrazovatelnyj-nabor-mdrawbot-kit.

Мы живём в век стремительного развития робототехники, и современные игрушки поражают своим художественным оформлением и технологией работы. Уже сейчас можно найти в магазинах наборы для самостоятельной сборки и программирования роботов. В основном эти наборы ориентированы для обучения детей и студентов, но и для взрослых, интересующихся робототехникой, здесь открываются большие возможности для реализации своих идей. В статье я предлагаю краткую информацию о том, какие конструкторы для сборки программируемых роботов существуют в природе уже сейчас, представлены варианты стоимостью до 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 приложение, управляющее пошаговым движением автомобиля.

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

В ходе изучения интернет-ресурсов меня заинтересовал робот «mCar», это трехколесный робот-автомобиль [10].

В качестве ведущих колес используется 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» – воспроизведение записанного.

Экспериментальная работа

Выбор комплектующих элементов автомобиля

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

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

Сборка

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

rach1.tif

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

rach2.tif

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

rach3.tif

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

Название

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

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

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

по 945

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

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

по 100

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

Модуль «HC-05»

215

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

Плата Arduino UNO

880

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

Итого:

3491

 

 

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

rach4.tif

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

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

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

rach6.tif

Таблица 1

Используемые переменные

 

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

Тип

Назначение

1

T_min

word (0…65535)

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

2

Tik_l

word (0…65535)

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

3

Time_l

word (0…65535)

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

4

Step_l

byte (0…255)

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

5

Tik_r

word (0…65535)

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

6

Time_r

word (0…65535)

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

7

Step_r

byte (0…255)

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

8

S_zad

byte (0…255)

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

9

Turn_zad

byte (0…255)

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

10

Mode_zad

byte (0…255)

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

11

Dev_zad

byte (0…255)

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

12

i

word (0…65535)

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

13

k

Int(-32768… 32767)

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

14

x

byte (0…255)

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

 

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

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

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

Заключение

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

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

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

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

 


Библиографическая ссылка

Равчев Р.Н. РАЗРАБОТКА МОДЕЛИ АВТОМОБИЛЯ, УПРАВЛЯЕМОГО ПО КООРДИНАТАМ // Международный школьный научный вестник. – 2018. – № 3-1. – С. 115-118;
URL: http://school-herald.ru/ru/article/view?id=510 (дата обращения: 22.10.2019).