воздушно-инженерная школа
Сборка спутника
Начинаем собирать спутник уже на основе конструктора. Соединили плату с датчиками и плату с радиомодулем с управляющей платой микроконтроллера. Вроде все работает.
Зимняя юношеская космическая школа 2016
В это году как и в прошлом мы участвуем в отборочном туре чемпионата «Воздушно-инженерная школа (CanSat в России)».
В прошлом году отборочный тур мы прошли, но к запускам аппарат приготовить не смогли, слишком высокую планку решили взять — аппарат оказался сложным в реализации (делали научную нагрузку на коптер для поиска очагов возгорания). В этот раз мы участвуем в регулярном чемпионате CanSat (положение чемпионата).
Все мероприятия проходили в МГУ (на физическом факультете и НИИЯФ).
Открытие и некоторые лекции проходили в Большой физической аудитории имени академика Р. В. Хохлова.
Наша команда:
Все остальные защиты проходили в закрытом режиме по предварительной жеребьёвке.
На фото начало процедуры жеребьевки, Николай Николаевич Веденькин кладёт номерки в вязаную шапочку, которую держит Сергей Александрович Пикуз.
По результатам жеребьевки наша команда защищалась первой. Защита была уже на следующий день с утра:
Вечером того же дня на нашей базе мы устроили ночь кодинга:
На следующий день были лекции, практические занятия и мастер класс по пайке в Лаборатории Аэрокосмической Инженерии МГУ.
Закрытие и подведение итогов было в музее РКК Энергия в городе Королев. Экскурсию по музею завода №88 для нас провел Вахтанг Дмитриевич Вачнадзе:
Ну и результаты этого этапа для нашей команды оказались очень хорошими:
Работаем дальше.
Тестирование GPS модуля.
Сегодня тестировали работу GPS модуля ( Ublox neo 6M ). Он будет использован для определения местоположения спутника после его приземления. Координаты будут передаваться при помощи GSM модуля.
Вот так выглядит сам GPS приемник:
Питается модуль от 3,3 В, логические уровни у него тоже 3,3В. На плате, которую мы купили смонтирован сам модуль, память для сохранения настроек, стабилизатор питания и конвертер логических уровней. Т. о. плату можно подключить непосредственно к МК. Для тестов мы подключили модуль к компьютеру через USB2UART преобразователь.
С сайта производителя была скачана программа, которая отображает информацию, принимаемую с GPS приемника.
Вся информация нам не нужна, достаточно только строки GPGGA
GGA — GPS Данные о местоположении
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
$GPGGA, hhmmss.ss, 1111.11, a, yyyyy.yy, a, x, xx, x.x, xxx, M, x.x, M, x.x, xxxx*hh
- Гринвичское время на момент определения местоположения.
- Географическая широта местоположения.
- Север/Юг (N/S).
- Географическая долгота местоположения.
- Запад/Восток (E/W).
- Индикатор качества GPS сигнала:
0 = Определение местоположения не возможно или не верно;
1 = GPS режим обычной точности, возможно определение местоположения;
2 = Дифференциальный GPS режим, точность обычная, возможно определение местоположения;
3 = GPS режим прецизионной точности, возможно определение местоположения. - Количество используемых спутников (00-12, может отличаться от числа видимых).
- Фактор Ухудшения Точности Плановых Координат (HDOP).
- Высота антенны приёмника над/ниже уровня моря.
- Единица измерения высоты расположения антенны, метры.
- Геоидальное различие — различие между земным эллипсоидом WGS-84 и уровнем моря(геоидом), ”-” = уровень моря ниже эллипсоида.
- Единица измерения различия, метры.
- Возраст Дифференциальных данных GPS — Время в секундах с момента последнего SC104 типа 1 или 9 обновления, заполнено нулями, если дифференциальный режим не используется.
- Индификатор станции, передающей дифференциальные поправки, ID, 0000-1023.
- Контрольная сумма строки.
Пример сообщения:
$GPGGA,004241.47,5532.8492,N,03729.0987,E,1,04,2.0 ,-0015,M,,,,*31
Теперь необходимо подключить GPS модуль к микроконтроллеру и научиться принимать и обрабатывать информацию на нем.
Испытания датчиков для CanSat 2016
Наша команда ТОК. Продолжает подготовку к чемпионату CanSat 2016. Мы участвуем в регулярной лиге чемпионата, поэтому обязательно должны использовать конструктор, который предоставляют организаторы.
Поскольку конструктора у нас пока нет, а есть только на половину работающая( об этом дальше) плата с датчиками, было решено для экспериментов использовать имеющийся микроконтроллер Atmega8:
Из датчиков у нас есть
- цифровой термосенсор DS18B20 (интерфейс 1-wire)
- еще один термосенсор DS18B20 в защищенном исполнении для наружного применения
- аналоговый датчик давления MPX5100 (на выходе измеряется напряжение)
- и цифровой датчик давления, со встроенным датчиком температуры BMP085 (интерфейс I2C)
Идея такая: один термосенсор находится внутри корпуса спутника и используется для основной миссии проекта — измерение зависимости температуры от высоты, второй термосенсор находится снаружи спутника и измеряет температуру воздуха там, затем сравниваем результаты. Точность измерения датчиков, заявленная производителем — 0,0625 С. Аналоговый датчик давления находится внутри спутника. Оба датчика (MPX5100 и DS18B20) смонтированы на одной плате.
Для вывода информации использовали небольшой ЖК дисплей (16х2), который тоже подключили к микроконтроллеру.
Вот схема соединения элементов:
Собрано все было на макетке, так что выглядит не очень презентабельно.
Показания датчиков t1 — «внешний термометр», t2 — «внутренний», t3 — встроенный в BMP085 (он меряет температуру с точностью до десятых градуса). Как видно, показания первого и третьего термометра примерно похожи, а вот второй (который с платы) как-то выбивается из общей массы.
Аналогично с аналоговым датчиком давления, как-то его показания не сходятся с цифровым, откалиброванным на заводе. По показаниям датчика BMP085 с помощью барометрической формулы была рассчитана высота «над уровнем моря». Как видно на первом этаже высота примерно 185 метров, на третьем — 192 метра, что и ожидалось увидеть (разница примерно 7 метров).
Все исходные тексты программы и проект в CodeVisionAVR здесь .
Воздушно-инженерная школа (2)
Вообщем, начали работать, т. е. работать мы начали еще до того как команда собралась.
Первый этап, как обычно, сбор и анализ информации. Поискали, есть ли в сети похожие проекты, как они были реализованы.
Нашли несколько более менее похожих проектов:
- XFIRE: A ROBOTIC FIRE EXTINGUISHER
- Робот Heatseekr
- Проект ESE 111
- Arduino thermo scanner
- Тепловизор на базе MLX90620
- InfraRed WebCam
По этой ссылке находятся материалы по этим проектам, на тот случай, если оригинальные ссылки не будут работать.
После изучения этих материалов, условий конкурса, кучи обсуждений появилось представление о том, что вообще можно сделать в этом направлении.
Примерная конструкция прибора представлялась такой:
- Основной датчик для обнаружения огня;
- Веб камера для съемки местности;
- Некий центральный мозг для обработки полученной инфомрации;
- Устройство для сохранения полученной информации (флешка);
- Радиопередатчик для передачи необходимой информации на наземную станцию;
- Радиоприемник на земле, для приема информации;
- Программа на летающей части комплекса, которая всем этим будет управлять;
- Программа на наземной части, для приема и обработки информации на земле;
- Программа для постобработки всей собранной информации.
В дальнейшем при обсуждении в команде приняли решения остановится на наиболее простом и дешевом варианте датчика для обнаружения огня. А именно, переделать обычную вебкамеру в ИК вебкамеру, как описано по ссылке, а затем анализировать полученное изображение.
В качестве центрального мозга я предложил использовать микро-компьютер Black Swift, к тому моменту я уже сделал предзаказ без конкретной цели, но вот применение нашлось. Из плюсов этого устройства надо отметить его малый размер, низкое энергопотребление, большое количество вводов выводов, возможность программирования на «человеческом» языке, например, на Python. Уже позже, black swift вышел на кикстартер и мы там заказали еще парочку прозапас.
Весь этот подготовительный этап продолжался до начала февраля, когда должна была состоятся очная часть Воздушно-инженерной школы, на которой мы должны были представить и защитить наш проект.
К защите мы подошли вот с такой схемой прибора:
Продолжение следует.
Воздушно-инженерная школа (1)
В этом учебном году на базе НИИЯФ МГУ начала работать воздушно-инженерная школа http://www.sinp.msu.ru/ru/post/20372 . Это продолжение проекта «CanSat в России» , которому уже четыре года.
Cansat — это соревнование, в рамках которого, команды школьники создают «мини спутники» (спутники в банке), выполняющие определенную научную миссию. Аппарат должен содержать научную нагрузку для выполнения миссии, систему спасения, например, парашют, и систему обнаружения после приземления. Спутники запускаются на разную высоту (от 200м до 30км), проводят какое-то время в свободном полете, производят необходимые измерения (температура, давление, GPS позиционирование и т. п.) передают по радио каналу полученную информацию. Затем должна сработать система спасения, т. е. раскрыться парашют, аппарат приземляется, и команда, должна его найти. После того как аппарат найден в рабочем состоянии, полетная часть миссии считается выполненной. Дальше надо обработать полученные данные и представить в виде доклада или статьи.
Поскольку CanSat проходит в России уже не первый год, есть постоянные участники и команды разного уровня подготовки. Для их дифференциации сделано несколько конкурсов: Регулярная лига, Высшая лига и Высшая лига (первый эшелон). Миссии для разных конкурсов разные. В этом году впервые появился новый конкурс, по проектированию нагрузки для коптера: «Разработка полезной нагрузки, выполняющей конкретную практическую задачу для беспилотного летательного аппарата типа „Коптер“». В этом году основная миссия состоит в поиске очагов пожаров на заданной территории.
До прошлого года я вообще об этом проекте ничего не слышал. Рассказал мне об этом наш с Арсением знакомый Александр Николаевич Зайцев (д. ф-м. н.). В общем осенью решили мы участвовать в этом проекте, выбрали конкурс «Коптер».
В НИИЯФ МГУ с октября по январь проводились лекции для участников проекта. Проводились они еженедельно, также транслировались онлайн и выкладывались позже на сайте http://space.msu.ru, там их можно посмотреть и сейчас. Лекции очень интересные. Но все таки формат соревнований предполагает, что бОльшая часть работы и обучения будет проведена в команде силами руководителя и самих участников.
Кстати, о команде. Сначала в команде был один только Арсений :), а надо три-пять человек. «Вербовка» людей в команду на такой классный и интересный проект оказалась той еще задачкой. Сначала начали вовлекать всех друзей и знакомых Арсения не по школе. Кому-то не интересно (ну здесь ничего не сделаешь), кому-то мама не разрешила (!). Из этого источника привлекли одного приятеля Арсения Илью, он программист. Провел агитационную работу у Арсения в школе, поговорил с администрацией, оставил материалы о проекте, побеседовал с классами. В итоге — ноль. Казалось бы один из ведущих ВУЗов страны проводит такое мероприятие, ученые читают для школьников лекции, база — НИИЯФ МГУ, не можешь приехать на лекцию — смотри через интернет. Участие бесплатное, за исключением стоимости комплектующих! Но это лирика. Третий источник — преподаватель Арсения из кружка от Троицкого дома ученых, в который он ходил в младшей школе. Отсюда мы получили сразу трех человек: братья Стефан и Левко — его бывшие коллеги по кружку, Лев — раньше знакомы не были, тоже программист.
Вот и наша команда.
Лев, Левко, Арсений, Илья, Стефан.
Вообщем, собрались, начали работать. Продолжение следует...