//#define MPU6050_LPF_256HZ
//#define MPU6050_LPF_188HZ
//#define MPU6050_LPF_98HZ
//#define MPU6050_LPF_42HZ
//#define MPU6050_LPF_20HZ
//#define MPU6050_LPF_10HZ
//#define MPU6050_LPF_5HZ
Числовой параметр означает, что все колебания с частотой выше указанной будут подавлены цифровым фильтром прошивки. Первая строка используется по умолчанию и подходит только для микрокоптеров. Для коптера с диагональю около 450 мм и пропеллерами 10–11 дюймов следует начинать настройку с частоты 98 Гц. Большинство средних коптеров хорошо летают с фильтром на частоту среза 42 Гц.
К сожалению, не существует алгоритма быстрой настройки гироскопа. Это долгая и достаточно хлопотная процедура. Раскомментиррвав одну из строк, нужно попробовать полетать минут 10, внимательно следя за поведением коптера в разных режимах. Затем раскомментировать другую строку, закрыв предыдущую, и сравнить поведение коптера в воздухе. Для этого придется брать с собой в поле ноутбук и USB-провод, чтобы не возвращаться домой для перепрошивки. После того как вы окончательно остановились на одном из фильтров, понадобится заново настроить параметры РID через конфигуратор.
Функция Failsafe
Эта функция по умолчанию отключена в стандартной прошивке строкой
//#define FAILSAFE
но ее лучше включить, даже если ваш приемник оснащен неотключаемой функцией Failsafe. Абсолютная надежность работы приемника, особенно в непроверенной конструкции, не гарантирована. Например, питание приемника может внезапно пропасть из-за плохого контакта. Функция Failsafe контроллера активируется, если импульсы на одном из выходов приемника СН1-СН4 пропадают или делаются короче 985 мкс. Параметр в строке
#define FAILSAFE_DELAY 10
задает интервал времени с шагом 0,1 с, по истечении которого включается Failsafe после пропадания сигнала. При этом включается режим стабилизации горизонта, сигналы YAW, PITCH, ROLL выставляются в среднее положение и коптер начинает снижаться. Скорость снижения задается в строке
#define FAILSAFE_THROTTLE (MINTHROTTLE + 200)
Числовой параметр этой строки надо выбрать такой, чтобы скорость снижения составляла около 1 м/с. После настройки потребуется экспериментальная проверка. Если коптер снижается слишком быстро, увеличиваем значение.
По истечении интервала с шагом 0,1 с, указанного в строке
#define FAILSAFE_OFF_DELAY 200
моторы коптера отключатся.
Минимальная длительность импульсов для срабатывания Failsafe определяется в строке
#define FAILSAFE_DETECT_TRESHOLD 985
Мертвая зона и нейтральная зона
Предполагается, что коптер не должен реагировать на незначительные отклонения управляющих сигналов от центрального положения, потому что такие отклонения обусловлены скорее несовершенством аппаратуры, чем действиями пилота. По умолчанию задано значение ±6.
#define DEADBAND б
Если у вас качественная аппаратура со стабильными отцентрованными значениями сигнала, можно уменьшить значение этого параметра или закомментировать его.
Значение нейтральной зоны задает интервал изменений положения рукоятки газа, внутри которого коптер не реагирует на газ в режиме удержания высоты. Если изменение газа выходит за пределы заданного интервала, удержание высоты временно игнорируется и коптер начинает подниматься или снижаться.
#define ALT_HOLD_THROTTLE_NEUTRAL_ZONE 50
Магнитное склонение
Магнитное склонение определяется в секции настроек GPS, но вписать его нужно сразу для правильной последующей калибровки компаса и работы функции Head Free. Определите магнитное склонение для своей местности на сайте www.magnetic-declination.com(рис. 5.7).
Рис. 5.7. Определение магнитного склонения
В примере на рисунке магнитное склонение положительное и составляет 3°59′. Но в прошивке используется значение с десятичными долями градуса. Для конвертации надо к целому значению градусов прибавить значение минут, деленное на 60:
3°59′ —> 3° + 59'/60 = 3,98°.
Впишите это значение в строку
#define MAG_DECLINATION 3.98f
В связи с дрейфом магнитных полюсов значение склонения нужно периодически проверять на сайте и обновлять в прошивке.
* * *
На этом базовая настройка прошивки завершена. Сохраните файлы, скомпилируйте прошивку и загрузите ее в контроллер. Перед этим память EEPROM контроллера должна быть очищена, как сказано в начале раздела. После завершения загрузки прошивки на плате контроллера должны быстро мигать светодиоды А и С. Это означает, что контроллер ожидает от вас команду калибровки акселерометров. В этом состоянии контроллер еще не готов к полетам. Для дальнейшей настройки нам понадобится утилита конфигурации с визуальным интерфейсом, установленная на компьютер. Таких утилит две: упрощенная MultiWiiConf и более сложная MultiWii WinGU.
Читать дальше