- Квадрокоптер с прошивкой INAV ver. 1.7.2 на полетном контроллере cc3d

Квадрокоптер с прошивкой INAV ver. 1.7.2 на полетном контроллере cc3d evo с режимами удержания высоты, позиции, возврата домой

Практика для школьников и студентов. Мясищев А.А.

Обычно полетные контроллеры cc3d evo поставляются с прошивкой OpenPilot(LibrePilot). Для использования прошивки INAV cc3d необходимо перепрошить. Прошивка поставляется файлом с расширением .hex, поэтому начальный загрузчик LibrePilot теряется и его при обратном переходе к LibrePilot необходимо восстановить. Почему прошивка INAV, а не LibrePilot? Потому что INAV позволяет удерживать высоту, позицию, обеспечить возврат домой и даже полет по путевым точкам для старого контролера cc3d.

Исходные данные:

1. Рама f450

2. Пропеллеры 10x45

3. Полетный контроллер cc3d evo с гироскопом и акселерометром

4. Компас HMC5883L и барометр BMP180 на шине I2C

5. GPS приемник GY-GPS6MV2(GY-NEO6MV2)

6. Батарея lipo 3S1P 4200mAh

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

Скопировать прошивку INAV ver. 1.7.2 можно отсюда https://github.com/iNavFlight/inav/releases/tag/1.7.2, а конфигуратор inav ver. 1.7.3 - отсюда: https://github.com/iNavFlight/inav-configurator/releases/tag/1.7.3

Для контроллера cc3d (с микроконтроллером STM32F1) версия прошивки 1.7.3. является последней. Здесь выбрана версия 1.7.2. Для прошивки cc3d используется программа STM32 Flash loader demonstrator с сайта https://www.st.com/en/development-tools/flasher-stm32.html Для прошивки используется подключение cc3d к USB компьютера через конвертер USB to TTL на базе микросхемы CH340(рис.1)

Рис.1. Подключение cc3d при программировании

Для правильной работы программы STM32 Flash loader demonstrator необходимо вначале вставить в порт USB компьютера конвертер, а затем подключить его к cc3d через порт Main Port. После запуска программы STM32 Flash loader demonstrator необходимо выполнить последовательность действий в соответствии с рисунками 2,3,4.

Рис.2. Работа с STM32 Flash loader demonstrator(выбор com порта, успешное подключение к cc3d и идентификация контроллера STM32F1 c flash 128K)

Рис.3. Работа с STM32 Flash loader demonstrator(очистка микроконтроллера и выбор файла прошивки inav_1.7.2_CC3D.hex)

Рис.4. Работа с STM32 Flash loader demonstrator(загрузка прошивки)

После успешной прошивки отключается от cc3d конвертер и размыкается замкнутый контакт(рис.1). На компьютере устанавливается конфигуратор INAV ver.1.7.3 и cc3d подключается к компьютеру через порт mini USB. После нажатия на кнопку Connect на конфигураторе должно появиться изображение, как на рисунке 5.

Рис.5. Загрузка конфигуратором прошивки с cc3d. Показана уже настроенная прошивка

Для настройки прошивки выполняется последовательность действий в соответствии с рисунками.

1. Необходимо зайти во вкладки Ports и Configuration и обратить внимание на установку параметров, подчеркнутых красным. Контроллер cc3d должен быть полностью установлен на квадрокоптире с подключенными моторами и со снятыми пропеллерами. Батарея Lipo должна быть подключена, иначе напряжения питания на барометр, компас, приемник GPS поступать не будет (рис.6)

Рис.7. Вкладка Motors

3. Возвращаемся на вкладку Setup и калибруем Accelerometer. Для этого устанавливаем квадрокоптер в разные положения как на рис.8 и после каждого из них нажимаем на кнопку Calibrate Accelerometer.

Рис. 6. Вкладки Configuration и Ports

2.Выполняем вход во вкладку Motors, включаем моторы, как подчеркнуто на рис. 7 и перемещаем движки для каждого мотора. Они должны раскручиваться в соответствии с их номерами подключения к контроллеру как на верхнем левом рисунке. Направление вращения также должно соответствовать рисунку. В противном случае меняем местами два вывода двигателя.

Рис.8. Калибровка акселерометра

4. Заходим во вкладку Reciever, включаем приемник, перемещаем все стики и тумблеры на пульте управления. Полоски на рисунке должны двигаться в соответствие со стиками(рис.9)

Рис.13. Вкладка failsafe

9. Калибровка компаса выполняется в поле перед запуском. Можно ее выполнить также и в лаборатории, но металлические предметы должны находиться на расстоянии. При калибровке должна быть выполнена комбинация стиков, как на рис.14. Левый стик вверх и вправо, правый вниз и удерживать 1-2 сек. После этого в течении 30 сек. необходимо коптер вращать на 360 град по всем его осям.

Рис.12. Вкладка Modes

8. Во вкладке Failsafe устанавливаем режим возврата домой RTH в случае потери связи с пультом управления (рис.13)

Рис.11. Вкладка Advanced tuning

7. Во вкладке Modes устанавливаем полетные режимы. Устанавливаем режим полета ANGLE - на тумблере (AUX1). Это такой режим, что при максимальных отклонениях стиков квадрокоптер не перевернется. По умолчанию - режим ACRO при котором квадрокоптер может отклоняться на любой угол вплоть до переворачивания. С режимом ANGLE совмещаем AIR MODE. Он позволяет при малых оборотах двигателей держать PID-ы. В противном случае квадрокоптер, например при резком спуске, будет раскачиваться вплоть до переворота. Далее на AUX1 устанавливаем режимы NAV ALTHOLD (удержание высоты) и NAV POSHOLD (удержание позиции). На тумблере AUX2 устанавливается режим NAV RTH(возврат домой).

Рис.10. Установка PID

6.Входим во вкладку Advanced tuning и устанавливаем параметры в соответствии с рис.11.

Рис.9. Вкладка Reciever

5. Выполняем вход во вкладку PID tuning и устанавливаем PID-ы в соответствии с рис.9.

Рис.14. Комбинация стиков при калибровке компаса

10. Если коптер уводит влево, вправо, вперед и назад при отсутствии ветра, в этом случае выполняется программная калибровка с помощью пульта. Коптер устанавливается в горизонтальном положении на земле, верхний стик поднимается вверх, а правый перемещается до упора в сторону, противоположную смещению коптера. Например, если стики так держать в течении 4 сек, происходит изменение угла по Roll, Pitch примерно на 2 градуса.

11. Подключение к cc3d компаса, барометра, GPS приемника показано на рис.15. Компас должен находиться над плоскостью вращения пропеллеров на высоте не менее 15см!

Рис.15. Подключение к cc3d компаса, барометра, GPS приемника

12. Подключение приемника FS-IA6 системы управления к контроллеру cc3d показано на рис.16

Рис.16. Подключение приемника FS-IA6 системы управления к контроллеру cc3d

13. Калибровка регуляторов ESC, выполняется в вкладке Motors (рис.7).

Необходимо отключить пропеллеры и аккумулятор. Далее перейти на вкладку Motors в конфигураторе и включить моторы (рис.7 - подчеркнуто красным). Передвигаем слайдер Master наверх, на все двигатели будет подан полный газ. Теперь подключаем аккумулятор - двигатели перейдут в режим калибровки.

Далее необходимо передвинуть слайдер Master полностью вниз, для установки уровня газа на ноль. Двигатели начнут пищать (проиграют музыкальную мелодию), что означает завершение калибровки.

14. Фото собранного квадрокоптера представлена на рисунке 17.

Рис. 17. Фото квадрокоптера на контроллере cc3d

15. Ниже показана схема калибровки полетного контроллера с помощью пульта управления

16. Для изменения угла наклона коптера с 30град. на 40град. для ускорения полета при максимальном отклонении стиков по Roll, Pitch используется команда set max_angle_inclination_rll = 400, set max_angle_inclination_pit = 400. Для возврата домой хвостом нужна команда set nav_rth_tail_first = ON. Для разрешения арминга без спутников используется команда set nav_extra_arming_safety = OFF.

17. Проблема с рассмотренным здесь коптером на прошивке inav ver.1.7.2. При резком увеличении газа коптер взмывает вверх, теряет устойчивость и заваливается на левую сторону. Если не убавить газ и не регулировать стиками выравнивание по Roll, Pitch, коптер падает. Попытка решения была в следующем. Изменил основной PID - I=10 для Roll, Pitch - Практически ничего не дало. Поменял мотор №4 и пропеллеры с 10х45 на 12х45, откалибровал регуляторы двигателей в диапазоне 1100...1950. После этого коптер при полном газе взмывает вверх и немного откланяется влево. Поэтому для этой прошивки важно устанавливать правильно настроенные двигатели. Впечатление - PID - регуляторы этой прошивки плохо работают с полным газом. Если газ увеличивается плавно, коптер поднимается быстро и относительно устойчиво - PID - регуляторы работают. Для нулевого газа проблема плохой работы PID решена установкой режима AIR MODE(рис.12).

18. И все же удалось ликвидировать заваливание коптера в левую сторону, если резко увеличить ПИД-ы по Yaw для пропеллеров 12х45 (см рисунок ниже).

Написано

21.11.2018г.