Рубрики
Дроны

FPV дрон на Raspberry Pi и Multiwii своими руками

Этот проект представляет собой квадрокоптер, работающий на базе Multiwii и управляемый с помощью платы Raspberry Pi 2 B. Этот квадрокоптер имеет особенность, поскольку он использует 2 разных контроллера и может пилотироваться с помощью 2 разных устройств: пульта дистанционного управления или смартфона.

Контроллер Multiwii следит за 4 двигателями и распределяет питание для их питания, в то время как Raspberry Pi собирает информацию, которая пришла со смартфона, и передает ее на Multiwii. Вы также можете делать с помощью данного дрона фотографии и видео Full HD!!! Камера Raspberry Pi расположена на передней панели дрона. Она может записывать или просто делать снимки на USB-накопитель.

Рама этого квадрокоптера состоит из различных переработанных элементов, и это была еще одна задача: создать квадрокоптер с порой тяжелыми элементами… Но мы это сделали!

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

Также ранее на нашем сайте мы рассматривали проект управляемого по WiFi бюджетного дрона на ESP32.

Шаг 1: Детали

Для сборки нашего квадрокоптера вам понадобятся следующие детали:

  • Рама — вы можете купить ее в Интернете или сделать ее, как мы. Создать свою раму несложно, вам просто нужно сделать X диаметром примерно 0,45 м (для устойчивого квадрокоптера) и разместить разные уровни в центре, чтобы разместить Raspberry, Multiwii, батарею, ESC и т. д.
  • 4 мотора (16€) — Для квадрокоптера вам нужно 4 мотора, но если вы хотите сделать октокоптер, вам понадобится 8 моторов. Мы используем бесколлекторные моторы Turnigy
  • 4 ESC (10€) — Электронный регулятор скорости используется для подачи питания на двигатель с информацией Multiwii. Мы используем Hobbyking 30A ESC.
  • Аккумулятор (27,5€) — Конечно, если вы хотите летать, вам нужно обеспечить питанием свои двигатели, поэтому вам нужен аккумулятор. Мы используем Turnigy 3S 3300mAh
  • Монитор батареи (4€) — Он звонит, когда ваша батарея разряжена. Мы используем монитор батареи Hobbyking 3S.
  • Плата распределения питания (4€) — Эта плата используется для подключения регуляторов скорости к аккумулятору. Мы используем плату распределения питания для квадрокоптера Hobbyking
  • Разъемы 3,5 мм (4,5€) — Для соединений регулятора скорости и моторов.
  • Разъемы 4,5 мм (4,33€) — Для снятия старого разъема распределительного щитка и приваривания нового. 
  • Пропеллеры (5€) — Квадрокоптер с несколькими двигателями, но без пропеллеров это не квадрокоптер, поэтому выбирайте пропеллеры в соответствии с вашей рамой. Для нашей рамы 40 см вам понадобятся пропеллеры с длиной = 10 и шагом = 4,5. Мы используем пропеллеры SF 10×4,5.
  • Multiwii (49€) — Этот контроллер используется для управления моторами и распределения мощности. Мы используем CRIUS AIO PRO Multiwii .
  • Монтажная прокладка (2 евро) — поскольку двигатели создают сильную вибрацию, вам придется купить монтажную прокладку, чтобы уменьшить вибрацию под multiwii.
  • Raspberry pi 2 B (35 евро) — он также может работать с другой моделью Raspberry Pi, но мы только что протестировали его с этой Raspberry Pi, и она мощнее предыдущей версии.
  • Pi camera (19€) — Для записи видео и фото. Может работать только с Raspberry pi
  • Точка доступа Wi-Fi (9 евро) — подключается к Raspberry Pi и создает сеть Wi-Fi для передачи информации из приложения на смартфоне на Raspberry Pi.
  • USB-накопитель — для сохранения видео.
  • Пульт дистанционного управления + приемник RC — Если вы хотите управлять своим дроном с помощью этого. Вам нужно подключить приемник RC к Multiwii.

Вам необходимо приварить разъемы к проводу ESC, к проводу двигателя и к проводу платы распределения питания.

Шаг 2: Как это работает?

Multiwii

Multiwii — французский проект с открытым исходным кодом, основанный на arduino. Проект имеет открытый исходный код, поэтому мы можем найти много видов multiwii. Мы используем похожую версию CRIUS AIO PRO V2. Это контроллер полета: его роль — отправлять сигналы скорости на регулятор скорости, чтобы удерживать квадрокоптер в воздухе. Мы используем проект mutlwii, потому что это известный проект, используемый многими пользователями с большим сообществом, но в основном потому, что такие программы слишком сложны для нас.

Raspberry Pi

В нашем проекте плата Raspberry Pi сыграла главную роль. Во-первых, при запуске она создает частную сеть Wi-Fi с DHCP-сервером (для предоставления IP-адреса), эта сеть Wi-Fi не имеет доступа в Интернет и используется только для связи со смартфоном. Во-вторых, Raspberry Pi запускает программу Python (созданную нами), которая запускает веб-сокет. Веб-сокет — это постоянное соединение между сервером (Raspberry) и клиентом (приложением для смартфона), он будет обслуживать полученные команды от приложения. Затем эта же программа подключается к MultiWii через USB. Он будет отправлять информацию о командах, которые приходят со смартфона на MultiWii (см. схему выше для понимания). Исходники доступны на GitHub — https://github.com/reglisse44/Multiwii-raspberry-drone-server.

Приложение

Приложение сделано на html/css/javascript с помощью cordova. Cordova — это технология, которая позволяет создавать приложения с веб-технологиями, совместимые с android, ios и другими… Пользователь думает, что это стандартное приложение для android, но на самом деле это веб-представление :), веб-разработчикам легко разрабатывать такие приложения… Исходники доступны на github — https://github.com/reglisse44/quadcopterControl.

Шаг 3: Рама дрона

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

Диаметр рамы составляет 0,45 м, поскольку мы хотели получить «стабильный квадрокоптер» для камеры, а не «гоночный квадрокоптер». В центре X есть 3 уровня (возможно, в будущем 4) для размещения контроллеров, ESC и нашей батареи.

Мы создали платформу для multiwii наверху квадрокоптера (рисунок 2) и еще одну для батареи (рисунки 7 и 8) внизу квадрокоптера. Для платформы Multiwii мы хотели поместить Raspberry под multiwii, потому что между ними есть некоторые соединения. Для платформы батареи мы хотели снимать или устанавливать батарею для ее зарядки. Все изображения в следующем шаге…

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

Шаг 4: Движение

Для движения вам понадобятся 4 двигателя, 4 регулятора скорости (для адаптации напряжения к двигателям и управления ими), аккумулятор и, наконец, Multiwii.

  1. Подключите двигатели к регуляторам скорости. Вы можете поменять провода, чтобы поменять направление вращения винтов (см. схему, чтобы узнать направление вращения). Для начала, НЕ ставьте винты на двигатели, чтобы не попасть в аварию, винты хрупкие и могут сломаться.
  2. Подключите ESC к плате распределения питания (соблюдайте цвет).
  3. Если все в порядке, вы можете установить компоненты на раму.
  4. Винт, который у нас был с двигателем, был слишком большим для пропеллеров, поэтому нам пришлось увеличить отверстия в них (см. фотографии)

Шаг 5: Контроллер полета и Raspberry Pi

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

  1. Установите Raspberry Pi с ее поддержкой.
  2. Установите multwii на опору с антивибрационной прокладкой.
  3. Подключите ESC к multiwii с помощью специальных контактов.

Далее мы скомпилируем прошивку multiwii в плату. Для начала подключите плату multiwii к компьютеру через USB.

Чтобы настроить multiwii:

  1. Загрузите прошивку multiwii с https://code.google.com/p/multiwii/
  2. Загрузите программное обеспечение Arduino с https://www.arduino.cc/en/Main/Software
  3. Открытый проект Arduino «Multiwii.ino».
  4. Измените плату Arduino в меню «Инструменты»>«Плата»> «Arduino Mega 2560 или Mega ADK».
  5. Выберите порт в «Инструменты»> «Последовательный порт»> и выберите порт multiwii.
  6. Далее открываем файл «config.h».
  7. Найдите в начале файла строку: «//#define QUADX» и раскомментируйте ее (удалите «//»).
  8. Найдите еще раз строку «//#define CRIUS_AIO_PRO» и раскомментируйте ее.
  9. Все готово, сохраняем файл и запускаем компиляцию.
  10. Далее вам нужно будет откалибровать все датчики с помощью MultiwiiConf, вся эта информация есть в огромном количестве в Интернете.

На данный момент мы не подключаем Multiwii к Raspberry Pi, поэтому, если вы хотите посмотреть на свои моторы в действии, прежде чем настраивать Raspberry Pi и устанавливать их на раму, вам понадобится пульт дистанционного управления с приемником радиоуправления и подключить приемник радиоуправления к Multiwii. Мы не объясним вам, как это сделать, но Google вам в помощь 😉 и сделать это несложно. ( НЕ ИСПОЛЬЗУЙТЕ моторы с их пропеллерами )

Шаг 6: Raspberry Pi

Установка Debian:

Установите операционную систему (OC) на плату Raspberry Pi.

Запустите raspi-config и включите pi-camera

IP-конфигурация

Удалите все настройки wlan0 и измените их на следующие:

Установка Hostapd:

Прежде чем начать, сделайте все обновления:

Установить hostapd:

И протестируйте с минимальной конфигурацией

Если вы видите свою сеть со смартфона, она работает, НО НЕ ПЫТАЙТЕСЬ ПОДКЛЮЧИТЬСЯ (это приведет к ошибке IP, поскольку у нас нет DHCP-сервера)

Установка DHCP-сервера:

Теперь нам нужно установить DHCP-сервер для выдачи IP-адресов клиентам Wi-Fi.

Выполните эту команду для редактирования файла:

Найдите строки, в которых говорится:

и добавьте «#» перед ними, чтобы закомментировать их.

Установите usbmount

Нам нужен usbmount для монтирования USB-ключа. Это нужно для сохранения видео на USB-ключ.

Теперь все usb-ключи должны быть смонтированы в папку «/media/».

Установите программу Python Quadcopter:

Сначала устанавливаем зависимости:

и клонируем проект git

Вы можете протестировать программу, запустив ее следующим образом:

Проверьте это!!:

Предупреждение: на данный момент, если вы хотите запустить программу Python, вам необходимо:

  • pi-камера подключена и активирована в raspi-config;
  • Плата multiwii подключена к USB-порту Raspberry под именем «ttyUSB0» (вы можете проверить с помощью команды «dmesg | grep tty», если ваша multiwii подключена под другим именем, измените его в начале файла «main.py»).

Перед началом перезагрузите ваш Raspberry, чтобы применить все предыдущие установки.

Далее выполните следующие команды:

Объяснение:

  1. «-B» — запустить hostapd в фоновом режиме.
  2. После запуска hostapd ip поменялся (не знаю почему). Так что нужно вручную его настроить.
  3. Перезапустите сервер DHCP, чтобы инициализировать его с новой сетью wlan0.
  4. И запустите скрипт Python.

Автоматизируйте это при загрузке:

Для запуска всех этих команд при загрузке мы используем cronjob и скрипт sh.

Эта команда открывает редактор nano. Напишите это в конце файла:

Выйдите и перезагрузитесь, если все в порядке, все должно запуститься при загрузке!

Видео с демонстрацией работы дрона

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

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