В. Яценко - Твой первый квадрокоптер: теория и практика
- Название:Твой первый квадрокоптер: теория и практика
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2016
- Город:Санкт-Петербург
- ISBN:978-5-9775-3586-1
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
В. Яценко - Твой первый квадрокоптер: теория и практика краткое содержание
. Приведено краткое описание устройства и принципа работы систем GPS и Глонасс, а также современных импульсных источников бортового питания и литий-полимерных батарей. Подробно изложен принцип работы и процесс настройки систем, OSD, телеметрии, беспроводного канала
и популярных навигационных модулей
. Рассказано об устройстве и принципах работы интегральных сенсоров и полетного контроллера.
Даны рекомендации по подбору оборудования FPV начального уровня, приведен обзор программ дня компьютеров и смартфонов, применяемых при настройке оборудования квадрокоптера.
Для читателей, интересующихся электроникой, робототехникой, авиамоделизмом
Твой первый квадрокоптер: теория и практика - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Есть ряд проблем с подключением приемников по шине S-BUS. Недорогие и популярные приемники Orange RX9 имеют выход S-BUS, якобы совместимый с оригинальным протоколом Futaba, но поддержка этой опции реализована в приемнике некорректно. Насколько известно автору, пока никому не удалось использовать этот выход приемников Orange для подключения к полетному контроллеру одним сигнальным проводом. В коде прошивки MultiWii v2.20 также некорректно работала часть кода, отвечающего за прием и декодирование сигнала S-BUS, но впоследствии в код были внесены поправки.
Скорость портов
Для связи с большинством внешних модулей, а также для подключения к компьютеру используются встроенные последовательные порты SERIAL0-SERIAL3. Максимальная допустимая скорость любого из портов 115 200 бит/с.
#define SERIAL0_COM_SPEED 115200
#define SERIAL1_COM_SPEED 115200
#define SERIAL2_COM_SPEED 115200
#define SERIAL3_COM_SPEED 115200
Порт SERIAL0 используется для подключения к компьютеру. Через этот порт происходит обмен информацией с программами настройки и управления. Также к этому порту подключается адаптер Bluetooth или радиомодем для беспроводного соединения с компьютером или смартфоном. К порту SERIAL1 подключают выход приемника S-BUS. Порт SERIAL2 используется для подключения приемника GPS. К порту SERIAL3 подключается модуль OSD и/или телеметрии.
При начальной настройке нет необходимости менять параметры по умолчанию. В дальнейшем скорость может быть установлена в соответствии с параметрами применяемого внешнего модуля. Если вы изменили скорость порта SERIAL0, то не забудьте указать новую скорость в настройках интерфейсной программы WinGUI на компьютере.
Фильтр гироскопа
Как мы уже говорили ранее, гироскопы и акселерометры очень болезненно реагируют на вибрацию, поэтому приходится применять программную фильтрацию потока данных с датчиков. По умолчанию программный фильтр для гироскопов имеет максимальную полосу пропускания. Предполагается, что вы достаточно хорошо отбалансировали винтомоторные пары. Если же балансировка не позволяет устранить негативное влияние вибрации на гироскопы, которое проявляется в хаотичном и внезапном подергивании коптера по крену и курсу, придется опытным путем подобрать нужный фильтр. Сначала определите, какой интегральный гироскоп используется, ITG3200/ITG3205 или MPU6050. На платах Crius AIOP используется микросхема MPU6050. Далее выберите один из вариантов частоты среза фильтра:
//#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.
Читать дальшеИнтервал:
Закладка: