Шаг 9: Подключаем моторы
Подключаем каждый мотор к его контроллеру скорости, однако перед тем как все окончательно спаять, нужно определиться с тем, какой провод контроллера с каким проводом мотора соединить так, чтобы мотор вертелся в нужном нам направлении. Для этого подключите 3 моторных кабеля к контроллеру скорости в произвольном порядке, затем контроллер скорости к полетному контроллеру через 3 контактный разъем, подключите к полетному контроллеру батарею. Включите радиоприемник, запустите мотор и проверьте в корректном ли направлении он вращается. Повторите это с оставшимися тремя моторами, а когда проверка окончена, кабели можно спаять.
Подключение электроники
Регулятор оборотов iFlight
Теперь займёмся электроникой. Для начала подготовим регулятор оборотов моторов iFlight, четыре в одном. В комплекте к нему есть провод питания с разъёмом XT60 и конденсатор. Всё это нужно припаять к площадками питания на плате регулятора. Не перепутайте полярность. Красный провод – это плюс, а у конденсатора плюс – это длинная ножка. Плюс на плате регулятора отмечен знаком плюса. Конденсатор нужно припаять параллельно питанию.
Провода питания и конденсатор припаяны к регулятору оборотов.
Приёмник Fly Sky IA6b
Теперь нужно взять один шлейф из комплекта контроллера полётов iFlight SucceX-E F4, тот, который состоит из трёх проводов, и на одном конце имеет трёхпиновый разъем, а на другом четырёхпиновый. Этот шлейф придётся модифицировать для того, чтобы подключить к полётному контроллеру приёмник Fly Sky IA6b.
Кстати, использовать нужно именно такую модель приёмника с буквой B в конце. Без буквы B в названии модели не подойдёт, так как он не поддерживает протокол передачи данных iBus, который необходим для подключения к полётному контроллеру.
От шлейфа отрежьте четырёхпиновый разъём. Потом возьмите сервопривод SG-90 и отрежьте от него разъём с небольшим хвостиком проводов (можно использовать любой трёхпиновый разъём дюпоинт-мама). Затем нужно припаять эти разъёмы друг к другу и сделать новый шлейф. Не перепутайте провода: плюс к плюсу – это красные провода, минус к минусу – обычно это чёрный или коричневый провода, а третий провод сигнальный – обычно они жёлтого или оранжевого цвета. Место пайки обязательно заизолируйте с помощью термоусадки.
Переделанный шлейф, чтобы подключить приёмник Fly Sky IA6b.
Ниже будет рассмотрено, как приёмник подключается в полётном контроллеру.
Котроллер полёта iFlight SucceX-E F4
Теперь нужно установить полётный контроллер iFlight SucceX-E F4 на раму. Сначала оденьте на заранее установленные длинные болтики четыре резиновых демпфера из комплекта ПК, затем сверху саму плату ПК, после этого ещё четыре демпфера и сверху плату регулятора оборотов. Скрутите этот стек с помощью четырёх нейлоновых гаек, которые тоже были в комплекте. Демпферы необходимы для гашения вибраций платы, чтобы полёт был более стабильным.
Полётный контроллер и регулятор оборотов установлены на раме.
С помощью шлейфа нужно соединить полётный контроллер и регулятор оборотов по схеме ниже.
Разъём для подключения к полётному контроллеру регулятора оборотов.
Теперь подключите шлейф, который спаяли недавно, к полётнику одним концом, и к приёмнику другим. Схема ниже. Подключать нужно по схеме для протокола sBus. Приёмник будет исправно работать при таком подключении, но по iBus.
Подключение приёмника к полётному контроллеру.
На изображении ниже показана распиновка приёмника IA6B. Подключаться нужно к выделенным трём пинам.
Выделены три пина, к которым нужно подключиться.
Приёмник закрепите на раму с помощью двухстороннего скотча.
Приёмник приклеен на двухсторонний скотч в задней части.
Моторы DSMX MT2204-2300KV
На лучи нужно установить четыре мотора. Моторы выбраны со скоростью вращения 2 300 оборотов на вольт, с посадочным размером 2204. Я собираю коптер по X-образной схеме, в которой одна пара диагональных моторов вращается в одну сторону, а пара других диагональных в противоположную сторону. Резьба на валу моторов тоже разного направления. Те, которые с белыми гайками – имеют обычную резьбу, а с чёрными гайками – обратную. Установите моторы так, чтобы направление их вращения затягивало гайки. Направление вращения моторов X-образного коптера показано на рисунке.
Схема X-образного квадрокоптера.
Моторы прикручиваются к лучам с помощью четырёх болтиков M3 каждый
Обратите внимание, что слишком длинные болты заденут обмотку моторов и испортят её. Болты, которые были в комплекте к моторам идеально подошли
Моторы на лучах рамы.
У каждого мотора есть по три провода. Их необходимо припаять к регулятору оборотов. На регуляторе есть маркировка с номером мотора и по три площадки для каждого мотора.
Моторы припаяны к регулятору оборотов
Видео Stream
Тут было проделано достаточно много работы для подбора необходимых способов стриминга.
HLS сразу отпал, так как задержка была порядка 10 секунд. При желании можно было добиться 5, но это все равно далеко не то, что надо. В управлении крайне необходимо передать видео с минимальной задержкой. Но передачу организовать не сложно, что со стороны Raspberry, что отображение с Android.
RTMP уже будет потяжелее. Проблема в том, что не было особо простого варианта реализации на Android (на момент конца 2017 года). Есть платные варианты, с которыми тоже повозиться, есть многострадальный VLC, который надо компилить с C++ и настраивать, есть уже собранный VLC как библиотека, который тоже из коробки не хотел проигрывать. Если прибавить ко всему, что это было как хобби и делалось в вечернее послерабочее время, когда голова не сильно свежая и времени ±2 часа, то эти варианты я отбросил.
Зато нашел очень даже рабочее решение, которое подходило по моим параметрам. RPi Camera Viewer for Android — решение, которое получает Raw H.264 поток с камеры и отображает на TextureView c использованием нативного MediaCodec. Если честно, то я до конца не раскрутил всю логику отображения, но собрал и чуть модифицировал под себя для использования. Собственно, главным со стороны Android выступает DecoderThread. Он коннектится по IP и порту, декодит поток и отдает в Surface, а в случае обрыва или ошибки идет рекконект каждые 2 секунды.
Со стороны Raspberry команда запуска потока будет следующая:
raspivid -t 0 -w 1280 -h 720 -hf -ih -fps 10 -o - | nc -k -l 2222
Raspivid — команда, которая осуществляет «захват» видео с подключенной камеры (но не USB, а именно подключенной шлейфом). Параметры выбирал методом «научного» тыка. Качество 1280×720, частота кадров 10fps. Безумно мало, но минимальная задержка.
И весь поток, который транслируется с камеры передается без изменений командой Netcat на 2222 порт.
Приложение на Android коннектится к нему и уже обрабатывает видео, отображая на экране.Неделю вечеров пришлось потратить на поиск и тестирование таких простых решений, так как общение с Raspberry для меня было в новизну, как и стриминг с Unix-системы.
Первый полет
Чтобы ваш первый полет не оказался последним для коптера и не обернулся травмой для вас, дадим вам несколько советов.
- Тщательно изучите возможности вашего квадрокоптера и пульта управления. Разберитесь с полетными режимами.
- Летайте только на открытых пространствах вдали от большого скопления людей. Современные квадрокопетры довольно мощные (скорость вращения винтов может превышать 15 000 об/мин) и могут нанести серьезную травму вам и окружающим.
- Не летайте слишком высоко и далеко, есть риск потери сигнала, а, следовательно, и коптера. Рекомендуем настроить решим RTH или Failsafe, в этом случае коптер сможет вернуться домой самостоятельно (при наличие GPS) или самостоятельно приземлиться (если GPS не предусмотрен).
- Не летайте во время сильного ветра, это серьезно усложняет управление квадрокоптером.
- Приобретите маленький комнатный коптер за 20$ и отрабатывайте навыки на нем. На маленьком квадрокоптере можно летать в помещении. Из-за своего веса и размеров такой дрон относительно безопасен.
В завершении несколько видеороликов на тему.
Современные квадрокоптеры способны работать с большим количеством функций и выполнять разнообразные задачи, и одна из наиболее востребованных функций – управление дроном через смартфон или планшет. Причем можно использовать устройства на таких популярных платформах как iOS и Android.
При правильной настройке дрон будет хорошо работать и дистанционно управляться на расстоянии.
Сложность в управлении зависит от такого фактора как характеристики и сложность дрона, ведь на профессиональных квадрокоптерах находиться немало кнопок и тумблеров управления.
А если у вас вполне простой дрон, но имеется необходимость в покупке хорошего пульта для управления? В некоторых случаях такой пульт может оказаться в разы дороже самого устройства. И именно приложение для управления квадрокоптером на Андроид поможет избавиться от лишних трудностей и затрат.
На Андроид также возможно транслировать запись видео и фото, сделанных на коптере при полете. Для настройки и управления полетом придется сказать отдельное приложение.
Среди функций полета доступны следующие:
- выполнение флипов;
- автоматический возврат;
- работа в режиме Follow;
- зависание в воздухе или резкое ускорение.
Также некоторые приложения позволяют не только передавать видео на телефон, но и выводить трансляцию онлайн на канал в Youtube.
Большим преимуществом современных квадрокоптеров считается то, что они адаптированы под программное обеспечение Android и iOS, поэтому теперь не требуется покупать отдельный смартфон под вашу модель дрона.
Но учтите, что программа для управления квадрокоптером может лучше реагировать на управление в зависимости от модели летательного устройства.
Сборка готового комплекта
Больше всего шансов собрать своими руками квадрокоптер у тех, кто действительно этого желает. Чтобы эту задачу упростить до элементарной сборки необходимо обзавестись соответствующим комплектом деталей. Их стоимость в разы ниже, чем у квадрокоптеров в стиле RTF. Причина этому то, что на плечи пользователя возлагается не только сборка конструкции, но и прошивка, калибровка и точная настройка устройства. Главным преимуществом таких комплектов является то, что подбирать мощность моторов, чипов и веса корпуса не приходится.
Также нет смысла беспокоиться о сбалансированности конструкции, что непосредственно влияет на поведение устройства в воздухе. При этом квадрокоптер будет обладать всеми запланированными характеристиками, включая скорость и время полета. Выбирая комплект, можно выбрать, будет квадрокоптер монолитным или разборным, т.е. модульным. Последний вариант больше заинтересует тех, кто хочет иметь достаточно габаритную, но в то же время легко переносимую модель. Стоит отметить, что подобные модели зачастую имеют весьма агрессивный и малопривлекательный дизайн.
Все потому, что в состав комплекта не входит внешний корпус, который выполняет и защитную и декоративную функции. Последовательность сборки подобных конструкций указывается в инструкциях, прилагаемых к комплектам деталей. Обычно сборка таких квадрокоптеров начинается с установки на экзоскелет, выполненный из пластика, металла или карбона, комплектных моторов. Вслед за ними устанавливаются PIN-кабели, выполняющие роль регуляторов мощности для установленных моторов. Далее на корпусе закрепляется приемник сигнала и главный мозговой центр – управляющий модуль.
В завершении сборки устанавливается аккумулятор, фиксаторы, светодиоды и прочие модули, отличающие модель от прочих. На этом пошаговая сборка заканчивается, и начинается все самое интересное, а именно процесс прошивки устройства, его калибровка и тонкая настройка, которая в зависимости от производителя комплектующих может составлять от получаса до трех часов
Важно, чтобы на момент прошивки аккумулятор был полностью заряжен. В противном случае этот процесс может завершиться неудачей
Сборка в несколько шагов
Первым действием является установка управляющей платы, ее размещение должно быть максимально близким к центру платформы из фанеры. Для прикручивания лучей к плате используются саморезы. Чтобы закрепить аккумулятор и посадочные лыжи – можно использовать алюминиевую липкую ленту.
Приемник сигнала устанавливается в непосредственной близости к плате. Для этого вполне подойдет качественный суперклей. Соединение с платой происходит за счет 2-х трехжильных шлейфов, но только когда приемочный канал выполняет те же функции, что и канала на управляющей плате.
Для подключения платы управления нужно ознакомиться с инструкцией.
Следующим этапом является установка двигателей. Необходимо учитывать, что расстояние между краями платформы и осью вращения должно быть эквивалентно друг другу. Также необходимо предусмотреть отверстие для валового хвоста. Подготавливая отверстия, следует просверлить их насквозь на весь квадрат. Это нужно чтобы оценить будет ли вал цепляться за края.
Еще одним этапом сборки становится подключение проводки питания. Для этого процесса используются переходники или клеммы, из которых составляется параллельное соединение 4-х проводов. Также потребуется установка разъемного соединения в месте подключения к проводам батареи питания устройства. Во всех остальных местах производится спаивание для надежности.
Чтобы избежать поломки конструкции во время полета за счет вибрации, порыва ветра, резкой смены направления и т.д. все детали закрепляются при помощи термоусадки, хомутов, саморезов. После этого можно подключать провода драйвера к управляющей плате, и запускать режим тестирования для выявления проблем.
Настройка Raspberry PI сервера
Теперь перейдем к настройке Raspberry PI.
- Качаем последний дистрибутив системы тут.
- Скачиваем и устанавливаем Etcher.
- Вставляем пустую microSD флешку в картридер (тут уже сами думайте, где их взять).
- Открываем Etcher и выбираем zip или img Raspbian, который скачали на первом шаге.
- Нажимаем ’Flash!’
- Ждем окончания установки и извлекаем microSD.
- Вставляем флешку в наш Raspberry.
Для тестов нам будет достаточно «малинки», телефона на базе Android и любого Wi-Fi роутера с доступом к интернет. Если вы любитель консольного общения с устройствами, то вам ничего объяснять и не надо, сами справитесь. Для более ленивых — подключаем монитор, клавиатуру (HDMI и USB порты работают на «ура» из коробки), питание от какого-то USB-microUSB и грузим систему
Важно помнить, что на все двигатели подаем 12V, а на Raspberry — 5V. Также важно, если выключить резко питание на малину — может побиться операционная система (связано это с памятью самого устройства)
Так что лучше подумать о бесперебойности.
Подключаем к сети Wi-Fi, и в целом система готова. Я бы советовал настроить ваш роутер и дать static IP адресс для малины, ибо подключаться будем именно по IP.
Если вы уже работали с Linux, то дальнейшие действия вам будут не дики. Самым простым способом создать серверное приложение будет NodeJS. Разобраться, что да как не составляет труда, так как в Гугле еще никого не банили. Открываем терминал и поехали:
sudo apt-get update sudo apt-get dist-upgrade sudo apt-get install -y nodejs
И проверочно запускаем , дабы точно понять, что все установилось.
Можно сразу слить весь проект с репозитория и запустить (ссылка будет в конце статьи), но разве мы здесь ради этого собрались? 🙂 Теперь создаем папку нашего проекта и переходим в нее и инициализируем проект: . Установщик спросит название и индекс файл — укажем .
После инициализации ставим express: . И создаем файл app.js: .
Для тех, кто работает с GUI (моник и клава), советую поставить Atom. В нем очень даже удобно писать js-код. Для остальных — Vim, Nano, MCEdit (и сами знаете).
Далее добавляем код в app.js и сохраняем файл:
'use strict'; const express = require('express'); const net = require('net'); const app = express(); const server = net.createServer((socket) => { socket.on('data', (data) => { var command = data.toString(); console.log(err); }); }).on('error', (err) => { console.log(err); // handle errors here // throw err; }); server.timeout = 0; // grab an arbitrary unused port. server.listen(49655, () => { console.log('opened server on', server.address()); });
И запускаем из консоли в папке(!!) drone. Теперь у вас крутится сервер, который слушает подключения на 49655 порт. Запомним: наш локальный IP (ifconfig в консоли) и все подключения будем производить на IP:49655.
Сейчас давайте усложнять конструкции 🙂
Органы управления
Управляется квадрокоптер с аппаратуры (пульта) или по-другому — передатчика. Для того чтобы управлять полетом коптера достаточно четырехканального пульта, который, обычно, идет в комплекте с коптером. Любой передатчик имеет два джойстика или стика управления. Эти стики отвечают за управление перемещением квадрокоптера в пространстве. Перемещается квадрокоптер по трем осям: тангаж (pitch), крен (roll), рыскание (yaw). На каждую ось — свой канал, плюс отдельный канал на газ (Throttle). Итого 4 канала.
Левый стик:
Подъем или газ (Throttle up) и спуск или тормоз (Throttle down) – набор высоты коптером или спуск;
Рыскание влево/вправо (Yaw left/right) – поворот коптера вокруг своей оси влево или вправо;
Правый стик:
Тангаж вниз/вверх (Pitch down/up) – нос квадрокоптера будет опускаться или подниматься;
Крен влево/вправо (Roll left/right) – коптер будет крениться влево/вправо.
Существует несколько раскладок стиков, самые распространенные это mode 2 и mode 1. Отличия в раскладках заключаются в расположении газа (Throttle) и тангажа (pitch). В mode 2 – газ на левом стике, тангаж на правом, в mode 1 – наоборот.
Raspberry PI Flashlight control
Потихоньку продолжаем наращивать функционал и на этот раз займемся светодиодами. У нас есть два XHP-50 диода и драйвер-контроля (см. раздел ). Они очень хорошо греются, поэтому без радиаторов использовать их никому не рекомендую. На том же сайте, благо, они есть. Главное, не напутать с размером.
Итак, прикручиваем диоды на радиатор, паяем минус одного к плюсу другого (на них есть маркировка) и припаиваем минусовой и плюсовой провода:
Далее смотрим на наш контроллер и тоже паяем.
Питание — 12V плюс и минус, можно запитаться тем же, чем и питаем двигатели. Выводы на диод соединяем с ранее припаянными соответственно L- к минусу, L+ к плюсу. Аналоговый контакт (А) в данной реализации не нужен, оставляем пустым.
Теперь нас интересует цифровой вход (D) и земля (G). Коннектим цифру (D) на GPIO 11 и землю на многострадальный GND (любой, можно один). Теперь возвращаемся к нашей Raspberry PI, создаем файлик light.js и добавляем следующее:
//Наша знакомая библиотека const Gpio = require('pigpio').Gpio; //Создаем Gpio для нашего пина const light = new Gpio(11, {mode: Gpio.OUTPUT}); // Значение можно ставить от 0 до 255 (из доков по драйверу светодиода) const LIGHT_MIN = 0; const LIGHT_MAX = 255; //Нужно будет для вычислений const LIGHT_DIAPASONE = LIGHT_MAX - LIGHT_MIN; //Выключаем светодиод изначально (система стартует с включенными на максимум светодиодами) light.pwmWrite(LIGHT_MIN); //Экспортируем методы работы module.exports.light = { on: () => { //Передаем на драйвер значение 255 light.pwmWrite(LIGHT_MAX); }, off: () => { //Передаем на драйвер значение 0 light.pwmWrite(LIGHT_MIN); }, //Здесь принимаем значение в процентах от 0 до 100 set: (val) => { if(val < 0 || val > 100) return; //Вычисляем значение исходя из процента val = Math.round(LIGHT_MIN + LIGHT_DIAPASONE / 100 * val); console.log("Light:"+val); //Передаем на драйвер значение light.pwmWrite(val); } }
Запустить можем из нашего app.js так же, как и engines:
const light = require('./light.js').light; light.on(); light.off(); light.set(50);
Видеодемонстрация готового решения:
Если понять главную идею, то все предельно просто: подключил, подал сигнал, смотришь результат. Грубо говоря, это весь функционал контроля, который нам нужен для активизации элементов. Но все это бесполезно без какого-то контроллера, который и будет включать/регулировать все это, а это говорит о том, что надо построить коммуникацию между сервером и клиентом. Значит придумаем протокол 🙂
Студенты сделали беспилотник
Первыми задачами студенческого конструкторского бюро является развитие научно-технического творчества студентов и молодежи. Студенты конструируют не только сами схемы, но и их начинку, то есть те мозги, которые являются интеллектуальной начинкой всех этих технических систем. В этом видео представили самодельный летательный аппарат — беспилотник.
В СКБ долгое время разрабатывалось система передачи информации на большие расстояния, это 300-400 км. Хотим управлять этим беспилотником на расстоянии 300 км. Что для этого делаем? Поднимаем еще несколько беспилотников между ними, и они осуществляют ретрансляцию сигналов, то есть для решения этой задачи были разработано специальное оборудование, которое протестировали на этом беспилотном летальном аппарате.
Вы видите антенну, которая осуществляет прием и передачу информации. Внутри автопилот, который удерживает самолет по определенному курсу.
Был разработан беспилотный летательный аппарат, но по форме напоминающий летающую бочку или ведро втулку. Он имеет профиль крыла, внутри устанавливается двигатель и пропеллер. Рули, которыми осуществляем стабилизацию во время полета. Когда не нужно зависать на месте, а передислоцироваться быстро, он может ложиться на крыло и по сути летит как реактивная бочка. За счет того что винт защищен вы можете допустим спокойно с помощью этого устройства осматривать здания.
Инициатором построения квадрокоптеров был студент первого курса Павел Сидоренко, он строил квадрокоптеры разных схем и отрабатывал систему пилотирования. Встал вопрос о квадрокоптере для реального применения, например для аэро фото, и кино съемки. Сейчас он имеет настроенный автопилот и систему аэро- кино- съемки. Он ориентируется по GPS навигатору, прокладывает свой маршрут и может вернуться в точку вылета. Съемка пейзажей, строений, кадастровые объекты можно фотографировать. Также наблюдения за территориями можно проводить с помощью этого аппарата. Ну и военные структуры. Например, охрана границ, каких-то складов.
На базе СКД делаем 3D-принтеры, печатать он может подобные пластиковые детали, достаточно сложные по конструкции. Прелесть еще данной технологии то, что она в свободном доступе, как Linux система. То есть любой желающий может взять исходники и на свое усмотрение дорабатывать. Доработками делиться с сообществом. Делается деталь в 3D-редакторе, потом соответственно добавляется в специальную программу, которая разбивает 3D-модели на слои, принтер по командам программы наносит слой за слоем. Все, что можно смоделировать, можно напечатать.
Тема мобильных ретрансляторов. В СКБ была разработана еще специфическая вещь, похожая на летающую тарелку. Мобильный ретранслятор, который поднимается в воздух в быстрые воздушные слои 15-20 км и там зависает. Сверху ретранслятор будет обклеен солнечными батареями.
Самодельная летающая тарелка
Чтобы летающая тарелка оставалась на месте, приготовлены ушки, они расположатся по краям.
Серийное производство квадрокоптеров в KLONA
Любительское моделирование подходит в качестве хобби, но если у вас есть идея и работающий прототип квадрокоптера, мы поможем наладить серийное производство дронов. Этапы налаживания производства в КЛОНА состоят из таких шагов:
Создание 3D-модели. Если у вас уже есть наработки, мы используем их, если они отсутствуют, то мы возьмем вашу идею и приступим к реализации.
После всех этапов разработки модели, мы утвердим ее и напечатаем. Полученный прототип корпуса потребуется доработать.
Тестирование. Потребуется понять, способен ли квадрокоптер выполнять все задуманное, хорошо ли работают механизмы, что отвечают за полет, не перегревается ли аккумулятор.
Правки, изготовление нового корпуса и пресс-формы.
Печать нескольких корпусов и проверка работоспособности пресс-формы.
Запуск серийного производства.
На каждом этапе могут требоваться доработки, поэтому мы перестраховываемся и тестируем модель, а не делаем пресс-форму с первого прототипа.
7 (499) 112 08 50