Создание простой Ралли-машинки на радиоуправлении с индивидуальным электроприводом колес

XXIII Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Создание простой Ралли-машинки на радиоуправлении с индивидуальным электроприводом колес

Власов П.В. 1
1Муниципальное автономное общеобразовательное учреждение муниципального образования Динской район «Средняя общеобразовательная школа № 1 имени героя Российской Федерации Туркина Андрея Алексеевича»
Суздальцева Н.В. 1
1Муниципальное автономное общеобразовательное учреждение муниципального образования Динской район «Средняя общеобразовательная школа № 1 имени героя Российской Федерации Туркина Андрея Алексеевича»
Автор работы награжден дипломом победителя III степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

Актуальность работы:

У меня дома много игрушек, особенно машинок. Многие из них уже сломались: корпуса, двигатели, радиоуправление и т.д. Поэтому, я решил дать игрушкам «вторую жизнь» и собрать автомобиль на радиоуправлении своими руками. Так-же, будущее за робототехникой , а значит нельзя упускать возможность обучения на практике.

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

Цель работы: Сделать ралли-автомобиль на радиоуправлении и индивидуальными электроприводом колес с использованием деталей из поломанных игрушек.

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

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

  1. Изучить литературу по теме исследования.

  2. Разобраться с принципами работы электроники передатчика и приемника.

  3. Научиться работе с 3D принтером, инструментами и расходниками для пайки, средой разработки на языке программирования Arduino C, некоторыми электронными модулями.

  4. Изучить базовые модули электрических схем (диоды, резисторы, транзисторы и т.д.), изучить основной синтаксис Arduino C.

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

Объект исследования: Ралли-машинка на радиоуправлении с индивидуальным электроприводом колес.

Практическая ценность работы:

  • Огромная любовь к электронике и программированию.

  • Возможность изготовления изделия своими руками.

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

  • Возможность получить знания о своих интересах на практике.

Срок реализации: два месяца.

Тип:

Исследовательский

Методы исследования:

1) сбор, обработка и интерпретация материала;

2) анализ изученных материалов;

3) эксперимент и наблюдение;

4) сравнение полученных данных;

5) обобщение.

1. Основная часть

1.1. Комплектация машинки на радиоуправлении и технические характеристики.

Для того, чтобы сделать модель машины на радиоуправлении (RC-машина) с использованием Ардуино, нам понадобятся следующие детали:

  1. Двухпалубное шасси, для крепления датчиков, манипулятора, фар и много другого – 2 штуки. Ширина шасси - 155 мм. Длина - 260 мм. Выполнено из акрила, заклеенного пленкой.

  2. Колеса с шинами – 4 шт. Диаметр 6,5 см. Длина окружности – 25 см. колеса выполнены из пластика. Шины из резины.

  3. Двигатели постоянного тока с редукторами и осями для колёс - 4 штуки.

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

  • Рабочее напряжение мотора: 3-6 В.

  • Потребляемый ток одного мотора: 70 мА.

  • Максимальный потребляемый ток одного мотора: 600 мА.

  • Передаточное число редуктора: 1:48.

  • Скорость вращения: до 180 об./мин.

  1. ПлатарасширенияMotor Driver Shield L293D для Arduino. Драйвер моторов Arduino Motor Shield - основан на двух микрочипах L293D и одном последовательно параллельном регистре 74HC595. Драйвер управления рассчитан на одновременное подключение двух сервомоторов и двух шаговых двигателей, или двух сервоприводов и четырех коллекторных двигателей постоянного тока. Не зависимое управление всеми моторами одновременно. Можно так же при помощи Ш ИМ, регулировать скорость вращения электромоторов.

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

  • Напряжение питания двигателей: 5 В – 36 В.

  • Напряжение питания платы: 5 В.

  • Максимальный ток нагрузки: 1,2 А на канал.

  • Размер платы: 69 х 53,4 х 20 мм.

  1. Плата Arduino Uno на базе процессора ATmega328. Плату используют для обучения, разработки, создания рабочих макетов устройств. Ардуино, по своей сути, – это AVR микроконтроллер с возможностью упрощенного программирования и разработки. Это достигнуто с помощью специально подготовленного загрузчика, прошитого в память МК, и фирменной среды разработки. Особенность этого чипа заключается в аппаратной поддержке USB, что позволяет организовывать связь без дополнительных преобразователей.

Чтобы включить плату, нужно на неё подать питание либо от USB порта, можно прямо от ПК, либо от внешнего источника питания – от 7 до 15 Вольт. На плате установлен линейный стабилизатор, типа L7805, или же LDO. Он нужен для того, чтобы на микроконтроллер подавалось стабилизированное напряжение 5 В.

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

  • Микроконтроллер: ATmega328.

  • Рабочее напряжение: 5 В.

  • Напряжение питания (рекомендуемое): 7-12 В.

  • Напряжение питания (предельное): 6-20 В

  • Цифровые входы/выходы: 14 (из них 6 могут использоваться в качестве ШИМ-выходов)

  • Аналоговые входы: 6 портов.

  • Максимальный ток одного вывода: 40 мА.

  • Максимальный выходной ток вывода 3,3В: 50 мА.

  • Flash-память: 32 КБ (ATmega328) из которых 0.5 КБ используются загрузчиком.

  • Тактовая частота: 16 МГц.

  • Автоматический выбор источника питания (USB или внешний адаптер).

  • Размер: 53,4мм на 68,6 мм.

  • Вес: 25 грамм.

  1. П ринимающаярадиосигнал плата.

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

  • Частота: 27 MГц;

  • Количество каналов: 4;

  • Дальность сигнала: 3 - 4 м.

  1. П ульт управления.

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

  • Частота: 27 MГц.

  • Количество каналов: 4.

  • Работает: от 3 В.

  1. Аккумуляторы «Li-ion. Tally +» – 2 шт.

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

  • Ёмкость: 2000 mAч.

  • Выдаваемое напряжение: 3,7 V - 4,2 V.

  • Форм - фактор: 18650.

  • С хема подключения: последовательная.

  1. Батарейки DURACELL2 шт. на 1,5 В.

  2. Кнопка питания - 1 штука

  3. Крепежные детали для мотора – 8 штук.

  4. Гайка М3 – 14 штук.

  5. Держатель батареи – 1 штука.

  6. Винты М3*30 мм – 8 штук.

  7. Винт М3*6 мм – 6 штук.

  8. Провода.

  9. Клейкая лента или любая другая лента.

  10. Мульметр.

  11. Электропаяльник.

1.2. Подготовка моторов перед размещением на шасси.

Отрежьте 8 кусочков красного и черного провода длиной примерно 12 - 15 см. Можно использовать провода 0,5 мм. Снимите изоляцию с проводов на каждом конце. Припаяйте провода к клеммам двигателей.

Облудите и припаяйте провода к клеммам двигателей.

Другие концы проводов надо припаять к пинам M1, M2, M3, M4 на драйвере L293D по этой схеме (полярность соблюдать не обязательно т.к. в программном коде это можно отрегулировать).

Из-за того, что клеммы на моем драйвере хлипкие я припаял провода к нижним контактам клемм.

Также, для питания всей машинки надо припаять выходы «+» и «-» с аккумуляторного отсека к нижним клеммам +M и GND на драйвере. Они находятся слева от перемычки, на которую указывает красная стрелка (см. схему пайки двигателей). Перед тем как мы припаяем «+» от аккумуляторного отсека мы должны добавить выключатель. Для этого нужно взять еще один провод, который припаяем к «+M» на драйвере L293D, а другой его конец надо припаять к среднему контакту выключателя. После, провод от аккумуляторного отсека припаиваем к любому крайнему контакту выключателя (если он такой же как у меня). Минусовой контакт аккумуляторного отсека тоже припаиваем только уже к пину «GND».

ВАЖНО!При пайке проводов от аккумуляторного отсека соблюдайте полярность («+» к «+M», «-» к «GND») и проводите пайку без вставленных аккумуляторов! Также, обязательно оставьте перемычку замкнутой! (см. красная стрелка на схеме пайки двигателей).

1.3. Установка двигателей.

Для каждого мотора закрепляем на шасси по два Т-образных крепежа. Используя винты М3*30 мм и гайки M3 закрепляем моторы клеммами внутрь.Сам драйвер укладываем в центр корпуса.

1.4. После нам надо подготовить основную часть машинки - плату Arduino и принимающую радиосигнал плату.

В моем случае принимающая плата представляла из себя 4-х канальную плату с антенной и другими более мелкими частями. Скорее всего такая будет не у всех так что можно просто купить такую же. Способ её подключения к Arduino Uno выглядит так. На фото провода (B-backward-белый, F-forward-синий, L-left-желтый, R-right-бирюзовый) идущие от принимающей платы припаяны к аналоговым пинам 0, 1, 2, 3 Arduino Uno.

Для того чтобы плата работала к ней надо подвести питание - и + их легче всего припаять к пинам 5В (в зависимости от рабочего и максимального напряжения принимающей платы) и GND как на этом фото. Красная стрелка обозначает что это пин 5В, а черная что это пин GND. К 5В мы припаиваем + платы а к GND припаиваем минус.

ВАЖНО! при пайке соблюдайте полярность!

Для увеличения дальности работы платы, я взял антенну от сломанного пульта ДУ и припаял к пину ANT на принимающей плате, чем увеличил дальность работы с 5м до 7м.

1.5. Финальная сборка:

Схему с Arduino Uno и принимающей платой надо положить под драйвер L293D на корпус соотнося все пины, после соединить Arduino Uno и L293D, делая из них одно устройство.

По всем углам нижней части корпуса, с помощью болтов M3*6 мм, прикручиваем 4 соединительных стоек (по 1 на каждый угол).

П осле, сверху, соотнося отверстия и соединительные стойки, кладем 2 часть корпуса и прикручиваем к соединительным стойкам с помощью болтов M3*6 мм.

Подсоединяем колеса к редукторам и кладем сверху аккумуляторный отсек (желательно закрепить либо винтами, либо клейкой лентой). Чтобы обозначить перед и зад машинки лучше всего использовать рисунок покрышек. Аккумуляторный отсек напечатан на 3D принтере. [1]

Теперь RC-машинка готова, но она ничего не умеет. Для того, чтобы она выполняла свои функции, надо написать скетч который машинка будет циклично и постоянно выполнять.

1.6. Программная часть.

Для написания скетча нам понадобится среда разработки (программа) под названием Arduino [2]

Сначала, распаковываем архив на рабочий стол, после открываем папку scetch_dec17a, там находим Arduino.exe, устанавливаем программу, с помощью кнопки “Файл” в меню сверху выбираем “Примеры” и выбираем скетч “MotorTest” . Теперь подключаем плату Arduino к ноутбуку или ПК с помощью USB. Нажимаем на стрелочку вправо под словом “Правка” и ждём. После успешной компиляции проверяем работу машинки и отмечаем те колеса которые крутятся не в ту сторону. Если передача сигналов с пульта на машинку работает успешно, но есть те колеса которые неправильно крутятся то это легко можно исправить. Для начала надо рассмотреть скетч по подробнее.

В начале скетча идет добавление библиотеки “AFMotor” для управления нашим L293D. [3] После идет объявление 4 DC-двигателей и присвоение им имен.

Цикл void setup() принимает в себя часть скетча которая должна выполнится один раз в начале за всю работу.

Команда setSpeed применяется к одному из объявленных моторов и позволяет выбрать скорость (в начале ставим по умолчанию значение скорости - 250).

Команда run позволяет выбрать направление движения мотора между BACKWARD - назад, FORWARD - впереди RELEASE - стоп (по умолчанию ставим RELEASE). На этом моменте цикл setup() заканчивается.

Начинается цикл loop(), что означает бесконечное выполнение части скетча до принудительного прерывания. В начале цикла объявляются переменные максимальная скорость, минимальная скорость, задержка перед новой командой для L293D. Эта задержка нужна для корректной работы драйвера L293D так как, без задержки драйвер может не успеть переключить контакты вследствие чего работать неправильно.

Далее, идет условие if(){} оно определяет на каком контакте, идущем от принимающей платы, сейчас есть напряжение т.е. какая кнопка нажата.

В условии прописано: если на аналоговом пине под номером 3 значение > 1000 (т.е. высокое), и на аналоговом пине под номером 1 значение > 1000, то: *выполнение какой либо части скетча*.

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

Следующий вид условия в котором прописано: если на аналоговом пине под номером 1 значение > 1000 то: *выполняется какая либо часть скетча*.

В моем случает это движение вокруг своей оси против часовой стрелки. Далее, идет подобная этой реализация 2-го направления движение вокруг своей оси по часовой стрелке.

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

Это условие проверяется самым последним, и оно реагирует только на то, что никакая кнопка не нажата. Оно заставляет все двигатели выбрать максимальную скорость и остановится (скорость не влияет на то работает ли сейчас двигатель).

На этом весь скетч закончен и теперь, понимая что за что отвечает, можно откалибровать работу двигателей. Если какой либо двигатель при тесте неисправно работал (крутился не в том направлении) то потребуется во всём скетче инвертировать направление его движения, то есть FORWARD заменить на BACKWARD, а BACKWARD заменить на FORWARD. Номер неисправного мотора можно найти на драйвере L293D. У клемм каждого двигателя написано M1, M2, M3 или M4, так как двигателя названы motor и номер его клеммы, то и неисправный двигатель будет легко найти в скетче и инвертировать его направление. После калибровки машинка будет работать исправно.

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

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

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

Определение скорости машинки.

Также, применяя знания физики можно найти некоторые характеристики, например скорость. Замеряем за какое время машинка проедет S = 2 метра. У меня получилось t = 3 секунды. И с помощью формулы скорости: , подставляя в нее значения находим скорость.

У меня, с учетом что машинка проехала 2 метра за 3 секунды, получилось 2,4 км/ч.

Время работы на полностью заряженных аккумуляторах.

Я измерил время работы на полностью заряженных аккумуляторов. Оно оказалось равным 4 часам.

Измерение мощности двигателя.

Я определил при помощи мультиметра ток холостого хода. Он оказался равным 0,025 А. Также я измерил напряжение при работе двигателя. Оно было равным 5,6 В.

По известной формуле из физики:

, где

P – электрическая мощность, (Вт)

U – напряжение, (В)

I – сила тока, (А)

я могу найти мощность одного электродвигателя.

Заключение

Я собрал ралли-автомобиль на радиоуправлении и индивидуальными электроприводом колес с использованием деталей из поломанных игрушек.

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

Разобрался с принципами работы электроники передатчика и приемника.

Научился работать с 3D принтером, инструментами и расходниками для пайки, средой разработки на языке программирования Arduino C, некоторыми электронными модулями.

Изучил базовые модули электрических схем (диоды, резисторы, транзисторы и т.д.), изучил основной синтаксис Arduino C.

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

Источники информации.

  1. STL модель аккумуляторного отсека - https://drive.google.com/file/d/1OJSG2pKyzEdKKWXIdSH9B3Ncs7KiKLE/view?usp=sharing

  2. Ссылка на архив со скетчем и с программой Arduino - https://drive.google.com/file/d/1Vm_YWBSWut6gBPskfa8kA6E_meTXLvxb/view?usp=sharing

  3. Подробнее о библиотеке AFMotor- https://cdn-learn.adafruit.com/downloads/pdf/afmotor-library-reference.pdf

Просмотров работы: 34