Mundarija:
- 1 -qadam: Materiallarni yig'ish/CubeSat eskizi
- 2 -qadam: Cubesat -ni yaratish
- 3 -qadam: Arduino -ni ulash va kodlash
- 4 -qadam: Cubesat -ni tekshirish
- 5 -qadam: CubeSat -ni ishga tushirish
- 6 -qadam: burilish testi
- 7-qadam: №2 test- silkinish testi
- 8 -qadam: natijalar/tugagan harorat CubeSat
Video: Harorat CubeSat Ben & Kaiti & Q soat 1: 8 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
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
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
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
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
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
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
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
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
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:
Hammasi bitta raqamli xronometrda (soat, taymer, signal, harorat): 10 qadam (rasmlar bilan)
Hammasi bitta raqamli xronometrda (soat, taymer, signal, harorat): biz boshqa musobaqalarga taymer yasashni rejalashtirgandik, lekin keyinchalik biz soatni ham (RTCsiz) qo'lladik. Dasturlashni boshlaganimizda, biz qurilmaga ko'proq funktsiyalarni qo'llashni xohladik va DS3231 RTC -ni qo'shdik
Sensorli harorat va harorat sensori: 4 qadam
Sensorli haroratni qanday o'lchash mumkin ?: Kirish: "O'qitish" darsligi, shuningdek, Arduino -dagi temperatura sensori. Xo'sh, biz hech qachon materiallarni o'rnatmasligimiz kerak
Bolt - DIY simsiz zaryadlovchi tungi soat (6 qadam): 6 qadam (rasmlar bilan)
Bolt - DIY simsiz zaryadlovchi tungi soat (6 qadam): Induktiv zaryadlash (simsiz zaryadlash yoki simsiz zaryadlash deb ham ataladi) simsiz quvvat uzatish turidir. Portativ qurilmalarni elektr energiyasi bilan ta'minlash uchun elektromagnit induksiyadan foydalaniladi. Eng keng tarqalgan dastur bu Qi simsiz zaryadlash st
C51 4 bitli elektron soat - yog'och soat: 15 qadam (rasmlar bilan)
C51 4 bitli elektron soat - yog'ochdan yasalgan soat: dam olish kunlari bo'sh vaqtim bor edi, shuning uchun men ilgari AliExpress -dan sotib olgan 2,40 dollarlik 4 bitli DIY elektron raqamli soatni yig'dim
M-soat miniatyurali multimodli soat: 11 qadam
M-soat miniatyurali multimodli soat: Minimalistlar soati? Ko'p rejimli soat? Matrix Clock? Bu MSP430G2432 ga asoslangan ko'p rejimli soat loyihasi. U lehimsiz va asboblarni minimal ishlatmasdan yig'ilishi mumkin. Cheklangan 8x8 pikselli displey o'lchamlari bilan, bu 12 soatlik soat vaqtni ko'rsatadi