Мазмұны:

Температура CubeSat Ben & Kaiti & Q Сағат 1: 8 қадам
Температура CubeSat Ben & Kaiti & Q Сағат 1: 8 қадам

Бейне: Температура CubeSat Ben & Kaiti & Q Сағат 1: 8 қадам

Бейне: Температура CubeSat Ben & Kaiti & Q Сағат 1: 8 қадам
Бейне: Голиков Денис Владимирович - Микроспутники формата CubeSat 2024, Мамыр
Anonim
Температура CubeSat Ben & Kaiti & Q Hour 1
Температура CubeSat Ben & Kaiti & Q Hour 1
Температура CubeSat Ben & Kaiti & Q Hour 1
Температура CubeSat Ben & Kaiti & Q Hour 1

Сіз ғарышқа жіберілетін және басқа планетаның температурасын өлшеуге болатын нәрсені өзіңіз жасағыңыз келді ме? Біздің орта мектептің физика сыныбында біз жұмыс істейтін ардуиносы бар CubeSat құруды тапсырдық, оның негізгі сұрағы - бұл Марста қалай жұмыс істеуге болады? Біз планетадағы температураны өлшеуді шештік, өйткені марстың ыстық екенін кім білгісі келмейді? Дегенмен, біз оны қол жетімді, сонымен қатар берік нәрседен жасауымыз керек еді. Сондықтан біз Legos қолдандық. Бұл CubeSat-ті берік етті және өлшемдері оңай жетуге көмектесті, тіпті егер барлық бөлшектер аздап мазалайтын болса да! Біздің мақсат - айналадағы температураны қабылдай алатын толық жұмыс істейтін сенсор және оның айналасында CubeSat қорғанысы болу.

1 -қадам: материалдарды жинау/CubeSat эскизі

Материалдарды жинау/CubeSat эскизі
Материалдарды жинау/CubeSat эскизі
Материалдарды жинау/CubeSat эскизі
Материалдарды жинау/CubeSat эскизі

Сіз жасағыңыз келетін бірінші нәрсе - CubeSat эскизі. Сіз оны жасамас бұрын, не жасағыңыз келетіні туралы түсінікке ие болуыңыз керек. Жоғарыдағы суреттердің бірі - біз жасаған CubeSat эскиздері. Әрі қарай, материалдарыңызды жинаңыз. Біз құрып жатқан CubeSat үшін біз Legos қолданамыз. Біз Legos -ты таңдадық, себебі оларды жинау оңай, сонымен қатар олар берік және қажетті тапсырмаларды жақсы орындайды. Сонымен, сізге бірнеше Legos алу керек. 10см х 10см х 10см болатын жұп негізді бөлшектерді немесе 10 -дан 10 -ға дейін біріктіруге болатын бірнеше негізгі бөлшектерді алыңыз. Біздің CubeSat үшін бізге бірнеше негізгі бөлшектерді алу керек және оларды 10 см -ден 10 см -ге дейін негіз жасау үшін біріктіру керек болды. Сондай -ақ, сіз Legos -ты шатырдың бірдей мөлшерін жасау үшін алуыңыз керек. Сіз Legos алғаннан кейін, CubeSat қабырғаларын тұрғызу үшін сізге бірнеше тонна Legos қажет болады. Бұл Legos өте жұқа екеніне көз жеткізіңіз, сондықтан олар 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 -ны сыммен байланыстыру қажет болады. Бұл қадам өте маңызды, себебі егер бұл дұрыс жасалмаса, онда текше температурасы оқылмайды. Ардуиноның сымын аяқтау үшін сізге кейбір материалдар қажет болады. Бұл материалдар - аккумулятор, ардуино, SD картасы, қосқыш сымдар, нан тақтасы, температура сенсоры және компьютер. Компьютер сымдардың дұрыс жұмыс істеп тұрғанын тексеру үшін қолданылады. Міне, веб -сайт, ол бізге arduino -ны қалай қосуға болатынын анықтауға көмектесті:

create.arduino.cc/projecthub/TheGadgetBoy/…

Жоғарыдағы суреттер мен фризинг диаграммасы сізге де көмектесе алады. Arduino кодының жұмыс істеуі компьютерде тексеріледі. Егер бәрі жұмыс істеп тұрса, онда ардуиноны компьютерден шығарып алуға болады.

Код:

// Деректер сымы Arduino 2 портына қосылады

#ONE_WIRE_BUS анықтаңыз 2

Деректер сенсоры;

// OneWire данасын кез келген OneWire құрылғыларымен байланысу үшін орнатыңыз (тек Maxim/Dallas температура IC -ін емес)

OneWire oneWire (ONE_WIRE_BUS);

// Бізге қажет кітапханаларды қосыңыз

#қосу

#қосу

#қосу

// Біздің OneWire сілтемесін Даллас температурасына жіберіңіз.

DallasTemature температура сенсорлары (& oneWire);

// құрылғы адресін ұстауға арналған массивтер

Термометр ішіндегі DeviceAddress;

/*

* Орнату функциясы. Мұнда біз негіздерді жасаймыз

*/

жарамсыз орнату (жарамсыз)

{

pinMode (10, OUTPUT);

SD.begin (4);

// сериялық портты бастау

Serial.begin (9600);

Serial.println («Dallas Temperature IC Control Library Demo»);

// автобустағы құрылғыларды табыңыз

Serial.print («Құрылғылардың орналасуын…»);

сенсорлар.begin ();

Serial.print («Табылды»);

Serial.print (sensors.getDeviceCount (), DEC);

Serial.println («құрылғылар.»);

// паразиттердің қуатына қойылатын талаптар туралы есеп

Serial.print («Паразиттердің күші:»);

if (sensors.isParasitePowerMode ()) Serial.println («ON»);

else Serial.println («ӨШІРУ»);

/*Мекенжайды қолмен тағайындаңыз. Төмендегі мекенжайларды өзгерту қажет

Автобуста құрылғының жарамды мекенжайлары. Құрылғының мекенжайын алуға болады

oneWire.search (deviceAddress) көмегімен немесе жеке арқылы

sensors.getAddress (deviceAddress, index) Мұнда нақты мекенжайды пайдалану қажет екенін ескеріңіз

ішіндеТермометр = {0x28, 0x1D, 0x39, 0x31, 0x2, 0x0, 0x0, 0xF0};

1 -әдіс:

Автобуста құрылғыларды іздеңіз және индекс негізінде тағайындаңыз. Ең дұрысы, Сіз мұны алдымен автобустағы мекен -жайларды анықтау үшін, сосын жасай аласыз

сол мекенжайларды қолданыңыз және білген соң оларды қолмен тағайындаңыз (жоғарыдан қараңыз)

сіздің автобусыңыздағы құрылғылар (және олар өзгермейді деп ойласаңыз).

*/ if (! sensors.getAddress (insideThermometer, 0)) Serial.println («0 құрылғысының мекенжайын табу мүмкін емес»);

// 2 -әдіс: іздеу ()

// search () келесі құрылғыны іздейді. Егер жаңа мекенжай болса, 1 қайтарады

// оралды. Нөл автобустың тұйықталғанын, ешқандай құрылғылардың жоқтығын білдіруі мүмкін.

// немесе сіз олардың барлығын алдыңыз. Бұл жақсы идея болуы мүмкін

// қоқыс болмағаны үшін CRC тексеріңіз. Тапсырыс - бұл

// детерминистік. Сіз әрқашан бірдей құрылғыларды бір ретпен аласыз

//

// Іздеу алдында қоңырау шалу керек ()

//oneWire.reset_search ();

// табылған бірінші адресті термометрге тағайындайды

// if (! oneWire.search (insideThermometer)) Serial.println («InnerThermometer мекенжайын табу мүмкін емес»);

// автобустан тапқан адрестерімізді көрсет

Serial.print («Құрылғы 0 мекенжайы:»);

printAddress (ішінде термометр);

Serial.println ();

// ажыратымдылықты 9 биттікке орнатыңыз (әрбір Dallas/Maxim құрылғысы бірнеше түрлі ажыратымдылыққа ие)

датчиктер.setResolution (ішінде термометр, 9);

Serial.print («Құрылғы 0 ажыратымдылығы:»);

Serial.print (sensors.getResolution (термометр ішінде), DEC);

Serial.println ();

}

// құрылғы температурасын басып шығару функциясы

жарамсыз басып шығару температурасы (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 = sensors.getTempC (deviceAddress);

егер (tempC == DEVICE_DISCONNECTED_C)

{

Serial.println («Қате: температура деректерін оқу мүмкін болмады»);

қайтару;

}

sensorData = SD.open («log.txt», FILE_WRITE);

if (sensorData) {

Serial.print («Temp C:»);

Serial.print (tempC);

Serial.print («Temp F:»);

Serial.println (DallasTemperature:: toFahrenheit (tempC)); // tempC Фаренгейтке түрлендіреді

sensorData.println (tempC);

sensorData.close ();

}

}

/*

* Негізгі функция. Ол сенсорлардан tempC сұрайды және серияда көрсетіледі.

*/

бос цикл (бос)

{

// жаһандық температураны шығару үшін sensors.requestTemperatures () шақырыңыз

// автобустағы барлық құрылғыларға сұрау

Serial.print («Температура сұралуда …»);

sensors.requestTemperatures (); // Температураны алу үшін пәрменді жіберіңіз

Serial.println («ДАЙЫН»);

// Ол бірден жауап береді. Деректерді басып шығарайық

printTemperature (ішкі термометр); // Деректерді басып шығару үшін қарапайым функцияны қолданыңыз

}

// құрылғы адресін басып шығару функциясы

void printAddress (DeviceAddress deviceAddress)

{

үшін (uint8_t i = 0; i <8; i ++)

{

if (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 ұшып кетпеуі үшін оның қатты бекітілгеніне көз жеткізу керек. Біз 2 жіпті CubeSat айналасына толығымен байлап, мықтап байладық. Содан кейін біз алғашқы екеуіне байланған тағы бір ұзын жіпті қостық. Біз бұл жіпті жоғары және төменгі жағынан бірнеше рет түйдік, сондықтан ол мүмкіндігінше қауіпсіз болды. Бұл бірнеше әрекетті қажет етуі мүмкін, себебі сіз жолды ұшу кезінде босатылмайтын етіп жасағыңыз келеді.

6 -қадам: Әткеншек сынағы

Әткеншек сынағы
Әткеншек сынағы

Бұл қадамның қауіпсіздігі үшін көзді қорғау үшін көзілдірік киюді ұмытпаңыз. Бұл қадамда сіз CubeSat -ті Arduino -ны оның тапсырмасын орындау үшін жеткілікті жақсы қорғайтынын (температураны табу) тексеру арқылы іске қосасыз. Бірінші сынақ - бұл қысуды қажет ететін сынақ. Бұл тестте Arduino айналдырылады (жоғарыдағы суретте/бейнеде көрсетілгендей)- (кейде бейнені жүктеуде қиындықтар болады). Ортасына Марстың үлгісін қоюға болады. Бұл тестті сәтті аяқтау үшін Arduino -ны байлап қоймай айналдыру керек, сондықтан оны жақсылап итеру керек, ал тест аяқталғаннан кейін олар Arduino толық жұмыс істеуі керек. Сондықтан Arduino CubeSat -те жақсы бекітілгеніне көз жеткізу керек.

7-қадам: №2 тест- дірілдеу сынағы

№2 тест- дірілдеу сынағы
№2 тест- дірілдеу сынағы

Бұл қадамда сіздің CubeSat No2 тесттен өтеді. Бұл сынақ дірілдеу сынағы болып табылады. Бұл тестте CubeSat жоғарыдағы суретте/видеода көрсетілгендей ұстағышқа орналастырылады (кейде бейнені жүктеу кезінде қиындықтар туындайды) және 30 секунд бойы артқа және артқа қатты шайқалады. Бұл сынақтан өту үшін CubeSat пен Arduino сілкінгеннен кейін де толық жұмыс істеуі қажет.

8 -қадам: Нәтижелер/Аяқталған температура CubeSat

Нәтижелер/Аяқталған температура CubeSat
Нәтижелер/Аяқталған температура CubeSat
Нәтижелер/Аяқталған температура CubeSat
Нәтижелер/Аяқталған температура CubeSat
Нәтижелер/Аяқталған температура CubeSat
Нәтижелер/Аяқталған температура CubeSat

Ақырында, біздің CubeSat әр сынақтан өткенде температураны сәтті тіркей алды. Деректер әр тест кезінде 26-30 градус Цельсий бойынша үнемі оқылады. Бұл Фаренгейттің 78-86 градусымен бірдей. Алайда, біз жолда кейбір қиындықтарға тап болдық. Мысалы, бірнеше рет arduino кодтау жұмыс істемеді және Цельсий бойынша 126 градус болды. Дұрыс температураға жету үшін бірнеше әрекет қажет болды. Мен бұл жобаны жүзеге асыратын кез келген адамға берер кеңесім - код пен сымдардың бірнеше вариациясын қолданып көріңіз және сіздің arduino CubeSat -қа тығыз сәйкес келетініне көз жеткізіңіз. Ардуиноның ішіне толық сәйкес келетініне көз жеткізу үшін CubeSat ішіндегі саңылауды қатайту қажет болуы мүмкін. Бізде arduino CubeSat -те тым бос болып қалу мәселесі болды.

Бұл жобада сізге физикадан алған біліміңізді қолдану қажет болады. Техника, энергия және күш туралы физика бойынша білім жобаның барлық кезеңінде қолданылуы керек. Жоба барысында біз күн жүйесі мен CubeSats сияқты жаңа технологиялар туралы көбірек білдік. Біз сондай -ақ гравитациялық күш және бұл күш CubeSat -ке қалай әсер ететіні туралы білдік. Бұл жобаның маңызды тақырыптарының бірі спутниктік қозғалыс болды. Біз спутниктік қозғалысты жылдамдық, таза күш және ауырлық күші арқылы білдік. Бұл бізге спутниктердің снарядтарын табуға көмектеседі.

Сіздің CubeSat пен arduino сынақтардан сәтті өтіп, дұрыс жұмыс жасаса, сіз аяқтадыңыз. Сіздің CubeSat Марстың атмосферасынан аман қалуы керек. Сенсор барлық сынақтар кезінде температураны сәтті тіркегеніне көз жеткізіңіз. Сіздің CubeSat ғарышқа дайын!

Ұсынылған: