От земли к fpv квадрокоптеру: введение
Содержание:
- На что обратить внимание?
- Несколько советов новичкам
- Различия между F3 и F4
- Какие бывают полетные контроллеры?
- Прошивки для ПК
- Вступление
- Выбор пульта управления (аппаратуры) для квадрокоптера
- Разница между контроллерами на F1 и F3
- Немного теории
- Моды
- Обзор TransTEC F7
- Гироскопы (Gyro), инерциальная навигация (IMU)
- История возникновения
- Заключение
На что обратить внимание?
Пытаясь собрать дрон своими руками на Arduino возникает мысль полностью написать программное обеспечение. От этой мысли нужно избавиться, во всяком случае, на первых этапах.
Например, для управления полетным контроллером сейчас достаточно готовых решений. Если же вы сразу решите писать что-то свое, то высок риск повреждения квадрокоптера. Причина в том, что математика полета составляет минимальную часть всего кода программы, а для управления квадрокоптером без барометра и системы GPS требуется хорошая практика (особенно она понадобится при некорректной реакции дрона Arduino на управляющие команды, что происходит почти всегда).
Значительно удобней сначала попрактиковаться и разобраться в существующих программах, что позволит четко понять принципы работы.
Если вы решите писать программу для контроллера своими руками, то готовьтесь к большим временным затратам, которые неразумны при отсутствии соответствующего академического интереса. Во всяком случае, имеющиеся программы и решения для квадрокоптеров на базе Arduino вполне могут выполнять все стандартные действия (снимать видео, фотографировать, летать свободно и по заданию).
Несколько советов новичкам
Решая заняться созданием квадрокоптера на Arduino, обратите внимание на следующие советы:
- Не усложняйте первую конструкцию, устанавливая экшен-камеру. Вашей задачей остается создание дрона, который сможет взлететь и уверенно держаться в воздухе, а не упасть на землю, сломавшись при первом полете. Если же последнее произойдет, то легко можно разбить экшен-камеру, а это большие расходы.
- Не гонитесь за большими масштабами, так как на первый раз достаточно создать небольшой рабочий Arduino дрон, над конструкцией которого можно будет дальше работать, совершенствуя и усложняя.
- Сократите до минимума количество дополнительных элементов и соединений, так как большое число датчиков и всевозможных контролеров не всегда повышает надежность дрона в полете. Значительно лучше создать базовую конструкцию и постепенно ее усложнять, добавляя новые функции и возможности. Это будет значительно разумней и позволит в будущем проектировать «специализированные» дроны.
- Если вы хотите изготовить квадрокоптер Arduino с камерой, то вам потребуется основание достаточно больших размеров, что снижает устойчивость всей конструкции.
В завершение обратим внимание, что программирование и создание квадрокоптера на базе Arduino – увлекательное, но достаточно сложное дело для новичков, поэтому не опускайте руки, если у вас не получается. Сделать на Arduino дрон вполне реально каждому и поможет в этом масса дополнительной информации и видео, которое вы легко найдете в интернете
Квадрокоптер на Ардуино своими рукамиРейтинг 3.7/5 (3 голосов)
Различия между F3 и F4
- У F4 тактовая частота выше более, чем в 2 раза. 168 МГц против 72 МГц у F3. При этом имеется и сопроцессор, который давал преимущество F3 перед F1
- На F4 можно использовать частоту луптайм 32 кГц; по сравнению с 8k для плат на F3, но Betaflight рекомендует использовать 8k, в этом случае для прочего функционала остается гораздо больше ресурсов
Looptime — это тема для отдельного разговора. Вот статья про то, всегда ли 32k — это хорошо.
- У F3 — обычно 3 последовательных порта. У F4 иногда бывает и 5 штук, что позволяет вам получить все преимущества увеличенной вычислительной мощи. Новые камеры управляются через последовательный порт, так что доп. порты — еще одно преимущество F4 над F3
-
Большинство плат на F4 можно использовать как с Betaflight, так и с Raceflight.Raceflight One теперь закрытый проект и поддерживает только свой ПК Revolt - У F1 и F4 нет встроенных инверторов (есть только в F3 и F7). Поэтому если вы хотите использовать SBUS или SmartPort, то придется разобраться с инверсией сигнала; F3 и F7 — новее, в них инверторы есть
Почему F4 не работают со SmartPort напрямую:
Какие бывают полетные контроллеры?
Ниже рассмотрим вопрос — какие бывают полетные контроллеры, а точнее, для каких целей.
Гоночные полетные контроллеры
Обычно имеют минимум расширенных функций, так как всякие компасы и барометры просто не используются при гонках.
Naze32, также на базе этого контроллера есть SP Racing F3:
На нем присутствуют все стандартные датчики – гироскоп и акселерометр, а в расширенной версии DELUXE также есть барометр и компас.
Гироскоп и акселерометр определяют текущее расположение дрона в пространстве. Барометр определяет высоту по давлению (чтобы удерживать высоту, например), компас для удержания направления полета.
Разработка прошивок для полетного контроллера F3 уже прекратилась из-за ограничения ресурсов, поэтому выбирайте для покупки F4 или F7:
Также еще два популярных контроллера:
KISS – прошивать своей прошивкой нельзя. Имеет графический интерфейс с минимумом настроек.
LUX – такой же гибкий, как Naze32, но все же уступает ему. Прошивать можно.
Контроллеры для съемки видео и фото с дрона
Самым популярным в этом сегменте коптеров является DJI NAZA-M V2: тот самый, что стоит в Фантомах. Идеальный контроллер для фото- и видеосъемки с качественной стабилизацией. На нем спокойно сможет летать новичок, который до этого ни разу не брал пульт в руки. В настройки полета лезть не требуется, все уже настроено, нужно будет просто откалибровать. Даже без навыков у новичка-пилота получится отличный кадр.
Поддерживает весь набор датчиков (GPS, телеметрию, OSD и т.д.)
ArduPilot AMP поддерживает GPS и автономный полет по заданным координатам. Тоже достаточно популярный контроллер, но стоит дороже обычных из-за наличия более важных датчиков.
Vector Flight Controller- профессиональный полетный контроллер с встроенной системой Eagle Tree.
Новичок тоже сможет на таком летать. Эти контроллеры стоят дорого, а вес и размер стремятся к идеалу для аэросъемки.
Контроллеры для автономных полетов
3DR Pixhawk — самый популярный контроллер для автономных полетов. На его борту есть резервная система, а также он поддерживает все известные датчики для дронов.
MultiWii Pro — дешевый и доступный, позволяет отлично стабилизировать коптер, также на нем есть барометр, магнитометр и GPS.
Теперь, после краткого обзора типов полетных контроллеров, перейдем к полному описанию.
Прошивки для ПК
Помимо различий в железе, имеются различия и в прошивках, которые работают на этих ПК и у которых разный функционал и разные области применения. Например, iNAV разработан для использования с GPS, а KISS — больше предназначен для гонок.
Betaflight — это прошивка с открытым исходным кодом, разрабатывается и поддерживается сообществом хоббийщиков. У нее самая большая пользовательская база, так что в случае каких-то вопросов вам быстро помогут. К тому же она поддерживает максимальное число полетных контроллеров.
Другие популярные прошивки для FPV дронов — это FlightOne и KISS. Их исходный код закрыт, а железо и сами прошивки поддерживаются только производителями, так что с ними работает очень небольшое число полетных контроллеров.
После того, как вы выберите прошивку, ищите совместимый с ней полетный контроллер.
Интерфейс и настройка
Современные прошивки для ПК можно настраивать, используя специальные программы, установленные на компьютер или смартфон; или даже прямо с пульта управления. У каждой прошивки свой пользовательский интерфейс управления, при помощи которого меняются настройки. Некоторые программы очень похожи друг на друга, но установка одних и тех же параметров в разных прошивках может дать совершенно разный результат, так что не торопитесь, а основательно изучите выбранную прошивку.
Вступление
Когда вышла эта камера, очень уж захотелось применить ее в обычном мини квадрокоптере, хотя предназначена они для микро дронов. Основной причиной выбора была компактность, качество видео и экономия места, потому что больше не нужно будет навешивать экшен-камеры на дрон и производить лишние манипуляции. Плюсом будет и то, что к камере можно подключаться по Wi-Fi (она создает свою точку доступа) и скачивать видео на телефон, смотреть видео с камеры в реальном времени (хоть и с задержкой), а также производить настройки.
Ну и конечно же, это камера умеет записывать видео, при этом, наверху дрона ничего не будет торчать.
Не забывайте, что пошаговая сборка квадрокоптера это творчество и не обязательно следовать инструкциям и делать так, как показано в статье. Вы можете включить фантазию и сделать иначе или вообще этого не делать. Это хобби, которое должно приносить удовольствие от конструирования, настройки — пользуйтесь этим и не ставьте себе рамки/ограничения.
Выбор пульта управления (аппаратуры) для квадрокоптера
Управление квадрокоптером осуществляется по радиоканалу, с помощью пульта. Передача команд от пульта к полетному контроллеру осуществляется через посредника (приемник). Приемник устанавливается на квадрокоптер и соединяется с полетным контроллером проводами.
Разбираться с настройками и характеристиками аппаратуры управления занятие сложное. Поэтому я положился на опыт предшественников и остановил свой выбор на аппаратуре Flysky FS-i6X 10CH. Эта аппаратура, по отзывам владельцев, является удачным выбором для начинающих пилотов.
Для меня очень важным параметром было присутствие 10 каналов передачи данных. Вообще, чем больше каналов, тем больше различных штуковин мы можем установить на коптер. Разъясню, чтобы было понятней…
На газ, поворот влево/вправо, крен влево/вправо, движение вверх/вниз необходимо 4-е канала, т.е. один канал на одно действие. Один канал нужен для переключения полетных режимов. Получаем 5 каналов – минимальный лимит на аппаратуру для квадрокоптера.
Т.к. я собираю коптер для съемок, мне будет необходим подвес для ориентации камеры. С помощью подвеса я смогу направлять камеру вверх/вниз и вправо/влево. На это мне понадобится еще два канала.
Итого, уже сейчас, я получил необходимость в семи каналах на пульте управления. Далее эти потребности будут только расти.
Цена: см.приемник
Разница между контроллерами на F1 и F3
Кратко о преимуществах F3 над F1
- Одна и та же частота, но более быстрые операции с плавающей запятой, благодаря отдельному модулю операций с плавающей запятой (мат. сопроцессор)
- Дополнительный UART порт (COM-порт), итого 3 против 2. Но у F3 имеется отдельный порт для USB, так что при подключении к компьютеру, UART1 будет свободен. На F1 для подключения по USB используется UART1, поэтому на F1 мы и не используем UART1 для периферии. Т.е. получается, что свободно 3 порта, а не 1
- У всех последовательных портов в F3 имеется аппаратный инвертор сигнала, т.е. любой порт можно использовать с SBUS или SmartPort безо всяких хаков и модификаций
- Некоторые новые контроллеры на F3 имеют более продуманный дизайн и больше фич по сравнению со старыми на F1
Полетный контроллер XRacer F303
Производительность процессора (частота)
Несмотря на то, что F1 и F3 имеют одну максимальную частоту, F3 выполняет операции с плавающей запятой быстрее благодаря математическому сопроцессору. F3 работает значительно быстрее, чем F1 при использовании PID контроллера на математике с плавающей запятой.
Время цикла (Looptime)
Looptime = 2k — по сути максимум, чего можно добиться от Naze32 c Betaflight. Больше не получится просто потому, что процессор не справится с нагрузкой (можно разогнать до 2,6 кГц, но результат будет нестабильным).
Платы на F3 могут использовать луптайм 4k и при этом можно запускать другие ресурсоёмкие задачи — использование акселерометров, светодиодных полос, софтсериал (программная эмуляция последовательного порта), Dynamic Filter и т.д. Можно даже поставить частоту 8k, запретив Dynamic Filter, а на F1 нам приходилось отказываться от многих фич, просто чтобы работать с частотой 2k.
Когда говорят 8k/8k или 4k/4k, то подразумевают луптайм и частоту опроса датчиков (гироскопов)
- Платы на F1: 2k — 2,6k, CC3D — 4k/4k (благодаря подключению датчиков по шине SPI)
- Платы на F3 и F4 с шиной SPI — 8k/8k, если шина i2c, тогда только 4k/4k
- Гиры ICM-20602 и MPU6500/9250 дают возможность выбрать частоту опроса 32k, например, в ПК Revolt можно поставить 32k/32k
При изменении looptime всегда проверяйте загрузку процессора командой «status» в консоли (CLI), обычно рекомендуется держать загрузку менее 30%, хотя некоторые платы позволяют и больше.
MotoLab Tornado F3
Число последовательных портов
Помимо увеличения вычислительных мощностей и преимуществ looptime, серия F3 предоставляет больше последовательных портов (UART).
Такие вещи как MinimOSD, SBUS, SmartPort telemetry, Blackbox (при использовании openlog и SD карты), подключение к компу по USB, GPS и т.д. используют последовательные порты.
На контроллерах с F1, таких как Naze32, у нас было только 2 порта. Немного раздражало то, что не получалось использовать blackbox, Sbus и MinimOSD одновременно, а это мой обычный конфиг. Платы на F3 имеют 3 порта.
Другие преимущества контроллеров на F3
Многие платы на F3 также имеют встроенный стабилизатор на 5В или даже встроенную PDB, так что, теоретически, вы можете питать контроллер напрямую от аккумулятора.
F3 практически полностью контакт-в-контакт совместим с серией F1, и некоторые , что они успешно заменили чип F1 на F3 в плате CC3D, и используют looptime = 8k (благодаря тому, что гиры подключены по шине SPI).
Отметим, что от процессора не зависит размер флеша для хранения данных Blackbox. На самом деле этот размер определяется чипом памяти на плате.
RMRC Dodo F3
Немного теории
Вне зависимости от формы и технических возможностей квадрокоптера у него обязательно четыре винта, которые попарно вращаются в разные стороны. Это необходимо для обеспечения стабильности положения в воздухе, так как если все винты будут вращаться в одном направлении, то дрон будет крутиться вокруг своей вертикальной оси.
Перемещение дрона на Arduino и любом другом контролере осуществляется за счет изменения трех параметров:
- тангаж;
- крен;
- рыскание.
Первый параметр определяет угол наклона вверх или вниз передней части квадрокоптера, позволяя выполнить снижение или подъем дрона. Крен определяет угол наклона, когда правая часть оказывает ниже или выше левой. Рыскание определяет угол поворота квадрокоптера Arduino вокруг вертикальной оси, проходящей через его центр тяжести, обеспечивая дрону поворот в горизонтальной плоскости на нужный угол.
Arduino – небольшая по габаритам плата (сравнима со спичечным коробком), имеющая собственный микропроцессор и память. На нем есть большое количество контактов для подключения компонентов, а возможность загрузки программы позволяет управлять ими по заданному определенному алгоритму.
В итоге плата Arduino дает широкие возможности для создания различных гаджетов, среди которых дрон лишь один из примеров.
Одновременно плата Arduino очень проста в освоении, поэтому работать с ней под силу даже людям, имеющим очень смутные познания в схемотехнике и программировании. Наличие же большого числа учебников, публикаций, видеоуроков позволит освоить простейшие действия с платой всего за пару часов. Непосредственно программирование на Arduino идет с помощью языка С++, имеющим большое распространение. Одновременно большое количество типовых программ позволит быстро его освоить до уровня, которого достаточно для управления дроном. Одновременно широкий выбор библиотек сократит время запуска первого дрона, предупредив появление детских ошибок.
Не потребует Arduino и наличия при сборке паяльника, так как вполне можно обойтись макетной доской и набором перемычек, что одновременно упрощает работу, позволяет быстро исправить какие-то недочеты и ошибки при сборке.
Моды
Есть 4 разных конфигурации стиков: mode 1, mode 2, mode 3, mode 4.
Mode 1 — руль высоты на левом стике, газ справа.
Mode 2 — наиболее часто встречаемый режим, потому что коптер будет повторять движения стиков. Руль высоты справа, газ — слева. При этом правый стик подпружинен по обеим осям и автоматически возвращается в центр; левый стик центрируется только по горизонтальной оси (рысканье, курс) и щелкает при вертикальном движении (если трещотки нет, то двигается с небольшим усилием) — т.е. при увеличении и уменьшении газа.
Mode 3 — тоже самое что и Mode 1, только элероны и руль направления поменяны местами.
Mode 4 — тоже самое что и Mode 2, только элероны и руль направления поменяны местами.
В некоторых передатчиках благодаря тому, что аппаратно стики одинаковые, легко меняются режимы Mode 1 на Mode 3 и наоборот; а также Mode 2 и Mode 4. Это достигается простой заменой канала элеронов и руля направления.
Нет правильного и неправильного выбора, это вопрос привычки. Если вы не знаете с чего начать, то выбирайте mode 2, т.к. это наиболее популярная мода у пилотов коптеров, да и аппаратуру потом продать будет проще.
Обзор TransTEC F7
В комплект входит следующее:
- Плата полетного контроллера;
- Резиновые антивибрационные подушки;
- 4-контактный кабель;
- Крышка для USB.
Полетный контроллер очень качественно собран, а компоненты пропаяны. У платы интересный окрас — такого серого армейского цвета.
У FC установлен гироскоп MPU-6000, а сама плата крепится к стойкам с помощью резиновых антивибрационных подушек, поэтому вибрация на гироскоп будет минимальна.
Верхняя сторона платы TransTEC F7 почти без компонентов, там всего лишь размещены индикатор состояния, кнопка загрузки (boot) и разъем USB.
Для соединения с регуляторами оборотов, в комплекте есть коннекторы на 6, 8 и 10 пинов, которые нужны для подключения регуляторов оборотов 4 в 1.
Разъем для подключения кабеля идущего к ESC расположен внутрь платы, а это значит, что провода будут торчать из сборки по минимуму, все будет скрыто.
Еще одной приятной фишкой данного полетного контроллера TransTEC F7 будет крышка USB, чтобы внутрь при полетах не попадала грязь и пыль, это умно сделано!
В верхней части расположены пины для подключения FPV камеры и видеопередатчика, расшифровка слева направо: OSD камеры, видеовход с камеры, питание камеры, заземление. Далее идет видеопередатчик: видеосигнал на видеопередатчик, SmartAudio/TrampControl, питание и заземление. То есть, по умолчанию, оборудование может получать питание из этих пинов (для камеры это 5V), а дополнительное питание для видеопередатчика — традиционно прямой контакт через PDB к аккумулятору.
В нижней части платы находятся дополнительные пины для подключения UART4 и UART3, а также для светодиодной ленты.
На плате TransTEC F7 также есть возможность припаять приемник к верхней стороне платы. Для этого там есть специальные пины. Чтобы припаять приемник TBS Crossfire Nano или FrSky XM+, нужно использовать пины TX1, RX1, 5V и GND.
Гироскопы (Gyro), инерциальная навигация (IMU)
Цель датчиков на ПК определить ориентацию коптера в пространстве и отследить его движения. Микросхема с датчиками (IMU) содержит как гироскопы, так и акселерометры.
Самые часто используемые полетные режимы Betaflight — это, наверное, Acro (акро, или ручной режим) и Angle (самовыравнивание). В акро режиме используются только гироскопы, а в Angle и гироскопы, и акселерометры.
А т.к. большинство пилотов FPV дронов летают в Acro, то акселерометры часто просто отключаются в настройках Betaflight, это позволяет сэкономить вычислительные ресурсы. По этой же причине под инерциальной навигацией обычно подразумевают только гироскопы (gyro).
Наиболее популярные гироскопы, используемые в полётниках:
IMU | Способ подключения, шины | Макс. частота сэмплирования |
MPU6000 | SPI, i2c | 8K |
MPU6050 | i2c | 4K |
MPU6500 | SPI, i2c | 32K |
MPU9150* | i2c | 4K |
MPU9250* | SPI, i2c | 32K |
ICM20602 | SPI, i2c | 32K |
ICM20608 | SPI, i2c | 32K |
ICM20689 | SPI, i2c | 32K |
* MPU9150 — это MPU6050 со встроенным магнитометром AK8975, а MPU9250 — это MPU6500 с тем же магнитометром.
Выяснить тип можно взглянув на маркировку микросхемы, вот для примера популярный вариант Invensense MPU-6000.
Выбор гироскопов: что лучше высокая частота опроса или шум?
У IMU есть две основные характеристики: максимальная частота сэмплирования и насколько полученные данные будут зашумлены (механическими вибрациями и электрическими помехами).
В настоящее время очень часто используют микросхему MPU6000, которая поддерживает частоту опроса до 8k, и обладает (неоднократно проверено) хорошей устойчивостью к разного рода шумам и помехам. Главное стараться избегать MPU6500 и MPU9250, хотя у них больше рабочая частота, но и уровень шумов тоже значительно выше.
Учтите, что разные серии гироскопов ICM имеют разные характеристики. ICM20689 — один из худших вариантов, легко восприимчив к шуму, да и с надежностью проблемы. Если приходится выбирать из ICM, то берите модель 20602.
В последнее время появляется всё больше и больше ПК с гироскопами на отдельной плате с антивибрационной развязкой (кусок поролона, чтобы снизить вибрации от моторов).
Обновление (окт 2019). Начиная с версии Betaflight 4.1 нет поддержки частоты 32кГц, так что если вы используете гироскопы ICM с Betaflight, то looptime будет не больше 8кГц.
Скорость работы гироскопов — это палка о двух концах: если питание чистое, и шумов нет, тогда серия ICM на 32k будет работать лучше, чем MPU6000. Однако, если регуляторы и моторы начнут генерировать помехи, а коптер вибрирует, тогда ICM хуже, чем MPU6000.
i2c или SPI?
i2c и SPI — это названия шин для подключения гироскопов к процессору. Выбранная шина может ограничить частоты опроса гироскопов и ограничит looptime.
Лучше всего использовать SPI, т.к. она позволяет работать с бОльшими частотами, чем i2c, у которой лимит в 4k. Практически все современные ПК используют SPI.
История возникновения
Долгие годы системы автоматического пилотирования в авиамоделизме не применялись по причине их громоздкости и сложности реализации на элементной базе, существовавшей до конца XX века. Однако с появлением доступных достаточно быстродействующих микроконтроллеров, прежде всего ATMega и интегральных датчиков ускорения и угловой скорости на основе MEMS появились первые проекты автопилотов на их основе. Благодаря этому стало возможно создание мультикоптеров, поскольку эти аппараты аэродинамически неустойчивы и требуют постоянной стабилизации в полёте. Развитие мультикоптеров в свою очередь стимулировало развитие полётных контроллеров и к началу 2010-х годов сформировалось несколько открытых проектов (OpenPilot, ArduPilot), а также было выпущено несколько линеек коммерческих полётных контроллеров.
Заключение
Как вы заметили, полетный контроллер — это очень важный узел в квадрокоптере и занимает очень много места в теории. И на вопрос, как правильно выбрать полетный контроллер, у вас не должно оставаться этих самых вопросов, а если остались, вы должны понять, для чего вам нужен квадрокоптер, для каких нужд. Если для гонок и драйва, то одни контроллеры, если для съемки, то другие. Также стоит учитывать ваши навыки, если вы новичок, то не стоит брать дорогие контроллеры с кучей датчиков или наоборот те, в которых абсолютно ничего не настроено и даже нет прошивки.
Также стоит учитывать бюджет, который вы можете потратить, так как цены очень сильно разнятся. Например, SP Racing F7 с OSD для гоночных дронов стоит от 1600 до 2500 рублей, а вот DJI A3 для профессиональной фото- и видеосъемки стоит 50 000 – 60 000 тысяч рублей.
Подведем итоги:
Выбирать полетный контроллер следует из ваших потребностей – для гонок, для съемки или для автономных полетов, а также, а также, на основе статьи, что написана выше.