Mundarija:

Harorat CubeSat Ben & Kaiti & Q soat 1: 8 qadam
Harorat CubeSat Ben & Kaiti & Q soat 1: 8 qadam

Video: Harorat CubeSat Ben & Kaiti & Q soat 1: 8 qadam

Video: Harorat CubeSat Ben & Kaiti & Q soat 1: 8 qadam
Video: temperatura lpcxpresso 2024, Noyabr
Anonim
Harorat CubeSat Ben & Kaiti & Q Hour 1
Harorat CubeSat Ben & Kaiti & Q Hour 1
Harorat CubeSat Ben & Kaiti & Q Hour 1
Harorat CubeSat Ben & Kaiti & Q Hour 1

Siz hech qachon kosmosga yuboriladigan va boshqa sayyoraning haroratini o'lchaydigan biror narsa yasashni xohlaganmisiz? Bizning o'rta maktab fizikasi darsida, bizda CubeSat -ni ishlaydigan arduino bilan jihozlash vazifasi qo'yilgan, asosiy savol shu: Marsda buni qanday ishga tushirish mumkin? Biz uni sayyoradagi haroratni o'lchashga qaror qildik, chunki kim Marsning issiqligini bilishni xohlamaydi? Biroq, biz uni arzon, ammo bardoshli narsalardan yasashimiz kerak edi. Shuning uchun biz Legosdan foydalanardik. Bu CubeSat-ni bardoshli qildi va bizni o'lchamlari osonlikcha erishishga yordam berdi, hatto hamma bo'laklari ham biroz zerikarli bo'lsa ham! Bizning maqsadimiz atrofdagi haroratni o'lchaydigan to'liq ishlaydigan sensor va uning atrofida himoya CubeSat bo'lishi edi.

1 -qadam: Materiallarni yig'ish/CubeSat eskizi

Materiallarni yig'ish/CubeSat eskizi
Materiallarni yig'ish/CubeSat eskizi
Materiallarni yig'ish/CubeSat eskizi
Materiallarni yig'ish/CubeSat eskizi

Siz qilmoqchi bo'lgan birinchi narsa bu CubeSat -ning eskizidir. Siz uni qurishdan oldin nimani qurmoqchi ekanligingiz haqida tasavvurga ega bo'lishingiz kerak. Yuqoridagi rasmlardan biri biz yaratgan CubeSat eskizlari. Keyin materiallaringizni yig'ing. Biz qurayotgan CubeSat uchun biz Legosdan foydalanmoqdamiz. Biz Legosni tanladik, chunki ularni yig'ish oson va shu bilan birga ular bardoshli va kerakli vazifalarni yaxshi bajaradi. Shunday qilib, sizga Legos kerak bo'ladi. 10 sm X 10 sm X 10 sm uzunlikdagi bir nechta asosiy bo'laklarni yoki 10 dan 10 gacha bo'laklarga birlashtirilishi mumkin bo'lgan bir nechta asosiy bo'laklarni oling. Bizning CubeSat uchun biz 10 sm dan 10 sm taglik yasash uchun bir nechta tayanch bo'laklarni olishimiz va ularni birlashtirishimiz kerak edi. Bundan tashqari, siz Legos -ni tomning bir xil o'lchamdagi qismini yasashingiz kerak bo'ladi. Lego -ni olganingizdan so'ng, CubeSat -ning devorlarini qurish uchun sizga bir tonna kichik Legos kerak bo'ladi. Bu Legosning juda nozik ekanligiga ishonch hosil qiling, shuning uchun ular CubeSat -ning ichki qismini juda ko'p egallamaydi.

2 -qadam: Cubesat -ni yaratish

Cubesat qurish
Cubesat qurish
Cubesat qurish
Cubesat qurish
Cubesat qurish
Cubesat qurish

Birinchidan, biz bu 10x10x10 go'zallikni qurdik. Bu juda ko'p turli xil dizaynlarni talab qildi. Avval o'rtada tokchamiz bor edi, lekin keyinroq biz bunga ehtiyoj yo'q deb qaror qildik. Agar siz o'rtada javon o'rnatishni tanlasangiz, men faqat bitta tokchani tavsiya qilaman, chunki har safar Arduino va sensoringizni qo'yganingizda uni ajratib olishingiz kerak bo'ladi. Biz kichik derazalarni qo'shdik, shuning uchun biz tepaga yopiq holda ichkariga qaraymiz, shunda biz hamma narsani muammosiz bajaramiz. CubeSat -ni yanada barqaror qilish uchun biz pastki qismida ikkita Lego qatlamini birlashtirdik. Qanchalik barqaror bo'lsa, shuncha yaxshi, chunki bu CubeSat har xil to'siqlardan omon qolishi kerak.

3 -qadam: Arduino -ni ulash va kodlash

Arduino -ni ulash va kodlash
Arduino -ni ulash va kodlash
Arduino -ni ulash va kodlash
Arduino -ni ulash va kodlash
Arduino -ni ulash va kodlash
Arduino -ni ulash va kodlash

Loyihaning ikkinchi bosqichi - bu erda siz arduino simini ulashingiz kerak bo'ladi. Bu qadam juda muhim, chunki agar bu to'g'ri bajarilmasa, kub haroratni o'qiy olmaydi. Arduino simini ulash uchun sizga ba'zi materiallar kerak bo'ladi. Bu materiallar - batareya, arduino, SD -karta, o'tish simlari, non paneli, harorat sensori va kompyuter. Kompyuter yordamida simlarning to'g'ri ishlayotganini aniqlash mumkin bo'ladi. Mana, veb -sayt, bu bizga arduino -ni qanday ulash haqida ko'rsatma berdi:

create.arduino.cc/projecthub/TheGadgetBoy/…

Yuqoridagi rasmlar va chizish sxemasi sizga ham yordam berishi mumkin. Arduino -ning kodlanishi ham uning ishlashini tekshirish uchun kompyuterda tekshiriladi. Agar hamma narsa ishlayotgan bo'lsa, arduino kompyuterdan chiqarilishi mumkin va u ishga tayyor.

Kod:

// Ma'lumot simlari Arduino portidagi 2 -portga ulangan

#ONE_WIRE_BUSni aniqlang 2

Ma'lumotlar sensori;

// OneWire qurilmalarini har qanday OneWire qurilmalari bilan bog'lanish uchun oneWire misolini o'rnating (faqat Maxim/Dallas haroratli IClar emas)

OneWire OneWire (ONE_WIRE_BUS);

// Bizga kerak bo'lgan kutubxonalarni qo'shing

#qo'shing

#qo'shing

#qo'shing

// Dallas harorati haqida OneWire ma'lumotnomamizdan o'ting.

Dallas harorat sensori (& oneWire);

// qurilma manzilini saqlash uchun massivlar

Termometr ichidagi qurilma manzili;

/*

* O'rnatish funktsiyasi. Bu erda biz asosiy narsalarni qilamiz

*/

bo'sh o'rnatish (bekor)

{

pinMode (10, OUTPUT);

SD.begin (4);

// ketma -ket portni ishga tushiring

Serial.begin (9600);

Serial.println ("Dallas harorati IC nazorat kutubxonasi demosi");

// avtobusda qurilmalarni toping

Serial.print ("Qurilmalarning joylashuvi …");

sensorlar.begin ();

Serial.print ("Topildi");

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

Serial.println ("qurilmalar.");

// parazitlarning quvvat talablari haqida xabar bering

Serial.print ("Parazitlarning kuchi:");

if (sensorlar.isParasitePowerMode ()) Serial.println ("ON");

else Serial.println ("O'chirilgan");

/*Manzilni qo'lda belgilang. Quyidagi manzillarni o'zgartirish kerak bo'ladi

Avtobusda qurilma manzillarini tasdiqlash. Qurilmaning manzilini olish mumkin

oneWire.search (deviceAddress) yordamida yoki alohida orqali

sensors.getAddress (deviceAddress, index) E'tibor bering, bu erda siz aniq manzilingizni ishlatishingiz kerak bo'ladi

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

1 -usul:

Avtobusda qurilmalarni qidiring va indeks asosida tayinlang. Ideal holda, Siz buni dastlab avtobusda, keyin esa manzillarni aniqlash uchun qilardingiz

bu manzillardan foydalaning va bilganingizdan so'ng ularni qo'lda belgilang (yuqoriga qarang)

sizning avtobusingizdagi qurilmalar (va ular o'zgarmaydi deb taxmin qilinadi).

*/ if (! sensorlar.getAddress (ichidaTermometr, 0)) Serial.println ("Qurilma 0 uchun manzil topilmadi");

// 2 -usul: qidirish ()

// search () keyingi qurilmani qidiradi. Agar yangi manzil bo'lsa, 1 qaytaradi

// qaytdi. Nol avtobus qisqa tutashganini, qurilmalar yo'qligini anglatishi mumkin.

// yoki siz hammasini allaqachon olgansiz. Bu yaxshi fikr bo'lishi mumkin

// axlat olmaganingizga ishonch hosil qilish uchun CRCni tekshiring. Buyurtma shunday

// deterministik. Siz har doim bir xil qurilmalarni bir xil tartibda olasiz

//

// Qidirishdan oldin qo'ng'iroq qilish kerak ()

//oneWire.reset_search ();

// topilgan birinchi manzilni termometrga tayinlaydi

// if (! oneWire.search (insideThermometer)) Serial.println ("InnerThermometer uchun manzil topilmadi");

// avtobusda topilgan manzillarni ko'rsating

Serial.print ("Qurilma 0 manzili:");

printAddress (ichida termometr);

Serial.println ();

// piksellar sonini 9 bitga o'rnating (har bir Dallas/Maxim qurilmasi bir necha xil o'lchamlarga ega)

sensorlar. sozlashRezolyutsiyasi (ichida termometr, 9);

Serial.print ("Qurilma 0 o'lchamlari:");

Serial.print (sensorlar. GetResolution (ichida termometr), DEC);

Serial.println ();

}

// qurilma haroratini chop etish funktsiyasi

bo'sh bosim harorati (DeviceAddress deviceAddress)

{

// 1 -usul - sekinroq

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

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

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

//Serial.print(sensors.getTempF(deviceAddress)); // getTempC -ga ikkinchi marta qo'ng'iroq qiladi va keyin Farengeytga aylanadi

// 2 -usul - tezroq

float tempC = sensors.getTempC (deviceAddress);

agar (tempC == DEVICE_DISCONNECTED_C)

{

Serial.println ("Xato: harorat ma'lumotlarini o'qib bo'lmadi");

qaytish;

}

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

agar (sensorData) {

Serial.print ("Harorat C:");

Serial.print (tempC);

Serial.print ("Harorat F:");

Serial.println (DallasTemperature:: toFahrenheit (tempC)); // tempCni Farengeytga o'zgartiradi

sensorData.println (tempC);

sensorData.close ();

}

}

/*

* Asosiy funktsiya. Sensorlardan tempC talab qilinadi va Serialda ko'rsatiladi.

*/

bo'sh halqa (bo'sh)

{

// global haroratni chiqarish uchun sensorlar.requestTemperatures () ga qo'ng'iroq qiling

// avtobusdagi barcha qurilmalarga so'rov

Serial.print ("Harorat talab qilinmoqda …");

sensorlar.requestTemperatures (); // Haroratni olish uchun buyruq yuboring

Serial.println ("BILDI");

// Bu deyarli darhol javob beradi. Keling, ma'lumotlarni chop etamiz

bosim harorati (ichidagi termometr); // Ma'lumotlarni chop etish uchun oddiy funktsiyadan foydalaning

}

// qurilma manzilini chop etish funktsiyasi

void printAddress (DeviceAddress deviceAddress)

{

uchun (uint8_t i = 0; i <8; i ++)

{

if (deviceAddress <16) Serial.print ("0");

Serial.print (deviceAddress , HEX);

}

}

Javob Oldinga

4 -qadam: Cubesat -ni tekshirish

Cubesat ustidan tekshirish
Cubesat ustidan tekshirish
Cubesat ustidan tekshirish
Cubesat ustidan tekshirish

Endi CubeSat, Arduino -ning kodi va simlari tugallangach, siz tez orada testlarni o'tkazasiz. Agar bu sinovlar muvaffaqiyatsiz bo'lsa, sizning CubeSat Arduino bilan birga butunlay yo'q qilinishi mumkin. Shuning uchun siz Arduino -ning bunga tayyor ekanligiga ishonch hosil qilishni xohlaysiz. Bu erda CubeSat -ni tekshirib, bu qadam o'ynaydi. Birinchidan, siz Arduino -ni xavfsiz tarzda CubeSat -ga joylashtirishingiz kerak va u aylanmasligiga ishonch hosil qiling. Keyin, CubeSat -ning barcha qismlari ishonchli tarzda joylashtirilganligiga ishonch hosil qilishingiz kerak bo'ladi. Bo'shashgan qismlar bo'lishi mumkin emas, yoki CubeSat sinov paytida ajralib chiqish ehtimoli ko'proq bo'ladi. Agar siz CubeSat -ni sinchkovlik bilan tekshirib ko'rsangiz, u orqali o'tadigan testlar oson o'tishi kerak.

5 -qadam: CubeSat -ni ishga tushirish

CubeSat -ni kuchaytirish
CubeSat -ni kuchaytirish

Bu qadam CubeSat o'tadigan birinchi sinovga tayyorgarlik bo'ladi. Sinovda CubeSat 30 soniya davomida aylana bo'ylab tez suriladi. CubeSat uchib ketmasligi uchun uni mahkam bog'lab qo'yganingizga ishonch hosil qilishingiz kerak. Biz CubeSat atrofiga 2 ta ipni to'liq bog'lab, mahkam bog'lab qo'ydik. Keyin, biz yana ikkita uzun ipni qo'shdik, u birinchi ikkisiga bog'langan edi. Biz bu ipni yuqoridan va pastdan bir necha marta bog'ladik, shunda u iloji boricha himoyalangan edi. Bu bir nechta urinishlarni talab qilishi mumkin, chunki siz simni mukammal qilmoqchisiz, shunda u parvoz paytida bo'shashmaydi.

6 -qadam: burilish testi

Burilish testi
Burilish testi

Bu qadamda xavfsizlik uchun ko'zingizni himoya qilish uchun ko'zoynak taqing. Ushbu bosqichda siz CubeSat -ni Arduino -ni o'z vazifasini bajarishi uchun etarli darajada himoya qiladimi yoki yo'qligini tekshirish uchun ishlatasiz (haroratni aniqlash). Birinchi sinov - bu siqish kerak bo'lgan sinov. Ushbu testda Arduino aylantiriladi (yuqoridagi rasmda/videoda ko'rsatilgandek)- (ba'zida videoni yuklashda muammolar bo'ladi). Uning o'rtasiga Mars modelini qo'yish mumkin. Bu sinovni muvaffaqiyatli yakunlash uchun Arduino qarovsiz aylanib o'tishi kerak, shuning uchun uni yaxshilab bog'lab qo'yish kerak va sinov tugagandan so'ng ular Arduino to'liq ishlashi kerak bo'ladi. Shuning uchun siz Arduino CubeSat -da yaxshi himoyalanganligiga ishonch hosil qilishingiz kerak.

7-qadam: №2 test- silkinish testi

Sinov №2- chayqalish testi
Sinov №2- chayqalish testi

Bu bosqichda sizning CubeSat #2 testdan o'tadi. Bu sinov silkinish sinovidir. Ushbu testda CubeSat yuqoridagi rasmda/videoda ko'rsatilgandek ushlagichga joylashtiriladi (ba'zida videoni yuklashda muammolar bo'ladi) va 30 soniya davomida oldinga va orqaga kuchli silkitiladi. Ushbu sinovdan o'tish uchun CubeSat va Arduino larzadan keyin ham to'liq ishlashi kerak bo'ladi.

8 -qadam: natijalar/tugagan harorat CubeSat

Natijalar/tugagan harorat CubeSat
Natijalar/tugagan harorat CubeSat
Natijalar/tugagan harorat CubeSat
Natijalar/tugagan harorat CubeSat
Natijalar/tugagan harorat CubeSat
Natijalar/tugagan harorat CubeSat

Oxir -oqibat, bizning CubeSat har bir sinovdan o'tayotganda haroratni muvaffaqiyatli qayd eta oldi. Ma'lumotlar har bir testda doimiy ravishda 26-30 daraja Selsiy bo'yicha o'qiladi. Bu 78-86 daraja Farengeyt bilan bir xil. Biroq, biz yo'lda ba'zi muammolarga duch keldik. Masalan, bir necha marta arduino kodlash ishlamadi va 126 daraja Selsiy bo'yicha o'qildi. To'g'ri haroratga erishish uchun bir necha bor urinish kerak edi. Men bu loyihani amalga oshirayotgan har kimga beradigan maslahatim, kod va simlarning bir nechta variantini sinab ko'rish va arduino CubeSat -ga mahkam o'rnashishini tekshirish. Arduino ichkariga to'liq mos kelishiga ishonch hosil qilish uchun CubeSat ichidagi bo'shliqni mahkamlashingiz kerak bo'lishi mumkin. Bizda arduino CubeSat -da juda bo'sh bo'lishi bilan bog'liq muammo bor edi.

Ushbu loyihada siz fizikadan olgan bilimlaringizni ham qo'llashingiz kerak bo'ladi. Loyiha davomida fizika, texnologiya, energiya va kuch haqidagi bilimlarni qo'llash kerak bo'ladi. Loyiha davomida biz quyosh tizimi va CubeSats kabi yangi texnologiyalar haqida ko'proq bilib oldik. Biz tortishish kuchi va bu kuch CubeSat -ga qanday ta'sir qilishi haqida ham bilib oldik. Ushbu loyihaning eng muhim mavzusi sun'iy yo'ldosh harakati edi. Biz sun'iy yo'ldosh harakati haqida tezlik, aniq kuch va tortishish kuchi yordamida bilib oldik. Bu bizga sun'iy yo'ldoshlarning raketalarini topishga yordam beradi.

Sizning CubeSat va arduino sinovlardan muvaffaqiyatli o'tib, to'g'ri ishlasa, siz tugatgan bo'lasiz. Sizning CubeSat Mars atmosferasidan omon qolishi kerak. Sinov davomida sensor haroratni muvaffaqiyatli qayd etganiga ishonch hosil qiling. Sizning CubeSat kosmosga chiqishga tayyor!

Tavsiya: