MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр

MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр Лодки

Digitrode

Управлять квадрокоптером – это веселое и интересное занятие. Интереснее может быть только создание своей системы управления такой игрушкой на базе какой-нибудь популярной платформы, например, Arduino. Чем и занялся энтузиаст под ником Dzl. Первым делом он разобрал пульт дистанционного управления для того, чтобы посмотреть, какая радиосистема в нем используется.

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

Радиосвязь обеспечивалась небольшим дискретным радиомодулем. После дополнительного анализа и поиска в интерненте выяснилось, что модуль основан на микросхеме передатчика BK2421, работающего в диапазоне 2.4 ГГц. Сегодня, в принципе, большинство дешевых игрушек с радиоуправлением основаны на этом модуле.

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

Благодаря «прослушке» с помощью Arduino UNO стал понятен порядок инициализации и режим связи. имеется порядок инициализации.

Не вдаваясь в подробности низкоуровневой коммуникации, при включении пульта и квадрокоптера происходит следующее:

1. Пульт передает свой уникальный сетевой адрес или ID

2. Квадрокоптер принимает эту передачу, подтверждает ее и начинает прослушивать канал с данными от этого ID

3. После подтверждения пульт начинает передавать пакеты данных каждые 20 мс

Можно управлять одновременно несколькими квадрокоптерами, назначив им разные адреса. Передача ID проходит по одному фиксированному каналу, и данные передаются по одному из 12 случайных каналов. Квадрокоптеры автоматически сканируют радиоканалы, пока не найдут данные.

Данные передаются в пакете, состоящем из 8 байт, в следующем формате:

Байт 0 = throttle (газ) 0-255 Байт 1 =Yaw (рыскание) 0-255 Байт 2 =Yaw_trim (подстройка Yaw) 0-128 Байт 3 = Pitch (тангаж) 0-255 Байт 4 = Roll (крен) 0-255 Байт 5 = Pitch_trim (подстройка Pitch) 0-128 Байт 6 = Roll_trim (подстройка Roll) 0-128 Байт 7 = Fly/run 0=fly, 16=run

Затем была создана базовая станция, которая должна связываться квадрокоптерами. В качестве модулей использовались RFM-70, содержащие ту же микросхему BK2421. Следует отметить, что выводы BK2421 толерантны к 5 В, поэтому дополнительные резисторы для 3.3 В можно не ставить.

Для подключения одного и более квадрокоптеров к Arduino была написана специальная библиотека. Эта библиотека должна работать с любыми платами Arduino на базе чипов ATMEGA88 — ATMEGA328P. И в конце видео работы:

Авиамодельная фурнитура

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

  1. Комплект из недорогого двигателя HobbyKing Donkey S3007-1100kv и регулятора (тяга около 920 грамм);
  2. Аккумулятор Turnigy 2200mAh 3S 20C Lipo Pack (хватит на 20 минут полета);
  3. Приемник передатчик Hobby King 2.4Ghz 6Ch V2 (дальность действия около 1 километра при условии, что никаких помех рядом нет);
  4. Сервомашинки в количестве 4 штук (предназначены для управления закрылками и так далее);
  5. Воздушный винт 9×5;
  6. Потолочные плитки (пенопласт).

Ниже вы увидите как выглядят компоненты…

В общем все это обойдется вам в 3 000 рублей,. Мотор с регулятором стоит около 600 рублей, приемник передатчик около 1400 рублей, воздушный винт 100 рублей, сервомашинки по 89 рублей каждая, а аккумулятор не дороже 600 рублей хотя все зависит в каком магазине все это вы заказываете.

Цены указаны на момент написания статьи и могут несколько отличатся. За последний год я видел тендецию только к снижению, но… может случится и обратное. Еще одно — доставка на все, что я тут выложу, как правило бесплатная. Но так как я живу на Украине, то для жителей других стран это может быть не так (очень редко, как правило). В таком случае — либо пишите о проблеме в комментах (постараюсь помочь), либо ищите по ключевых словах похожее.

Рекомендую подписаться на группу Вконтакте, где постоянно будет выкладываться что-то новенькое на авиамодельную тематику с Aliexpress.

Набор из 20 петель. Брать можно самые мелкие 15х27мм. Но лучше взять и тех и тех по 20шт. Я серьезно

Цена $2.44 за 20шт.

Кабанчики, 10 штук. В комплекте с насадками на тяги.  Цена $1.46 за 10шт.

Кит-набор «Шасси для самолета на радиоуправлении»

Есть в двух вариантах: Tricycle gear — трехточковое шасси, т.е. с носовым управляемым колесом, и Taildragger — с хвостовым управляемым колесом

Цена за комплект $4.99

Со временем буду добавлять сюда и другие полезные мелочи

Детский планер. переделываем в радиоуправляемый самолёт.

За последний год в России продано более миллиона таких планерочков. И возможно, пол миллиона пап и мам, услышали вопрос от сына или дочери.

— Пап, а что будет, если к планеру моторчик прикрутить, он далеко полетит?

На этот детский вопрос я постараюсь ответить в статье. Итак, встречайте переделку самой массовой авиамодели в истории России — метательного планера в радиоуправляемый самолет.

MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
В июне, когда я вышел на работе на перекур я заметил, как на детской площадке через дорогу пацан лет 7-8 кидает симпатичный планерок из ЕПП. Меня тут же посетила мысль, а откуда он его взял? Вряд ли его родители дошли до того уровня, что все можно купить на АЛИ, авиамодельных магазинов по близости не было. И очень мало вероятно, что он с папой посещал один из них. Загадка природы, однако.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Через пару недель я обнаружил, что похожий самолетик продается в газетном киоске на Октябрьском поле. Через месяц я заглянул в десяток киосков по дороге на работу — самолетики были вывешены на стекло в 7 из них. Это означало, что они пользуются хорошим спросом. Кто-то очень не глупый привез ну очень большую партию этих игрушек, да еще и умудрился без рекламы пропихнуть их на газетный рынок. Применив секретную арифметическую формулу, я прикинул, что только в Москве за лето этих самолетиков было продано минимум тысяч 300, а то и больше… Получалось, что этот безымянный китайский планерочек стал самой массовой авиамоделью в России.
Отказать себе в удовольствие, сделать из САМОГО массового планера модель не убиваемого радиоуправляемого самолета, я не смог.
В конце августа, возвращаясь с работы, на Савеловском вокзале я наткнулся на мужика, который торговал с рук этими игрушками, видимо, не от хорошей жизни. Цена в 300 рублей показалась мне адекватной и я приобрёл у него игрушку.

Потом в киоске я видел похожую модель за 546 рублей. Тут меня бесы подбили зайти на Али-экспресс и сравнить цены. Мой планерок стоил там около 3 баксов, за 582 рубля, я заказал 4 модели. Две с размахом крыльев 48 см и две с размахом крыльев 34 см. Зачем мне это надо, легко отвечу – планерочек очень хороший подарок на день рождение кому-нибудь из моих коллег. Они с удовольствием покидают его со своими детьми.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Немного о самой модельке. Модель очень компактна — продается в разобранном виде, собирается за полминуты, вставляете крыло в фюзеляж и полетели.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
В пластмассовой кабине находится светодиодная мигалка с батарейками.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Включив бортовую иллюминацию планер прикольно покидать его в сумерки.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Сначала планер немного покидал на даче, чтобы убедиться, что он действительно летает. Убедился, игрушка планирует. Идеальное развлечение для гостей на даче, после шашлыка и коньяка покидать планерок друг другу. Планер лёгкий, стекло машине не разобьёт, это точно.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Сломать его даже после коньяка НУ очень сложно. Было проведено несколько тестовых запусков планера в кирпичную стену.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Ни стена, ни планер не пострадали.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Так же вечером, планер покидали с включённой иллюминацией. Замечательно, сразу найти его в темноте легко, хорошо видно место приземления.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
До кучи поснимал ночные полёты металки в режиме «фриз лайт». Гостей, для проверки их реакции на новое развлечение, я так не дождался, руки чесались начать переделку игрушки.
Запаса комплектующих должно было хватить, несколько лет назад мне всё хотелось сделать сверх лёгкую модель весом менее 100 граммов, вот и назаказывал всякой мелочи. Но тогда я смог уложиться только в узаконенные 250 граммов. Так, что был шанс воплотить 100 граммовую мечту.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Для начала взвесил планер, 44 грамма.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
С выбором материала, из которого будут изготовлены рули и элероны заморачиваться не стал, был 5-и миллиметровый депрон – подложка под ламинат. Продается в Оби или Леруа. Потолочная плитка лежала в дальнем углу мастерской – за ней не полез.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Для начала займёмся укреплением крыла. Вклеиваем 3-х мм-ю карбоновую трубку на расстоянии 2-3 см от передней кромки крыла. Сначала делаем два параллельных надреза на глубину 3 мм, после этого подрезаем пенопласт, чтобы получилась канавка.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Обильно смазываем трубку клеем и вминаем её в канавку. Лишний клей скатываем катышками.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Вырезаем рули и элероны. Прикинул размеры, разметил ручкой на депроне заготовки. Вырезал по металлической линейке. Депрон хорошо режется обычным канцелярским ножом. Не надо никаких сверх острых скальпелей покупать.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Теперь чурбачком, который завернут в мелкую шкурку доводим заготовки до округлой формы (более или менее обтекаемой). Теперь ищем в бардаке/в мастерской трёх дюймовую дискету, из неё будем делать петли, на которые повесим рули.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
В торце рулей делаем надрезы глубиной 10-15 мм, в них будут вклеены петли.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Из дискеты вырезаем полоски, острым шурупом наносим перфорацию. С ней петля вклеивается в депрон на мертво.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Клеем Титан или его аналогом промазываем прорези для петель, для этого удобно использовать зубочистку. Вклеиваем полоски/петли. Элеватор на всякий случай усилил, вклеил карбоновый пруток.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Делаем такие же прорези в крыле/стабилизаторе и вклеиваем в него петли.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Руль подвешен.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Теперь делаем кабанчики для тяг. Тут нам понадобится деревянная линейка (один из основных материал авиамоделиста). Высота кабанчика 15-16 мм, вырезаем канцелярским ножём заготовки. Сверлим парочку отверстий под диаметр стальной проволоки, из которой будет сделан наконечник тяги.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Склеиваем вертикальную часть с основанием. Клеить лучше циакрином. Доводим на шкурке форму кабанчика до обтекаемой Шкурка – основной инструмент, если что не так, то всегда можно зашкурить.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Вклеиваем кабанчики в рули – или нет ещё рано:(. Вклеивать будем после установки серв.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Прикладываем сервомашинку к фюзеляжу и обводим её ручкой. Канцелярским ножом вырезаем прямоугольное углубление.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Втыкаем сервомашинку в отверстие, предварительная установка завершена.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Тяги сделаны из карбонового прутка – короткие из прутка диаметром 1 мм, длинные из 2 мм-го. Прикладываем пруток к сервомашинке и отмечаем место на руле, куда удобно вклеить кабанчик. Вклеиваем кабанчик. Делаем отметку на прутке надфилем, по отверстию в кабанчике. Отпиливаем надфилем по отметке. Наконечники тяг сгибаем из стальной проволоки диаметром около 1 мм. Наконечники приматываем к прутку ниткой, смазываем клеем, тут лучше использовать Титан. Ждём пока клей высохнет. Теперь можно установить тягу.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Тяги установлены, не очень эстетично получилось, но как сделать по другому, я пока не придумал.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Фонарь кабины легко отделяется от фюзеляжа, он приклеен четырьмя капельками клея.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Самая сложная работа – вывести провода сервомашинок через отверстие в кабину. После этой операции припаиваем две сервомашинки, которые будут управлять элеронами, к одному разъёму. Можно, конечно, купить Y-кабель, но модель и так получается тяжёлой.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
В кабине вырезаем углубление под аккумулятор. 300 мА-й аккумулятор Турниги помещается идеально.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Плавно перейдём к моторной группе. Двигатель НК 1610/3400 Кv – весит около 4 г. Моторама сделана из деревянной линейки, она приклеена к стойке, которая тоже вырезана из линейки. Двигатель крепится к мотораме на 4-х микрошурупах. Потом стойка обклеена пенопластом. Винт 5*4,3 дюйма, поставил первый попавшийся. Стойка просто втыкается в прорезь в фюзеляже – крепление временное. Надо было понять – полетит или не полетит, в принципе, в этим углом выкоса. В будущем она будет закреплена более надёжно.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Регулятор Турниги 6А, припаян к двигателю.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Долго думал, куда пристроить большой приёмник. Всё поместилось в кабину, надо только выкрутить из-под неё стойку, под неё спрятать приёмник и провода. Даже светодиодную иллюминацию снимать не надо.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Оставалось прикрепить кабину обратно. Тут я вспомнил одну древнекитайскую мудрость. «Всё можно починить с помощью скотча, а что нельзя починить, то можно починить большим количеством скотча!”—перевод не очень точный. Кабина с приемником внутри перед полётом приклеивается к фюзеляжу скотчем.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Вид снизу.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Когда взвесил модель после переделки – сильно расстроился. 116 граммов получилось. Не уложился в 100.
Можно было не ставить сервы на элероны и приёмник найти поменьше 4 граммовый, например. Тогда возможно я приблизился бы к весу 100 граммов.f

Первые полёты
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Первый выход в поле был не особенно удачным. Центровка модели после переделки получилась 1/3 от передней кромки крыла. Прошлая моя модель с такой центровкой летала очень хорошо. Но планерочек всё норовил зарыться в землю, даже поднятый руль высоты не помог. Да и похоже навыки управления я растерял, два года пульт в руки не брал. Модельку надо было чуток доделать и уговорить пилота приехать на дачу.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
201_самикr
Переделка – минимальна, чтобы сдвинуть центр тяжести процентов на 50, я воткнул монету достоинством 1 рубль под хвост.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
202_самикr
Немного поднял руль высоты, чтобы модель меньше клевала носом.

Пилот с подружками свалился на дачу в субботу к вечеру, было темно и запускать самик было стрёмно. Вышли в поле в воскресение днём.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Хорошо, что Катя не забыла, на какие кнопки на пульте надо нажимать.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Со второго раза она полетела и сделала круг над полем.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Поворачивала, исключительно используя элероны. Элероны отрабатывали нормально.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
У дочери получилось удержать модель в воздухе не более 2-х минут. То, что самолёт, летает с неопытным пилотом, было доказано. Теперь можно приступить ко второму варианту переделки планера.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр

ТТХ модели планера:

Длина: 46 см
Размах: 48 см
Площадь крыла около: 4 дм кв
Вес: 44 грамма

Стоимость комплектующих:
Сервомашинки 4 шт по 300 руб. – 1200 руб.
Регулятор для двигателя – 800 руб.
Двигатель – 900 руб.
Пульт с приёмником – 2600 руб.
(Пульт с максимальными возможностями по очень умеренной цене FlySky FS i6,)
Цены указаны усреднённые по китайским интернет-магазинам.

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

PS:
Пока писал статью. Успел доделать второй прототип переделки планера в самолёт.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Сервомашинку, которая управляет рулём высоты разместил ближе к хвосту. Руль направления делать не стал.
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
Элероны вырезаны из крыла. Двигатель 10 граммов. В итоге вес модели получился около 120 граммов. Облёта пока не было, но, думаю, модель должна полететь.

Как и чем управлять

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

MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр

Итак, если мы хотим установить привод в крайнее левое положение нужно слать импульсы длительностью 0,9мс с интервалом 20мс, если в крайнее правое — длительность 2,1мс, интервал тот же, ну со средними положениями аналогично. Как оказалось, регуляторы скорости управляются аналогично. Те, кто в теме скажут что это

, который реализовать на любом микроконтроллере — плевое дело. Вот и я так решил, купил в местном магазине сервомашинку и склепал на макетке для нее так называемый сервотестер на ATtiny13. И тут оказалось, что ШИМ не совсем простой, а с подводными камнями.

Как видно из вышеприведенной диаграммы, скважность (отношение длительности импульса к длительности периода) от 5% до 10% (в дальнейшем я за крайние положения принимаю импульсы длительностью 1,0мс и 2,0мс) для 256-значного ШИМ счетчика ATtiny13 это соответствует значениям от 25 до 50.

Но это при условии, что на заполнение счетчика уйдет 20мс, а на деле так не получится и для частоты 9,6МГц и предделителя 1024 нужно ограничить счетчик значением 187(ТОР), в таком случае у нас получится частота 50,134Гц. В большинстве (если не во всех) сервомашинок нету точного генератора опорной частоты и поэтому частота управляющего сигнала может немного плавать.

Если оставить ТОР счетчика 255, то частота управляющего сигнала будет 36,76Гц — на некоторых приводах оно будет работать (возможно с глюками), но далеко не на всех. Итак, теперь у нас 187-значный счетчик, для него 5-10% соответствуют значениям от 10 до 20 — всего 10 значений, немного дискретно получится. Если думаете поиграть с тактовой частотой и предделителем ниже привожу сравнительную табличку для 8-битного ШИМа:

MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр
MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр

Я не думаю, что для китайской сервомашинки есть существенная разница в 600 и 1200 значений, поэтому вопрос с точностью позиционирования можно считать закрытым.

Многоканальное управление

С одной сервомашинкой разобрались, но для самолета их нужно минимум три и еще регулятор скорости. Решение «в лоб» — взять микроконтроллер с четырьмя каналами 16-битного ШИМ, но такой контроллер будет стоять дорого и, скорее всего, займет много места на плате.

Второй вариант — запилить программный ШИМ, но занимать процессорное время — это тоже не вариант. Если снова посмотреть на диаграммы сигнала, то 80% времени он не несет никакой информации, поэтому рациональнее было бы ШИМом задавать только сам импульс 1-2мс.

Почему скважность изменяется в таких узких пределах, ведь проще было бы и формировать и считывать импульсы со скважностью хотя бы 10-90%? Зачем нужен тот неинформативный кусок сигнала занимающий 80% времени? Я заподозрил, что, возможно, эти 80% могут занимать импульсы для других исполнительных механизмов, а потом этот сигнал разделяется на несколько разных.

То есть, в периоде длительностью 20мс могут уместится 10 импульсов длительностью 1-2мс, затем этот сигнал каким-то демультиплексором разделяется на 10 различных с длительностью периода как раз 20мс. Сказано — сделано, нарисовал в PROTEUS такую схемку:

MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр

В роли демультиплексора — 74HC238, на его вход E подаются импульсы с выхода микроконтроллера. Эти импульсы — ШИМ с периодом 2мс (500Гц) и скважностью 50-100%. У каждого импульса своя скважность, обозначающая состояние каждого канала. Вот так выглядит сигнал на входе Е:

MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр

Для того, чтобы 74HC238 знал на какой выход подать текущий сигнал используем PORTC микроконтроллера и входы A, B, C демультиплексора. В результате на выходах получаем такие сигналы:

MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр


Сигналы на выходе получаются правильной частоты (50Гц) и скважности (5-10%). Итак, нужно генерировать ШИМ частотой 500Гц и заполнением 50-100%, вот табличка для настройки предделителя и ТОР 16-битного счетчика:

MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр

Интересно, что возможное количество значений ШИМа ровно в 1000 раз меньше частоты таймера.

Немного теории

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

Перемещение дрона на Arduino и любом другом контролере осуществляется за счет изменения трех параметров:

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

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

В итоге плата Arduino дает широкие возможности для создания различных гаджетов, среди которых дрон лишь один из примеров.

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

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

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

Передающая часть

Самолетная часть есть, осталось разобраться с наземной аппаратурой. Как уже писалось ранее, данные передаются по UART, на каждый канал по одному байту. Вначале подключал свою систему проводом через

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

Дабы отфильтровать сигнал от шумов, десятым байтом шлю XOR всех 9 предыдущих байт. Помогло, но слабо, добавил еще проверку на таймаут между байтами, если он превышается — вся посылка игнорится и прием начинается заново, с ожидания байта-идентификатора.

MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр

Число в нижнем левом углу — контрольная сумма. Передвигая ползунки на компе двигались рули на самолете! Вообщем отладил я все это и стал думать о пульте ДУ, купил для него вот такие джойстики:

image

Но потом меня посетила одна мысль. В свое время я тащился от всяких авиасимуляторов: «Ил-2 Штурмовик», «Lock On», «MSFSX», «Ка-50 Черная Акула» и др. Соответственно был у меня джойстик Genius F-23 и решил я прикрутить его к вышеописанной проге с ползунками. Погуглил как это реализовать, нашел этот

и получилось! Управлять самолетиком с помощью полноценного джойстика, мне кажется, гораздо круче, чем маленькой палочкой на пульте. Вообщем все вместе изображено на первой фотке — это нетбук, джойстик, преобразователь на FT232, и подключенный к нему передатчик HM-T868.

Подключение к контроллеру

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

Для составления схемы нам необходимы:

  • Arduino
  • Двигатели
  • Транзисторы

Все это собирается на монтажной плате и соединяется коннекторами.

На первом этапе следует подсоединить 4 ШИМ выхода (обозначены ~) к транзистору. Затем подсоедините коннекторы к движкам, подключенным к питанию. В нашем случае мы используем аккумулятор на 5В, но подойдет и аккумулятор на 3-5В.

Транзисторы должны быть заземлены, а земля на плате Arduino должна быть подключена к земле аккумулятора. Двигатели должны вращаться в правильном направлении, то есть работать на подъем коптера, а не на его крен.

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

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

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

Реализация в железе

Ну с теорией разобрались, пришло время все это реализовать. Мозгом системы выбран микроконтроллер ATmega8A, тактируется от кварца на 16МГц (не потому, что я захотел 16000 позиций сервомашинки, а потому, что у меня такие валялись). Управляющий сигнал для МК будет поступать через UART. В результате получилась вот такая схемка:

MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр

Спустя некоторое время появилась вот такая платка:

MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр

Два трехштыревых разъема я не припаял потому, что они мне не нужны, а не подряд они впаяны поскольку у меня нету металлизации отверстий, а в нижнем разъеме дорожки с двух сторон, можно было бы заменить проволочкой, но программно нету проблемы выводить сигнал на любой разъем. Также отсутствует 78L05 ибо в моем регуляторе двигателя есть встроенный стабилизатор (ВЕС).

Для получения данных к плате подключается

HM-R868:

MYO: как мы делали бумажный самолётик на радиоуправлении / Хабр

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

Плата обошлась примерно в 20грн = $2.50, приемник — 30грн = $3,75.

Скетч для arduino

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

После того как вы подключили MPU-6050 к вашему Arduino, включите его и загрузите скетч I2C scanner code.

Скопируйте код программы, вставьте его в пустой скетч и запустите. Откройте серийный монитор Arduino IDE (Tools->Serial Monitor) и убедитесь, что вы подключены к 9600 (нижний левый).

Если вы все сделали правильно, должно обнаружиться устройство I2C и ему присвоиться адрес 0x68 ил 0x69. Запишите его. Если появились ошибки, проверьте подключение.

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

После того как вы установили библиотеки, откройте файл MPU6050_DMP6 (MPU6050 -> Examples). Рекомендую вам его просмотреть, даже если вы не особо ориентируетесь в коде. Если у вас присвоился адрес 0x69, вам надо раскомментировать одну строку в верхней части кода (после #includes), так как по умолчанию стоит 0x68. Теперь программа должна компилироваться.

Загрузите программу, откройте окно серийного монитора (в этот раз с 115200) и следуйте инструкциям. Поздравляю, так как сейчас вы должны были получить значения с акселерометра/гироскопа через Arduino!

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

Создаем квадрокоптер на базе arduino

Не обязательно покупать беспилотник в магазине — теперь вы можете сделать квадрокоптер на базе arduino самостоятельно. Дрон будет иметь мощное автономное питание и функционировать на стабилизационный системе, основой которой будет база Arduino. Если сделать летательный аппарат своими руками, можно сэкономить приличную сумму. Покупной коптер стоит минимум 80 долларов. Если вы создадите его самостоятельно, это обойдется примерно в 60 условных единиц.

Квадрокоптер на базе arduino - самодельный беспилотник

Самодельный квадрокоптер — предмет отдельного разговора. Всегда были, есть и будут пользователи, которым мало просто летать. Им необходимо почувствовать себя великими конструкторами и быть уверенными, что дрон, сделанный собственноручно, будет летать так, как хочется именно им.

Летающую модель с 4 ножками можно сотворить своими руками. Процесс не покажется вам сложным, а наоборот, доставит удовольствие, но только при условии изучения инструкции и пошагового ее соблюдения. Прежде всего, перед процессом создания дрона, стоит определиться с элементами, которые будут использованы в работе. В качестве контролера, как и предполагалось, будем использовать платформу Arduino — это недорогая, но качественная база, которая обеспечит устройству бесперебойную работу.

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

Так же необходимо позаботиться о приобретении качественного мотора, а затем заняться его стабилизацией. Здесь не обойтись без акселерометра и гироскопа. Так определим угол наклона и ускорение. Данные сенсоры — для создания мощной модели. Чтобы сделать квадрокоптер своими руками с управлением Arduino, вам понадобятся:

  • аккумуляторы на 3,7 В литиевого типа;
  • провода;
  • транзистор не слабее ULN2003A Darlington Transistor;
  • моторы Coreless Motors;
  • микроконтроллер 0820 Coreless Motors;
  • гироскоп;
  • акселерометр;
  • инструменты для спаивания;
  • 3D принтер.

Первое, что следует сделать – это создать раму для будущего квадрокоптера. Каркас получится легким и прочным, если воспользоваться 3D принтером. Затем следует настроить акселерометр и гироскоп. Не нужно подключать к 5 В — это может привести к тому, что плата испортится. Лучше отдать предпочтение 3.3 В. Необходимо учесть, что в большинстве плат есть специальный регулятор напряжения.

Квадрокоптер на arduino - идея для радиоподелки своими руками

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

Как оказалось – это вполне реальная задача. Процесс не доставит вам забот, зато можно сэкономить большую сумму. Если возникли сомнения по поводу запуска вашего устройства, инструкцию о том как это сделать читайте здесь. При правильном обращении квадрокоптер на базе arduino прослужит долго.

Смотрите про коптеры:  Звонок с Android через Bluetooth-гарнитуру
Оцените статью
Радиокоптер.ру
Добавить комментарий