В этом году мы участвовали в чемпионате CanSat по запуску погодных зондов и поставили перед собой амбициозную цель: превратить зонд в полноценный БПЛА, укладываясь в правила конкурса
Данный пост включает в себя:
1) описание аппарата
2) цель его создания
3) процесс сборки
4) летные испытания
5) финальный запуск
Описание
Аппарат представляет из себя квадрокоптер с двумя режимами: в пассивном он принимает вид цилиндра, который помещается в корпус ракеты, в активном раскрываются лучи, запускаются двигатели, начинается выполнение основной миссии, которая заключается в сборе данных о состоянии поверхности земли и атмосферы, автономном полете по заданным точкам (с возможностью перехвата управления пилотом) и возврате на базу.
Сложенное состояние
Характеристики:
Время полета: 6-12 минут
Дальность полёта по горизонтали: 4 км
Дальность полёта по вертикали: 2 км
Время перехода в активный режим: 3 секунды
Вес: 600 г
Установленные датчики: барометр, акселерометр, гироскоп, магнитометр, GPS, инфракрасная камера
Проект создавался для участия в высшей лиге чемпионата CanSat, который проводит НИИЯФ МГУ.
Первый этап — зимняя сессия, на которой команда из 1-4 человек представляет презентацию, которая описывает будущий проект погодного зонда, дополнительную миссию и т. д.
Далее, если жюри одобрило проект, можно приступать к сборке. Летом проходят запуски в поле под Дубной, после этого отлетавшие зонды забирают жюри, позже они выдаются одновременно всем командам. Остается ночь на обработку данных и создание итоговой презентации.
Всего существует 3 лиги:
регулярная лига — объем 0.5 л, максимальная масса 350 г, обязательно использование готового конструктора, который состоит из аналогового датчика давления, цифрового датчика температуры, микроконтроллера ATmega 128, приёмопередатчика RXQ2 (433 МГц). Регулярная лига запускается на ракете на высоту 500м.
Высшая лига — увеличен максимально допустимый объем и вес, есть возможность использования собственных компонентов. Основные задачи: отложенное раскрытие на высоте 200м, построение траектории полета. Запускается на ракете на высоту 1 км.
Студенческая лига — зонд запускается в стратосферу (30 км) на гелиевом шаре.
У моей команды был опыт участия в чемпионате: в прошлом году мы состояли в регулярной лиге. Вместо готового конструктора было решено сделать свой, с сохранением основных компонентов из базового набора, так что правила фактически нарушены не были, но организаторов мы уведомили. У нас получилось уменьшить размеры платы в 3 раза за счет применения двухсторонней печати, так что теоретически мы бы смогли принять участие в американском чемпионате, но из-за домашнего изготовления плата работала с некоторыми перебоями, что не позволило нам запуститься на ракете.
Схема основной платы
Нашей дополнительной миссией была съемка земли в инфракрасном диапазоне камерой 16х4 пикселей и видимом диапазоне с дальнейшим наложением. Как показала практика, проект так или иначе был бесполезен, так как из-за снижения на парашюте зонд постоянно раскачивался, не хватало светосилы и скорости съемки, поэтому все видеозаписи получались смазанными.
Пробный запуск зонда с квадрокоптера (полет на парашюте с 0:35)
Съемка с квадрокоптера. То самое наложение 2-х диапазонов
2) Утром я проснулся в общежитии МГУ от того, что кто-то спалил мою основную схему, перепутав полярность у батареи. В этом была и моя вина, нужно было поставить защитный диод.
3) Инфракрасная камера снимала с частотой 18 к/с и это только ухудшало полученные результаты.
4) Мы поехали на чемпионат с полностью не готовым кодом для основной платы, думали, что успеем написать все до стартов.
Этого хватило для того, чтобы мы не поехали на запуски и отоспались за все 4 бессонные ночи, во время которых мы допиливали наш зонд.
Стоит также упомянуть и более старую команду, которая принимала участие в еще более раннем чемпионате. В прошлом году они участвовали в высшей лиге. Основная особенность — использование импеллера вместо парашюта, но из-за неготовности программного кода и самодельной платы они также не смогли выступить.
зонд с импеллером
Их первый зонд, кстати, работал. Основными особенностями были собственная приемная станция и две системы спасения, включавшие в себя GPS и GSM модули.
Перед запусками у них перестал работать приемник на базовой станции. Чудом смогли отпаять сгоревшую деталь со старого треснувшего приемника, все заработало.
Стоит заметить, что мы были союзниками, так как работали в одном помещении.
В этом году было решено слить команды. В итоге моя команда решила развить идею управляемого спуска, а именно создать квадрокоптер, который бы поместился в ракету.
Процесс создания
прототип
Первый прототип мы сделали за неделю до зимней сессии, чтобы убедить жюри в реальности данного проекта. Каркас был сделан из алюминия, лучи тоже. В качестве полетного контроллера я использовал MultiWii, так что этот прототип мог только раскрывать лучи по команде оператора, и летать в ручном режиме.
Жюри проект оценили, мы заняли первое место, и теперь могли начать сборку. Кстати, прямо перед презентацией во время пробного полета у нас сгорел двигатель, мы поменяли его на запасной. Во время презентации опять сгорел двигатель. Оба были подключены к одному и тому же регулятору скорости, больше мы его не использовали.
К сожалению, пропал источник финансирования, появился он ближе к сдаче ЕГЭ, тут уже я не мог принимать участие. В итоге после сдачи экзаменов мы в экстренном режиме заказали нужные детали экспресс-доставкой и, вооружившись карбоновыми трубками, кевларовыми нитками и эпоксидной смолой, начали сборку каркаса и лучей. На протяжении всех двух недель меня не покидала мысль о том, что мы не успеем, но билеты на поезд были куплены, обратного пути не было.
финальная версия в стадии отладки
Говорить о серьезных летных испытаниях не приходилось, у нас был всего одна рабочая модель, её потеря означала провал.
Первый запуск был внутри здания, он прошел успешно, второй запуск на улице в ручном режиме — успешно, третий запуск в режиме удержания позиции по gps — почти фатально. Из-за неправильно настроенного магнитометра зонд перестал слушаться команд и полетел в сторону ближайшего озера, благо его остановила стена общежития. Мы потеряли 2 луча и 2 пропеллера, каркас выдержал. У нас были запасные лучи, поэтому работоспособность была восстановлена за пару часов. После длительной настройки магнитометра была еще одна попытка — запуск прошел успешно.
Оставалось проверить возврат на базу. Этот день как раз приходился на мой выпускной, но делать было нечего, мы поехали в поле, попробовали возврат домой — успешно. Радости не было предела, на следующий день мы отправлялись в Москву на запуски, но код для автоматического раскрытия все еще не был написан и, кажется, мы повторили ошибку прошлого года.
тест возврата на базу
Расскажу подробнее о системе автоматического раскрытия.
Она состоит из сервопривода, веревки, резинок, управляющей платы и фотоприемника.
Зонд погружают в ракету, там темно, с помощью фотоприемника МК это фиксирует, система переходит в режим ожидания. Происходит запуск ракеты, отделение, поток света увеличивается, сервопривод отпускает веревку, которая держит лучи (их нормальное состояние из-за резинок открытое), лучи раскрываются, через 3 секунды плата предоставляет доступ включенному полетному микроконтроллеру к регуляторам скорости, начинается полет к первой точке, далее полет домой.
Плата, отвечающая за управление раскрытием также управляет ИК камерой. После того, как мы перенесли обработку сырых данных с датчика на компьютер, частота увеличилась с 18 к/с до 30 к/с (данные записываются на microSD)
Для управления двигателями пришлось потрудиться: нельзя просто так сначала разорвать соединение между МК и регуляторами скорости, а потом восстановить — они не запустятся. Сначала нужно подать сигнал на инициализацию и только потом отдавать доступ полетному МК. Поэтому пришлось создать схему с возможностью доступа к регуляторам как от полетного мк, так и от управляющего.
Мы плавно переходим к финальному этапу —
запускам
И вроде за ночь до запусков у нас все готово, мы даже протестировали полет по точкам, оно действительно летает, но вот полную симуляцию сделать никто не додумался. В итоге в автобусе, который вез нас на поле для запусков выяснилось, что код работает неправильно; я предложил другу закомментировать основной цикл, в котором начинается работа всех дополнительных систем, чтобы определить корень проблемы. Мы пытались исправить ошибку на протяжении всего оставшегося до запусков времени, попросили организаторов пускать нас последними. В конечном счете проблема была решена, но, как оказалось, мой друг вместо того чтобы закомментировать цикл поставил «отладочный» return, который никто не удосужился убрать.
Ракета, так уж получилось, не могла поднять зонд на заявленный километр, только 500 метров в следующий день, поэтому мы решили запускаться на гексакоптере. Чтобы симулировать нахождение зонда в ракете мы надели колпачок на фотоприемник, а другой его конец привязали к гексакоптеру.
И вот гексакоптер поднимается с нашим раскачивающимся зондом, медленно превращаясь в неразличимое пятно; по FPV произошло выпускание зонда на километре, но из-за низкого разрешения не было понятно, произошло ли раскрытие, кто-то даже сказал, что он не раскрылся и камнем упал вниз (изначально он должен был полететь по заданным точкам, а потом вернуться на место старта, но даже после 5 минут ожидания его никто не видел). Мы, конечно, расстроились и пошли искать его остатки в поле, но, взглянув на последние данные телеметрии, заметили, что, хоть связь с зондом и пропала, последние координаты указывают на соседнее поле из борщевика. Пошли по координатам; по дороге другая команда сказала, что видела, как он садился в кусты; начались поиски. Как оказалось, в траве крайне затруднительно найти мелкий зонд даже зная его координаты.
В итоге я решил включить двигатели, чтобы посадить предположительно разряженную батарею, тогда должен был запищать встроенный вольтметр. План сработал, мы нашли его в целости и сохранности, даже пропеллеры не пострадали, спасибо удлиненным лучам.
Радостные поехали домой обрабатывать данные, точнее их отсутствие, спасибо «отладочному» return.
У нас, правда, были данные с полетного контроллера, их и проанализировали. Получили траекторию, график высоты и системные ошибки.
синяя стрелка — момент включения двигателей; зеленая стрелка — момент включения режима возврата домой
Еще получили запись с гексакоптера.
Итог таков — он успешно отделился, выпустил лучи, включил двигатели, смог выровняться из перевернутого положения и полетел на ближайшую точку.
Далее произошла потеря связи с базовой станцией, это именно тот момент, который я не учел. В настройках по умолчанию ему предписано прервать полет по точкам и лететь домой, поэтому он прекратил снижение и собрался на базу, но не тут-то было, мы слишком быстро включили двигатели, не успев «прогреть» GPS, поэтому он запомнил не совсем те координаты, не правильно записал точку дома (хотя почему она лежит на прямой по его траектории — вопрос). Далее он совершил плавную посадку в автоматическом режиме и выключил двигатели.
После такого количества ляпов мы и не надеялись занять первое место, но жюри, кажется, оценили идею. Так мы выиграли четвертый чемпионат CanSat в России.
P.S.
Я так и не нашел ни одного рабочего проекта по управляемому спуску зонда CanSat, возможно мы первые, это даже странно, так как все было относительно просто.
Ссылки:
Вот тут можно почитать о прошлогоднем кансате
Официальный сайт, если вы хотите принять участие
Сайт прошивки, которую мы использовали для автономного полета
Из-за компактности можно сбрасывать пачку подобных штук для исследования определенной территории, тот же поиск торфяников, например. Можно запускать на ракете, тогда не будет затрат на набор высоты.
Был ли у нас научный руководитель?
Да, Игорь Иванович, большое ему спасибо за поддержку, также хотелось бы выразить благодарность Казанскому Авиационному Институту и Дому занимательной науки и техники за предоставленные лаборатории.
Какова стоимость зонда?
От 300$ до 500$, в зависимости от задачи. Ясно, что можно увеличить время полета, максимальное расстояние, надежность за счет увеличения бюджета. Нам пришлось отказаться от многих идей, к сожалению.
Почему GPS антенна была под брюхом зонда?
Потому что планировка не позволяла её поставить в другое место (но в воздухе прием был отличным).
Комментарии (13)
gorbln
14.10.2015 09:44не успев «прогреть» GPS, поэтому он запомнил не совсем те координаты, не правильно записал точку дома (хотя почему она лежит на прямой по его траектории — вопрос)
Действительно, вопрос. А не потому ли, что ГПС приёмник с направленной patch-антенной, установлен вот так?
Вообще-то он в небо должен смотреть, а не в батарейку.
Ну и вообще — вы нарушили все возможные требования к безопасному запуску =)OTIOSE
14.10.2015 14:43На поле дежурили машины скорой помощи и пожарных, если мне не изменяет память, как раз на этот случай)
А насчет антенны написано в статье: не было ей места больше нигде, и так уже мы очень близко подобрались к ограничениям по размерам.gorbln
14.10.2015 15:29Это не повод антенну размещать «мордой вниз». Вы же не ставите двигатель у ракеты соплом вверх, потому что «так удобнее по компоновке»?
Ищите возможность установить антенну наверх. Не вижу в этом никакого ограничения — на сантиметр укоротить корпус аппарата, и приклеить ГПС приёмник наверх.OTIOSE
14.10.2015 17:52-1Во-первых, у нас нет возможности что-либо укоротить в этом прототипе из-за расположения аккумулятора, никто не спорит, что антенна должна смотреть вверх.
Во-вторых, лучшее — враг хорошего. Я не заметил разницы по качеству приема между чистой антенной и антенной, установленной на зонде.gorbln
15.10.2015 09:31-1Ну, раз вы сами такие умные — мне остаётся только пожелать вам удачи.
Не удивляйтесь, откуда GPS glitch появляются и почему коптер в борщевик садится.OTIOSE
15.10.2015 14:12Прежде чем грубить, прочитали бы пост. Я не вижу смысла в том, чтобы доказывать мне то, что я и так понимаю и признаю. Вы умудрились растянуть это на 7 комментариев.
gorbln
14.10.2015 09:51Из рекомендаций:
Регули должны пребывать после выпуска модуля в положении «brake», блокируя пропеллеры. Иначе есть шанс, что они раскрутятся потоком воздуха в обратную сторону и двигатели будет не запустить. Как это сделать — не могу точно сказать, но есть подозрение, что регули, прошитые с рекуперацией, это будут делать сами.
ГПС, понятное дело, наверх.
Питание на весь девайс надо бы подавать заранее, и ждать, чтобы ГПС приёмник наловил побольше спутников.
И использовать радиопрозрачный обтекатель ракеты, чтобы эти спутники не потерялись.
Либо, как вариант — при выбросе модуль переходит в althold, безо всяких там ГПСов. А, допустим, через 30 сек — уже в AUTO.
Резинки — также не шибко надёжный вариант механизма раскрытия. Рассмотрите вариант с ниткой, наматывающейся на бобину.OTIOSE
14.10.2015 14:41Мы использовали пару резинок, если порвется одна — есть еще запасная, но даже если порвется запасная, то двигатели смогут прижать луч к плате без проблем, хотя вероятность падения, конечно, увеличивается. Ракета и так сделана из бумаги, так что проблем с сигналом быть не должно (я указал, что в данной версии прототипа другого места, кроме как под брюхом, не было, насчет количества спутников согласен, но мы на тот момент об этом забыли). Мы подобрали время включения двигателей так, чтобы скорость падения была ниже критической, хотя о блокировке думали.
gorbln
14.10.2015 15:34двигатели смогут прижать луч к плате без проблем
Двигатели на коптере же работают не только «вверх». Так что не исключена возможность раскачки.
Ну, как-то так…
Просто я к тому, что резинки надо проверять постоянно, они имеют свойство внезапно рваться =)
ayurtaykin
Предложите идею Маску, может 3я ступень наконец-то успешно сядет)
А вам большущий зачет, идея красивая.