[Из песочницы] Создание независимого и самодостаточного погодного зонда
В этом году мы участвовали в чемпионате 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-х диапазонов
1) В процессе постоянной сборки-разборки у нас отвалился шлейф камеры, которая снимает в видимом диапазоне.
2) Утром я проснулся в общежитии МГУ от того, что кто-то спалил мою основную схему, перепутав полярность у батареи. В этом была и моя вина, нужно было поставить защитный диод.
3) Инфракрасная камера снимала с частотой 18 к/с и это только ухудшало полученные результаты.
4) Мы поехали на чемпионат с полностью не готовым кодом для основной платы, думали, что успеем написать все до стартов.
Этого хватило для того, чтобы мы не поехали на запуски и отоспались за все 4 бессонные ночи, во время которых мы допиливали наш зонд.
Стоит также упомянуть и более старую команду, которая принимала участие в еще более раннем чемпионате. В прошлом году они участвовали в высшей лиге. Основная особенность — использование импеллера вместо парашюта, но из-за неготовности программного кода и самодельной платы они также не смогли выступить.
зонд с импеллером
Их первый зонд, кстати, работал. Основными особенностями были собственная приемная станция и две системы спасения, включавшие в себя GPS и GSM модули.
Перед запусками у них перестал работать приемник на базовой станции. Чудом смогли отпаять сгоревшую деталь со старого треснувшего приемника, все заработало.
Стоит заметить, что мы были союзниками, так как работали в одном помещении.
В этом году было решено слить команды. В итоге моя команда решила развить идею управляемого спуска, а именно создать квадрокоптер, который бы поместился в ракету.
Процесс создания
прототип
Первый прототип мы сделали за неделю до зимней сессии, чтобы убедить жюри в реальности данного проекта. Каркас был сделан из алюминия, лучи тоже. В качестве полетного контроллера я использовал MultiWii, так что этот прототип мог только раскрывать лучи по команде оператора, и летать в ручном режиме.
Жюри проект оценили, мы заняли первое место, и теперь могли начать сборку. Кстати, прямо перед презентацией во время пробного полета у нас сгорел двигатель, мы поменяли его на запасной. Во время презентации опять сгорел двигатель. Оба были подключены к одному и тому же регулятору скорости, больше мы его не использовали.
К сожалению, пропал источник финансирования, появился он ближе к сдаче ЕГЭ, тут уже я не мог принимать участие. В итоге после сдачи экзаменов мы в экстренном режиме заказали нужные детали экспресс-доставкой и, вооружившись карбоновыми трубками, кевларовыми нитками и эпоксидной смолой, начали сборку каркаса и лучей. На протяжении всех двух недель меня не покидала мысль о том, что мы не успеем, но билеты на поезд были куплены, обратного пути не было.
финальная версия в стадии отладки
Говорить о серьезных летных испытаниях не приходилось, у нас был всего одна рабочая модель, её потеря означала провал.
Первый запуск был внутри здания, он прошел успешно, второй запуск на улице в ручном режиме — успешно, третий запуск в режиме удержания позиции по gps — почти фатально. Из-за неправильно настроенного магнитометра зонд перестал слушаться команд и полетел в сторону ближайшего озера, благо его остановила стена общежития. Мы потеряли 2 луча и 2 пропеллера, каркас выдержал. У нас были запасные лучи, поэтому работоспособность была восстановлена за пару часов. После длительной настройки магнитометра была еще одна попытка — запуск прошел успешно.
Оставалось проверить возврат на базу. Этот день как раз приходился на мой выпускной, но делать было нечего, мы поехали в поле, попробовали возврат домой — успешно. Радости не было предела, на следующий день мы отправлялись в Москву на запуски, но код для автоматического раскрытия все еще не был написан и, кажется, мы повторили ошибку прошлого года.
тест возврата на базу
Расскажу подробнее о системе автоматического раскрытия.
Она состоит из сервопривода, веревки, резинок, управляющей платы и фотоприемника.
Зонд погружают в ракету, там темно, с помощью фотоприемника МК это фиксирует, система переходит в режим ожидания. Происходит запуск ракеты, отделение, поток света увеличивается, сервопривод отпускает веревку, которая держит лучи (их нормальное состояние из-за резинок открытое), лучи раскрываются, через 3 секунды плата предоставляет доступ включенному полетному микроконтроллеру к регуляторам скорости, начинается полет к первой точке, далее полет домой.
Плата, отвечающая за управление раскрытием также управляет ИК камерой. После того, как мы перенесли обработку сырых данных с датчика на компьютер, частота увеличилась с 18 к/с до 30 к/с (данные записываются на microSD)
Для управления двигателями пришлось потрудиться: нельзя просто так сначала разорвать соединение между МК и регуляторами скорости, а потом восстановить — они не запустятся. Сначала нужно подать сигнал на инициализацию и только потом отдавать доступ полетному МК. Поэтому пришлось создать схему с возможностью доступа к регуляторам как от полетного мк, так и от управляющего.
Мы плавно переходим к финальному этапу —
запускам
И вроде за ночь до запусков у нас все готово, мы даже протестировали полет по точкам, оно действительно летает, но вот полную симуляцию сделать никто не додумался. В итоге в автобусе, который вез нас на поле для запусков выяснилось, что код работает неправильно; я предложил другу закомментировать основной цикл, в котором начинается работа всех дополнительных систем, чтобы определить корень проблемы. Мы пытались исправить ошибку на протяжении всего оставшегося до запусков времени, попросили организаторов пускать нас последними. В конечном счете проблема была решена, но, как оказалось, мой друг вместо того чтобы закомментировать цикл поставил «отладочный» return, который никто не удосужился убрать.
Ракета, так уж получилось, не могла поднять зонд на заявленный километр, только 500 метров в следующий день, поэтому мы решили запускаться на гексакоптере. Чтобы симулировать нахождение зонда в ракете мы надели колпачок на фотоприемник, а другой его конец привязали к гексакоптеру.
И вот гексакоптер поднимается с нашим раскачивающимся зондом, медленно превращаясь в неразличимое пятно; по FPV произошло выпускание зонда на километре, но из-за низкого разрешения не было понятно, произошло ли раскрытие, кто-то даже сказал, что он не раскрылся и камнем упал вниз (изначально он должен был полететь по заданным точкам, а потом вернуться на место старта, но даже после 5 минут ожидания его никто не видел). Мы, конечно, расстроились и пошли искать его остатки в поле, но, взглянув на последние данные телеметрии, заметили, что, хоть связь с зондом и пропала, последние координаты указывают на соседнее поле из борщевика. Пошли по координатам; по дороге другая команда сказала, что видела, как он садился в кусты; начались поиски. Как оказалось, в траве крайне затруднительно найти мелкий зонд даже зная его координаты.
В итоге я решил включить двигатели, чтобы посадить предположительно разряженную батарею, тогда должен был запищать встроенный вольтметр. План сработал, мы нашли его в целости и сохранности, даже пропеллеры не пострадали, спасибо удлиненным лучам.
Радостные поехали домой обрабатывать данные, точнее их отсутствие, спасибо «отладочному» return.
У нас, правда, были данные с полетного контроллера, их и проанализировали. Получили траекторию, график высоты и системные ошибки.
синяя стрелка — момент включения двигателей; зеленая стрелка — момент включения режима возврата домой
Еще получили запись с гексакоптера.
Итог таков — он успешно отделился, выпустил лучи, включил двигатели, смог выровняться из перевернутого положения и полетел на ближайшую точку.
Далее произошла потеря связи с базовой станцией, это именно тот момент, который я не учел. В настройках по умолчанию ему предписано прервать полет по точкам и лететь домой, поэтому он прекратил снижение и собрался на базу, но не тут-то было, мы слишком быстро включили двигатели, не успев «прогреть» GPS, поэтому он запомнил не совсем те координаты, не правильно записал точку дома (хотя почему она лежит на прямой по его траектории — вопрос). Далее он совершил плавную посадку в автоматическом режиме и выключил двигатели.
После такого количества ляпов мы и не надеялись занять первое место, но жюри, кажется, оценили идею. Так мы выиграли четвертый чемпионат CanSat в России.
P.S.
Я так и не нашел ни одного рабочего проекта по управляемому спуску, возможно мы первые, это даже странно, так как все было относительно просто.
Ссылки:
Вот тут можно почитать о прошлогоднем кансате
Официальный сайт, если вы хотите принять участие
Сайт прошивки, которую мы использовали для автономного полета
Из-за компактности можно сбрасывать пачку подобных штук для исследования определенной территории, тот же поиск торфяников, например. Можно запускать на ракете, тогда не будет затрат на набор высоты.
Был ли у нас научный руководитель?
Да, Игорь Иванович, большое ему спасибо за поддержку, также хотелось бы выразить благодарность Казанскому Авиационному Институту и Дому занимательной науки и техники за предоставленные лаборатории.
Какова стоимость зонда?
От 300$ до 500$, в зависимости от задачи. Ясно, что можно увеличить время полета, максимальное расстояние, надежность за счет увеличения бюджета. Нам пришлось отказаться от многих идей, к сожалению.
Почему GPS антенна была под брюхом зонда?
Потому что планировка не позволяла её поставить в другое место (но в воздухе прием был отличным).