Оглавление:

Температура CubeSat Ben & Kaiti & Q Hour 1: 8 шагов
Температура CubeSat Ben & Kaiti & Q Hour 1: 8 шагов

Видео: Температура CubeSat Ben & Kaiti & Q Hour 1: 8 шагов

Видео: Температура CubeSat Ben & Kaiti & Q Hour 1: 8 шагов
Видео: Basic Satellite Design- Part picking for a 1U cubesat 2024, Ноябрь
Anonim
Температура CubeSat Ben & Kaiti & Q Час 1
Температура CubeSat Ben & Kaiti & Q Час 1
Температура CubeSat Ben & Kaiti & Q Час 1
Температура CubeSat Ben & Kaiti & Q Час 1

Вы когда-нибудь хотели сделать что-то самостоятельно, что можно было бы отправить в космос и измерить температуру другой планеты? На уроке физики в старшей школе нам было поручено создать CubeSat с работающим Arduino с главным вопросом: «Как мы можем заставить это работать на Марсе?» Мы решили сделать так, чтобы он измерял температуру на планете, потому что кто бы не хотел знать, насколько жарко на Марсе? Однако нам нужно было сделать его из чего-то доступного, но при этом прочного. Поэтому мы использовали Лего. Это сделало CubeSat долговечным и помогло нам довольно легко достичь размеров, даже если все детали были немного надоедливыми! Наша цель состояла в том, чтобы иметь полностью функционирующий датчик, который может измерять температуру окружающей среды, и защитный CubeSat вокруг него.

Шаг 1: Сбор материалов / создание эскиза CubeSat

Сбор материалов / зарисовка CubeSat
Сбор материалов / зарисовка CubeSat
Сбор материалов / зарисовка CubeSat
Сбор материалов / зарисовка CubeSat

Первое, что вам нужно сделать, это набросать CubeSat. Вам нужно будет иметь представление о том, что вы хотите построить, прежде чем строить это. Одна из картинок выше - это сделанные нами скетчи CubeSat. Затем соберите свои материалы. Для CubeSat, который мы строим, мы используем Legos. Мы выбрали Lego, потому что их легко собрать и собрать, и в то же время они долговечны и хорошо справятся с необходимыми задачами. Итак, вам нужно будет приобрести Лего. возьмите пару широких базовых частей, которые составляют 10 см X 10 см X 10 см, или несколько базовых частей, которые можно соединить в кусок размером 10 на 10. Для нашего CubeSat нам нужно было собрать несколько базовых частей и сложить их вместе, чтобы получилось основание размером 10 на 10 см. Вам также понадобится Lego, чтобы сделать часть крыши такого же размера. После того, как вы получите эти Lego, вам нужно будет получить тонну маленьких Lego, чтобы построить стены CubeSat. Убедитесь, что эти Lego достаточно тонкие, чтобы они не занимали слишком много места внутри CubeSat.

Шаг 2: создание Cubesat

Сборка Cubesat
Сборка Cubesat
Сборка Cubesat
Сборка Cubesat
Сборка Cubesat
Сборка Cubesat

Сначала мы построили эту красавицу 10х10х10. Потребовалось много разных дизайнов. Сначала у нас была полка посередине, но позже мы решили, что в этом нет необходимости. Если вы выберете полку посередине, я бы порекомендовал только одну полку, потому что вам придется разбирать ее каждый раз, когда вы вставляете и вынимаете Arduino и датчик. Мы добавили маленькие окошки, чтобы мы могли быстро заглянуть внутрь, пока верхняя часть закрыта, чтобы мы могли видеть, что все работает плавно. Чтобы сделать CubeSat более устойчивым, мы собрали два слоя Lego внизу. Чем стабильнее, тем лучше, потому что этот CubeSat должен уметь преодолевать множество различных препятствий.

Шаг 3: Подключение и кодирование Arduino

Подключение и кодирование Arduino
Подключение и кодирование Arduino
Подключение и кодирование Arduino
Подключение и кодирование Arduino
Подключение и кодирование Arduino
Подключение и кодирование Arduino

На втором этапе этого проекта вам нужно будет подключить Arduino. Этот шаг очень важен, потому что, если это не сделать правильно, то кубик не сможет считывать температуру. Чтобы завершить разводку ардуино, вам потребуются некоторые материалы. Эти материалы представляют собой аккумулятор, Arduino, SD-карту, перемычки, макет, датчик температуры и компьютер. Компьютер будет использоваться, чтобы убедиться, что проводка работает правильно. Вот веб-сайт, который очень помог нам в том, как подключить Arduino:

create.arduino.cc/projecthub/TheGadgetBoy/…

Приведенные выше изображения и диаграмма фритзинга также могут вам помочь. Кодирование Arduino также будет проверено на компьютере, чтобы убедиться, что он работает. Если все работает, то ардуино можно вынуть из компьютера, и он готов к работе.

Код:

// Провод данных подключен к порту 2 на Arduino

#define ONE_WIRE_BUS 2

File sensorData;

// Настраиваем экземпляр oneWire для связи с любыми устройствами OneWire (а не только с температурными ИС Maxim / Dallas)

OneWire oneWire (ONE_WIRE_BUS);

// Включаем нужные нам библиотеки

#включают

#включают

#включают

// Передаем нашу ссылку oneWire в Dallas Temperature.

Датчики температуры Даллас (& oneWire);

// массивы для хранения адреса устройства

DeviceAddress insideThermometer;

/*

* Функция настройки. Здесь мы делаем основы

*/

недействительная установка (недействительна)

{

pinMode (10, ВЫХОД);

SD.begin (4);

// запускаем последовательный порт

Serial.begin (9600);

Serial.println («Демонстрационная библиотека управления температурой на ИС в Далласе»);

// находим устройства на шине

Serial.print («Устройства обнаружения…»);

sensor.begin ();

Serial.print («Найдено»);

Serial.print (сенсоры.getDeviceCount (), DEC);

Serial.println («устройства.»);

// сообщаем о требованиях к питанию от паразитов

Serial.print («Паразитная сила есть:»);

если (сенсоры.isParasitePowerMode ()) Serial.println ("ВКЛ");

иначе Serial.println ("ВЫКЛ");

/ * Назначить адрес вручную. Адреса ниже будут изменены

на действующие адреса устройств на вашей шине. Адрес устройства можно получить

с помощью oneWire.search (deviceAddress) или индивидуально через

sensor.getAddress (deviceAddress, index) Обратите внимание, что здесь вам нужно будет использовать свой конкретный адрес

insideThermometer = {0x28, 0x1D, 0x39, 0x31, 0x2, 0x0, 0x0, 0xF0};

Способ 1:

Найдите устройства на шине и назначьте их по индексу. Идеально, вы бы сделали это, чтобы сначала обнаружить адреса на шине, а затем

используйте эти адреса и назначьте их вручную (см. выше), как только вы узнаете

устройства в вашем автобусе (и при условии, что они не меняются).

* / if (! sizes.getAddress (insideThermometer, 0)) Serial.println («Невозможно найти адрес для устройства 0»);

// метод 2: search ()

// search () ищет следующее устройство. Возвращает 1, если новый адрес был

// вернулся. Ноль может означать, что шина закорочена, устройств нет, // или вы уже получили их все. Было бы неплохо

// проверяем CRC, чтобы убедиться, что вы не получили мусор. Порядок

// детерминированный. Вы всегда будете получать одни и те же устройства в одном и том же порядке.

//

// Должен вызываться перед search ()

//oneWire.reset_search ();

// назначает первый найденный адрес внутреннему термометру

// if (! oneWire.search (insideThermometer)) Serial.println («Невозможно найти адрес для внутреннего термометра»);

// показываем адреса, которые мы нашли на шине

Serial.print ("Адрес устройства 0:");

printAddress (внутри термометра);

Serial.println ();

// устанавливаем разрешение на 9 бит (каждое устройство Dallas / Maxim поддерживает несколько разных разрешений)

sensor.setResolution (внутри термометра, 9);

Serial.print ("Разрешение устройства 0:");

Serial.print (сенсоры.getResolution (внутри термометра), DEC);

Serial.println ();

}

// функция для печати температуры устройства

void printTemperature (DeviceAddress deviceAddress)

{

// способ 1 - медленнее

//Serial.print("Temp C: ");

//Serial.print(sensors.getTempC(deviceAddress));

//Serial.print ("Temp F:");

//Serial.print(sensors.getTempF(deviceAddress)); // Выполняет второй вызов getTempC и затем преобразует его в градусы Фаренгейта

// способ 2 - быстрее

float tempC = sizes.getTempC (deviceAddress);

если (tempC == DEVICE_DISCONNECTED_C)

{

Serial.println («Ошибка: не удалось прочитать данные о температуре»);

возвращение;

}

sensorData = SD.open ("журнал.txt", FILE_WRITE);

if (sensorData) {

Serial.print ("Температура C:");

Serial.print (tempC);

Serial.print («Температура F:»);

Serial.println (Далласская температура:: toFahrenheit (tempC)); // Преобразует tempC в градусы Фаренгейта

sensorData.println (tempC);

sensorData.close ();

}

}

/*

* Основная функция. Он запросит tempC от датчиков и отобразит их на последовательном интерфейсе.

*/

недействительный цикл (недействительный)

{

// вызываем sensor.requestTemperatures () для выдачи глобальной температуры

// запрос ко всем устройствам на шине

Serial.print («Запрос температуры…»);

sensor.requestTemperatures (); // Отправляем команду на получение температуры

Serial.println («ВЫПОЛНЕНО»);

// Он отвечает почти сразу. Распечатываем данные

printTemperature (внутри термометра); // Используем простую функцию для распечатки данных

}

// функция для печати адреса устройства

void printAddress (DeviceAddress deviceAddress)

{

для (uint8_t i = 0; i <8; i ++)

{

если (deviceAddress <16) Serial.print ("0");

Serial.print (deviceAddress , HEX);

}

}

Переслать

Шаг 4: проверка Cubesat

Проверка Cubesat
Проверка Cubesat
Проверка Cubesat
Проверка Cubesat

Теперь, когда CubeSat, код и подключение Arduino завершены, вы скоро будете проводить тесты. Если эти тесты не пройдут, ваш CubeSat потенциально может быть полностью разрушен вместе с вашим Arduino. Поэтому вам нужно убедиться, что ваш Arduino готов к этому. Вот тут-то и пригодится этот шаг - проверка CubeSat. Во-первых, вам нужно будет надежно разместить Arduino внутри CubeSat и убедиться, что он не будет раскачиваться. Затем вам нужно будет убедиться, что все части CubeSat надежно закреплены на своих местах. Не должно быть незакрепленных частей, иначе CubeSat с большей вероятностью разлетится во время испытаний. Если вы тщательно проверяете свой CubeSat, то тесты, которые он проходит, должны пройти легко.

Шаг 5: Установка CubeSat

Укрепление CubeSat
Укрепление CubeSat

Этот шаг является подготовкой к первому тесту, который пройдет CubeSat. В ходе теста CubeSat будет вращаться в быстром темпе по кругу в течение 30 секунд. Вам нужно будет убедиться, что CubeSat надежно натянут, чтобы он не улетел. Мы полностью обвязали CubeSat двумя нитками и плотно завязали их. Затем мы добавили еще одну длинную веревку, которая была привязана к первым двум. Мы завязывали эту веревку несколько раз сверху и снизу, чтобы она была максимально закреплена. Это может потребовать нескольких попыток, потому что вы хотите, чтобы струна была идеальной, чтобы она не ослабла во время полета.

Шаг 6: испытание на качели

Свинг-тест
Свинг-тест

В целях безопасности на этом этапе не забудьте надеть очки, чтобы защитить глаза. На этом этапе вы будете запускать CubeSat через тест, чтобы увидеть, достаточно ли он защищает Arduino, чтобы он мог выполнять свою задачу (определение температуры). Первый тест - это тот, который требует натягивания. В этом тесте Arduino будет вращаться (как показано на картинке / видео выше) - (иногда видео не загружается). В центре можно разместить модель Марса. Чтобы успешно завершить этот тест, Arduino нужно будет повернуть, не отключаясь, поэтому его нужно хорошо натянуть, и они должны будут полностью функционировать после завершения теста. Вот почему вам нужно убедиться, что Arduino надежно закреплен в CubeSat.

Шаг 7: Тест №2 - тест на встряхивание

Тест # 2 - тест на встряхивание
Тест # 2 - тест на встряхивание

На этом этапе ваш CubeSat будет проходить тест №2. Это испытание на встряхивание. В этом тесте CubeSat будет помещен в держатель, как показано на изображении / видео (иногда видео не загружается) выше, и его будет сильно трясти вперед и назад в течение 30 секунд. Чтобы пройти этот тест, ваши CubeSat и Arduino должны будут по-прежнему полностью функционировать после встряхивания.

Шаг 8: Результаты / Завершенный температурный CubeSat

Результаты / Завершенный температурный CubeSat
Результаты / Завершенный температурный CubeSat
Результаты / Завершенный температурный CubeSat
Результаты / Завершенный температурный CubeSat
Результаты / Завершенный температурный CubeSat
Результаты / Завершенный температурный CubeSat

В конце концов, наш CubeSat смог успешно записывать температуру во время каждого теста. Данные постоянно показывают 26-30 градусов Цельсия в каждом тесте. Это то же самое, что 78-86 градусов по Фаренгейту. Однако по пути мы столкнулись с некоторыми проблемами. Например, несколько раз кодировка ардуино не работала и показывала 126 градусов по Цельсию. Потребовалось несколько попыток достижения нужной температуры. Я бы посоветовал всем, кто занимается этим проектом, попробовать несколько вариантов кода и разводки и убедиться, что ваш Arduino плотно прилегает к CubeSat. Возможно, вам придется уменьшить зазор внутри CubeSat, чтобы убедиться, что Arduino идеально помещается внутри. У нас была проблема с тем, что arduino слишком свободно вставлялся в CubeSat.

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

Как только ваш CubeSat и arduino успешно пройдут тесты и начнут работать должным образом, все готово. Ваш CubeSat должен выжить в атмосфере Марса. Убедитесь, что датчик успешно регистрировал температуру во время испытаний. Ваш CubeSat готов к полету!

Рекомендуемые: