CC3D OpenPilot — это не дорогой контроллер полетов для квадрокоптера и самолёта

Цена:

Цена:

cc3d evo
CC3D OpenPilot — это не дорогой контроллер полетов для квадрокоптера.

Если удобно, можно в WhatsApp для этого не нужно меня записывать в телефон, просто нажимаете на ссылку и будите сразу мне писать: Написать в WhatsApp
Основным его преимуществом являются дешевизна и малые размеры, а так же — хорошие возможности управления квадрокоптером. Не даром же 90% квадрокоптеров ориентированных на FPV Racing полеты собираются именно на этом контроллере.

Технические характеристики CC3D OpenPilot
32-битный микроконтроллер STM32 (128 кБ Flash памяти и 20 кБ оперативной памяти)
3-осевой высокопроизводительный MEMS гироскоп и 3-осевой MEMS акселерометр MPU-6000
Компактная (36 × 36 мм) 4-слойная печатная плата обеспечивает максимальную защиту от помех и высокую производительность
Поддержка ПО Windows, Mac и Linux для конфигурации контроллера
Поддержка USB и отсутствие необходимости установки драйверов
Поддержка сателитов Spektrum
Поддержка системы Futaba S/BUS
Технология Flexi-port
4 МБ энергонезависимой памяти EEPROM для хранения настроек
Поддержка основных радиовходов: 6 каналов PWM, PPM, Spektrum/JR DSM2, DSMJ, DSMX, приемники Futaba S.Bus
Поддержка нескольких приемников одновременно
Функции ReceiverPort (настраиваемые): 6 входных каналов PWM или PPM, 4 выходных канала PWM
Функции MainPort (настраиваемые): телеметрия (по умолчанию), GPS, S.BUS, сателиты Spektrum/JR
Функции FlexiPort (настраиваемые): телеметрия, GPS, сателиты Spektrum/JR, периферийные устройства I2C (в разработке)
10 выходов PWM для сервоприводов или ESC либо для стабилизации камеры
Стабилизация камеры: поддержка 3-осевых подвесов с поддержкой стабилизации и ручного управления
Дополнительный фильтр, работающий на частоте 500 Гц

обзор контроллера полета для квадрокоптера CC3D OpenPilot

Размеры 36х36 мм, вес 5.7 грамма.

Все соединения с приемником и регуляторами оборотов моторов осуществляются через идущие в комплекте кабеля.

обзор контроллера полета для квадрокоптера CC3D OpenPilot

Комплектация: сам контроллер.

Если удобно, можно в WhatsApp для этого не нужно меня записывать в телефон, просто нажимаете на ссылку и будите сразу мне писать: Написать в WhatsApp

Монтажный размер: 30х30

Основным его преимуществом являются дешевизна и малые размеры, а так же — хорошие возможности управления квадрокоптером. Не даром же 90% квадрокоптеров ориентированных на FPV Racing полеты собираются именно на этом контроллере.

Технические характеристики CC3D OpenPilot

32-битный микроконтроллер STM32 (128 кБ Flash памяти и 20 кБ оперативной памяти)
3-осевой высокопроизводительный MEMS гироскоп и 3-осевой MEMS акселерометр MPU-6000
Компактная (36 × 36 мм) 4-слойная печатная плата обеспечивает максимальную защиту от помех и высокую производительность
Поддержка ПО Windows, Mac и Linux для конфигурации контроллера
Поддержка USB и отсутствие необходимости установки драйверов
Поддержка сателитов Spektrum
Поддержка системы Futaba S/BUS
Технология Flexi-port
4 МБ энергонезависимой памяти EEPROM для хранения настроек
Поддержка основных радиовходов: 6 каналов PWM, PPM, Spektrum/JR DSM2, DSMJ, DSMX, приемники Futaba S.Bus
Поддержка нескольких приемников одновременно
Функции ReceiverPort (настраиваемые): 6 входных каналов PWM или PPM, 4 выходных канала PWM
Функции MainPort (настраиваемые): телеметрия (по умолчанию), GPS, S.BUS, сателиты Spektrum/JR
Функции FlexiPort (настраиваемые): телеметрия, GPS, сателиты Spektrum/JR, периферийные устройства I2C (в разработке)
10 выходов PWM для сервоприводов или ESC либо для стабилизации камеры
Стабилизация камеры: поддержка 3-осевых подвесов с поддержкой стабилизации и ручного управления
Дополнительный фильтр, работающий на частоте 500 Гц

обзор контроллера полета для квадрокоптера CC3D OpenPilot

Размеры 36х36 мм, вес 5.7 грамма.

Все соединения с приемником и регуляторами оборотов моторов осуществляются через идущие в комплекте кабеля.

обзор контроллера полета для квадрокоптера CC3D OpenPilot

Приобретать контроллер без кабелей (такое часто продают на АлиЭкспресе) смысла нет, тк отдельно кабели соединений стоят половина набора.

 

 Как подключить CC3D к квадрокоптеру

 

 

Как прошить и настроить CC3D OpenPilot

Программа настройки расположена тут.  Так же смотрите официальный сайт, там всегда последняя версия, но он не всегда работает.

Сама настройка очень простая, посмотрите видео ниже, на нем все показано.

 

 

Как видите — проблем с настройкой и прошивкой не возникает даже у не опытного пользователя.

Кстати, стоит отдельно сказать про потерю сигнала.

У не дорогой аппаратуры радиоуправления, типа Turnigy 9x, нет режима FallSafe, вместо этого реализован Hold, то есть — при потере сигнала удерживаются последние полученные значения, не мало авиамоделей улетело безвозвратно в небеса потеряв связь — если модель летела ровно, то при потере связи она так и будет лететь дальше, все боле и более удаляясь от владельца.

CC3D OpenPilot при потере сигнала через секунду плавно отключает двигатели даже не смотря на работу Hold на приемнике. При восстановлении связи — работа двигателей восстанавливается.

 

 

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

Как поставить GPS на CC3D

 

 

На видео выше – установка и настройка GPS на CC3D. Однако, такая конфигурация будет работать только передавая координаты через OSD.

Для того, что бы работал автовозврат и автопосадка надо установить прошивку Harakiri, она разрабатывалась под Naze32 и Flip32, но и на CC3D тоже работает.

iNAV на CC3D – самый бюджетный автопилот с функцией RTH для самолета

Запишу в дневник, чтобы не забыть, да и пригодится может кому…
Да, это не полный и исчерпывающий мануал по iNAV, а пример настройки АП под конкретный тип ЛА.

Кроме того, этой записи в дневнике исполнился год. А за год в iNAV произошли существенные изменения. И только в лучшую сторону. Поэтому тут в тексте многое исправлено и дополнено. Актуально на конец февраля 2017. Версия iNAV 1.6.

В поисках кандидата легкого, не дорого комплекта АП для мелкого FPV самолета взор упал на давно приобретенную плату CC3D. Поставив ее на самолет и без труда настроив OpenPilot захотелось большего, а именно возврата домой. В результате после изучения темы всплыли две возможности:

  • прошивка Патрика (базируется на baseflight)
  • iNAV (базируется на cleanflight)
    Имея не очень успешный опыт эксплуатации прошивки Патрика на multiwii, прочитав наискось его тему на http://fpvlab.com, найдя фразу Патрика же, что его прошивке до iNAV очень далеко, у меня остался только один вариант. А почитав в основном положительные отзывы по системе навигации iNAV вообще развеялись все сомнения.

Что потребуется:

  1. Полетный контроллер CC3D или совместимый с iNAV (от $13)
  2. OSD (minimOSD или любое другое поддерживающее cleanflight) (от $8)
  3. GPS приемник (от $10)
    Итого, на АП, gps и osd вышло менее $32
  4. FPV комплект, самолет, РУ, батареи и т.п. это и так понятно.
    Фото подопытного ЛА:
     
    Пилот может смотреть по сторонам. На мир с высоты смотрю глазами миньена 😃

Получил удовольствие от настройки iNAV, и использования – самолет летает, отлично управляется и летает в стабилизированных режимах, возвращается домой. В RTH имеется возможность изменять высоту возврата в полете при помощи стика РВ.

Начнем (для увеличения изображений правый клик на нем мышей и открыть в новой вкладке).

1. Прошивка iNAV в CC3D.
Ничего необычного в процессе нет.
Качаем скомпилированную прошивку под наш тип платы отсюда github.com/iNavFlight/inav/releases
А далее существует куча мануалов как на CC3D залить стороннюю прошивку. Например тут и тут . Единственное отличие, что для прошивки выбираем скачанный файл iNAV.
С выходом версии 1.2 для CC3D необходимо делать выбор между двумя прошивками CC3D и CC3D_PPM1. Разница очевидна – если используется приемник с выходом PPM (что очень рекомендуется) то качаем одноименную прошивку.

2. Базовая настройка
Настройку полетного контроллера начиная с iNAV 1.6 лучше начинать с закладки Presets. Здесь можно выбрать тип ЛА и за один клик настроить множество параметров.

Далее будем более тонко настраивать iNAV под себя. Начнем с последовательных портов. Настройка портов выполняется на вкладке Ports.
Вкладка Ports

  • UART1 оставляем без изменения (по-умолчанию), к нему будет подключено ОСД или FTDI для настройки с компьютера
  • UART3 будет занят для GPS. Соответственно и включаем эту функцию и выбираем необходимую скорость на порту.
    Могу заметить, что применяя GPS приемники ublox серии 6-8 нет необходимости их подключения к компьютеру и конфигурирования при помощи u-center. iNAV все сделает сам.

Калибровка акселерометра.
Сейчас у iNAV используется шеститочечная калибровка акселерометра. Сложного в ней ничего нет. Ориентируем плату в соответствии с изображением и нажимаем одну единственную кнопку. И так шесть раз. Главное, на что следует обратить внимание так это на то, что ориентация на изображениях инструкции по калибровке – это ориентация полетного контроллера, а не летательного аппарата. Поэтому, чтоб не путаться я провожу калибровку полетника, а уже потом устанавливаю его в самолет.

Конфигурация (закладка Configuration)
Переходим на вкладку Configuration и выбираем тип летательного аппарата – Airplane. Так как у меня классический самолет с хвостовым оперением. Для тех у кого летающее крыло, необходимо выбрать соответствующую опцию.

Не обращаем внимания на нумерацию серв/каналов на картинке. Они не очень совпадают с действительностью.

Ориентация платы.
Так как полетный контроллер можно устанавливать в самолет под любым удобным углом, то нужно настроить соответственно iNAV. Для этого переходим на закладку Configuration и в разделе Board and sensor Alignment устанавливаем желаемые углы. Например, если у вас полетный контроллер установлен так, что USB разъем “смотрит” влево по направлению полета, то устанавливаем Yaw degrees = 90. Если USB разъем получился слева, то Yaw degrees = 270. Раньше такие настройки выполнялись только из CLI. Если будете делать эти настройки там, то нужно иметь ввиду, что у iNav единицы углов равны deg*10 то есть для 90 градусов в терминале (CLI) выполняем команду

set align_board_yaw=900

для 270 градусов –

set align_board_yaw=2700

Для сохранения изменений сделанных в CLI нужно дать команду save и нажать enter.

После этого, подключим все оборудование по такой схеме (это вариант с PPM Receiver). Еще раз отмечу, что вариант с PPM приемником более предпочтителен, чем следующий вариант с Parallel PWM, хотя бы потому что открываются возможности для телеметрии (SOFSERIAL) и подключение аналоговых сигналов для считывания напряжения, тока, RSSI.

Или по такой схеме (это вариант с Parallel PWM Receiver):
(Фото реального hardware):

Оставаясь на вкладке Configaration настраиваем следующее:
Если не хочется, чтобы самолет крутил двигателем при арминге, то включаем свитч “Don’t spin the motors when armed”.

Включим и возможность работы с GPS. Выбирать протокол нет необходимости – у CC3D есть возможность общаться только по UBX.

После включения функции GPS iNav не будет армиться без GPS fix. Если хочется проверить что арм работает то можно отключить эту проверку в CLI: “set nav_extra_arming_safety = OFF”. Не забываем ее включить обратно для реальных полетов!

Так как у меня приемник PPM, то кроме всего прочего CC3D под управлением iNAV позволит мониторить напряжение батареи, ток потребляемый в полете, RSSI приемника. Все эти опции присутствуют с правой стороны конфигуратора на закладке Configuration.

В группе Other Features я включил Telemetry и SOFTSERIAL. Последняя опция позволяет использовать пины 4 и 5 входов как программный UART, когда не хватает аппаратных, в моем случае я его использую для FR-SKY телеметрии. Если уж зашла речь за нее, то нужно не забывать, что у FR-SKY UART инверсный. Но никаких аппаратных инверторов городить не нужно – разработчики iNAV позаботились. Идем в CLI и активируем инверсию на порту:

set telemetry_inversion = ON

И после этого подключаем пин RX FR-SKY приемника к пину 4 CC3D (TX от SOFTSERIAL)
s8.hostingkartinok.com/…/6225dccbbba4b64… (1.3 MB)

Вкладка Receiver
Здесь контролируем, что реакция каналов управления соответствует движениям стиков передатчика. Если нужно то ставим реверсы в передатчике. Но для Turnigy и Taranis этого не потребовалось. Короче, поведение должно быть таким:

  • Стик газа (Throttle) от себя – значение канала увеличивается
  • Стик руля направления (Rudder) отклонятся вправо – значение канала увеличивается
  • Стик руля высоты (Elevator) от себя – значение канала увеличивается
  • Стик элеронов (Ailerons) отклонятся вправо – значение канала увеличивается

Вкладка Modes
На вкладке Modes нужно настроить соответствие режимов полета положению каналов AUX. На AUX я настроил трехпозиционный свитч. С тем как настроено у меня на картинке получается следующее:

  • минимальное значение канального импульса – работают одни гиры. Взлет самолета – просто песня. Взял за фюзеляж, нос градусов 10-20 вверх поднял, газу на 80-100%, самолет отпустил. Он под этим углом идет в небо. Без просадок, виляний и пр.
  • среднее значение – Angle. Тем, кто любит фпв пилотаж, полюбят режим Horizon 😃
  • максимальное значение – RTH. Летим домой. Все автоматические режимы в iNAV самодостаточные. То есть к RTH не нужно включать ANGLE или еще чего-нибудь.

Вкладка Failsafe
Наконец-то! Начиная с версии 1.6 у iNAV появился простой и прозрачный фейлсейф.
Для работы фейлсейфа необходимо следующее:

  • настроить приемник так, чтобы он не выдавал никаких сигналов при выключенном передатчике
  • или назначить на положение одного из AUX каналов режим Failsafe и сделать так, чтобы при выключенном передатчике этот канал приводил к срабатыванию Failsafe.

Так как у меня FR-SKY D4R-II, то выбор очевиден – настраиваю так, чтоб приемник был в режиме no-pulses при фейлсейф. Для этого просто нажимаем кратко кнопку bind на приемнике при выключенном передатчике. Кроме этого, устанавливаем поведение самолета в режиме failsafe. В моем случае я выбрал возврат домой.

Кстати сказать, настройку ФС я невольно проверил. Работает. А дело было так. Одна из первых посадок получилась довольно жесткая – не удивительно, самолет размахом 65см и массой около 600г 😃. Во время этой посадки самолет повел себя так. Ударившись о землю с газом в 0, он резко ожил и дал полный газ, но врезался в кактус, который и остановил аппарат от взлета и набора высоты и кружения в RTH. Это была случайность, которая избавила меня от необходимости стоять и ждать пока сядет акк и самолет рухнет на землю. Короче, при детальном рассмотрении отпал из CC3D приемник от удара при посадке.

После лирического отступления идем на вкладку Motors

Вкладка Motors
На этой вкладке берем в руки самолет, качаем его по осям и смотрим, какие из ползунков шевелятся в зависимости от углов наклона по PITCH и ROLL. Можно запомнить или записать. ROLL – 4,5; PITCH – 3, YAW – 6.

Вкладка Servos
Включаем передатчик, устанавливаем режим Angle или Horizon. Переходим на вкладку Servos.

Тут внимательно. Я, например, на неделю позже взлетел на iNAV из-за реверса элеронов, которая обнаружилась на первой секунде полета 😃. На этой вкладке настраиваем конечные и среднюю точки, расходы, а так же реверсы рулей для режимов стабилизации. Нумерация серв на этой вкладке начинается с 0! Для РВ, наклоняем хвост вниз, РВ должен должен опуститься. Если же РВ поднимается, то необходимо установить Rate (самый правый выпадающий список) Servo 2 с отрицательным знаком. Наклоняем левое крыло вниз. Левый элерон должен должен опуститься вниз, а правый подняться вверх. Если что-то не так, то исправляем установкой отрицательных Rate для Servo 3 и Servo 4 (если элероны подключены к одному каналу через Y-кабель, то достаточно поменять настройку только одного из каналов). Далее отводим хвост влево, руль направления должен отклониться влево. Если не так, то устанавливаем отрицательный Rate для Servo 5.
Обратите особое внимание, что все конечные точки, нейтрали, триммеры настраиваются на той вкладке, а не в передатчике!

3. Переходим к OSD
Я использую minimOSD и micro minimOSD. В них нужно прошить стороннюю прошивку – MWOSD. На данный момент MWOSD претерпевает значительные изменения – добавляются протоколы, новые возможности, опять же-таки появился глючный конфигуратор под chrome…
По ссылке выше присутствует install guide. Но там все как обычно: прошивка через среду Arduino (желательно скачать самую свежую с оффсайта), запуск конфигуратора, прошивка шрифтов через конфигуратор. Настройка параметров. Скрин параметров:

Конечно, до прошивки MWOSD в плату minimOSD ее необходимо настроить. Все изменения в файле Config.h
В разделе OSD HARDWARE settings:

#define MINIMOSD 

В разделе CONTROLLER SOFTWARE

#define iNAV

И наконец в разделе AIRCRAFT/INSTALLATION TYPE settings

#define FIXEDWING

В последних версиях MWOSD есть довольно полезная функция MAPMODE. Если ее активировать в Config.h, то через конфигуратор можно выбрать разные режимы карты. Смысл MAPMODE заключается в том, что центр экрана OSD представляет собой виртуальную карту с меняющимся масштабом, на которой изображен ЛА и дом. Таким образом, можно легко ориентироваться на новой местности.

4. Настройка PIFF
Как оказалось настройки PID/PIFF которые ставит по-умолчанию Preset являются хорошим стартом для настройки. На скрине ниже приведены коэффициенты для моего 800mm крыла – EPP Rainbow. Так как Duster с миньеном, который есть на фото в начале записи пережил более 100 вылетов, а сделан он был из пенокартона, то он уже давно утилизирован

Я пользовался для настройки PIFF контроллера рекомендации автора – DigitalEntity:
0) Настраиваем самолет в режиме ANGLE. Полет выполняем визуально, в безветренный день. Начинаем со следующих значений PIFF: P=5, I=10, D/FF = 20

  1. Даем резкую команду roll с пульта, и смотрим как самолет ее выполняет. Движение самолета должно быть плавным от начала до конца маневра, без осцилляций в начале и в конце, без раскачек. Если самолет раскачивается в конце маневра – уменьшаем FF; Если самолет начинает выполнять маневр быстро, а затем замедляется и снова продолжает движение, как бы рывками – это значит, что FF слишком мало.
  2. Повторяем то же самое для pitch
  3. Можно увеличивать FF так, чтобы появились осцилляции в конце маневра, а затем уменьшить этот параметр на 20%
  4. Если самолет не достигает заданного угла – нужно увеличить коэффициент I
  5. Чтобы самолет хорошо “боролся” с порывами ветра увеличиваем P, но помним, что увеличение P приводит к более активному использованию серв.

5. Настройка PIDов навигации
Если самолет при возврате домой или полетам по точкам летит совсем не по прямой, а восьмерками и спиралями. То стоит подумать о настройке PID навигации, так как значения по-умолчанию не всегда подходят. Первое, что нужно сделать – установить следующие параметры в CLI и в 90% случаев подобные проблемы уходят

set nav_fw_pos_xy_p = 50"
"set nav_fw_pos_xy_i = 5". 

Видео полета (на 2.20 включен принудительный RTH)

FT Duster under control of iNAV AP on CC3D
  • 74637

Поделиться этим объявлением