Оглавление:
- Шаг 1: Сбор материалов / создание эскиза CubeSat
- Шаг 2: создание Cubesat
- Шаг 3: Подключение и кодирование Arduino
- Шаг 4: проверка Cubesat
- Шаг 5: Установка CubeSat
- Шаг 6: испытание на качели
- Шаг 7: Тест №2 - тест на встряхивание
- Шаг 8: Результаты / Завершенный температурный CubeSat
Видео: Температура CubeSat Ben & Kaiti & Q Hour 1: 8 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Вы когда-нибудь хотели сделать что-то самостоятельно, что можно было бы отправить в космос и измерить температуру другой планеты? На уроке физики в старшей школе нам было поручено создать CubeSat с работающим Arduino с главным вопросом: «Как мы можем заставить это работать на Марсе?» Мы решили сделать так, чтобы он измерял температуру на планете, потому что кто бы не хотел знать, насколько жарко на Марсе? Однако нам нужно было сделать его из чего-то доступного, но при этом прочного. Поэтому мы использовали Лего. Это сделало CubeSat долговечным и помогло нам довольно легко достичь размеров, даже если все детали были немного надоедливыми! Наша цель состояла в том, чтобы иметь полностью функционирующий датчик, который может измерять температуру окружающей среды, и защитный CubeSat вокруг него.
Шаг 1: Сбор материалов / создание эскиза CubeSat
Первое, что вам нужно сделать, это набросать CubeSat. Вам нужно будет иметь представление о том, что вы хотите построить, прежде чем строить это. Одна из картинок выше - это сделанные нами скетчи CubeSat. Затем соберите свои материалы. Для CubeSat, который мы строим, мы используем Legos. Мы выбрали Lego, потому что их легко собрать и собрать, и в то же время они долговечны и хорошо справятся с необходимыми задачами. Итак, вам нужно будет приобрести Лего. возьмите пару широких базовых частей, которые составляют 10 см X 10 см X 10 см, или несколько базовых частей, которые можно соединить в кусок размером 10 на 10. Для нашего CubeSat нам нужно было собрать несколько базовых частей и сложить их вместе, чтобы получилось основание размером 10 на 10 см. Вам также понадобится Lego, чтобы сделать часть крыши такого же размера. После того, как вы получите эти Lego, вам нужно будет получить тонну маленьких Lego, чтобы построить стены CubeSat. Убедитесь, что эти Lego достаточно тонкие, чтобы они не занимали слишком много места внутри CubeSat.
Шаг 2: создание Cubesat
Сначала мы построили эту красавицу 10х10х10. Потребовалось много разных дизайнов. Сначала у нас была полка посередине, но позже мы решили, что в этом нет необходимости. Если вы выберете полку посередине, я бы порекомендовал только одну полку, потому что вам придется разбирать ее каждый раз, когда вы вставляете и вынимаете Arduino и датчик. Мы добавили маленькие окошки, чтобы мы могли быстро заглянуть внутрь, пока верхняя часть закрыта, чтобы мы могли видеть, что все работает плавно. Чтобы сделать CubeSat более устойчивым, мы собрали два слоя Lego внизу. Чем стабильнее, тем лучше, потому что этот CubeSat должен уметь преодолевать множество различных препятствий.
Шаг 3: Подключение и кодирование 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, код и подключение Arduino завершены, вы скоро будете проводить тесты. Если эти тесты не пройдут, ваш CubeSat потенциально может быть полностью разрушен вместе с вашим Arduino. Поэтому вам нужно убедиться, что ваш Arduino готов к этому. Вот тут-то и пригодится этот шаг - проверка CubeSat. Во-первых, вам нужно будет надежно разместить Arduino внутри CubeSat и убедиться, что он не будет раскачиваться. Затем вам нужно будет убедиться, что все части CubeSat надежно закреплены на своих местах. Не должно быть незакрепленных частей, иначе CubeSat с большей вероятностью разлетится во время испытаний. Если вы тщательно проверяете свой CubeSat, то тесты, которые он проходит, должны пройти легко.
Шаг 5: Установка CubeSat
Этот шаг является подготовкой к первому тесту, который пройдет CubeSat. В ходе теста CubeSat будет вращаться в быстром темпе по кругу в течение 30 секунд. Вам нужно будет убедиться, что CubeSat надежно натянут, чтобы он не улетел. Мы полностью обвязали CubeSat двумя нитками и плотно завязали их. Затем мы добавили еще одну длинную веревку, которая была привязана к первым двум. Мы завязывали эту веревку несколько раз сверху и снизу, чтобы она была максимально закреплена. Это может потребовать нескольких попыток, потому что вы хотите, чтобы струна была идеальной, чтобы она не ослабла во время полета.
Шаг 6: испытание на качели
В целях безопасности на этом этапе не забудьте надеть очки, чтобы защитить глаза. На этом этапе вы будете запускать CubeSat через тест, чтобы увидеть, достаточно ли он защищает Arduino, чтобы он мог выполнять свою задачу (определение температуры). Первый тест - это тот, который требует натягивания. В этом тесте Arduino будет вращаться (как показано на картинке / видео выше) - (иногда видео не загружается). В центре можно разместить модель Марса. Чтобы успешно завершить этот тест, Arduino нужно будет повернуть, не отключаясь, поэтому его нужно хорошо натянуть, и они должны будут полностью функционировать после завершения теста. Вот почему вам нужно убедиться, что Arduino надежно закреплен в CubeSat.
Шаг 7: Тест №2 - тест на встряхивание
На этом этапе ваш CubeSat будет проходить тест №2. Это испытание на встряхивание. В этом тесте CubeSat будет помещен в держатель, как показано на изображении / видео (иногда видео не загружается) выше, и его будет сильно трясти вперед и назад в течение 30 секунд. Чтобы пройти этот тест, ваши CubeSat и Arduino должны будут по-прежнему полностью функционировать после встряхивания.
Шаг 8: Результаты / Завершенный температурный CubeSat
В конце концов, наш CubeSat смог успешно записывать температуру во время каждого теста. Данные постоянно показывают 26-30 градусов Цельсия в каждом тесте. Это то же самое, что 78-86 градусов по Фаренгейту. Однако по пути мы столкнулись с некоторыми проблемами. Например, несколько раз кодировка ардуино не работала и показывала 126 градусов по Цельсию. Потребовалось несколько попыток достижения нужной температуры. Я бы посоветовал всем, кто занимается этим проектом, попробовать несколько вариантов кода и разводки и убедиться, что ваш Arduino плотно прилегает к CubeSat. Возможно, вам придется уменьшить зазор внутри CubeSat, чтобы убедиться, что Arduino идеально помещается внутри. У нас была проблема с тем, что arduino слишком свободно вставлялся в CubeSat.
В этом проекте вам также нужно будет применить свои знания физики. Знания физики, технологии, энергии и силы необходимо будет применять на протяжении всего проекта. В ходе проекта мы узнали больше о солнечной системе и новых технологиях, таких как CubeSats. Мы также узнали о гравитационной силе и о том, как эта сила может влиять на CubeSat. Одной из очень важных тем этого проекта было движение спутников. Мы узнали о движении спутника, используя скорость, чистую силу и гравитацию. Это поможет нам найти снаряды спутников.
Как только ваш CubeSat и arduino успешно пройдут тесты и начнут работать должным образом, все готово. Ваш CubeSat должен выжить в атмосфере Марса. Убедитесь, что датчик успешно регистрировал температуру во время испытаний. Ваш CubeSat готов к полету!
Рекомендуемые:
Готовый к запуску SSTV CubeSat: 7 шагов (с изображениями)
Готовый к запуску SSTV CubeSat: спутники - это искусственные инструменты, которые собирают информацию и данные из космоса. На протяжении многих лет люди являлись пионерами космической техники, и космические технологии стали более доступными, чем когда-либо. Раньше спутники были очень сложными и дорогими
Учебное пособие по акселерометру CubeSat: 6 шагов
Учебное пособие по акселерометру CubeSat: Cubesat - это тип миниатюрного спутника для космических исследований, который состоит из кубических единиц, кратных 10x10x10 см, и имеет массу не более 1,33 кг на единицу. Куб-спутники позволяют отправлять в космос большое количество спутников и т.д
Создание Cubesat с Arduino и датчиком природного газа (MQ-2): 5 шагов
Создание спутника Cubesat с Arduino и датчиком природного газа (MQ-2): нашей целью было создать успешный спутник Cubesat, способный обнаруживать газ в атмосфере
CubeSat Температура и влажность: 7 шагов
CubeSat Температура и влажность: это наш CubeSat. Мы решили, что хотим измерить температуру и влажность, потому что нас интересовали условия в космосе. Мы напечатали нашу конструкцию на 3D-принтере и нашли наиболее эффективные способы ее создания. Нашей целью было построить систему, которая
Как построить CubeSat с Arduino и датчиком счетчика Гейгера: 11 шагов
Как построить CubeSat с Arduino и датчиком счетчика Гейгера: Вы когда-нибудь задумывались о том, является ли Марс радиоактивным? А если он радиоактивен, достаточно ли высок уровень радиации, чтобы считаться вредным для человека? Это все вопросы, на которые, как мы надеемся, сможет ответить наш CubeSat с Arduino Geiger Counte