Mündəricat:

Temperatur CubeSat Ben & Kaiti & Q Saat 1: 8 Addım
Temperatur CubeSat Ben & Kaiti & Q Saat 1: 8 Addım

Video: Temperatur CubeSat Ben & Kaiti & Q Saat 1: 8 Addım

Video: Temperatur CubeSat Ben & Kaiti & Q Saat 1: 8 Addım
Video: Basic Satellite Design- Part picking for a 1U cubesat 2024, Noyabr
Anonim
Temperatur CubeSat Ben & Kaiti & Q Hour 1
Temperatur CubeSat Ben & Kaiti & Q Hour 1
Temperatur CubeSat Ben & Kaiti & Q Hour 1
Temperatur CubeSat Ben & Kaiti & Q Hour 1

Kosmosa göndərilə bilən və başqa bir planetin temperaturunu ölçə biləcək bir şey özünüz etmək istəmisinizmi? Lisey fizika dərsimizdə, əsas sualı olan işləyən bir arduino ilə bir CubeSat qurmağı tapşırdığımız yerdə, bunu Marsda necə əldə edə bilərik? Planetdəki istiliyi ölçmək qərarına gəldik, çünki kim Marsın nə qədər isti olduğunu bilmək istəməz ki? Ancaq onu əlverişli, həm də davamlı bir şeydən hazırlamalı olduq. Buna görə də Legosdan istifadə etdik. Bu, CubeSat-ı dayanıqlı etdi və ölçülərimizə olduqca asanlıqla çatmağımıza kömək etdi-hətta bütün parçalar bir az sinir bozucu olsa belə! Məqsədimiz, ətrafdakı istiliyi ölçə bilən tam işləyən bir sensora və ətrafındakı qoruyucu bir CubeSat'a sahib olmaq idi.

Addım 1: Materialların toplanması/CubeSat -ın eskizi

Materialların toplanması/CubeSat -ın eskizi
Materialların toplanması/CubeSat -ın eskizi
Materialların toplanması/CubeSat -ın eskizi
Materialların toplanması/CubeSat -ın eskizi

Etmək istədiyiniz ilk şey CubeSat -ın eskizidir. İnşa etməzdən əvvəl nəyi qurmaq istədiyinizi bilməlisiniz. Yuxarıdakı şəkillərdən biri də hazırladığımız CubeSat eskizləridir. Sonra materiallarınızı toplayın. Tikdiyimiz CubeSat üçün Legos istifadə edirik. Legos'u seçdik, çünki onları yığmaq asandır və eyni zamanda davamlıdır və lazımi vəzifələri yaxşı yerinə yetirəcəkdir. Beləliklə, bir az Legos almalısınız. 10cm X 10cm X 10cm olan bir neçə geniş baza parçası və ya 10 ilə 10 parçaya bir araya gətirilə bilən bir neçə əsas parça alın. CubeSat'ımız üçün, 10 sm -dən 10 sm -ə qədər bir baza yaratmaq üçün bir neçə əsas parça əldə etməli və onları bir araya gətirməli idik. Eyni ölçüdə bir dam örtüyü düzəltmək üçün Legos almalısınız. Bu Legosları əldə etdikdən sonra, CubeSat divarlarını qurmaq üçün bir ton kiçik Legos almalı olacaqsınız. Bu Legosun kifayət qədər cılız olduğundan əmin olun, buna görə CubeSat -ın daxili hissəsini çox tutmur.

Addım 2: Cubesat qurmaq

Cubesat qurmaq
Cubesat qurmaq
Cubesat qurmaq
Cubesat qurmaq
Cubesat qurmaq
Cubesat qurmaq

Əvvəlcə bu 10x10x10 gözəlliyi qurduq. Çox fərqli dizaynlar lazım idi. Əvvəlcə ortada bir rəf var idi, amma sonradan bunun lazımsız olduğuna qərar verdik. Ortada bir rəf olmağı seçsəniz, yalnız bir raf tövsiyə edərdim, çünki hər dəfə Arduino və sensorunuzu taxıb çıxardığınız zaman onu ayırıb çıxarmalı olacaqsınız. Kiçik pəncərələr əlavə etdik ki, üstü bağlı olarkən içəriyə tez bir zamanda baxaq və hər şeyin düzgün işlədiyini görə bilək. CubeSat -ı daha sabit etmək üçün altda iki qat Lego qoyduq. Nə qədər sabit olsa, bir o qədər yaxşıdır, çünki bu CubeSat -ın bir çox fərqli maneəni aşa bilməsi lazımdır.

Addım 3: Arduinonun naqilləri və kodlaşdırılması

Arduinonun naqilləri və kodlaşdırılması
Arduinonun naqilləri və kodlaşdırılması
Arduinonun naqilləri və kodlaşdırılması
Arduinonun naqilləri və kodlaşdırılması
Arduinonun naqilləri və kodlaşdırılması
Arduinonun naqilləri və kodlaşdırılması

Bu layihənin ikinci addımı, arduinoya tel bağlamanız lazım olduğu yerdir. Bu addım çox vacibdir, çünki əgər bu düzgün edilməsə, kub ölçüsü temperaturu oxuya bilməyəcək. Arduino kabelini tamamlamaq üçün bəzi materiallara ehtiyacınız olacaq. Bu materiallar batareya, arduino, SD kart, tullanan tellər, çörək taxtası, temperatur sensoru və kompüterdir. Kabelin düzgün işlədiyini yoxlamaq üçün kompüter istifadə ediləcək. Arduino -ya tel bağlamaq üçün bizə kömək edən bir veb saytdır:

create.arduino.cc/projecthub/TheGadgetBoy/…

Yuxarıdakı şəkillər və qıvrım diaqramı da sizə kömək edə bilər. Arduino -nun kodlaşdırılması da işlədiyini yoxlamaq üçün kompüterdə yoxlanılacaq. Hər şey işləyirsə, arduino kompüterdən çıxarıla bilər və işə hazırdır.

Kod:

// Məlumat teli Arduino port 2 -ə qoşulur

#ONE_WIRE_BUS -u təyin edin 2

Fayl sensoru Məlumat;

// OneWire cihazları ilə ünsiyyət qurmaq üçün OneWire nümunəsi qurun (yalnız Maxim/Dallas temperatur IC -ləri deyil)

OneWire OneWire (ONE_WIRE_BUS);

// Ehtiyacımız olan kitabxanaları daxil edin

#daxil edin

#daxil edin

#daxil edin

// OneWire istinadımızı Dallas Temperaturuna keçirin.

DallasTemperatur sensorlar (& oneWire);

// cihaz ünvanını saxlamaq üçün massivlər

Termometr daxilində cihaz ünvanı;

/*

* Quraşdırma funksiyası. Burada əsasları edirik

*/

boş quraşdırma (boş)

{

pinMode (10, Çıxış);

SD.begin (4);

// seriya limanına başlayın

Serial.begin (9600);

Serial.println ("Dallas Temperatur IC Control Library Demo");

// avtobusdakı cihazları tapın

Serial.print ("Cihazları tapır …");

sensorlar.begin ();

Serial.print ("Tapıldı");

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

Serial.println ("cihazlar.");

// parazit güc tələblərini bildirin

Serial.print ("Parazit gücü:");

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

else Serial.println ("OFF");

/*Ünvanı əl ilə təyin edin. Aşağıdakı ünvanlar dəyişdirilməlidir

avtobusunuzda etibarlı cihaz ünvanları. Cihazın ünvanını əldə etmək olar

ya oneWire.search (deviceAddress) istifadə edərək və ya fərdi olaraq

sensors.getAddress (deviceAddress, index) Burada xüsusi ünvanınızı istifadə etməyiniz lazım olduğunu unutmayın

içəridə termometr = {0x28, 0x1D, 0x39, 0x31, 0x2, 0x0, 0x0, 0xF0};

Metod 1:

Avtobusdakı cihazları axtarın və indeksə əsasən təyin edin. İdeal olaraq

Bunu əvvəlcə avtobusdakı ünvanları kəşf etmək üçün edərdiniz, sonra

bu ünvanlardan istifadə edin və bildiyiniz zaman onları əl ilə təyin edin (yuxarıya baxın)

avtobusunuzdakı qurğular (və dəyişmədiklərini düşünürsünüzsə).

*/ if (! sensors.getAddress (insideThermometer, 0)) Serial.println ("Cihaz 0 üçün ünvan tapılmadı");

// metod 2: axtarış ()

// search () növbəti cihazı axtarır. Yeni bir ünvan varsa 1 qaytarır

// qayıtdı. Sıfır, avtobusun qısaldığını, heç bir cihazın olmadığını, // və ya hamısını artıq əldə etdiniz. Bunu etmək yaxşı bir fikir ola bilər

// zibil almadığınızdan əmin olmaq üçün CRC -ni yoxlayın. Sifarişdir

// deterministik. Həmişə eyni cihazları eyni qaydada alacaqsınız

//

// Axtarışdan əvvəl zəng edilməlidir ()

//oneWire.reset_search ();

// tapılan ilk ünvanı içəridəki termometrə təyin edir

// if (! oneWire.search (insideThermometer)) Serial.println ("InsideThermometer üçün ünvan tapılmadı");

// avtobusda tapdığımız ünvanları göstər

Serial.print ("Cihaz 0 Ünvan:");

printAddress (içərisində termometr);

Serial.println ();

// qətnaməni 9 bit olaraq təyin edin (Hər Dallas/Maxim cihazı bir neçə fərqli qətnamə qabiliyyətinə malikdir)

sensorlar.setResolution (içərisində Termometr, 9);

Serial.print ("Cihaz 0 Çözünürlük:");

Serial.print (sensorlar.getResolution (içərisində Termometr), DEC);

Serial.println ();

}

// cihazın temperaturunu çap etmək funksiyası

boş çap İstiliyi (DeviceAddress deviceAddress)

{

// metod 1 - daha yavaş

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

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

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

//Serial.print(sensors.getTempF(deviceAddress)); // getTempC üçün ikinci zəng edir və sonra Fahrenheitə çevrilir

// metod 2 - daha sürətli

float tempC = sensors.getTempC (deviceAddress);

əgər (tempC == DEVICE_DISCONNECTED_C)

{

Serial.println ("Xəta: temperatur məlumatları oxunmadı");

qayıtmaq;

}

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 -ni Fahrenheit -ə çevirir

sensorData.println (tempC);

sensorData.close ();

}

}

/*

* Əsas funksiya. Sensorlardan tempC istəyəcək və Serialda göstərəcəkdir.

*/

boşluq döngəsi (boşluq)

{

// qlobal bir temperatur vermək üçün sensorlar.requestTemperatures () çağırın

// avtobusdakı bütün cihazlara müraciət edin

Serial.print ("İstilik istənir…");

sensorlar.requestTemperatures (); // İstilik almaq üçün əmr göndərin

Serial.println ("BİTDİ");

// Demək olar ki, dərhal cavab verir. Verilənləri çap edək

çap temperaturu (içərisində termometr); // Məlumatları çap etmək üçün sadə bir funksiyadan istifadə edin

}

// cihaz ünvanını çap etmək funksiyası

void printAddress (DeviceAddress deviceAddress)

{

üçün (uint8_t i = 0; i <8; i ++)

{

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

Serial.print (deviceAddress , HEX);

}

}

Cavab irəli

Addım 4: Cubesat üzərində yoxlama

Cubesat üzərində yoxlama
Cubesat üzərində yoxlama
Cubesat üzərində yoxlama
Cubesat üzərində yoxlama

Arduinonun CubeSat, kodu və naqilləri tamamlandıqdan sonra tezliklə testlər keçirəcəksiniz. Bu testlər uğursuz olarsa, CubeSat'ınız Arduino ilə birlikdə potensial olaraq tamamilə məhv edilə bilər. Buna görə də Arduino -nun buna hazır olduğundan əmin olmaq istəyəcəksiniz. Bu addımın CubeSat -ı yoxlayaraq oynamaq üçün gəldiyi yer budur. Birincisi, Arduino -nuzu CubeSat -ın içərisinə etibarlı bir şəkildə yerləşdirməlisiniz və ətrafında əyilməyəcəyinə əmin olmalısınız. Sonra, CubeSat -ın bütün hissələrinin etibarlı şəkildə yerində olduğundan əmin olmalısınız. Boş hissələr ola bilməz və ya CubeSat -ın sınaqlar zamanı parçalanma ehtimalı daha çox olacaq. CubeSat'ınızı möhkəm bir şəkildə yoxlayırsınızsa, keçdiyi testlər asanlıqla keçməlidir.

Addım 5: CubeSat -ı bağlayın

CubeSat -ı gücləndirmək
CubeSat -ı gücləndirmək

Bu addım CubeSat -ın keçəcəyi ilk sınağa hazırlıq olacaq. Testdə, CubeSat 30 saniyə ərzində bir dairədə sürətlə fırlanacaq. Uçmaq üçün CubeSat -ın möhkəm bağlandığından əmin olmalısınız. CubeSat ətrafına tamamilə 2 tel bağladıq və möhkəm bağladıq. Sonra, ilk ikisinin ətrafında bağlanmış başqa bir uzun ip əlavə etdik. Mümkün qədər etibarlı olması üçün bu ipi yuxarı və aşağıdan bir neçə dəfə bağladıq. Uçuş zamanı boş qalmaması üçün ipi mükəmməl etmək istədiyiniz üçün bu bir çox cəhd tələb edə bilər.

Addım 6: Yelləncək Testi

Yelləncək Testi
Yelləncək Testi

Bu addımda təhlükəsizlik üçün gözlərinizi qorumaq üçün gözlük taxdığınızdan əmin olun. Bu addımda, CubeSat -ı Arduinonu vəzifəsini yerinə yetirməsi üçün (temperatur tapma) kifayət qədər yaxşı qoruyub saxlamadığını yoxlamaq üçün sınaqdan keçirəcəksiniz. İlk sınağa ehtiyac duyulan testdir. Bu testdə Arduino yuvarlanacaq (yuxarıdakı şəkil/videoda göstərildiyi kimi)- (bəzən videonun yüklənməsində problem yaranır). Ortada bir Mars modeli yerləşdirilə bilər. Bu sınağı uğurla başa çatdırmaq üçün Arduinonun əlini bağlamadan yuvarlanmaq lazımdır, bu səbəbdən onu yaxşı bağlamaq lazımdır və test bitdikdən sonra Arduinonun tam işləməsi lazımdır. Buna görə də Arduinonun CubeSat -da yaxşı təmin olunduğundan əmin olmalısınız.

Addım 7: Test #2- Sarsıntı Testi

Test #2- Sarsıntı Testi
Test #2- Sarsıntı Testi

Bu addımda CubeSat 2 nömrəli testdən keçəcək. Bu test sarsıntı testidir. Bu testdə, CubeSat yuxarıdakı şəkil/videoda göstərildiyi kimi tutucuya yerləşdiriləcək (bəzən videonun yüklənməsində problem yaranır) və 30 saniyə ərzində şiddətlə irəli -geri sarsılacaq. Bu testdən keçmək üçün CubeSat və Arduinonun sarsıldıqdan sonra hələ də tam işləməsi lazım olacaq.

Addım 8: Nəticələr/Tamamlanmış Temperatur CubeSat

Nəticələr/Tamamlanmış Temperatur CubeSat
Nəticələr/Tamamlanmış Temperatur CubeSat
Nəticələr/Tamamlanmış Temperatur CubeSat
Nəticələr/Tamamlanmış Temperatur CubeSat
Nəticələr/Tamamlanmış Temperatur CubeSat
Nəticələr/Tamamlanmış Temperatur CubeSat

Sonda, CubeSatımız hər sınaqdan keçərkən temperaturu uğurla qeyd edə bildi. Məlumatlar hər testdə ardıcıl olaraq 26-30 dərəcə Selsi oxuyur. Bu, 78-86 dərəcə Fahrenheit ilə eynidir. Ancaq yolda bəzi problemlərlə üzləşdik. Məsələn, bir neçə dəfə arduino kodlaması işləmədi və 126 dərəcə Selsi oxudu. Düzgün istiliyi əldə etmək üçün bir çox cəhd edildi. Bu layihəni həyata keçirən hər kəsə verə biləcəyim bəzi məsləhətlər, birdən çox kod və naqillərin sınanması və arduino -nun CubeSat -a sıx uyğunlaşdığından əmin olmaqdır. Arduinonun içəriyə mükəmməl uyğunlaşdığından əmin olmaq üçün CubeSat içərisindəki boşluğu sıxmanız lazım ola bilər. Arduinonun CubeSat -da çox boş olması ilə əlaqədar bir problem yaşadıq.

Bu layihədə fizika haqqında biliklərinizi də tətbiq etməlisiniz. Texnologiya, enerji və güc haqqında fizika biliklərinin layihə boyunca tətbiq edilməsi lazım olacaq. Layihə boyunca günəş sistemi və CubeSats kimi yeni texnologiyalar haqqında daha çox məlumat əldə etdik. Cazibə qüvvəsi və bu qüvvənin CubeSat -a necə təsir edə biləcəyini də öyrəndik. Bu layihə ilə əlaqədar çox əhəmiyyətli bir mövzu peyk hərəkəti idi. Sürət, net qüvvə və cazibə qüvvəsi ilə peyk hərəkətini öyrəndik. Bu, peyklərin mərmilərini tapmağımıza kömək edərdi.

CubeSat və arduino testlərinizi uğurla keçdikdən və düzgün işlədikdən sonra bitirdiniz. CubeSatınız Mars atmosferindən sağ çıxmağı bacarmalıdır. Sensorun testlər zamanı temperaturu uğurla qeyd etdiyinə əmin olun. Sizin CubeSat kosmosa getməyə hazırdır!

Tövsiyə: