Представляем Вам проект квадрокоптера работающий на платформе Multiwii и контролируемый с помощью Raspberry Pi 3 B. Этот квадрокоптер имеет особенность - он использует 2 разных контроллера, и он может пилотироваться с двух различных устройств: дистанционным управлением или смартфоном.
Контроллер Multiwii следит за 4-мя двигателями и распределяет мощность, тогда как Raspberry Pi собирает информацию, которая поступает со смартфона и передает их в Multiwii. Вы также сможете делать снимки и видео в Full HD! Камера Pi находится на спереди дрона. Возможна запись полета или создание снимков на USB флешку.
Рама этого квадрокоптера изготовлена из различных переработанных элементов, задача была: собрать квадрокоптер с иногда тяжелыми элементами ... Но мы сделали это!
Мы – это несколько молодых французских студентов, и это было наше первое творение. Проект мы назвали - Drone Pi
Шаг 1: Детали
• Рама - Вы можете купить ее в Интернете, или вы можете сделать ее как мы. Нетрудно создать свою раму, Вам просто нужно сделать X размером приблизительно 0,45 м (для стабильного квадрокоптера), и Вы разместите многоуровневую платформу по центру, чтобы поместить туда электронную начинку.
• 4 мотора (19,52 $). Для квадрокоптера Вам нужны 4 двигателя, но, если вы хотите сделать октокоптер, Вам понадобятся 8 двигателей. Мы используем бесколлекторные двигатели. (мы вернемся к моторам на шаге 2) • 4 ESCs (35.50 $). Электронный регулятор скорости использует для подачи питания на двигатель с информацией о Multiwii. Мы используем 30A ESC.
• Аккумулятор (22,10 $) – Что бы летать, Вам понадобилась батарея. Мы используем 3S 3300mAh.
• Монитор заряда батареи (1.71 $) - он отображает уровень заряда аккумулятора.
• Распределительная плата питания (3.77 $). Эта плата используется для подключения ваших ESC к аккумулятору.
• Т - Разъемы (2 $) - для соединения esc с платой.
• Разъемы 3,5 мм (3.27 $) - для соединения esc и двигателей.
• Пропеллеры (16,79 $) - квадрокоптер с двигателями, но без пропеллеров не является квадрокоптером, поэтому выбирайте свои комплектующие в соответствии с вашей рамой. Для нашей рамы 40 см Вам понадобятся пропеллеры с длиной = 10 и шагом = 4,5. Мы используем 10x4,5 SF.
• Multiwii - этот контроллер использует для управления двигателями и распределения мощности. Мы используем CRIUS AIO PRO Multiwii. Или можно заменить на FTDI FT232r Basic Breakout USB-TTL 3.3v 5v For Arduino Pro Mini MWC MultiWii + - CRIUS MultiWii Standard Edition Flight Controller MWC SE V2.5 for Multicopter
• Монтажная панель (3.40 $). Поскольку двигатели создают большую вибрацию, вам нужно купить какую-нибудь монтажную площадку, чтобы уменьшить тряску их при использовании multiwii.
• Raspberry pi 3 model (39,57 $) - Она также может работать с другой моделью малины pi, но мы только что протестировали ее с помощью Raspi, и она более мощная, чем предыдущая.
• Камера Pi (6.40 $) - для захвата видео и фотосъемки. Его можно запустить только с помощью малины pi
• Wifi адаптер (3,66 $) - он подключается к Raspi и создает сеть Wi-Fi для передачи информации из приложения смартфона в Raspi, использование внешнего модуля для лучшего уровня сигнала.
• USB-флешка - сохранение видео
• Дистанционное управление + приемник rc - Если вы хотите контролировать свой гул с этим. Вы подключите приемник rc к Multiwii
Шаг 2: Принцип работы
The multiwii
Multiwii - проект с открытым исходным кодом, основанный на Ардуине. Проект является с открытым исходным кодом, поэтому мы можем найти много видов multiwii. Мы используем версию similare CRIUS AIO PRO V2. Это контроллер полета: его роль заключается в отправке сигналов скорости в esc, чтобы удерживать квадрокоптер в воздухе. Мы используем проект mutlwii, потому что это известный проект и используется многими пользователями с большим сообществом, но главным образом потому, что такие программы слишком сложны для нас.
Raspberry Pi
В нашем проекте Raspberry Pi играет главную роль. Сначала при включении он создает Wi-Fi сеть с DHCP-сервером (для предоставления IP-адреса), эта сеть Wi-Fi не имеет доступа в Интернет, и это только для связи со смартфоном. Во-вторых, он запускает программу на python (созданную нами), которая запускает Websocket. Websocket - это постоянная связь между сервером (Raspberry Pi) и клиентом (приложение для смартфона), он будет обрабатывать полученную команду из приложения. Затем эта же прогамма подключается к multiwii через USB. Он будет служить для отправки команд информации, которые поступают со смартфона в multiwii (см. Схему для понимания). Источники доступны на github (https://github.com/robotoss/Multiwii-raspberry-drone-server )
Приложение
Приложение с помощью html / css / javascript с кордовой. Кордова - это технология, которая позволяет создавать приложение с веб-технологиями, совместимыми с Android, ios и многое другое ... Пользователь считает, что это стандартное приложение для Android, но на самом деле это веб-интерфейс :), легко разрабатывать приложения, подобные этому для web devellopers ... Источники доступны в github (https://github.com/reglisse44/quadcopterControl)
Шаг 3: Рама
Чтобы сделать хорошую раму, Вам нужно использовать самые легкие материалы, какие только сможете достать. Для нашего Drone Pi мы взяли перерабатываемые, поэтому наша рама получилась немного тяжелой, но в любом случае это не имеет значения для наших двигателей.
Диаметр рамы составляет 0,45 м, потому что нам нужен «стабильный квадрокоптер» для съемки, а не «гоночный квадрокоптер». В центре X - 3 уровня (возможно, 4 в будущем), чтобы поставить контроллеры, ESCs и нашу батарею (с подробными чертежами Вы можете ознакомиться выше на фотографиях).
Мы создали платформу для multiwii на верхней части квадрокоптера (рисунок 2), а другая - для батареи (рис. 7 и 8) на нижней части квадрокоптера. Для платформы Multiwii мы хотели поставить Raspberry Pi под multiwii, потому что между ними есть соединения. Для платформы батареи мы хотели взять или снять аккумулятор, чтобы зарядить его. Все фотографии находятся в следующем шаге ...
Наконец, мы смонтировали 4 ножки в квадрокоптер, чтобы иметь возможность приземлиться, но они не очень и плохи.
Шаг 4: Силовая установка
Для движителя Вам нужны 4 двигателя, 4 ESC (для адаптации напряжения к двигателям), аккумулятор и, наконец Multiwii.
- Подключите свои двигатели к вашим ESC. Вы можете инвертировать провод, чтобы инвертировать вращение ваших винтов (см. Схему, чтобы знать направление вращения). В начале, не устанавливайте пропеллеры на двигатели, так как пропеллеры хрупкие и Вы можете их случайно разбить.
- Подключите ESC к распределительной плате (соблюдайте цветность).
- Если все в порядке, вы можете установить компоненты на раму.
- Винты, которые шли в комплекте с двигателем, были слишком большим для пропеллеров, поэтому мы увеличили отверстие для винта.(см. Фотографии)
Шаг 5: Контроллер полета и Raspberry Pi
Теперь мы установим multwii и Raspberry Pi. Для установки двух компонентов в одном и том же месте мы сделали опоры, которые позволяют установить multwii поверх Raspberry Pi, (см. Рисунок).
- Установите Raspberry Pi с опорами
- Положите multwii на опору с помощью антивибрационной подушки
- Подключите ESCs к multiwii с выделенными контактами
Затем мы скомпилируем прошивку multiwii в плату. Чтобы подключить плату multiwii к компьютеру через USB
Чтобы настроить multiwii:
- Загрузите прошивку multiwii с https://code.google.com/p/multiwii/
- Загрузите программное обеспечение arduino с https://www.arduino.cc/ru/Main/Software
- Открытый проект arduino «Multiwii.ino»
- Измените панель arduino в "Tools">"Board">"Arduino Mega 2560 or Mega ADK"
- Выберите порт в "Tools">"Serial Port"> И выберите порт multiwii.
- Затем откройте файл «config.h»
- Найдите в начале файла строку: «// # define QUADX» и раскомментируйте ее (удалите «//»)
- Повторите поиск строки «// # define CRIUS_AIO_PRO» и раскомментируйте ее.
- Все готово, сохраните файл и запустите компиляцию
- Затем вам нужно будет откалибровать весь датчик с помощью MultiwiiConf, Учебное пособие -
В на данном этапе мы не подключали Multiwii к RasPi, поэтому, если Вы хотите посмотреть на двигатели в действии, прежде чем настраивать Raspberry Pi на раме, Вам понадобится пульт дистанционного управления с приемником rc не забудте подключить rc приемник к Multiwii. Мы не объясним Вам, как это сделать, подробные схемы есть в google;), Это не сложно. (Не используйте двигатель с пропеллерами)
Шаг 6: Raspberry Pi
Установка Debian:
Установите raspbian с помощью noobs, следуя этому руководству: www.raspberrypi.org/help/noobs-setup/
Запустите raspi-config и включите pi-камеру
Конфигурация IP
sudo nano /etc/network/interfaces
удалите всю конфигурацию wlan0 и отредактируйте это:
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.10.1
netmask 255.255.255.0
gateway 192.168.10.1
Установка Hostapd:
Перед началом выполните все обновление:
sudo apt-get update && sudo apt-get upgrade
Установите hostapd:
sudo apt-get install hostapd
И протестируйте с минимальной конфигурацией
sudo hostapd hostapd.conf
Если Вы увидели свою сеть у вас на смартфоне, то она работает, НО ВЫ НЕ СМОЖИТЕ К НЕЙ ПРИСОЕДИНИТЬСЯ (ошибка соединения будет из-за ip, потому что у нас нет DHCP-сервера)
Установка DHCP-сервера:
Теперь нам нужно установить DHCP-сервер для предоставления IP-адреса Wi-Fi-клиентам.
sudo apt-get install isc-dhcp-server
Запустите эту команду, чтобы отредактировать файл:
sudo nano /etc/dhcp/dhcpd.conf
Найдите строки, которые говорят
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
и добавьте «#» перед ними, чтобы закомментировать их
Установка usbmount
Нам нужен usbmount для установки USB-флешки. Это необходимо для сохранения видео на USB-флешку.
sudo apt-get install usbmount
Теперь все usb должны быть установлены в папке «/ media /»
Установите программу Python quadcopter:
Сначала установите зависимости:
sudo apt-get install python-pip build-essential python-dev
sudo pip install tornado
и клонируйте проект git
git clone https://github.com/robotoss/Multiwii-raspberry-drone-server.git multiwiiControll
Вы можете протестировать программу, выполнив следующие действия:
Проверьте это !!:
Предупреждение: на данный момент, если вы хотите запустить программу python, вам необходимо:
- Pi-камера - подключенная и активирована в raspi-config
- Плата multiwii подключена к порту USB Raspberry Pi как имя «ttyUSB0» (Вы можете проверить с помощью команды «dmesg | grep tty», если ваш multiwii связан с другим именем, измените его в начале файла - ”main.py”)
Прежде чем начать перезагружать свой Pi, выполните все предыдущие установки.
Далее следуют следующие команды:
sudo hostapd -B /etc/hostapd/hostapd.conf
sudo ifconfig wlan0 192.168.10.1
sudo service isc-dhcp-server restart
sudo python multiwiiControll/main.py
Объяснение:
- «-B» - что бы запустить hostapd в фоновом режиме
- После запуска hostapd, ip изменяется (я не знаю почему). Поэтому нам нужно установить его вручную
- Перезапустите сервер dhcp, чтобы запустить его с новой сетью wlan0
- И запустите скрипт python
Автоматизация этого при загрузке:
Чтобы запустить все эти команды при загрузке, мы используем cronjob и sh-скрипт.
sudo crontab -e
Эта команда открывает редактор nano. Напишите это в конце файла:
@reboot /home/pi/multiwiiControll/autostart.sh
@reboot sudo python /home/pi/multiwiiControll/main.py &
Выход и перезагрузка, если все в порядке, все должно запускаться при загрузке!
Шаг 7: Финал !!!
Если у вас есть какие-либо вопросы, вы можете оставить комментарий и поблагодарить наших инструкций :).