Радиоуправляемый корабль на воздушной подушке на Arduino


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

Радиоуправляемый корабль на воздушной подушке на Arduino

Для управления этим судном на воздушной подушке я использовал свой RC-передатчик на базе Arduino, создание которого мы ранее рассматривали на нашем сайте. Я установил правый джойстик для управления серводвигателем для позиционирования рулей направления на задней стороне тягового двигателя, установил один из потенциометров для управления подъемным винтом, который фактически прикреплен к бесщеточному двигателю постоянного тока, а левый джойстик установил для управления движением.

Управление кораблем на воздушной подушке с пульта ДУ

3D модель корабля на воздушной подушке 

Для начала я спроектировал судно на воздушной подушке, используя программу 3D-моделирования.

3D модель корабля на воздушной подушке 

Вы можете найти и скачать эту 3D-модель, а также изучить ее в своем браузере на сервисе Thangs.

3D модель корабля на воздушной подушке на сервисе Thangs

Вот ссылка на эту модель на сайте Thangs.

STL-файлы для 3D-печати радиоуправляемого корабля на воздушной подушке на базе Arduino.

Принцип работы судна на воздушной подушке

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

Принцип подъема судна на воздушной подушке вверх

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

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

Принцип работы судна на воздушной подушке

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

3D-печать компонентов проекта

Тем не менее, закончив дизайн, я начал 3D-печать деталей.

3D-печать верхней части корпуса корабля

Корпус судна на воздушной подушке — самая большая часть для печати, и я специально спроектировал ее для своего 3D-принтера Creality CR-10 с печатной платформой 30x30 см.

3D-печать нижней части корпуса корабля

После завершения печати пришло время заняться чисткой напечатанных деталей. Основная часть судна на воздушной подушке или кабина пилота представляла собой самый длинный отпечаток, на печать которого ушло около 18 часов. Из-за изогнутого дизайна и из-за того, что я хотел создать единый отпечаток, для этого отпечатка было использовано много вспомогательного материала.

Напечатанная на 3D-принтере кабина пилота корабля на воздушной подушке

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

Напечатанный на 3D-принтере держатель юбки корабля на воздушной подушке

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

Использование обычной бумаги для сглаживания шероховатостей напечатанных деталей

Пропеллеры не нуждались в чистке и работали вполне хорошо, сразу после 3D-принтера.

Напечатанные пропеллеры не нуждались в чистке

Покраска корабля на воздушной подушке

Хорошо, следующий шаг — покраска деталей, напечатанных на 3D-принтере. Раньше я не использовал грунтовку, а сразу наносил акриловую краску в виде аэрозольной краски.

Нанесение аэрозольной краски

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

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

Покраска кабины пилота корабля на воздушной подушке

Сборка корпуса радиоуправляемого корабля на воздушной подушке

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

Напечатанные и окрашенные компоненты корабля на воздушной подушке

Я начал с установки серводвигателя, управляющего рулями направления, на корпус нагнетателя. Я закрепил сервопривод с помощью двух болтов М2 и гаек.

Установка серводвигателя, управляющего рулями направления

Далее идет бесщеточный двигатель. Конкретная модель, которая у меня есть, — это D2830, диаметр которой составляет 28 мм, длина — 30 мм, и, конечно же, корпус специально разработан для этого двигателя.

Использованный BLDC-двигатель D2830

При вставке мотора сначала пришлось продеть провода через отверстия. Это немного туговато, но все же можно их пройти. Затем с обратной стороны болтами М3 я закрепил двигатель к корпусу.

Закрепление BLDC-двигателя

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

Объединение корпуса тяги с основным корпусом корабля на воздушной подушке

Используя четыре болта М3, я прочно скрепил их вместе.

Скрепление корпуса тяги и основного корпуса корабля на воздушной подушке

Закончив это, я продолжил установку второго бесщеточного двигателя на корпус судна на воздушной подушке. И здесь я снова использовал тот же метод. Сначала я пропустил провода через отверстия, а затем с задней стороны закрепил мотор четырьмя болтами М3.

Принципиальная электрическая схема проекта

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

Итак, мозгом этого судна на воздушной подушке является плата Arduino. С помощью Arduino мы можем легко управлять сервоприводом, а также двумя бесщеточными двигателями, используя два электронных регулятора скорости (ESC). Для питания двигателей BLDC я буду использовать литий-полимерную батарею 3S, которая обеспечивает напряжение около 11 В, а для питания Arduino мы можем использовать регулируемое напряжение 5 В, которое ESC обеспечивают через функцию схемы устранения батареи.

Схема корабля на воздушной подушке на основе платы Arduino

Для беспроводной связи мы будем использовать модуль приемопередатчика NRF24L01, который при использовании с усиленной антенной может иметь стабильную дальность действия до 700 метров на открытом пространстве. Радиоуправляемый передатчик, который я буду использовать для управления судном на воздушной подушке, мы рассмотрели в одной из предыдущих статей на нашем сайте. Также есть подробные руководства по модулю NRF24l01 и по использованию бесщеточных двигателей с помощью Arduino. Тем не менее, основной принцип работы заключается в том, что передатчик отправляет данные джойстиков или потенциометров на приемник, который контролирует скорость бесщеточных двигателей и положение сервопривода.

На этой принципиальной схеме есть еще одна маленькая деталь — это монитор батареи. Я добавил простой делитель напряжения из двух резисторов, который подключается напрямую к аккумулятору, а его выход поступает на аналоговый вход Arduino. Делитель напряжения снижает напряжение с 11 В до примерно 4 В, которое затем становится приемлемым для контактов Arduino 5 В. Благодаря этому мы можем контролировать напряжение батареи и настроить загорание светодиода, когда, например, напряжение батареи упадет ниже 11 Вольт.

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. Модуль nRF24L01 (купить на AliExpress).
  3. BLDC-двигатель D2830.
  4. Контроллер ESC 30A.
  5. Серводвигатель SG90
  6. Сервомотор SG90 (купить на AliExpress).
  7. Литий-полимерный аккумулятор.
  8. XT60 2 гнезда на 1 штекер.
  9. Разъем XT60.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

Окончательная сборка радиоуправляемого корабля на воздушной подушке

Итак, я начал соединять компоненты, как описано. Для подключения двух регуляторов скорости к одной батарее я использовал разветвитель параллельного разъема батареи типа XT60.

Использование разветвителя для подключения двух регуляторов скорости к одной батарее

Для добавления в проект переключателя питания я использовал еще один разъем XT60, на котором отрезал один провод и припаял туда тумблер. Итак, одна сторона идет к разветвителю Y, а другая — к аккумулятору.

Затем я поместил регуляторы скорости в основной корпус и зажал их между ним и корпусом судна на воздушной подушке. Затем с помощью четырех болтов М3 я скрепил две части вместе. Затем через верхнее отверстие кузова я вставил батарею в зону кабины.

Размещение электронных компонентов внутри корпуса корабля на воздушной подушке

Далее нам нужно подключить компоненты к плате Arduino, и для этой цели я добавил к Arduino два разъема для контактов, которые будут служить контактами GND и 5 В.

Добавление к плате Arduino двух дополнительных разъемов

Итак, как только я подключил все к Arduino, я пропустил антенну NRF24L01, светодиодный индикатор и выключатель питания через верхнюю крышку кабины.

Подключение платы Arduino к электронной части проекта

Тогда мне просто нужно было втиснуть все в кабину. Здесь было немного тесно, потому что я использовал Arduino UNO, и, вероятно, вместо этого мне следовало использовать Arduino Nano.

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

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

Я продолжил установку рулевого управления. Сначала я подключил небольшое звено к рупору сервопривода с помощью болта М2 и гайки. Затем я вставил первый руль направления на место и закрепил его на корпусе тяги с помощью металлической проволоки диаметром 2 мм, которая проходит через его корпус и позволяет рулю направления вращаться вокруг него. Таким же образом прикрепил второй руль.

Установка рулей управления кораблем на воздушной подушке

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

Завершение сборки системы управления кораблем

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

Прикрепление декоративных деталей к корпусу корабля

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

Отверстия для крепления юбки к корпусу

Также имеются пазы для гаек, поэтому мы сможем легко прикрепить держатель юбки к корпусу с помощью болтов М3. Закрепив все гайки на месте, я продолжил изготовление юбки, для чего использовал простой пластиковый пакет для мусора.

Нанесение клея на среднюю часть держателя юбки

Поэтому сначала я нанес клей AC на среднюю часть держателя и приклеил его к пластиковому пакету. Затем я сместил периметр держателя примерно на 6 см. Я отметил его в нескольких точках, а затем соединил их вместе.

Приклеивание держателя юбки к пластиковому пакету

Используя канцелярский нож, я разрезал полиэтиленовый пакет до нужного размера. Затем я перевернула юбку и добавил к сумке дополнительный держатель там, где мы ранее приклеили ее клеем AC.

Прикрепление дополнительного держателя

Затем внешнюю часть сумки необходимо приклеить к верхней части держателя. Я снова использовал для этой цели клей АС и аккуратно прикрепил к нему пластиковый пакет.

Приклеивание юбки к верхней части держателя

Когда закончите, вот как должна выглядеть юбка.

Юбка корабля на воздушной подушке в сборе

Затем я проделал в полиэтиленовом пакете отверстия, через которые должны пройти болты. Держатель юбки всего на 1 мм меньше корпуса судна на воздушной подушке, поэтому в сочетании с полиэтиленовым пакетом он идеально вписывается в корпус. Для крепления юбки к корпусу я просто прикрутил болты М3 по всему периметру.

Прикрепление юбки к корпусу корабля

С юбкой нужно сделать еще одну вещь: вырезать центральную часть полиэтиленового пакета.

Вырезание из юбки центральной части полиэтиленового пакета

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

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

Закрепление пропеллера на валу BLDC двигателя

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

Прикрепление пропеллера ко второму BLDC двигателю

И всё, наш радиоуправляемый корабль на воздушной подушке наконец-то готов.

Радиоуправляемый корабль на воздушной подушке в собранном виде

Код Arduino для радиоуправляемого корабля на воздушной подушке

Вот код для этого проекта радиоуправляемого корабля на воздушной подушке на базе Arduino, сделанного своими руками:

Описание работы кода

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

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

В разделе цикла (loop) мы считываем входящие данные от передатчика и используем эти значения для управления сервоприводами и бесщеточными двигателями. Итак, входящие данные джойстика, которые варьируются от 0 до 255, преобразуются в значения от 0 до 50, и мы используем эти значения для управления положением сервопривода.

Таким же методом мы управляем бесщеточными двигателями с помощью ESC. Входящие данные от 0 до 255 преобразуются в значения от 1000 до 2000 и с помощью функции writeMicroseconds() мы отправляем эти данные в ESC в качестве управляющего сигнала.

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

Вот и все. Надеюсь у вас не возникнет сложностей при сборке данного проекта.

Видео, демонстрирующее процесс сборки и работу проекта

Источник статьи

(Проголосуй первым!)
Загрузка...
31 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *