
Рис. 2.5.Магнитометр HMC5883L на плате расширения
Магнитометры не подвержены вибрации, но на их показания влияют внешние близко расположенные металлические предметы. Помехи можно разделить на три основных класса.
• "Искажения твердого железа" (Hard Iron Distortion) - к магнитному полю земли добавляется постоянное магнитное поле от намагниченных предметов, например магнита звукоизлучателя. Намагниченными могут быть даже выводы радиодеталей, изготовленные из луженого железа. Эта постоянная составляющая может быть исключена при калибровке.
• "Искажения мягкого железа" (Soft Iron Distortion) - магнитное поле искажается посторонними предметами, не имеющими собственной намагниченности. Например, сплавы никеля, пермаллой искажают силовые линии поля. Такие искажения зависят от положения объекта в пространстве и труднее компенсируются. К счастью, в конструкции квадрокоптера обычно не бывает таких предметов. Детали из сплавов алюминия и меди не вносят искажения.
• Динамические или вихревые помехи. Это специфическая особенность электрических летательных аппаратов, особенно коптеров. Мощные токи, протекающие через проводники силовых цепей и батарею, порождают магнитные поля в окружающем пространстве. Причем напряженность этих полей постоянно меняется в зависимости от нагрузки на моторы.
Иногда магнитные помехи настолько сильны, что делают невозможным использование компаса и даже способны привести к аварии. К сожалению, переменные магнитные поля невозможно скомпенсировать программно и приходится применять специальные конструктивные меры. Для уменьшения наводок микросхему компаса стараются выносить с платы контроллера и поднимать вверх на 10–20 см над рамой. При укладке силовых проводов следует избегать образования петель, все провода должны иметь минимальную длину. Силовые провода рекомендуется перекручивать. Впрочем, в квадрокоптерах начального уровня вполне можно обходиться без компаса и при наличии магнитных помех просто отключать его в настройках.
Малогабаритные контроллеры, предназначенные для полетов внутри помещения, по очевидной причине компас не содержат.
Перед началом полетов магнитометр необходимо откалибровать, проведя процедуру вращения коптера по всем осям. Детали этой процедуры могут зависеть от применяемой прошивки контроллера.
Благодаря наличию компаса возможен интересный режим полета, именуемый Headfree. В этом режиме фиксируется курсовое положение квадрокоптера в момент активации моторов. Если в процессе полета развернуть раму квадрокоптера по Yaw, то условное направление "вперед", зафиксированное при взлете, не изменится. При наклоне правого стика пульта вперед квадрокоптер всегда будет лететь вперед, при наклоне вправо - всегда вправо и т. д., независимо от того, как в данный момент развернута рама. Считается, что этот режим удобен для начинающего пилота, а также при полетах на большом удалении, без видеоканала и средств телеметрии, когда визуальный контроль над положением рамы затруднен. Если пилот случайно развернул квадрокоптер, то это не отразится на управлении и поможет избежать аварии.
Используя компас, при настройке квадрокоптера не забудьте указать такой параметр, как магнитное склонение (не путайте с магнитным наклонением) для своей местности. Магнитное склонение - это угол между географическим и магнитным меридианами в точке земной поверхности. Магнитное склонение считается положительным, если северный конец магнитной стрелки компаса отклонен к востоку от географического меридиана, и отрицательным - если к западу. Значение магнитного склонения используется для определения истинного меридиана до показанию магнитного компаса. Узнать значение магнитного склонения для своей местности можно на сайте www.magnetic-declination.com или http://www.ngdc.noaa.gov/geomag-web/. Обратите внимание, что сервисы дают значение в градусах и минутах, но при настройке компаса используется значение в градусах и десятичных долях градуса.
Остался еще один важный параметр полета - высота. Стабилизация высоты важна как для комфортного управления квадрокоптером, так и для безопасного полета, особенно в режиме автоматического возврата к точке старта по GPS. Для измерения высоты в квадрокоптерах используют либо интегральный барометр, либо внешний ультразвуковой сонар, либо оба устройства сразу. Поскольку они оба выполняют одинаковую задачу, мы немного забежим вперед и рассмотрим достоинства и недостатки ультразвукового сонара в этой главе, хоть сонар и является дополнительным оборудованием.
Устройство интегрального барометра
Измерение высоты полета барометрическим методом основано на зависимости атмосферного давления от высоты. Чем больше высота, тем ниже атмосферное давление. В миниатюрных интегральных барометрах применяется, как правило, тензорезисторный либо пьезорезонансный датчик. В первом случае чувствительным элементом является тензорезистор (рис. 2.6), изменяющий свое сопротивление в зависимости от степени деформации под воздействием атмосферного давления. Во втором случае на пьезоэлемент подают переменное электрическое напряжение, заставляя его колебаться под действием обратного пьезоэффекта. Собственная резонансная частота элемента, - при которой напряжение на электродах пьезоэлемента максимально, зависит от степени деформации элемента.

Рис. 2.6.Устройство тензорезисторного датчика атмосферного давления
Существенным недостатком этих датчиков является выраженная зависимость результатов измерения от температуры окружающей среды и большой разброс выходных данных между экземплярами. Для термокомпенсации внутрь корпуса встраивают терморезистор и при измерениях учитывают его сопротивление в качестве компенсирующего параметра. Для устранения конструктивной неоднородности каждый экземпляр интегрального барометра калибруют на заводе, записывая в его память калибровочные константы.
На выходе барометра мы получаем не абсолютное значение давления, а некое "сырое" значение, из которого давление рассчитывается путем вычислений с плавающей точкой, учитывая калибровочные константы и текущую температуру корпуса. Формулы для расчетов приводятся в спецификации микросхемы.
Применительно к квадрокоптерам, нас обычно интересует не высота над уровнем моря, а высота относительно точки взлета. Поэтому в момент активации моторов перед взлетом текущее давление воздуха принимается соответствующим нулевой высоте. К сожалению, даже в течение одного 10-минутного полета атмосферное давление может измениться настолько сильно, что это будет соответствовать перепаду высоты 2–3 м. Особенно это характерно для неустойчивой предгрозовой погоды.
Барометр следует защищать от воздействия прямых потоков воздуха. Обычно для этого используют кусочек крупнопористого поролона, которым прикрывают отверстие сенсора, или помещают полетный контроллер в защитный кожух. Также следует защищать барометр от попадания прямых солнечных лучей на сенсор через отверстие в корпусе. Теоретически современные интегральные барометры способны измерять высоту с точностью в несколько сантиметров, однако когда барометр смонтирован, на квадрокоптере и рядом с ним несущие винты прокачивают потоки воздуха, а на это накладываются флуктуации плотности воздушных масс разной температуры, такую точность реализовать практически невозможно. К вибрациям барометры не чувствительны.
Устройство ультразвукового сонара
Ультразвуковой сонар (датчик расстояния) состоит из генератора ультразвука, излучателя, приемника и усилителя-формирователя выходного сигнала (рис. 2.7).

Рис. 2.7.Устройство ультразвукового сонара
Простейшие сонары не содержат собственный микроконтроллер и работают под управлением внешнего устройства. Когда на вход Trigger приходит пусковой импульс, электронная схема сонара генерирует короткий пакет колебаний ультразвуковой частоты, поступающий на излучатель. Отразившись от твердой поверхности, колебания поступают на приемник и далее на усилитель-формирователь, на выходе которого формируется импульс Echo (эхо) с логическим уровнем. Внешнее устройство вычисляет расстояние до поверхности через интервал времени между фронтами пускового импульса и эха по формуле