Найти в Дзене
ZDG

Квадрокоптер в деталях: GPS, магнитометр, барометр

Оглавление

Предыдущие подборки: Подбор компонентов, Введение

Предыдущие части: Антенны, Видеопередатчик, Приёмник, Регулятор оборотов, Бесколлекторный мотор, Полётный контроллер

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

Навигация нужна квадрокоптеру для трёх задач:

  • Удержание позиции
  • Возврат домой
  • Полёт по точкам

Удержание позиции

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

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

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

Насколько точно работает удержание позиции?

Фирменные DJI Phantom и Mavic очень хорошо удерживают позицию. Связано это, во-первых, с собственными разработками DJI, и во-вторых, с использованием дополнительных средств, таких как видеодатчики.

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

Возврат домой

Самый большой страх при полётах это потерять квадрокоптер.

Типичный FPV-сценарий выглядит так: вы летаете где-нибудь на полянке, и вам просто не нужно летать далеко, в этом нет смысла. Вам нужно просто облететь дерево или пролететь между кустов. Если пропадает связь или видео, коптер просто падает в траву и вы идёте к нему пешком и поднимаете.

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

Для новичков так тоже проще – в случае паники достаточно включить возврат домой и ничего больше не трогать.

Полёт по точкам

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

GPS

Конечно, для определения своего местоположения коптеру нужен GPS-модуль.

Он работает от 5 вольт и подключается через UART-порт, то есть у вашего полётного контроллера должен быть свободный UART.

Некоторые GPS-модули также несут на борту магнитометр, а некоторые нет. Определить это можно по наличию контактов SCL/SDA – магнитометр работает через шину I2C.

Магнитометр

Или по-простому компас. Если его нет в модуле GPS, то можно использовать отдельный:

-2

Он работает от 5 вольт и использует шину I2C. Самые распространённые модели это HMC5883L и QMC5883L, причём часто под HMC скрывается QMC. Принципиальной разницы между ними нет.

Для чего он нужен?

Скажем, самолёту он не нужен. Самолёт всегда летит носом вперёд, и поэтому можно постоянно получать GPS-координаты и сравнивать с предыдущими. Это позволяет вычислить, в каком направлении летит самолёт. Если вектор движения куда-то направлен, то и нос самолёта направлен туда же, а значит мы знаем, как он сориентирован, и можем применять управляющие воздействия относительно этой ориентации.

У коптера всё с виду так же. Он перемещается, сравнивает полученные GPS-координаты и вычисляет вектор движения. Только направление условного "носа" коптера может вовсе не совпадать с этим вектором. Коптер может лететь и задом, и боком. Поэтому он не знает, какие управляющие воздействия надо применить, не зная, относительно какого направления их надо применять.

Это всё же можно сделать, но больше будет похоже на метод проб и ошибок, или "холодно-горячо". Коптер должен сначала куда-то полететь, проверить, что вышло, затем попробовать полететь куда-то ещё, проверить, что вышло, и т.д. И таким образом нащупать правильное управляющее воздействие.

Такой способ реализован в прошивке BetaFlight. Но он пригоден только для аварийного возврата домой и не гарантирует хороший результат.

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

Поэтому полноценная навигация возможна только с компасом. Он ориентирован по "носу" коптера и при отклонении курса коптер знает, на сколько градусов он отклонился и куда теперь смотрит его "нос".

Помехи

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

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

-3

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

Но если используется GPS с встроенным компасом, то приходится размещать его так, как надо для компаса.

Так что есть смысл покупать раздельно модуль GPS и модуль компаса. Это также обойдётся дешевле, но потребует больше проводов и пайки.

Барометр

Он нужен для определения высоты полёта и является одним из необходимых компонентов для удержания позиции и навигации.

Также у коптера есть отдельный режим – удержание высоты.

Барометр может быть встроенным в полётный контроллер. А если его там нет, то нужно использовать внешний.

-4

Самый распространённый вариант это BMP280. Так же как и магнитометр, он питается от 5 вольт и работает через шину I2C.

Барометр нужно защищать от солнечного света и задувания ветром, так как его показания могут резко исказиться.

Читайте дальше: