Категория: Инструкции
Одна из самых распространенных проблем у новичков в начале работы с контроллерами naze32, flip32, это трудность с первоначальным подключением к программе по настройке CleanFlight.
Установка драйвера для контроллераПеред началом работы с контроллером и программой CleanFlight необходимо установить драйвера серийного конвертера CP210x, если они еще у вас не установлены. Проверить нужно ли устанавливать драйвера очень легко. В программе CleanFlight вверху в выпадающем списке выбора COM порта должен присутствовать виртуальный COM порт, который создается при подключении контроллера к USB, а в списке установленных устройств в Windows должно быть уставлено подобное устройство:
Если при подключении в списке присутствует неустановленное устройство, нужно установить драйвера.
Драйвер можно скачать на официальном сайте производителя чипа серийного конвертора порта CP210x:
Для Windows: здесь
Для других платформ: здесь
После установки драйвера порт на котором подключен контроллер должен появится в выпадающем списке программы CleanFlight. Можно пробовать нажимать кнопку «Connect », но скорее всего в логе при попытке подключиться вы получите такую ошибку:
2015-09-12 @ 18:44:50 -- Serial port successfully opened with ID: 3
2015-09-12 @ 18:45:00 -- No configuration received within 10 seconds. communication failed
2015-09-12 @ 18:45:00 -- Serial port successfully closed
Все дело в том, что новые версии Cleanflight Configurator не всегда совместимы со старыми, устаревшими прошивками, которые могут быть залиты производителем при производстве платы. И именно поэтому программа не коннектится к вашему контроллеру и срабатывает таймаут подключения.
Чтобы этой проблемы не возникало необходимо обновить прошивку контроллера до последней доступной версии.
Как обновить прошивку CleanFlightПрошивка успешно обновлена и теперь вы можете смело пробовать подключаться к контроллеру через кнопку «Connect ».
И хотя это уже третий квадрокоптер, который я собираю сам, на этапе настройки я наступил на такое количество грабель, которое не мог даже представить. В некоторых случаях причиной была собственная неопытность, в других - неудачное стечение обстоятельств.
ДИСКЛЕЙМЕР
Во многих аспектах, данная статья выражает субъективное мнение автора. Это мой путь и мои грабли. По мере "просветления" автора, статья будет дополняться/исправляться.
Столкнулся со следующими проблемами:
Проблема: не мог прошить полётный контроллер SPRacingF3 Acro.
Решение: неправильно прошивал, надо было замыкать boot pins. Подробнее об этом ниже.
Проблема: после сохранения настроек, к ПК больше невозможно было подключиться по USB.
Решение: опять же "самдурак", я отключал передачу данных MSP для порта UART1, так как "оно мне там не надо" (OSD у меня на UART2), а делать этого ни в коем случае нельзя. Отключение MSP для UART1 отключает и передачу данных по USB-разъёму, так как они запараллелены.
Проблема: не работала OSD.
Решение: тут мистика какая-то. Плата была правильно настроена, но никакой картинки вообще не выдавала. Для проверки подключил её к другому квадрокоптеру - работает. Переставил назад на этот - тоже работает.
Проблема: приёмник при подключении к ПК вообще не подавал признаков жизни.
Решение: оказалось, бракованный кабель из комплектации ПК, там перебит один провод.
Проблема: неадекватное поведение пищалки: начинала монотонно пищать сразу при подключении батареи.
Решение: бракованая пищалка. Позднее подумалось, что надо было не ломать голову, а для проверки подключить вместо пищалки светодиод, тогда сразу стало бы ясно в пищалке дело или в ПК.
Последние две проблемы удалось диагностировать только с помощью мультиметра, так что если у вас ещё нет такого прибора, рекомендую задуматься о покупке. Перейдём непосредственно к настройке. Сначала более простые вещи, а потом - его величество полётный контроллер.
OSDО прошивке MinimOSD я уже писал. В данном случае ещё проще - минимализм и аскетичность:
РегуляторыДолго думал, ставить Multishot или уже проверенный Oneshot125? С одной стороны, на устаревшем чипе F330 в скорости особой разницы не заметно, с другой - мелодия из "Звёздных войн" при включении и, как пишут на форумах, "более чистый сигнал". Решили всё неединичные жалобы на то, что моторы стихийно начинают вращаться на максимальных оборотах при подключении к CLI. В итоге поставил BLHeli последней версии (на момент сборки 14.5), включил Damped Light и выставил Motor Timing на "Medium". Позднее откалибровал регуляторы по этой инструкции .
Прошивка SPRacingF3На этом этапе я застрял дольше всего, так как были проблемы с прошивкой. Оказалось, шить надо обязательно с замыканием boot-контактов (как в этом видео ).
Кстати, иногда бывает, что ПК защищён от записи и невозможно прошить новую прошивку. Вот инструкция от Олега Бовыкина. как это исправить. На случай, если оригинал станет недоступен, продублирую её ниже.
Китайский Seriously Pro Racing F3: Лечим ошибку STM32 communication failed
Пожалуй, самой популярной прошивкой на сегодняшний день, вполне заслуженно, является Cleanflight . После её установки достоточно только настроить протокол приёмника и квадрокоптер уже может вполне сносно лететь. Для настройки используется удобная графическая оболочка Cleanflight Configurator . которая лично мне показалась намного удобнее и понятнее, чем OpenPilot GCS.
Благодаря открытому коду прошивки, у неё есть несколько ответвлений (форков). Самым интересным из них является Betaflight от человека под ником Boris B. Прошивка очень динамично развивается и некоторые её "фичи" потом переходят в "родительский" Cleanflight (например, полётный режим Airmode). Минусом Betaflight является то, что релизы выходят достаточно часто, а стабильность их не всегда высока. Кстати, эта причина на несколько недель задержала написание данной статьи. На момент завершения сборки квадрокоптера как раз вышла версия 2.8.0, которая имела пару ошибок и отличалась недружелюбными дефолтными настройками. Очень быстро появилась исправленная версия 2.8.1 RC1, но опыт работы программистом подсказал мне, что лучше подождать релиза. Я не прогадал, так как одновременно с релизом версии 2.8.1, появился и Betaflight Configurator . Можно сказать, что это новый этап в истории данной прошивки. Дело в том, что по мере своего развития Betaflight всё больше и больше отдалялся от Cleanflight и конфигуратор последнего становился всё более и более бесполезным, так как основная часть настроек всё равно делалась через консоль CLI.
Ниже я подробно опишу, как я настроил свой квадрокоптер через Betaflight Configurator.
Настройка через Betaflight Configurator Вкладка SetupСделал калибровку акселерометра.
Вкладка PortsCleanFlight - это программное обеспечение («прошивка») для полётных контроллеров, ответвление (форк) от BaseFlight (который основан на коде MultiWii ). В свою очередь, благодаря открытому коду CleanFlight, у этой прошивки есть несколько форков, самым интересный из которых - BetaFlight от человека под ником Boris B.
Пожалуй, самая популярная на середину 2016 года прошивка для гоночных мини-коптеров. После её установки достаточно только настроить протокол приёмника и квадрокоптер уже может вполне сносно лететь. Для настройки используется графическая оболочка CleanFlight Configurator. работающая как приложение в браузере Chrome.
CleanFlight может использоваться в мультикоптерах и самолётах самых различных конфигураций с любым количеством моторов. CleanFlight реализован на открытой архитектуре, основанной на 32-битной версии оригинального кода 8-битного MultiWii.
Есть поддержка протокола iBus - аналога S.BUS. для передачи данных о 10 каналах с приёмника в полётный контроллер в цифровом виде по одному проводу. Это даёт уменьшение задержки и количества проводов, увеличение надёжности.
Отличия от Baseflight [править ]Список возможностей CleanFlight. которых нет в Baseflight.
В целом CleanFlight поддерживает контроллеры на основе процессоров серий STM32F303 и более ранней STM32F103. Ядро написано с максимальной абстракцией от «железа» для возможностьи портировать CleanFlight на контроллеры с другими процессорами.
Чтобы получить все возможности Cleanflight, рекомендуется использовать контроллеры на основе процессора STM32 F3 с flash-памятью не менее 256Кб. Меньшее количество памяти могут ограничить количество функций.
Платы с пометкой Revo и Quantum имеют процессор STM32 F4. для них требуется другая прошивка.
Все контроллеры имеют свои плюсы и минусы. При выборе важно проверить, имеет ли плата достаточное количество последовательных портов и контактов ввода/вывода для оборудования, которое вы хотите использовать, и что их можно использовать одновременно. На некоторых платах это взаимоисключающие возможности.
Рекомендованные полётные контроллеры [править ] Поддерживаемые контроллеры предыдущего поколения [править ] Платы разработки [править ] Настройка [править ] Арминг двумя переключателями [править ]У арминга переключателем есть как преимущества, так и недостатки. Но полётный контроллер с прошивкой CleanFlight позволяет эффективно решить все проблемы.
Особенности арминга двумя переключателями:
1. Настроить два переключателя на пульте управления. Один должен действовать на канал газа: в выключенном положении канал газа всегда -100%, во включенном - канал газа как обычно зависит от положения стика газа; другой - просто передавать на отдельный канал -100% или +100%. К примеру, в Turnigy_9x ] это могут быть переключатели Throttle Cut (далее по тексту - Thr) и Rudder D/R (далее - Rud).
2. В настройках коптера параметр выключить disarm_kill_switch:
В итоге, два переключателя работают следующим образом:
Более "правильный" способ вычисления (и представления) ориентации коптера в пространстве, основанный на кватернионах. По идее должно повысить точность (особенно в "крайних" случаях). [1]
Ссылки [править ] См. также [править ]5. Настройка GPS
iNAV поддерживает Ublox, DJI NAZA, NMEA, Multiwii I2C Nav board и Multiwii i2c GPS-модули.
Гарантированно работающие протоколы: Ublox, DJI NAZA
Рекомендуется использовать GPS-модули серии M8N (например Ublox NEO-M8N или Beitian BN-880 ). Более старые версии 6-й и 7-й серии тоже работают, но M8N значительно превосходит их по точности позиционирования.
Большинство GPS-модулей имеют встроенный магнитометр (компас), но также существуют версии без компаса, например Beitian BN-180.
На дефолтных настройках iNAV конфигурирует GPS-модуль автоматически, нет необходимости конфигурировать его вручную через u-center или другие утилиты.
Если внешний компас, находящийся в GPS-модуле, и встроенный магнитометр полетного контроллера выполнены на одном чипе (очень часто это HMC5883L), для работы внешнего компаса вам нужно механически отсоединить встроенный, например выпаяв его феном или перерезав дорожку дата-линии.
Нельзя использовать 2 одинаковых магнитометра на одной шине i2c. Это утверждение не актуально для DJI NAZA GPS, у которого данные компаса передаются по UART без использования шины i2c.
Примечание: нельзя использовать одновременно магнитометры на чипах HMC5883L и HMC5983, т.к. они имеют одинаковый адрес 0x3D.
Использование встроенного компаса возможно, но не рекомендуется, т.к. встроенный магнитометр подвержен влиянию магнитных помех от полетного контроллера (ПК), другой электроники и силовых линий.
Подключение и настройка Ublox GPS
Подключение и настройка DJI NAZA GPS
При использовании Ublox GPS, SBAS-режим может быть сконфигурирован с помощью команды gps_sbas_mode в CLI.
Значение по умолчанию: AUTO.
Указание региона позволит получить более быстрый GPS Fix, но вместе с этим у вас появится необходимость следить за тем, чтобы значение региона совпадало с действительностью.
Эта настройка работает только при gps_auto_config= ON.
Ручная настройка GPS Ublox
Этот способ не рекомендуется к использованию. Используйте метод автоматической конфигурации, описанный выше.
Подключитесь к GPS-модулю с помощью утилиты u-center. Если у вас нет USB to UART адаптера, воспользуйтесь CLI -командой gpspassthrough. чтобы настраивать через u-center ваш GPS-модуль, подключенный к полётному контроллеру, который в свою очередь должен быть подключен к компьютеру по USB.
Откройте iNAV / CleanFlight Configurator, и пропишите в CLI команду gpspassthrough. закройте конфигуратор.
Теперь вы можете настраивать GPS-модуль через u-center, используя полётный контроллер в качестве USB to UART адаптера. Подключаться нужно к COM-порту полётного контроллера на скорости 115200 бод.
16 июля в 16:59 – 52 просмотра
У полетного контроллера ArduPilot в конфигурации ArduCopter APMCopter есть 14 полетных режимов. 10 из которых регулярно используются. Вы можете настроить их. выполнив следующие действия:
Когда вы начинаете использовать ArduPilot в конфигурации ArduCopter вы должны прогрессировать через полетные режимы в порядке указанном ниже, будучи уверенным, что вы знакомы с текущем перед переходом к следующему. Нажмите на любой из режимов полета ниже для детальной информации о нем:
Дополнительные режимы полетаЕсли вы не хотите использовать Mission Planer вы можете установить полетные режимы через интерфейс командной строки CLI
С небольшими изменениями кода по настройке пользовательских полетных режимов, которые комбинируются с существующими режимами полета - описано в разделе для разработчиков
Краткое руководство по заливке прошивки Betaflight от BorisB в полетные контроллеры Naze32 и CC3D
Для прошивки на понадобятся:Прошивать мы будем с помощью FTDI так как если прошить напрямую через интерфейс GCS, то плата Copter Control будет определяться только с подключенной батареей, это очень неудобно. Приступим.
Примечание: Если у вас старый бутлодер на CC3D, перед прошивкой в Betaflight его лучше обновить до версии 4
Навигация по записямВ этой статье будут даны полезные советы по установке и настройки прошивки CleanFlight на Naze32. Материал в основном относится к Naze32, но большая часть информации относится и к CC3D.
Установка конфигуратора CleanFlightCleanFlight конфигуратор устанавливается также, как и BaseFlight. Вам нужно просто набрать в строке поиска расширений Google Chrome «CleanFlight». Если нужно обновить установленную версию CleanFlight удалите расширение и установите заново.
Загрузка драйверов для платы Naze32 и СС3DЕсли вы уже использовали Naze32 раньше, то скорее всего драйверы уже были установлены. Если вы новичок или подключаете плату к новому компьютеру, вам нужно сначала установить драйвер. В противном случае плата не определится и ей не будет присвоен COM порт.
Есть ссылка для загрузки драйвера прямо из конфигуратора Cleanflight. но если вы не можете ее найти вот ссылка. Для CC3D драйвер можно скачать здесь.
После установки драйвера вы увидите, что в диспетчере устройств плате присвоен номер COM порта (не забудьте подать питание на плату CC3D). Если нет, попробуйте для начала перегрузить компьютер.
Если вы запустите CleanFlight GUI и попытаетесь подключиться к контроллеру, попытка завершится ошибкой. Это происходит так как на плате Naze32 все еще установлена прошивка BaseFlight. Поэтому сначала необходимо загрузить прошивку CleanFlight на Naze32 или CC3D. Даже если у вас уже прошита CleanFlight, возможно вам это понадобится в будущем для обновления прошивки (новые функции и удаление ошибок). Если что то пойдет не так. вы всегда можете сделать откат на прежнюю прошивку.
Процесс прошивки достаточно прост. Откройте конфигуратор и выберите COM. Затем нажмите “Firmware Flasher”.
В списке доступной прошивок перечислены доступные платы. Я выбираю последнюю стабильную версию.
Теперь нажмите “Load Firmware (Online)” (Загрузить прошивку (онлайн)), появится информация о релизе. Возможно вы захотите выбрать полное стирание чипа “Full Chip Erase” для новых плат.
Теперь дважды проверьте, что вы выбрали правильную прошивку и нажмите “Flash Firmware” (прошить прошивку).
Светодиоды на плате Naze32 или CC3D начнут мигать. После окончания прошивки, светодиод будет гореть постоянно. Это операция займет менее минуты.
Теперь попробуйте снова подключиться к плате с помощью CleanFlight GUI, тадааа! Работает. D
В случае выбора ошибочной прошивки (например, прошивка от CC3D на Naze32), контроллер перестанет работать и отвечать на запросы. Для устранения этой проблемы просто закоротите контакты загрузчика на плате и выберите “No Reboot Option” и “Flash on connect”. Затем выберите правильную прошивку и повторите загрузку.
Для этого понадобиться штатная программа OpenPilot GCS v15.02.02 . Последнюю версию прошивки Cleanflight можно скачать здесь (скачиваем файл с расширением .bin). Также понадобиться драйвер STM. сохраните и установите.
Процесс обновления прошивки следующий:
Есть два аспекта, если вы пользователь BaseFlight и переходите на CleanFlight. Первый, последовательность сохранения прежних настроек. Второе, различая в некоторых команд CLI.
1. Перед прошивкой CleanFlight, вы должны сделать резервную копию всех ваших настроек. (величины PID, CLI переменные и др.).
2. Отключите аккумулятор, подключите USB кабель для питания платы.
3. С помощью CLI команд, сделайте копии настроек каждого профайла и сохраните, как текстовый файл.
Также сделайте скриншоты ваших AUX настроек, чтобы выставить их в CleanFlight позже. Настройки AUX не подвергаются бэкапу.
После прошивки CleanFlight, вставьте данные первого профайла в интерфейс командной строки.
Как уже говорилось, некоторые команды CLI отличаются и не будут распознаваться. Для решения этой проблемы посмотрите новую конфигурацию и сделайте необходимые изменения.
После внесения изменений, сохраните конфигурацию. Проделайте тоже самое для остальных профайлов.
CLI команды — это основной инструмент для настройки Naze32. Есть очень параметров, которые вы можете изменить. Для примера, наберите «DUMP» и нажмите Enter, увидите огромный список.
Мои установки для CleanFlight CLI и настройки Naze32Вот список моих настроек:
После программирования всех функций и параметров, наберите «Save» для сохранения изменений.
Несколько команд для регулировки уровня газа.
MIN_COMMAND – минимальный уровень газа, который может использовать ваш контроллер. Примечание: Когда полетный контроллер не заармен, он будет по умолчанию использовать значение MINCOMMAND, при условии, что уровень газа меньше MAXCHECK. Вы можете применять эту команду для симуляции максимального и минимального уровня газа аппаратуры радиоуправления. что полезно для калибровки ESC. По умолчанию значение равно 1000. Если регуляторы тихо пищат, когда коптер не зармин, уменьшайте это значение.
MIN_THROTTLE – минимальное значение газа, которое вращает моторы. Если это значение выставлено меньше, чем нужно для надежного вращения двигателей, при резком рысканье или быстрых петлях и бочках двигатели могут остановится. Значение по умолчанию 1150.
MAX_THROTTLE – уровень полного газа. Значение должно совпадать с уровнем, с которым откалиброваны ESC. Значение можно выставить немного меньше, чтобы отставить запас двигателям на удержание равновесия. В этом случае квадрокоптер будет летать быстрее на полном газе.
MAX_CHECK – уровень газа должен достичь этого значения для получения команд от стиков управления, пока квадрокоптер в дизарме. Старайтесь, чтобы значения mincheck и maxcheck были приближены к крайним точкам вашего уровня газа.
MIN_CHECK – При арминге, если уровень газа превысит это значение будет использована величина MINTHROTTLE и моторы начнут вращаться.
Примечание: Если motor_stop не активирована — моторы будут вращаться на холостом ходу со скоростью MINTHROTTLE при арминге, но не будут реагировать на изменения пока не достигнут уровень газа MINCHECK.
Есть два способа калибровки регуляторов скорости ESC, это “команды CLI” и через вкладку “motor”. Я всегда использую команды CLI.
Работа с командами CLIСнимите пропеллеры перед началом калибровки.
По некоторым причинам, я не смог откалибровать ESC с помощью пульта радиоуправления. Поэтому я использовал утилиту командной строки CLI в программном обеспечении baseflight. Это одинаково удобно.
Отключите аккумулятор. затем напишите в командной строке CLI следующие:
Нажмите ввод и напишите «save».
Теперь отключите USB кабель для отключения питания полетного контроллера. Теперь подайте питание на Naze снова, подключив аккумулятор Lipo, а затем USB кабель. После загрузки откройте CLI и наберите:
Теперь наберите “save”. Вы услышите мелодию от двигателей, что означает — все регуляторы откалиброваны.
Чтобы проверить калибровку перейдите на вкладку “Motors” и проверьте вращение двигателей при одинаковом входном значении. (Пропеллеры должны быть сняты)
Калибровка регуляторов ESC, используя вкладку » Motor » в конфигураторе CleanflightЕсли вам не нравится интерфейс командной строки CLI, то есть способ проще.
Отключите пропеллеры и аккумулятор.
Перейдите на вкладку “motor testing” в конфигураторе и поставьте галочку снизу. Передвиньте основной слайдер наверх, на все двигатели будет подан полный газ.
Теперь подключите аккумулятор, двигатели перейдут в режим калибровки.
Теперь передвиньте главный слайдер полностью вниз, для установки уровня газа на ноль. Двигатели начнут пищать ( проиграют музыкальную мелодию), что означает завершение калибровки.
Autotune — это новая функция в CleanFlight портированная из Bradwii, которая позволяет коптеру автоматически найти “наиболее подходящие” настройки PID. Идея состоит в том, что Naze32 будет постепенно увеличивать усиление P. Если коптер будет опускаться или подниматься, колебаться, тогда P будет увеличиваться.
Autotune находится во вкладке полетных режимов «modes». Для задействования функции Autotune, сначала нужно присвоить ей AUX переключатель. Затем вы можете задействовать функцию в полете.
Autotune обычно полностью берет управление полетным контроллером и выполняет серию циклов настройки, производя все виды движений для определения «наилучших» установок PID. В процессе настройки движения коптера будут достаточно амплитудными, поэтому производите настройку на большом поле без людей и препятствий. Если вы хотите прервать autotune, то несколько раз переключите полетный режим.
Функция поддержки светодиодной ленты LED_StripОдна из причин по которой я захотел попробовать CleanFlight, это поддержка светодиодов RGB LED.
Измения настроек PID в полете с помощью радио передатчика.До появления этой функции для изменения настроек PID, нужно было приземлится, сделать дизарм, подключить полетный контроллер к компьютеру (Naze32, CC3D и др.) и запустить конфигуратор. Другой более легкий способ подключить блютуз модуль к Naze32 и производить изменения с помощью приложения под Android.
А теперь производить настройки PID можно делать прямо в полете с помощью регулятора на передатчике радиоуправления. Изменения коэффициентов нужно делать очень плавно, так как коптер может вести себя нестабильно.
Перевод. Оригинал статьи здесь.