МОЖЛИВОСТІ ПОЛЬОТНОГО КОНТРОЛЛЕРА CC3D З ПРОШИВКОЮ INAV
OPPORTUNITIES OF FLIGHT CONTROLLER CC3D WITH INAV FIRMWARE
Сторінки: 171-179. Номер: №1, 2020 (281)
Автори:
О.А. МЯСІЩЕВ
Хмельницький національний університет
A.A. MYASISCHEV
Khmelnytskyi National University
DOI: https://www.doi.org/10.31891/2307-5732-2020-281-1-171-179
Рецензія/Peer review : 09. 01.2020 р.
Надрукована/Printed : 14.02.2020 р.
Анотація мовою оригіналу
Розроблено безпілотний літальний апарат (БЛА) на базі польотного контролера cc3d з вбудованим гіроскопом і акселерометром 3-осьового компаса HMC5883L, барометра/висотоміра BMP180, GPS приймача u-blox NEO-6M. Використана прошивка INAV ver.1.7.2, що підтримує навігаційні функції. В якості рами використовується чотирьохмоторний мультиротор – квадрокоптер. Спроектований квадрокоптер здатний виконувати наступні польотні режими: ANGLE – автоматичне вирівнювання крену і тангажу з контролем кута горизонту, задане значення якого не може перевищуватися, чим досягається стійкий політ. Тут задіяні гіроскоп і акселерометр для утримання горизонту. NAV ALTHOLD – утримання висоти. Тут використовується барометр, який сприяє утриманню висоти по тиску повітря. NAV POSHOLD – виконується утримання позиції. GPS. NAV RTH (Return To Home) – повернення додому, в точку зльоту. Контролер запам’ятовує точку, де зроблений Arming і дозволяє повернути БЛА в цю точку. Failsafe RTH – режим порятунку, який відправляє БЛА додому (в точку, де проведений запуск двигунів – Arming) в разі втрати зв’язку з наземною станцією. AIR MODE – режим динамічної регуляції PID регулятора, який забезпечує повну корекцію PID під час нульового дроселя і дає можливість плавного польоту і виконання вищого пілотажу. Показана можливість використання програми STM32 Flash loader demonstrator як програматора для заміни прошивки в cc3d з OpenPilot на INAV. А також можливість її використання для зворотного повернення на прошивку OpenPilot (LibrePilot) при прошивці початкового завантажувача OpenPilot (LibrePilot) з подальшою прошивкою OpenPilot (LibrePilot) за допомогою LibrePilot GCS. Встановлено для прошивки INAV, що при різкому збільшенні дросельної заслінки коптер, злітаючи вгору, втрачає стійкість і завалюється на ліву чи праву сторону. Якщо не зменшити газ і не регулювати стиками вирівнювання по Roll, Pitch, коптер падає. При плавному збільшенні дросельної заслінки коптер зберігає стійкість при підйомі вгору. Тільки ретельний підбір моторів і пропелерів дозволяє стійко коптеру підніматися вгору при різкому збільшенні газу. Таким чином PID регулятори прошивки INAV ver.1.7.2 на контролері cc3d погано працюють з різкими відхиленнями стіків, що призводить до аварії коптера. На прошивці OpenPilot (LibrePilot) з контролером cc3d цього не спостерігається.
Ключові слова: cc3d, PID-регулятор, INAV, LibrePilot, GPS приймач, AIR MODE, STM32F1, Throttle PID Attenuation.
Розширена анотація англійською мовою
An unmanned aerial vehicle (UAV) based on a flight controller cc3d with a built-in gyroscope and accelerometer, 3-axis compass HMC5883L, barometer / altimeter BMP180, GPS receiver u-blox NEO-6M was developed. The firmware used is INAV ver.1.7.2, which supports navigation functions. Four motorized multirotor – quadrocopter is used as a frame. The designed quadcopter is able to perform the following flight modes: ANGLE – automatic leveling of the pitch and pitch with control of the angle of the horizon, the set value of which cannot be exceeded, thus achieving stable flight. Here a gyroscope and an accelerometer are used to hold the horizon. NAV ALTHOLD – hold height. Here a barometer is used, which helps to maintain the height of the air pressure. NAV POSHOLD – position is held. Uses GPS. NAV RTH (Return To Home) – return home to the take-off point. The controller remembers the point where Arming is produced and allows you to return the UAV to this point. Failsafe RTH – rescue mode, which sends the UAV home (to the point where the engines were started – Arming) in case of loss of communication with the ground station. AIR MODE is a mode of dynamic regulation of the PID regulator, which provides full PID correction during zero throttle and enables smooth flight and aerobatic flying. The possibility of using the STM32 Flash loader demonstrator program as a programmer to replace the firmware in cc3d from OpenPilot to INAV is shown. And also the ability to use it to return to the OpenPilot (LibrePilot) firmware when flashing the OpenPilot (LibrePilot) bootloader with subsequent OpenPilot (LibrePilot) firmware using the LibrePilot GCS. It is established for INAV firmware, that with a sharp increase in the throttle, the rotor, soaring upwards, loses stability and falls to the left or right side. If you do not turn down the gas and do not adjust the alignment of Roll, Pitch, the copter drops. With a smooth increase in the throttle, the copter remains steady when it rises up. Only a careful selection of engines and propellers allows the steadily steaming upward with a sharp increase in gas. Thus, the PID regulators of the INAV ver.1.7.2 firmware on the cc3d controller do not work well with sharp deviations of sticks, which leads to a crash of the copter. This is not observed on the OpenPilot (LibrePilot) firmware with the cc3d controller.
Keywords: cc3d, PID controller, INAV, LibrePilot, GPS receiver, AIR MODE, STM32F1, Throttle PID Attenuation.
References
- Miasishchev A.A. Postroenie BPLA na baze poletnoho kontrollera APM 2.6. / A.A. Miasyshchev // Herald of Khmelnytskyi National University. – 2016. – №5.–s. 225–230.
- 2015. URL: http://multicopterwiki.ru/index.php/CopterControl3D.
- The LibrePilot open source project. 2017. URL: http://www.librepilot.org/site/index.html.
- 2018. URL: https://github.com/iNavFlight/inav/wiki.
- Open-Source flight controller software for modern flight boards. 2018. URL: http://cleanflight.com/.
- F1, F3, F4 AND F7 FLIGHT CONTROLLER DIFFERENCES EXPLAINED. 2017. URL: https://oscarliang.com/f1-f3-f4-flight-controller
- FLASHER-STM32. 2016. URL: https://www.st.com/en/development-tools/flasher-stm32.html.
- Myasishev A.A. Kvadrokopter s proshivkoj INAV ver. 1.7.2 na poletnom kontrollere cc3d evo s rezhimami uderzhaniya vysoty, pozicii, vozvrata domoj. 2018. URL: https://sites.google.com/site/webstm32/inav-cc3d
- Command Line Interface (CLI). 2018. URL: https://github.com/iNavFlight/inav/blob/master/docs/Cli.md.
- Myasishev A.A. Ispolzovanie platy ROBOTDYN MEGA2560 PRO dlya postroeniya poletnogo kontrollera geksakoptera / A.A. Myasishev // Herald of Khmelnytskyi National University.. – 2018. – № 3. – S. 171–179.
- Miasyshchev A.A. Rezhymy polotu kontroleriv polotu APM 2.6 I PIXHAWK BPLA / A.A. Miasyshchev, V.V. Shvets // Herald of Khmelnytskyi National University.. – 2018. – № 1. – S. 78–82.
- Miasyshchev A.A. Systema navihatsii bezpilotnoho nazemnoho aparata na ARDUINO / A.A. Miasyshchev, A.P. Faryna // Herald of Khmelnytskyi National University. – 2018. – № 4. – S. 173–177.
- U-center Windows. GNSS evaluation software for Windows. 2018. URL: https://www.u-blox.com/en/product/u-center-windows.
- Flashing the OpenPilot bootloader on a CC3D or Flashing Beta/Borisflight Hex on a CC3D. 2015. URL: http://www.southquay3d.com/index.php?route=news/article&news_id=9.