Аэрофотосъемка с беспилотного вертолета

Этап первый. Постройка вертолета.

фото

Я всегда полагал, что вершины профессионального мастерства фотографа находятся в области аэрофотосъемки. Но до недавнего времени эта сфера была недоступна ни кустарям-одиночкам, ни любителям. Это был удел больших коллективов узких специалистов. Да и стоимость летательных аппаратов и их эксплуатации зашкаливала за бюджет одиночки. На выставке Фотокина 2012, я понял, что и эта область стала доступной и пора пробовать самому. Последней каплей стала презентация Sony, на которой я увидел квадрокоптер кустарной сборки, и решил построить аналогичный. Вприглядку именно на этот аппарат и были заказаны первые комплектующие. На тот момент я не прочитал и 10% имеющейся в русскоязычной сети информации на эту тему. Но, в целом, я угадал, было закуплено достаточно деталей для построения аппарата, который взлетел, и не очень много денег было потрачено на детали, которые оказались лишними. Процесс заказа тоже изобиловал отдельными тонкими моментами и, в результате, затянулся на 2 месяца. К сборке я приступил уже в новом 2013 году.

Для начала рассмотрим общий список элементов конструкции, которые нужно иметь, чтобы оторваться от земли.

Рама

Необходимый элемент, но для первого полета можно сбить крест и из двух досок. Я выбрал клон арматуры от DJI, которую я видел на выставке Фотокина. Конструкция полностью идентична, а про материал не знаю, Цена много ниже оригинала - порядка 20 уе за комплект для сборки шестимоторного аппарата. Я собирался начинать с 4х моторного, но посчитал, что запас карман не тянет, что нибудь в процессе будет сломано. Размер выбирался из соображений, что вертолету придется нести камеру, которая с подвесом будет весить около 500 г. Подвес камеры и посадочные опоры я оставил на потом, полагая сделать их самостоятельно, когда определюсь, с какой камерой я собираюсь летать.

Моторы

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

1) Коль скоро с рамой определился, то двигатели должны иметь крепление, совместимое с ней. В моем случае это две пары отверстий с расстоянием между центрами 16 и 19 мм. Это сразу сужает поиск до двигателей диаметром 28 мм. Существуют всевозможные переходные крепления, но будем исходить из того, что чем меньше деталей, тем меньше риск аварии.

2) Двигатель должен обеспечить необходимую подъемную силу, чтобы оторвать аппарат с камерой от земли. Этот вопрос тесно увязан с используемыми пропеллерами и аккумуляторами. Для подбора и оценки совместимости стоит обратиться к онлайновому калькулятору «xcopterCalc - Multicopter Calculator». Если двигателя, который предполагается использовать, нет в списке, то задаем его параметры самостоятельно. Наиболее важные это: KV - число оборотов на Вольт, максимальный ток. Остальные можно взять от близкого по характеристикам имеющегося в списке. Калькулятор при общем весе 1450 г KV=1200 и максимальном токе 18 дал 6 минут полета с аккумулятором из 3 элементов емкостью 2500 мАчас и винтами 10х4,7 дюйма. С батареей из 4 элементов при максимальном положении ручки газа с этими винтами ток превысил 20А. Т.е. если газовать по полной, то с 10 дюймовым винтом мотор сгорит. Если поставить 8-дюймовый пропеллер, то можно летать те же 6 минут, правда понадобится уже аккумулятор из 4 элементов емкостью 2500 мАчас - это с учетом повысившегося напряжения даст на 30% больше запасенной энергии. С 3-элементным аккумулятором и 8-дюймовым винтом взлететь удастся только при положении ручки газа на 90%, т.е. отрыв произойдет, а управлять не удастся. Считается, что необходимо оторваться от земли при положении ручки газа до 80%. В результате игр с калькулятором я решил, что мне нужен двигатель с KV 1000- 1200 и максимальным током 16-22 А. Я выбрал NTM Prop Drive Series 28-26A 1200kv в значительной степени наугад из целого ряда близких по характеристикам.

NTM Prop Drive Series 28-26A
          1200kv

Обращаю внимание, что крепление пропеллера для этого двигателя в комплект не входит и его надо покупать отдельно, еще примерно 2 уе. Может оказаться полезным купить и разъемы для подключения штекеров, припаянных к проводам этого двигателя.

NTM Prop Drive Series 28-26A
          1200kv

Поскольку двигатели бесколлекторные, то ток между обмотками нужно переключать. Этим занимается отдельный регулятор оборотов с не самым слабым процессором типа ATmega8, обозначаемый ESC (Electronic Speed Controller). Моя задача - сделать для начала наиболее простую конструкцию, поэтому из возможных вариантов я выбираю PPM регуляторы. Для справки сообщаю, что есть еще и I2C регуляторы с шиной связи I2C, которые, как считается, являются более быстрыми. Выбираю первый попавшийся с небольшим запасом по максимальному току: HobbyKing 30A BlueSeries Brushless Speed Controller.

HobbyKing 30A BlueSeries
          Brushless Speed Controller

HobbyKing 30A BlueSeries
          Brushless Speed Controller

После выгорания пары контроллеров появилась возможность снять, что у них под радиатором. Там оказалось три ряда полевых транзисторов IRF8736.

HobbyKing 30A BlueSeries
          Brushless Speed Controller

Программировать регулятор можно, как с пульта радиоуправления, подключив к радиоприемнику и манипулируя ручкой газа, так и с помощью специального устройства, задавая параметры с помощью перемычек.

Регуляторы бывают с преобразователем напряжения BEC (Battery eliminator circuit), в этом случае они выдают еще и 5 В на служебные нужды. Если к центральной плате приходится подключать все регуляторы,то питание для нее надо брать только с одного из них. Питание с остальных можно подать на приемник и рулевые машинки управления камерой. В этом случае с центральной платой следует соединять только сигнальные и земляные провода. Если регулятор без BEC, то при его программировании питание на программатор надо подавать от отдельного источника. Регуляторы с BEC дополнительного источника не требуют, подключаются, как показано на фотографии ниже. Для программирования надо подключить к регулятору основную батарею, дождаться звукового сигнала и отсоединить батарею.

HobbyKing 30A BlueSeries
          Brushless Speed Controller

Аккумуляторы

Литий полимерный аккумулятор (LI-PO) может состоять из нескольких элементов номинальным напряжением 3, 7 В. Соответственно интересующие нас аккумуляторы будут маркироваться как 3 Cell 11.1 В и 4 Cell 14,8 В, кроме того, на батарее указывается их емкость в мАчас и параметр C, который характеризует максимальный непрерывный ток. Чтобы его получить, надо умножить емкость на этот параметр. Для батареи емкостью 3000 мАчас с 25С максимальный ток будет равен 75 А.

Для зарядки нужно специальное устройство, включаемое между источником с постоянным напряжением 11-18 В, регулирующее ток и напряжение, подаваемое на аккумулятор. В качестве источника я использовал блок питания от старого компьютера.

фото

До напряжения 4,2 вольта на элемент и, соответственно, 12,6 В на батарею из 3 элементов и 16,8 на батарею из 4 элементов идет зарядка постоянным током, а далее напряжение поддерживается постоянным, а ток уж какой получится. Ток зарядки задается меньшим, чем емкость в Амперах. Батареи имеют отдельные выводы от каждого элемента, что позволяет устройству сбалансировать зарядку и добиться полного заряда каждого из элементов.

фото

Мозги

Для управления двигателями, ориентируясь в первую очередь на показания 3х осевых гироскопов, используются самые разные контроллеры, как фирменные, так и с открытым исходным кодом. Кроме гироскопов обычно поддерживается использование акселерометров и датчиков давления. В более продвинутых системах устанавливается так же GPS и эхолот. Учитывая предыдущий опыт и уже настроенное программное обеспечение, я ограничил свой выбор системами на основе Arduino. А поскольку, чем проще система, тем легче понять ее работу, я остановился на контроллерах, построенных на процессоре Atmega328P. Можно задействовать уже имеющуюся плату и к ней подключить датчики или купить систему, где все собрано на одной плате. Одноплатные решения варьируется в цене от 18 до 35 уе. Более дешевые имеют только гироскопы и акселерометры, а более дорогие еще и датчик давления. Обычно есть возможность даже к самым простым системам подключить дополнительные датчики. Однако системы на Atmega328P имеют ограниченное число портов ввода вывода и, чтобы полностью задействовать все возможности, надо обмениваться и приемником и с датчиками по последовательному протоколу. Может оказаться, что переход на последовательный протокол обойдется дороже, чем покупка изначально системы на Atmega2560. Однако, как показал мой опыт, для решения задачи съемки с воздуха сферической панорамы все возможности системы задействовать совсем необязательно. Относительно небольшой объем памяти у систем на Atmega328 показал, что выбор программного обеспечения фактически сводится к прошивке MultiWii. В результате этого анализа была куплена за 28 уе MultiWii 328P Flight Controller w/FTDI & DSM2 Port.

MultiWii 328P
        Flight Controller

На этой плате установлены следующие датчики:
• ITG3205 Triple Axis Gyro
• BMA180 Accelerometer
• BMP085 Barometer
• HMC5883L Magnetometer

После нескольких месяцев эксплуатации определенные претензии у меня возникли только к датчику давления. Причем, возможно, виноват не столько он сам, а его неудачное расположение на плате, при котором он чувствует малейшую ее деформацию. В сети встречается информация, что проблема в некачественной пайке стабилизатора напряжения и датчиков, но мои попытки пропаять соединения ситуацию не изменили.

MultiWii 328P Flight Controller

Проект MultiWii

Изначально проект предполагал скрестить Arduino с гироскопами и акселерометрами, выломанными из игровой приставкой Nintendo Wii. Сейчас датчики стали доступны и относительно дешевы, принципиальная необходимость добывать их из других продуктов пропала. Купленная мной плата уже имела загруженную версию программы и теоретически можно было, собрав вертолет, сразу попробовать летать, не вдаваясь в подробности. Я почти так и поступил, и то, что первый полет не закончился полным разрушением аппарата, это в значительной степени везение. Я, впрочем, запустил программу настройки и даже откалибровал акселерометры,чтобы стоящий на полу аппарат и программой отражался расположенным в горизонтальной плоскости.

MultiWiiConf.

Но не обратил внимания, что по умолчанию аппарат находится в пилотажном режиме, когда влияние акселерометров выключено. Этот режим вполне комфортен для опытного пилота на привычном аппарате, однако в первом полете, который запечатлен на ранее выложенном видео, заставил понервничать. Программа контроля и настройки аппарата написана на Java и, таким образом, не зависит от платформы. Она позволяет задать реакцию аппарата на датчики и определить, какими ручками можно переключать режимы. Однако, если не настраивать программу, то весьма вероятно, что возможность изменять режимы не приписана ни одному из регуляторов радиоуправления. В случае аналогового подключения, когда каждый канал с приемника подается на вход Arduino, система на Atmega328 поддерживает всего 6 каналов, да и то не по умолчанию, а после некоторых манипуляций с файлом настройки. Можно, однако, все настроить до полета с компьютера, просто поставив галочки нужного режима для всех положений регулятора. Если регулятор реально передает информацию управляющему компьютеру, то можно одному регулятору приписать три режима - один минимальному сигналу, другой среднему и наконец третий максимальному. С платой никакой сопроводительной информации не поступает, даже о версии программы можно только гадать, поэтому для настройки самое разумное подправить конфигурацию  и загрузить последнюю версию программы, взятую с официального сайта проекта. Программа хорошо структурирована и состоит из отдельных модулей. Скорее всего, менять придется только config.h. Для компиляции MultiWii 2.2 потребуется Arduino версии 1.0 или старше.

MultiWii

Загружаем MultiWii.и во вкладке config.h вносим следующие изменения:

В секции * SECTION 1 - BASIC SETUP * *The type of multicopter* раскомментируем строку:
#define QUADX
В секции * Combined IMU Boards * выбираем и раскомментируем строку с нашей платой:
#define HK_MultiWii_328P // Also labeled Hobbybro on the back. ITG3205 + BMA180 + BMP085 + NMC5583L + DSM2
В секции * Cam Stabilisation * раскомментируем:
#define SERVO_TILT
и поскольку у нас всего два вспомогательных канала то переназначаем ручку отвечающую за наклон камеры с AUX3 на AUX1:
#define TILT_PITCH_AUX_CH AUX1 //AUX channel to overwrite CAM pitch (AUX1-AUX4), comment to disable manual input and free the AUX channel
В секции * Promini Specifig Settings ** Aux 2 Pin * приписываем второй дополнительный канал AUX2 12 ножке платы, для чего раскомментируем строку:
#define RCAUXPIN12
В секции * SECTION 6 - OPTIONAL FEATURES ** continuous gyro calibration * включаем режим повторной калибровки гироскопов, если в аппарат двигался в процессе калибровки. Поскольку калибровка начинается сразу после включения питания, а питание я включаю просто соединяя тугие штекеры, то это оказывается весьма полезным, хотя и не 100% эффективным. Поэтому для надежности стоит повторить калибровку с пульта, сдвинув правый джойстик вниз до упора, а левый влево и вниз.
#define GYROCALIBRATIONFAILSAFE
В секции * Failsafe settings * определяем что если радиосигнал потерян и возобновился в течении секунды, то на двадцать секунд снижаем обороты двигателя для относительно мягкой посадки, а затем выключаем двигатели совсем.
#define FAILSAFE // uncomment to activate the failsafe function
#define FAILSAFE_DELAY 10 // Guard time for failsafe activation after signal lost. 1 step = 0.1sec - 1sec in example
#define FAILSAFE_OFF_DELAY 200 // Time for Landing before motors stop in 0.1sec. 1 step = 0.1sec - 20sec in example
#define FAILSAFE_THROTTLE (MINTHROTTLE + 200) // (*) Throttle level used for landing - may be relative to MINTHROTTLE - as in this case

Выбираем плату Arduino Pro or Pro Mini (5V,16 MHz) w/ATmega328 из списка, загружаем и приступаем к настройке. Собственно калибровка регуляторов оборотов может быть проведена и с помощью специального режим в программе. Для этого в секции * ESCs calibration * раскомментируем строку:
//#define ESC_CALIB_CANNOT_FLY // uncomment to activate
загружаем, отключаем от компьютера, (поскольку этот вариант не предназначен для полетов то в целях безопасности снимаем винты), включаем питание ждем сигнала, выключаем, комментируем строку, подключаем и грузим уже полетную версию.

Настройка

Поскольку задача снимать, то главное - это не научиться выполнять фигуры высшего пилотажа,а умение зависнуть в точке. Поэтому роль датчиков ускорения, давления и направления (магнитометра) стала очень существенной, в то время как для фигурного пилотажа важны фактически одни гироскопы. Это значит, что для нас приоритетными являются режимы Level (приоритет акселерометров, при котором, если отпустить ручку, то вертолет попытается выровняться по уровню горизонта). Однако если взять вертолет в руку и включить двигатели, может оказаться, что стремится занять он отнюдь не горизонтальное положение. В этом случае его надо попытаться выравнять триммерами, расположенными на пульте рядом с джойстиками. Если при выравнивании возникают автоколебания, то надо настраивать PID. P- Пропорциональная составляющая, I - Интегральная составляющая, D - Дифференциальная составляющая. Если с параметрами по умолчанию все совсем плохо, то , вероятно регулировки только P хватит, чтобы стало сносно. Если плохо возвращается, то увеличиваем; если возникли автоколебания, то уменьшаем. О тонкой регулировке со смартфона, подключенного через Bluetooth, я написал в отдельной статье.

Еще одним полезным режимом для панорамной съемки оказывается HEADFREE, при котором вне зависимости от поворота аппарата, если при старте он был сориентирован на север, то движение ручки тангажа вперед будет приводить к полету на север, назад - на юг; ручки крена, соответственно, вправо - на восток, влево - на запад. Обычно это означает, что если перед стартом аппарат стоял перед вами, то в дальнейшем при движении ручки тангажа вперед он будет удаляться, а назад  - приближаться до тех пор, пока не окажется за спиной.

Радиоуправление

С выбором радиуоправления для первого аппарата, на мой взгляд, все очень просто. У Turnigy 9X 9Ch Transmitter w/ Module & 8ch Receiver за 53 уе практически нет конкурентов. Функционально он может все,что и самый крутой аппарат, при этом стоит почти в 10 раз меньше. Возможно, некоторые функции вовсе не нужны и тогда можно в дальнейшем купить нечто надежное и точное, но с меньшими возможностями за умеренную цену. Чтобы почувствовать недостаточную скорость и точность пульта, надо научиться хорошо летать, а пока мастерства нет, это не заметно, надежности же на период обучения, есть надежда, что хватит. Тем более, что аппарат со столь заманчивой ценой сразу привлек многих энтузиастов, занявшихся его усовершенствованием. В частности, считается, что альтернативная прошивка удачнее родной, но я пока не пробовал. Подробно о перепрошивке написано здесь.

Turnigy
          9X

Обозначение ручек на ангельском и в переводе на смешении французского с нижегородским:

Канал
Название
Описание
В программе
В меню пульта
На русском
1 Roll AIL Крен
(фр. carène — киль)
Поворот вокруг продольной оси
2 Pitch ELE Тангаж
(фр. tangage — килевая качка)
Угол между продольной осью аппарата и горизонтальной плоскостью.
3 Throttle THR Дроссельная заслонка Поскольку с нефтяной иглы мы слезли, то в общем случае это можно обозвать ручкой регулятора подачи топлива. Для электродвигателей это регулятор тока, определяющий скорость вращения двигателей.
4 Yaw RUD Рысканье Угловые движения аппарата относительно вертикальной оси
5 AUX1 GYR/HOV PIT Вспомогательный 1 Управление камерой
6 AUX2 FLP/PIT TRIM Вспомогательный 2 Переключение режимов
7   HOV THRO   Не задействован
8   GEAR   Не задействован

Двигатели включаются левой ручкой вниз и вправо до упора, выключаются вниз и влево до упора.

У аппарата масса настроек и, когда я в них разберусь,то возможно напишу отдельную статью. Пока же ограничусь тем минимумом, который позволил мне взлететь. Ниже приведены пункты меню, в которые,вероятно, придется заходить.

меню
Стартовое окно пульта. Полоски по краям показывают значения триммеров.

меню
меню
Я предпочел настраивать самолетный режим, поскольку режим классического вертолета отличается от мультикоптера еще сильнее. В нем каналы газа и шага винта оказываются связанными и фактически мы теряем еще один канал.

меню
меню
Цифры обозначают номера каналов. Мода 2  - это когда ручка газа слева. Итак, задействуем джойстики - правый для управления тангажом и креном, левый газом и рысканьем.

меню
меню
Полезное графическое представление положения ручек с учетом триммеров.

меню

меню
Поскольку приемник может передать нашей плате MultiWii только 6 каналов, то приписываем 5 и 6 каналом наиболее удобные переключатели. Два вращающихся регулятора задействуем для переключения режимов. В дальнейшем, когда я определился с тем, какие именно режимы мне нужны для съемки, я отдал один из них на управление наклоном камеры. 7 и 8 каналы можно задействовать, прямо подключив, например к рулевым машинкам.
Turnigy
          9X

Посередине находится съемный передатчик. Говорят, его стоит заменить на более совершенный. Я пока такой необходимости не почувствовал, но все еще впереди. Аккумуляторов в комплекте нет и кассета на 8 NiMH аккумуляторов очень неудобна. Зарядка же через внешнее гнездо аккумуляторов внутри аппарата привела к тому, что корпус у меня расплавился. Полагаю, что стоит сразу купить предлагаемую Литий полимерную батарею. И по цене получается выгоднее, и заряжается она быстрее. Кроме того, на задней панели расположено гнездо подключения к программе симулятора полета.

Первые полеты проходили в суровых зимних условиях.

фото

Что сразу потребовало внести изменения в конструкцию. Снежная пыль, тающая на микросхемах, сводила с ума автоматику, поэтому потребовалась и гидроизоляция, и посадочная опора, не позволявшая аппарату проваливаться в рыхлый снег. Первые съемки велись жестко закрепленной мыльницей SAMSUNG S630 в режиме видео 640 х 480 и оказалось, что для столь грубой картинки все и без тонкой настройки кажется приемлемым. Полученные кадры я уже ранее публиковал.Переход на высокое разрешение потребовал и подвеса со стабилизацией, и тонкой настройки реакции вертолета. Но об этом в следующей статье. Напоследок же, в доказательство успешного завершения первого этапа приведу сферическую панораму, снятую с получившегося аппарата.

 р. Десна

P.S.

Все детали были закуплены в Гонконгском интернет магазине www.hobbyking.com и, соответственно, везде приведены цены этого магазина. Общая стоимость деталей в первой модели вертолета, которая поднялась в воздух, составила 370 уе, из которых 90 - это доставка. Запас и откровенно лишние детали добавили еще 100 уе. Несколько слов об особенностях покупки в этом магазине. Хотя платить можно просто пластиковой картой, но делать этого не надо. Деньги снимут, и дальше настанет тишина с единственным замечанием в профиле, что Россия - это страна повышенного риска. Когда Вы их спросите, в чем дело, они ответят, что нужен скан карты, следующим письмом попросят скриншот банковской страницы с фактом перевода. Чтобы начать с ними переписку, надо из своего профиля войти в Contact / CUSTOMER SUPPORT CENTRE и задать вопрос, в чем дело, чего ждем. Естественно, ангельским голосом. Например так: «ORDER ID ... STATUS Received 11 days after payment?». Подозреваю, что номера заказа со знаком вопроса хватило бы. Далее все начнет двигаться со скоростью одно письмо в день. Регистрация в Paypal почти решает проблему, но только если сумма меньше 100 уе. Если сто один, опять появляется сообщение о рисках и ручной проверке данных. После письма в виде обращения с невинным вопросом, в чем собственно дело, все быстро оформляется уже без запроса дополнительных документов. Примерно неделя уходит на упаковку и отправку на почту, еще неделя уходит на переправку в Россию. Ну, а дальше, сами понимаете. Если покупаются аккумуляторы,то Гонконгская почта их не берет и посылка отправляется в Сингапур, а оттуда в моем случае сразу в Москву. Почта же Гонконга последнюю мою посылку отправила через Новосибирск.

29.05.2013
Установите проигрыватель Flash

Облако тегов:
3D печать
Arduino
Raspberry Pi
Аэрофотосъемка
Байдарки
Геомеханика
История
Камеры
Макросъемка
Объективы
Освещение
Панорамы
Принадлежности
Принтеры
Программы
Сканеры
Стереосъемка
Фильтры
Фокусировка
Фотокубики
...
rss