Статья посвящена опыту участия в создании одного из модулей КА «Маяк», который создавался на протяжении полугода и в итоге, по организационным вопросам, наш модуль (бортовой компьютер + радио передатчик) не полетел… Чтобы работа большой команды не прошла бесследно — хочется отразить старания и результаты каждого из ее членов (на сколько это можно) в статье 🙂 .
О проекте
О «Маяке» можно подробнее прочитать тут, а красиво рассказывают о себе и собирают деньги на проект они тут. Главным руководителем и идеологом проекта является Александр Шаенко. Интервью с ним по поводу проекта «Маяка» можно почитать на Geektime. Cам проект является студенческим, и его, якобы, реализуют студенты и энтузиасты.
До какого-то момента проект действительно поддерживался группой энтузиастов, которые свободное от работы время проводили с пользой для ума и российской космонавтики. Проект развивался неспешно, проводились промежуточные испытания. Но в ноябре-декабре 2015 года появилась информация о возможности запуска спутника уже в мае 2016 года. На тот момент у команды разработчиков был только пластиковый макет спутника, на котором не функционировала даже система раскрытия отражателя. Без этого функционально спутник представлял собой тот самый «кирпич», с которого началась идея создания и запуска спутника.
Идея проекта появилась почти случайно. Как-то после лекции Шаенко спросили, можно ли запустить в космос кирпич. «Кирпич? Можно, конечно. Только пользы от него никакой, его даже никто не увидит. Интереснее будет запустить что-то, что заметят с Земли», — ответил инженер. После нескольких дней размышлений и набросков были готовы первые чертежи.
Понимая, что качественно и в срок сделать спутник до момента запуска не получается, Александру всё-таки пришлось сотрудничать с профессионалами. Проект является некоммерческим, поэтому средствами для оплаты труда инженеров команда не располагала. В отместку, они могли предложить возможность размещения другого оборудования на КА.
Нашей компании нужно было переделать их систему раскрытия отражателя. Также, в качестве отладки и проверки работы систем, которые были разработаны нами до этого — предлагалось дополнить систему «Маяка» нашим модулем. Именно о нем и пойдет повествование статье.
Предисловие
На момент участия в проекте я учился на последнем курсе университета и активно совмещал учебу с работой. Работал на тот момент в довольно перспективной (насколько может быть перспективна частная российская космонавтика) компании, поставившей себе в цель решение коммуникационных проблем на планете — покрытие малонаселенной и труднодоступной местности спутниковой телефонией и интернетом.
В компании была команда программистов, в которую я и входил и был, естественно, Junior’ом. Непосредственно моей сферой обязанностей было программирование FPGA, создание DSP модулей.
Команда
Федор Меркушев — система раскрытия паруса. Важной и, по-сути, главной технической частью проекта «Маяка» — был светоотражающий парус, который должен был раскрыться на низкой орбите и отражать солнечный свет. Именно с ней у «энтузиастов Космоса» возникли проблемы. Федор решил эту проблему, о чем и свидетельствуют выложенные ниже видео …
Евгений Сидоров — наладка работы КРН (комплекс радионавигации). Процессорная часть обработки данных от GPS спутников. Работал в паре с Вячеславом Применко. Областью работы Славы была FPGA реализация детектирования сигнала от спутников, разбор пакетов и отправка данных для последующей обработки на процессор.
Михаил Ворожцов — реализация компилятора для софт процессора ACME32/ACMA32 (написаны Алексеем Чернышовым). Работал в паре с Димой Прыгуновым и Мишей Балахно, т.к. именно компилятором собирались прошивки, написанные Мишей Б.
Алексей Чернышов — разработка и отладка софт-процессора. Им была создана и, в паре с Михаилом Балахно, отлажена работа софт — процессора, написанного под ПЛИС от Microsemi.
Задача команды
Работа команды началась примерно в октябре — ноябре 2015 после объявления директора о том, что мы участвуем в проекте. Основными задачами команды были :
Команда «Маяк-ПО» :
-
- Дописать и отладить софт-процессор (к октябрю он был написан, но не был отлажен),
- В тестовом режиме запустить и отладить КРН — как часть обнаружения, так и часть обработки данных на софт-процессоре,
- Сбор телеметрии с платы — данные с датчиков: температуры, тока и напряжения,
- Запуск и наладка блока КТС (командно-телеметрической связи) для отправки телеметрии на Землю,
- Полная отладка функциональных звеньев и сдача всего модуля в сборе
Команда «Маяк-Железо» :
-
- Выбор и согласование элементной базы для платы ( элементная база — industrial, т.к. спутник — низкоорбитальный),
- Создание Э3 (схемы электрической принципиальной) и разводка ПП,
- Запуск и наладка,
- Отдельно — система раскрытия паруса и система отстыковки от ракетоносителя
Предполагалось что две упомянутые выше команды будут работать согласованно, т.к. конечным продуктом являлась «прошитая» плата.
Работа
TimeLapse недельного отчета по проделанной работе в команде «Маяк-ПО». Собственно, на этом видео присутствуют практически все, кроме Миши Ворожцова и Алексея Чернышева. Даже на первых минутах засветился директор 🙂
На видео ниже можно увидеть модуль, над которым работала команда «Маяк-ПО» и «Маяк-Железо». Собственно это «котлетка» из двух плат — на верхней должны были располагаться датчики (на видео сверху — отладочная плата), плата снизу была с FPGA, датчиками, ЦАП, АЦП, синтезаторами частот, МШУ и усилителями выходного тракта. На видео — первые этапы отладки : включение, первоначальная прошивка FPGA для проверки основных частей. Плата — Артем Малахов.
Тестовыми прошивками — считывание данных с термодатчиков, ЦАП, АЦП, синтезатором частот, AHB шиной для FSM КРН и децимирующим фильтром — занимался я 🙂 . На видео — Отладка ЦАП и синтезатора частот (настроен на 2.2 ГГц).
Демонстрация успехов работы Федора Меркушева.
Трудности
Во время разработки команде пришлось решить ряд сложных задач, в основном связанных с небольшим размером спутника и оставшегося свободного пространства для размещения электроники, антенн. Приоритетной, естественно, оставалась миссия с отражателем. Системы разрабатывались так, чтобы провал одной миссии не мог повлиять на другую, они были независимыми. С одной лишь оговоркой: с раскруткой спутника по договоренности было решено повременить на одни сутки. Это связано с тем, что при вращении спутника, даже при наличии двух антенн и широкой диаграммой направленности, сеансы связи были бы слишком короткими, и не удалось бы передать на Землю приемлемое количество телеметрии.
Предполагалось сохранять и передавать на Землю следующие данные: уровень заряда аккумуляторов, скорость вращения КА, потребляемую мощность, показания температурных датчиков, координаты и скорость движения КА. Пакеты данных со штампами времени от момента отстыковки должны были записываться во flash, затем передаться «вниз» в S диапазоне за один сеанс связи.
Единственным источником энергии спутника являются аккумуляторы, которые должны были по расчётам разрядиться в течение 2 суток. Учитывая это, а также мощность передатчика (несколько милливатт), спутник бы успешно разрядился и никому бы не помешал с точки зрения частотного диапазона.
В конечном счёте, за четыре месяца командой инженеров, было сделано всё не только для самой возможности запуска КА «Маяк», но и для того, чтобы эта миссия имела бОльший смысл и научный интерес. Ведь было бы установлено: с какой скоростью замедляется КА, с какой скоростью вращается после отделения, какие температурные воздействия испытывает.
В ходе выполнения работы пришлось отказаться от:
-приёмника на КА (изначально предполагалась полудуплексная связь),
-расчёта координат КА «на борту». Вместо этого предлагалось собирать сырые данные с GPS спутников и отправлять их по КТС на Землю, где затем обрабатывать, и вычислять координаты (Low Energy GPS Positioning).
Основными трудностями с которыми, на мой взгляд, столкнулась наша команда ( «Маяк-ПО» ) была трудность отладки софт-процессора, так как из возможных инструментов был только Identify, который на небольшом промежутке времени потактово отображал работу софт-процессора. При этом невозможно было отследить работу процессора на большом промежутке времени. Второй причиной стала отладка КРН в части FPGA. У Вячеслава целый месяц ушел на отладку коррелятора для поиска сигнала от спутников GPS. Организовать слежение за сигналом нескольких спутников оказалось сложнее, и решение задачи затянулось.
Также проблемы были с коммуникацией между двумя командами — Железа и ПО, с изготовлением антенны для КТС. В целом, на каждом участке workflow встречались некоторые «затыки».
О том, почему наш проект никуда не полетел
Как уже упоминалось выше — причиной стало изменение договоренностей между директором компании и руководителем проекта «Маяка». Собственно, на момент написания статьи до запуска спутника остается 58 дней — об этом гласит табличка на сайте проекта.
Высока вероятность того, что проект был бы закончен успешно если бы команда не оставила работу над ним в июне.
Результаты работ
-
Создана и полетит — система раскрытия паруса и система отстыковки,
-
Создана и не полетит — отлаженная плата (имеется ввиду ее «железная часть», т.к. была проверена система работы датчиков тока и напряжения, температуры, ЦАПы и АЦП, синтезатор частот и выходной усилитель передающего тракта — имелась возможность на имеющемся оборудовании организовать сбор и передачу данных без использования софт-процессора),
-
Создан, не до конца отлажен, не полетит — софт-процессор (хотя удачно заработал UART и FSM для КРН — последний отлаживался в симуляторе и не был отлажен в железе),
-
Не доделан, не отлажен, не полетит — КРН (как вариант — предлагалось собирать сырые данные с GPS спутников и отправлять их по КТС на Землю, где затем обрабатывать),
-
Не сделан — КТС (с ним повис вопрос, так как специалист, который должен был его делать, ушел из компании)
Итог
Исходя из всего написанного выше, было бы неправильно считать, что проект КА «Маяк» является только студенческим или проектом энтузиастов.
Интересные факты
Пружины системы раскрытия – довольно сложный элемент для «кастомного» проектирования и изготовления, поэтому были использованы пружины от крепления лампы, купленные в хоз. магазине.
Из-за сжатых сроков разработки сотрудникам приходилось работать даже на больничном. Это было не обязательно, никто никого не заставлял. Общее воодушевление от причастности к такому интересному проекту, а также чувство ответственности перед другими сотрудниками затмевали личные планы.