Самодельный летающий дрон с камерой, который следует за вами на автопилоте (на основе Arduino)
В наши дни дроны — это очень популярные игрушки. На рынке можно найти профессиональные летающие дроны и дроны для любителей. У мастера, автора данной статьи, есть четыре беспилотника (квадрокоптеры и гекскоптеры), потому что он любит все, что летает, но 200-й полет не так интересен и становится скучно, поэтому он решил создать свой собственный дрон с некоторыми дополнительными возможностями. Мастер любит программировать на Arduino и проектировать схемы и гаджеты, поэтому он начал его строить. В самоделке использован контроллер полета MultiWii, основанный на чипе ATMega328, который также используется в Arduino UNO, поэтому программирование довольно простое. Этот беспилотник может быть подключен к смартфону на Android, который отправляет свои данные GPS на беспилотник, который сравнивает эти данные с его собственным сигналом GPS, а затем начинает следовать за телефоном. Поэтому, если двигаться по улице, дрон будет следует за вами. Конечно, есть много недостатков, однако дрон следит за телефоном, снимает видео, а также имеет ультразвуковой датчик расстояния, чтобы избежать препятствий в воздухе. Это особенности самодельного беспилотника.
Шаг 1: Основные свойства
Дрон работает почти полностью автоматически, вам не нужно управлять им, потому что он следует за вашим телефоном, который обычно находится всегда с вами, ультразвуковой датчик помогает обходить деревья, здания и другие препятствия, а GPS выдает очень точные данные о местоположении, но давайте посмотрим, что мы имеем в итоге:
— Аккумулятор 1000 мАч, хватает на 16-18 минут непрерывного полета;
— ультразвуковой датчик, чтобы избежать препятствий в воздухе;
— Модуль Bluetooth для получения данных с телефона;
— Микроконтроллер на основе Arduino;
— встроенный гироскоп;
— регулируемая максимальная высота (5 м);
— при низком заряде батареи, дрон автоматически падает на телефон; (желательно держать телефон в руках)
— затраты на постройку дрона около 100 долларов;
— можно запрограммировать на что угодно;
— с помощью GPS можно отправить беспилотник по любым координатам;
— дизайн в стиле квадрокоптера;
— оборудован 2-мегапиксельной видеокамерой 720p HQ;
— весит 109 г;
— Паяльник;
— Клей-пистолет;
— резец;
— Кусачки;
— Супер клей;
— Двухсторонняя клейкая лента;
— Резинки;
— MultiWii 32kB Flight Conroller;
— Модуль последовательного GPS;
— Серийный I2C конвертер;
— Модуль Bluetooth;
— Ультразвуковой датчик;
— Кусок жесткой пластмассы;
— Соломинки из кафе;
— зубчатая передача;
— Двигатели;
— Пропеллеры;
— Винты;
— L293D Motor Driver (это был неудачный выбор драйвера, будет исправлено во второй версии);
— 1000 мАч литий-ионный аккумулятор;
Шаг 3: Сборка пропеллеров
Мастер купил эти пропеллеры с моторами на Алиэкспресс, они являются запасными частями для дрона Syma S5X, но они оказались полезными и для данной самоделки.
Шаг 4: Принципиальная схема
Всегда смотрите на схему во время работы и будьте осторожны со связями.
Шаг 5: Пайка двигателей к драйверу управления
Теперь вам нужно спаять все кабели от двигателей до ИС драйвера двигателя L293D. Посмотрите на картинки, они говорят гораздо больше. Вы должны подключить черный и синий провода к заземлению и положительные провода к выходам 1-4. L293D может управлять этими двигателями, но мастер рекомендует использовать силовые транзисторы, потому что этот чип не может работать со всеми четырьмя двигателями при высокой мощности (более 2 А).
Пожалуйста, обратите внимание на вторую картинку, на которой показано, как оборудовать пропеллеры. Используйте крепкие трубочки-соломинки из кафе и кусок пластмассы для сборки рамы. Используйте немного горячего клея и супер клея для всех четырех винтов, затем проверьте соединения. Очень важно, чтобы пропеллеры находились на одинаковом расстоянии друг от друга.
Шаг 7: Добавление проводов к драйверу L293D
Припаяйте провода к оставшимся контактам микросхемы. Это поможет подключить контакты Arduino к входам / выходам. Теперь пришло время построить схему.
Все модули включены в комплект контроллера полета, который мастер заказывал заранее, так что просто нужно соединить их вместе. Bluetooth идет к последовательному порту, сначала GPS в преобразователе I2C, затем в порту I2C. Теперь данную схему можно установить на свой дрон.
Шаг 9: Крепление электрической цепи к раме
Используйте двустороннюю ленту и сначала добавьте GPS. Эта губчатая лента удерживает все на месте, поэтому приклейте каждый модуль один за другим на пластиковую деталь. По окончанию следует подключить контакты привода двигателей к MultiWii.
Шаг 10: Соединение двух цепей
Входные контакты поступают на D3, D9, D10, D11, остальные должны быть подключены к контактам VCC + и GND.
Мастер использовал несколько резиновых лент, чтобы прикрепить батарею к дрону. Держится довольно крепко.
Шаг 12: Ультразвуковой датчик
Датчик гидролокатора закреплен на дроне резиновой лентой и подключен к контактам D7 и D6 контроллера MultiWii.
Шаг 13: Программирование чипа
Вы должны использовать модуль Serial FTDI для программирования чипа. В комплект чипа входит модуль программатора.
Шаг 14: Программное обеспечение
Мастер не знает, загружено ли программное обеспечение на чип или нет, но здесь он объясняет, что делать. Сначала загрузите официальную библиотеку MultiWii на свой компьютер. Извлеките файл .zip, затем откройте файл MultiWii.ino. Выберите «Arduino / Genuino UNO» и загрузите его на свой чип. Теперь ваш микроконтроллер имеет все предустановленные функции. Гироскоп, свет, Bluetooth и даже маленький ЖК-дисплей (который не используется в этом проекте) работает с загруженным кодом. Но этот код можно использовать только для проверки работоспособности модулей. Попробуйте наклонить дрон, и вы увидите, что моторы будут вращаться из-за гиросенсора. Нам следует изменить код контроллера, чтобы дрон следовал за телефоном.
Если вы можете запрограммировать Arduino или следовать инструкциям мастера, то сможете создать свой собственный дрон, который будет следовать за вами повсюду.
GitHub — ссылка на программное обеспечение
Шаг 15: Изменение кода
Мастеру пришлось изменить код датчиков и контроллера, который давал подсказки для ATMega328, но теперь модуль Bluetooth выдает три GPS-координаты, и в зависимости от них движется дрон.
Шаг 16: Приложение для телефона
Мастер использовал приложение SensoDuino, которое можно загрузить из плей маркет гугла. Подключитесь к дрону через Bluetooth и включите GPS TX и регистрацию данных. После этого приложение телефона готово.
В качестве камеры использована дешевая китайская камера. Эта камера использовалась во многих проектах мастера и всегда показывала отличные результаты. Весит она всего 15 г и может снимать хорошее видео.
Шаг 18: Тестирование .
Расстояние соединения составило около 8 м, что более чем достаточно для такого беспилотника, как этот.
Источник
Гоночный FPV-дрон своими руками (часть 1) — сборка
Сегодня популярность гонок на дронах стремительно растёт. Любительские полетушки перерастают в серьёзные международные соревнования, а количество людей, вовлечённых в это хобби, растёт в прогрессии. Я сам недавно собрал FPV-квадрокоптер 180-го размера (расстояние в мм между осями моторов по диагонали) и спешу поделиться этим опытом.
Полностью процесс сборки и настройки я описал тут и тут, а ниже будет немного изменённая версия, содержащая больше информации из моих предыдущих статей.
Я оставлю за скобками вопрос вхождения в данное хобби и перейду непосредственно к квадрокоптеру.
Выбор размера квадрокоптера
Год назад наибольшей популярностью пользовались квадрокоптеры 250-го размера. Но сейчас пилоты предпочитают собирать аппараты меньшего размера, что весьма разумно: вес меньше, а мощность та же. Я выбрал 180-й размер не из каких-то практических причин, а как некий челлендж по сборке.
На самом деле, такой подход к выбору не совсем правилен. Гораздо разумнее выбирать сначала размер пропеллеров, а уже под них — наименьшую раму, куда влезут выбранные пропеллеры. И при таком подходе 180-й формат вообще отбраковывается. Судите сами: 210-й формат позволяет ставить те же 5-дюймовые пропеллеры, что 250-й, при этом сам квадрик получается легче, а 4-дюймовые пропеллеры влезают и в 160-е рамы. Получается, что 180-й размер — это такой промежуточный формат, который «ни нашим, ни вашим». Его также можно считать утяжелённым 160-м. Но, тем не менее я выбрал именно его. Возможно потому, что это минимальный размер, способный более-менее комфортно тягать камеру GoPro или Runcam.
Комплектующие
Начнём с моторов. «Промежуточность» 180-го размера, а также богатство их ассортимента, осложняют выбор. С одной стороны, можно брать то, что идёт на 160-е, с другой — то, что устанавливают на 210-е или даже 250-е. Исходить надо из пропеллеров и батареи (количество банок). Не вижу смысла использовать батарею 3S, а по пропеллерам общие правила таковы:
- нужна максимальная статическая тяга — увеличивай диаметр пропеллера и уменьшай шаг (в разумных пределах)
- нужна высокая скорость — уменьшай диаметр и увеличивай шаг (в разумных пределах)
- нужна высокая тяга при маленьком диаметре — добавляй количество лопастей (опять же в разумных пределах, так как если разница между двух- и трёхлопастными пропеллерами ощутимая, то между трёх- и четырёхлопастными — не такая большая)
В моём случае я имею ограничение размера пропеллеров в 4 дюйма, но не имею ограничения по моторам. Значит, разумнее всего будет использовать трёхлопастные 4045 пропеллеры bullnose. Их сложно балансировать, но с ними управление отзывчевее и предсказуемее, а звук тише. С другой стороны, с двухлопастными пропеллерами скорость у квадрокоптера выше, но мне этого точно не надо. «В народе» на 180-х рамах преобладают следующие сетапы:
- лёгкий с моторами 1306-3100KV, обычными 4045 пропеллерами и батареей 850mAh
- тяжёлый и мощный под трёхлопастные bullnose пропеллеры и экшн-камеру с моторами 2205-2600KV и батареей 1300mAh
На самом же деле, рама позволяет ставить моторы от 1306-4000KV до 22XX-2700KV. Кстати, не знаю почему, но моторы 1806-2300KV сейчас в опале и мало используются.
Для своего квадрика моторы я взял — RCX H2205 2633KV. Во-первых, хотелось иметь запас по мощности (хотя с моими скромными навыками пилотирования, непонятно зачем). Во-вторых, мои сетапы никогда не получались сверхлёгкими, вдобавок я ещё и экшн-камеру таскать планирую. Конкретно моторы RCX — вариант компромиссный. Они дёшевы, но и нареканий по качеству много. На момент покупки комплектующих это были одни из немногих моторов 2205-2600KV на рынке. Сейчас (на момент написания статьи) ассортимент значительно больше и лучше выбрать что-нибудь другое.
С остальными комплектующими действовал по принципу «больше челленджа»:
- Рама RC180 V2. Недорогая (брендовые аналоги в 2-3 раза дороже), лёгкая, с хорошей компановкой и нижней пластиной 3мм. К сожалению, отдельно запчастей к ней не купить, но, учитывая цену всей рамы, вполне можно купить 1-2 комплекта на запчасти.
- Приёмник FrSky D4R-II. Поначалу хотелось попробовать FrSky X4R-SB, но в этом случае пришлось бы менять модуль на передатчике, а этого делать совсем не хотелось. Забегая вперёд скажу, что разумнее брать версию приёмника без припаянных разъёмов. У себя я всё равно их отпаял.
- Регуляторы FVT LittleBee 20A — недорогие и проверенные, но сейчас уже устаревшие. Когда я их покупал только-только появились в продаже FVT LittleBee 20A PRO на чипе Silabs F396 (та версия, что у меня использует чип Silabs F330), а на момент написания статьи уже принимались предзаказы на FVT LittleBee 20A-S, заточенные под BLHeli_S. Здесь можно почитать о технических стороне регуляторов LittleBee 20A.
- Видеопередатчик Foxeer FX799T — компактный, популярный и с микрофоном.
- Камера Sony Super HAD CCD 600TVL (IR Block, NTSC, объектив 2.8). Можно было и Foxeer XAT600M, но мне нужна без корпуса.
- Держатель камеры Diatone.
- Антенна-«клевер» BeeRotor и кабель-удлинитель.
- MICRO MinimOSD.
- В комплекте с рамой уже есть плата распределения питания, но я не хочу её использовать. Поэтому заказал Matek Mini Power Hub, она намного удобнее. Кстати, при использовании батарей 3S, эта PBD издаёт громкий свист и это никак не лечится.
- Несколько батарей Turnigy nano-tech 1300mAh 4S 45
90C.
Выбор полётного контроллера
Вы наверное заметили, что в списке нет полётного контроллера. Хочу описать его выбор подробнее. В недорогие наборы для сборки часто включают контроллер CC3D, так сейчас это, пожалуй, самый дешёвый ПК. Сегодня нет совершенно никакого смысла покупать CC3D. Он устарел и не имеет таких необходимых вещей, как контроль заряда батареи и «пищалка». Его преемник CC3D Revolution — это уже совсем иной продукт с богатыми возможностями, но и ценой свыше 40€.
Современные полётные контроллеры уже перешли с процессоров F1 на F3, что сделало Naze32 ПК прошлого поколения и ощутимо снизило его цену. Сейчас это поистине народный контроллер, который имеет почти всё, что душа желает при цене от 12€.
Из ПК нового поколения наиболее популярен Seriously Pro Racing F3, причём в первую очередь, из-за наличия недорогих клонов. Сам контроллер ничем не уступает Naze32, вдобавок имеет быстрый процессор F3, большое количество памяти, три UART-порта, встроенный инвертор для S.Bus. Именно SPRacingF3 Acro я и выбрал. Остальные современные ПК не рассматривались из-за цены, либо каких-то специфических особенностей (закрытая прошивка, компоновка и т.д.)
Отдельно отмечу модную ныне тенденцию объединять несколько плат в одну. Чаще всего ПК и OSD или ПК и PDB Я не поддерживаю данную идею за парой исключений. Мне не хочется менять весь полётный контроллер из-за сгоревшей OSD. К тому же, как показывает практика, иногда такое объединение приносит проблемы.
Схема проводки
Понятное дело, что все компоненты, которым нужно питание 5В или 12В, будут получать его от BEC`ов платы распределения питания. Камеру теоретически можно было запитать напрямую от 4S-батареи, благо входное напряжение это позволяет, но ни в коем случае делать этого не стоит. Во-первых, все камеры очень восприимчивы к шумам в цепи от регуляторов, что выразится в помехах на картинке. Во-вторых, регуляторы с активным торможением (такие, как мои LittleBee), при активизации этого торможения, дают в бортовую сеть очень серьёзный импульс, что может сжечь камеру. Причём, наличие импульса напрямую зависит от износа батареи. У новых его нет, а у старых — есть. Вот познавательное видео на тему помех от регуляторов и чем их фильтровать. Так что камеру лучше питать либо от BEC`а, либо от видеопередатчика.
Также, ради улучшения качества картинки, рекомендуется пустить с камеры на OSD не только сигнальный провод, но и «землю». Если скрутить эти провода в «косичку», то «земля» действует, как экран для сигнального провода. Правда в данном случае я этого не делал.
Коли уж зашла речь о «земле», то часто спорят о том, надо ли подключать «землю» от регуляторов к ПК или достаточно одного сигнального провода. На обычном гоночном квадрокоптере однозначно надо подключать. Её отсутствие может привести к срывам синхронизации (подтверждение).
Конечная схема проводки получилась простой и лаконичной, но с парой нюансов:
- питание полётного контроллера (5В) от PDB через выходы для регуляторов
- питание радиоприёмника (5В) от ПК через разъём OI_1
- питание видеопередатчика (12В) от PDB
- питание камеры (5В) от видеопередатчика
- OSD подключил к UART2. Многие используют для этого UART1, но как и на Naze32, здесь этот разъём запараллелен с USB.
- Vbat подключен к ПК, а не к OSD. В теории показания вольтажа батареи (vbat) можно считывать как на OSD, так и на ПК, подключив батарею либо к одному, либо к другому. В чём разница? В первом случае показания будут присутствовать только на экране монитора или очков и ПК ничего не будет о них знать. Во втором случае ПК может отслеживать напряжение батареи, информировать о нём пилота (например, «пищалкой»), а также передавать эти данные на OSD, в «чёрный ящик» и по телеметрии на пульт. Настраивать точность показаний тоже проще через ПК. То есть, подключение vbat к полётному контроллеру намного предпочтительнее.
Сборка
Для начала несколько общих советов по сборке:
- Карбон проводит ток. Так что всё надо хорошо изолировать, чтобы нигде ничего не замыкало на раму.
- Всё, что выступает за пределы рамы, при аварии вероятнее всего, будет сломано или оторвано. В данном случае речь идёт, в первую очередь, о разъёмах. Провода тоже могут быть перерублены винтом, так что и их надо прятать.
- Крайне желательно после пайки покрыть все платы изолирующим лаком PLASTIK 71, причём в несколько слоёв. По собственному опыту скажу, что наносить жидкий лак кисточной намного удобнее, чем покрывать спреем.
- Не лишним будет капнуть немного термоклея на места пайки проводов к платам. Это защитит пайку от вибраций.
- Для всех резьбовых соединений желательно использовать «Локтайт» средней фиксации (синий).
Сборку я предпочитаю начинать с моторов и регуляторов. Здесь хорошее видео по сборке маленького квадрокоптера, с которого я перенял идею расположения проводов моторов.
Отдельно хочется сказать про крепление регуляторов: где и чем? Их можно закрепить на луче и под ним. Я выбрал первый вариант, так как мне кажется, что в этом положении регулятор более защищён (это мои домыслы, не подтверждённые практикой). Вдобавок, при креплении на луче, регулятор отлично охлаждается воздухом от пропеллера. Теперь о том, как закрепить регулятор. Способов много, наиболее популярный — двухсторонний скотч + одна-две стяжки. «Дёшево и сердито», к тому же демонтаж трудностей не доставит. Хуже то, что при таком креплении можно повредить плату регулятора (если ставить стяжку на неё) или провода (если крепить на них). Так что я решил крепить регуляторы термоусадочной трубкой (25мм) и запаял их вместе с лучами. Есть один нюанс: сам регулятор тоже должен быть в термоусадке (мои в ней и продавались), чтобы не соприкасаться контактами с карбоном луча, иначе — КЗ.
Также имеет смысл приклеить по кусочку двухстороннего скотча снизу на каждый луч в месте крепления мотора. Во-первых, он защитит подшипник мотора от пыли. Во-вторых, если по какой-то причине один из болтиков открутиться, он не выпадет при полёте и не потеряется.
При сборке рамы не использовал ни одного болтика из комплекта, так как все они неприлично короткие. Вместо этого приобрёл чуть длиннее и с головкой под крестовую отвёртку (есть такое личное предпочтение).
Камера не помещалась по ширине между боковых пластин рамы. Немного обработал края её платы надфилем (скорее сточил шероховатости) и она встала без проблем. Но сложности на этом не кончились. Мне очень понравилось качество держателя для камеры от Diatone, но камера с ним не помещалась в раму по высоте (примерно на 8-10мм). Сначала я приколхозил держатель на наружной (верхней) стороне пластины через неопреновый демпфер, но конструкция получилась ненадёжной. Позже пришла идея максимально простого и надёжного крепления. Я взял только хомут от Diatone`овского крепления и одел его на отрезок прута с резьбой М3. Чтобы камера не сместилась вбок, я зафиксировал хомут нейлоновыми муфтами.
Очень понравилось, что из разъёмов на ПК пришлось паять только коннекторы для регуляторов. Полноценные трёхконтактные разъёмы у меня не вписывались по высоте, пришлось пойти на хитрость и использовать двухпиновые. Для первых пяти каналов (4 для регуляторов + 1 «на всякий пожарный») я припаял коннекторы к сигнальной площадке и «земле», для остальных трёх — к «плюсу» и «земле», чтобы можно было запитать сам ПК и уже от него — подсветку. Учитывая, что китайские клоны полётных контроллеров грешат ненадёжной фиксацией разъёма USB, его я пропаял тоже. Ещё одним моментом, характерным для клона SPRacingF3, является разъём «пищалки». Как и в случае с vbat, на верхней стороне платы находится двухконтактный разъём JST-XH, а на нижней — он продублирован контактными площадками. Закавыка в том, что у клона «земля» на разъёмe постоянная и при его использовании «пищалка» всегда будет активирована. Нормальная рабочая для «пищалки» «земля» выведена только на контактную площадку. Это легко проверяется тестером: «плюс» разъёма прозванивается с «плюсом» на контактной площадке, а «минус» — не прозванивается. Следовательно, надо припаять провода для «пищалки» к нижней стороне ПК.
Трёхконтактные разъёмы регуляторов тоже пришлось заменить. Можно было использовать четыре двухконтактных штекера, но вместо этого, я взял два четырёхконтактных штекера и вставил в один «землю» всех регуляторов, во второй (соблюдая порядок подключения моторов) — сигнальный провод.
Пластина с подсветкой по ширине больше, чем рама и выступает по бокам. Единственное место, где её не собьют пропеллеры — под рамой. Пришлось колхозить: взял длинные болты, надел на них нейлоновые муфты с предварительно проделанными прорезями (чтоб стяжки, крепящие подсветку, могли зафиксироваться) и вкрутил через нижнюю пластину в стойки рамы. К получившимся ножкам стяжками притянул пластину со светодиодами (отверстия в пластине подходили идеально) и залил стяжки термоклеем. С задней стороны пластины припаял коннекторы.
Уже после сборки, на этапе настройки выяснилось, что с пищалкой что-то не то. Сразу после подключения батареи она начинала монотонно пищать, а если активизировать её с пульта, то на этот монотонный писк накладывался ещё и ритмичный. Я сначала грешил на ПК, но после замера напряжение мультиметром, стало ясно где именно проблема. На самом деле можно было с самого начала подключить к проводам пищалки обычный светодиод. В итоге я заказал сразу несколько пищалок, послушал их и установил самую громкую.
Часто PDB и контроллер крепят к раме нейлоновыми болтами, но я не доверяю их прочности. Поэтому я использовал 20мм металлические болты и нейлоновые муфты. После установки PDB я припаял питание регуляторов (остальные провода были припаяны заранее) и залил места пайки термоклеем. Главный силовой провод, идущий к батарее, я стяжкой закрепил к раме, чтобы его не вырвало в случае аварии.
С приёмника я кусачками удалил все коннекторы, кроме необходимых трёх, а перемычку между третьим и четвёртым каналами пропаял прямо на плате. Как я уже писал выше, разумнее было бы брать приёмник без коннекторов. Также я развернул у него антенны и заплавил в термоусадку. На раме приёмник хорошо поместился между PBD и задней стойкой. При таком расположении хорошо видно его индикаторы и есть доступ к кнопке бинда.
Видеопередатчик стяжками и термоклеем я закрепил к верхней пластине рамы так, чтобы через прорезь был доступ к кнопке переключения каналов и светодиодным индикаторам.
Для крепления антенны видеопередатчика в раме есть специальное отверстие. Но не стоит соединять её с передатчиком напрямую. Получается своего рода рычаг, где одним плечом служит антенна, другим — сам передатчик со всеми проводами, а место крепления разъёма будет точкой опоры, на которую придётся максимум нагрузки. Таким образом, в случае аварии почти со 100% вероятностью разъём на плате передатчика отломается. Поэтому крепить антенну надо через какой-то переходник или удлинитель.
К MinimOSD я решил припаять разъёмы, а не провода напрямую. На форумах пишут, что эта плата нередко сгорает, следовательно разумно сразу подготовиться к возможной замене. Я взял планку с коннекторами в два ряда, нижние припаял к контактным площадкам с отверстиями, а на верхние вывел vIn и vOut. После этого залил места пайки термоклеем и упаковал всю плату в термоусадку.
Последним штрихом является наклейка с номером телефона. Она даст хоть небольшую надежду в случае потери квадрокоптера.
Сборка на этом подошла к концу. Получилось компактно и при этом сохранён доступ ко всем необходимым органам управления. Больше фотографий можно посмотреть здесь. Масса квадрокопрера без батареи составляет 330г, с батареей — 470г. И это ещё без экшн-камеры и крепления для неё. В следующей статье я расскажу о прошивке и настройке получившегося квадрокоптера.
Источник