İçindekiler:

Sıcaklık CubeSat Ben & Kaiti & Q Saat 1: 8 Adım
Sıcaklık CubeSat Ben & Kaiti & Q Saat 1: 8 Adım

Video: Sıcaklık CubeSat Ben & Kaiti & Q Saat 1: 8 Adım

Video: Sıcaklık CubeSat Ben & Kaiti & Q Saat 1: 8 Adım
Video: YENİ UZAY KAVRAMI VE GELECEK ÖNGÖRÜLERİ: "Şimdi Yakın" Türksat Yakın Yörünge ve Küp Uydu Çalıştayı 2024, Kasım
Anonim
Sıcaklık KüpüSat Ben & Kaiti & Q Saat 1
Sıcaklık KüpüSat Ben & Kaiti & Q Saat 1
Sıcaklık KüpüSat Ben & Kaiti & Q Saat 1
Sıcaklık KüpüSat Ben & Kaiti & Q Saat 1

Hiç kendin uzaya gönderilebilecek ve başka bir gezegenin sıcaklığını ölçebilecek bir şey yapmak istedin mi? Lise fizik sınıfımızda, ana soru ile çalışan bir arduino ile bir CubeSat inşa etmekle görevlendirildik, bunun Mars'ta çalışmasını nasıl sağlayabiliriz? Gezegendeki sıcaklığı ölçmeye karar verdik, çünkü kim mars'ın ne kadar sıcak olduğunu bilmek istemez ki? Ancak, bunu uygun fiyatlı ama aynı zamanda dayanıklı bir şeyden çıkarmamız gerekiyordu. Bu nedenle lego kullandık. Bu, CubeSat'ı dayanıklı hale getirdi ve boyutlandırma boyutlarına oldukça kolay ulaşmamıza yardımcı oldu - tüm parçalar biraz sinir bozucu olsa bile! Amacımız, çevredeki alanın sıcaklığını alabilen tam işlevli bir sensör ve çevresinde koruyucu bir CubeSat'a sahip olmaktı.

Adım 1: Malzemeleri Toplama/CubeSat'ı çizme

Malzemeleri Toplama/CubeSat'ı çizme
Malzemeleri Toplama/CubeSat'ı çizme
Malzemeleri Toplama/CubeSat'ı çizme
Malzemeleri Toplama/CubeSat'ı çizme

Yapmak isteyeceğiniz ilk şey CubeSat'ı çizmektir. İnşa etmeden önce ne inşa etmek istediğinize dair bir fikriniz olması gerekecek. Yukarıdaki resimlerden biri yaptığımız CubeSat eskizlerinden. Ardından, malzemelerinizi toplayın. İnşa ettiğimiz CubeSat için Legolar kullanıyoruz. Legoları, hem kolay elde edilip bir araya getirilmeleri, hem de dayanıklı olmaları ve gerekli görevleri iyi bir şekilde yerine getirmeleri nedeniyle seçtik. Yani, biraz Lego almanız gerekecek. 10 cm X 10 cm X 10 cm boyutlarında birkaç geniş taban parçası veya 10'a 10 parça halinde bir araya getirilebilecek birkaç taban parçası alın. CubeSat'ımız için birden fazla taban parçası alıp bunları bir araya getirerek 10 cm'ye 10 cm taban yapmak zorunda kaldık. Aynı boyutta bir çatı parçası yapmak için de Lego almanız gerekecek. Bu Legoları aldıktan sonra, CubeSat'ın duvarlarını inşa etmek için bir ton küçük Lego almanız gerekecek. Bu Legoların oldukça ince olduğundan emin olun, böylece CubeSat'ın içini çok fazla kaplamazlar.

Adım 2: Cubesat'ı Oluşturma

Cubesat'ı inşa etmek
Cubesat'ı inşa etmek
Cubesat'ı inşa etmek
Cubesat'ı inşa etmek
Cubesat'ı inşa etmek
Cubesat'ı inşa etmek

İlk olarak, bu 10x10x10 güzelliği inşa ettik. Çok farklı tasarımlar aldı. Önce ortada bir rafımız vardı ama daha sonra bunun gereksiz olduğuna karar verdik. Ortada bir raf olmasını seçerseniz, Arduino ve sensörünüzü her takışınızda ve çıkardığınızda onu ayırmanız gerekeceğinden sadece bir raf tavsiye ederim. Küçük pencereler ekledik, böylece üst kısım kapalıyken içeriye hızlıca bakabiliriz, böylece her şeyin sorunsuz çalıştığını görebiliriz. CubeSat'ı daha kararlı hale getirmek için altta iki kat Lego'yu bir araya getirdik. Ne kadar kararlı olursa o kadar iyi, çünkü bu CubeSat'ın birçok farklı engelden kurtulması gerekecek.

Adım 3: Arduino'yu Kablolama ve Kodlama

Arduino'yu Kablolama ve Kodlama
Arduino'yu Kablolama ve Kodlama
Arduino'yu Kablolama ve Kodlama
Arduino'yu Kablolama ve Kodlama
Arduino'yu Kablolama ve Kodlama
Arduino'yu Kablolama ve Kodlama

Bu projenin ikinci adımı, arduino'yu kablolamanız gereken yerdir. Bu adım çok önemlidir, çünkü bu doğru yapılmazsa, o zaman küp sat sıcaklığı okuyamayacaktır. Arduino'nun kablolarını tamamlamak için bazı malzemelere ihtiyacınız olacak. Bu malzemeler pil, arduino, SD kart, jumper kablolar, devre tahtası, sıcaklık sensörü ve bilgisayardır. Bilgisayar, kablolamanın doğru çalışıp çalışmadığını görmek için kullanılacaktır. Arduino'yu nasıl bağlayacağımız konusunda bize rehberlik etmede çok yardımcı olan bir web sitesi:

create.arduino.cc/projecthub/TheGadgetBoy/…

Yukarıdaki resimler ve fritzing diyagramı da size yardımcı olabilir. Arduino'nun kodlaması, çalışıp çalışmadığını görmek için bilgisayarda da test edilecektir. Her şey çalışıyorsa, arduino bilgisayardan çıkarılabilir ve kullanıma hazırdır.

Kod:

// Veri kablosu Arduino'daki port 2'ye takılı

#define ONE_WIRE_BUS 2

Dosya sensorData;

// Herhangi bir OneWire cihazıyla iletişim kurmak için bir oneWire örneği kurun (yalnızca Maxim/Dallas sıcaklık IC'leri değil)

OneWire oneWire(ONE_WIRE_BUS);

// İhtiyacımız olan kütüphaneleri dahil et

#Dahil etmek

#Dahil etmek

#Dahil etmek

// OneWire referansımızı Dallas Sıcaklığına iletin.

DallasSıcaklık sensörleri(&oneWire);

// cihaz adresini tutacak diziler

CihazAdresi içerideTermometre;

/*

* Kurulum işlevi. Burada temelleri yapıyoruz

*/

geçersiz kurulum (void)

{

pinMode (10, ÇIKIŞ);

SD.başla(4);

// seri portu başlat

Seri.başla(9600);

Serial.println("Dallas Sıcaklık IC Kontrol Kitaplığı Demosu");

// veri yolundaki cihazları bulun

Serial.print("Aygıtların yeri belirleniyor…");

sensörler.begin();

Serial.print("Bulundu");

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

Serial.println("aygıtlar.");

// parazit güç gereksinimlerini bildir

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

if (sensors.isParasitePowerMode()) Serial.println("AÇIK");

başka Serial.println("KAPALI");

/*Adresi manuel olarak atayın. Aşağıdaki adresler değiştirilecek

otobüsünüzdeki geçerli cihaz adreslerine. Cihaz adresi alınabilir

oneWire.search(deviceAddress) kullanarak veya tek tek

sensor.getAddress(deviceAddress, index) Burada belirli adresinizi kullanmanız gerekeceğini unutmayın.

içerideTermometre = { 0x28, 0x1D, 0x39, 0x31, 0x2, 0x0, 0x0, 0xF0 };

Yöntem 1:

Veri yolundaki cihazları arayın ve bir dizine göre atayın. İdeal olarak, bunu ilk önce otobüsteki adresleri keşfetmek için yaparsınız ve sonra

bu adresleri kullanın ve öğrendikten sonra bunları manuel olarak atayın (yukarıya bakın)

otobüsünüzdeki cihazlar (ve değişmediklerini varsayarak).

*/ if (!sensors.getAddress(insideThermometer, 0))) Serial.println("Cihaz 0 için adres bulunamadı");

// yöntem 2: arama()

// search() sonraki cihazı arar. Yeni bir adres varsa 1 döndürür

// iade. Sıfır, veri yolunun kısa devre olduğu, cihaz olmadığı anlamına gelebilir, // veya hepsini zaten aldınız. iyi bir fikir olabilir

// Çöp almadığınızdan emin olmak için CRC'yi kontrol edin. sipariş

// deterministik. Her zaman aynı cihazları aynı sırayla alacaksınız

//

// Aramadan önce çağrılmalıdır()

//oneWire.reset_search();

// bulunan ilk adresi insideThermometer'e atar

//if (!oneWire.search(insideThermometer)) Serial.println("InsideThermometer için adres bulunamadı");

// otobüste bulduğumuz adresleri göster

Serial.print("Aygıt 0 Adresi: ");

printAddress(insideTermometre);

Seri.println();

// çözünürlüğü 9 bit olarak ayarlayın (Her Dallas/Maxim cihazı birkaç farklı çözünürlük kapasitesine sahiptir)

sensor.setResolution(insideTermometre, 9);

Serial.print("Aygıt 0 Çözünürlüğü: ");

Serial.print(sensors.getResolution(insideTermometre), DEC);

Seri.println();

}

// bir cihazın sıcaklığını yazdırma işlevi

void printTemperature(DeviceAddress deviceAddress)

{

// yöntem 1 - daha yavaş

//Serial.print("Sıcaklık C: ");

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

//Serial.print(" Sıcaklık F: ");

//Serial.print(sensors.getTempF(deviceAddress)); // getTempC'ye ikinci bir çağrı yapar ve ardından Fahrenheit'e dönüştürür

// yöntem 2 - daha hızlı

float tempC = sensor.getTempC(deviceAddress);

if(tempC == DEVICE_DISCONNECTED_C)

{

Serial.println("Hata: Sıcaklık verileri okunamadı");

dönüş;

}

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

if (sensorData) {

Serial.print("Sıcaklık C: ");

Seri.print(tempC);

Serial.print("Sıcaklık F:");

Serial.println(DallasSıcaklık::Fahrenheit(tempC)); // TempC'yi Fahrenhayt'a çevirir

sensorData.println(tempC);

sensorData.close();

}

}

/*

* Ana işlev. Sensörlerden tempC'yi isteyecek ve Seri olarak görüntülenecektir.

*/

boşluk döngüsü (boşluk)

{

// global bir sıcaklık vermek için sensor.requestTemperatures()'ı çağırın

// bus üzerindeki tüm cihazlara istek

Serial.print("Sıcaklık isteniyor…");

sensörler.requestTemperatures(); // Sıcaklıkları almak için komutu gönder

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

// Neredeyse anında yanıt verir. Verileri yazdıralım

printSıcaklık(insideTermometre); // Verileri yazdırmak için basit bir işlev kullanın

}

// bir aygıt adresini yazdırma işlevi

void printAddress(AygıtAdresi aygıtAdresi)

{

için (uint8_t i = 0; i < 8; i++)

{

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

Serial.print(cihazAdresi, HEX);

}

}

Yanıtlaİleri

Adım 4: Cubesat'ı Kontrol Etme

Cubesat'ı Kontrol Etme
Cubesat'ı Kontrol Etme
Cubesat'ı Kontrol Etme
Cubesat'ı Kontrol Etme

Arduino'nun CubeSat, kodu ve kablolaması tamamlandığına göre, yakında testleri çalıştıracaksınız. Bu testler başarısız olursa, CubeSat'ınız Arduino'nuzla birlikte potansiyel olarak tamamen yok olabilir. Bu nedenle, Arduino'nuzun buna hazır olduğundan emin olmak isteyeceksiniz. CubeSat'ı kontrol ederek bu adımın devreye girdiği yer burasıdır. Öncelikle Arduino'nuzu CubeSat'ın içine güvenli bir şekilde yerleştirmeniz ve sallanmadığından emin olmanız gerekecek. Ardından, CubeSat'ın tüm parçalarının güvenli bir şekilde yerine oturduğundan emin olmanız gerekir. Gevşek parçalar olamaz veya CubeSat'ın testler sırasında parçalanması daha olasıdır. CubeSat'ınızı sıkı bir şekilde kontrol ederseniz, geçtiği testlerden kolayca geçilebilir.

Adım 5: CubeSat'ı Kurmak

CubeSat'ı Kurmak
CubeSat'ı Kurmak

Bu adım, CubeSat'ın geçeceği ilk test için hazırlık niteliğinde olacaktır. Testte, CubeSat 30 saniye boyunca bir daire içinde hızlı bir şekilde döndürülecektir. Uçup gitmemesi için CubeSat'ın sıkıca bağlı olduğundan emin olmanız gerekir. 2 ipi CubeSat'ın etrafına tamamen bağladık ve sıkıca bağladık. Ardından, ilk ikisinin etrafına bağlanan başka bir uzun ip ekledik. Bu ipi mümkün olduğunca güvenli olması için üstte ve altta defalarca düğümledik. Bu, uçuş sırasında gevşememesi için ipi mükemmel hale getirmek istediğiniz için birden fazla deneme gerektirebilir.

Adım 6: Salınım Testi

Salıncak Testi
Salıncak Testi

Bu adımda güvenlik için gözlerinizi korumak için gözlük taktığınızdan emin olun. Bu adımda, Arduino'yu görevini yerine getirmesi (sıcaklığı bulma) için yeterince iyi koruyup korumadığını görmek için CubeSat'ı bir testten geçireceksiniz. İlk test, ipe ihtiyaç duyan testtir. Bu testte, Arduino döndürülecek (yukarıdaki resimde/videoda gösterildiği gibi) - (bazen videonun yüklenmesinde sorun olur). Ortaya bir Mars modeli yerleştirilebilir. Bu testi başarılı bir şekilde tamamlamak için Arduino'nun serbest kalmadan etrafta sallanması gerekecek, bu yüzden iyi bir şekilde asılması gerekiyor ve test bittikten sonra Arduino'nun tamamen çalışıyor olması gerekecek. Bu nedenle Arduino'nun CubeSat'ta iyi bir şekilde sabitlendiğinden emin olmanız gerekir.

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

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

Bu adımda CubeSat'ınız 2 numaralı testten geçecektir. Bu test sallama testidir. Bu testte, CubeSat yukarıdaki resimde/videoda gösterildiği gibi (bazen videonun yüklenmesinde sorun olabiliyor) bir tutucuya yerleştirilecek ve 30 saniye boyunca şiddetli bir şekilde ileri geri sallanacaktır. Bu testi geçmek için, CubeSat ve Arduino'nuzun çalkalandıktan sonra hala tam olarak çalışır durumda olması gerekir.

Adım 8: Sonuçlar/Tamamlanan Sıcaklık CubeSat

Sonuçlar/Tamamlanan Sıcaklık CubeSat
Sonuçlar/Tamamlanan Sıcaklık CubeSat
Sonuçlar/Tamamlanan Sıcaklık CubeSat
Sonuçlar/Tamamlanan Sıcaklık CubeSat
Sonuçlar/Tamamlanan Sıcaklık CubeSat
Sonuçlar/Tamamlanan Sıcaklık CubeSat

Sonunda, CubeSat'ımız her testten geçerken sıcaklığı başarılı bir şekilde kaydetmeyi başardı. Veriler, her testte tutarlı bir şekilde 26-30 santigrat derece okur. Bu, 78-86 derece Fahrenheit ile aynıdır. Ancak yolda bazı sorunlarla karşılaştık. Örneğin, arduino'nun kodlaması birden çok kez çalışmadı ve 126 santigrat derece okudu. Doğru sıcaklığa ulaşmak için birden fazla girişimde bulunuldu. Bu projeyi yapan herkese verebileceğim bazı tavsiyeler, birden fazla kod ve kablolama varyasyonunu denemek ve arduino'nuzun CubeSat'a sıkıca oturduğundan emin olmak olacaktır. Arduino'nun içine tam olarak oturduğundan emin olmak için CubeSat'ın içindeki boşluğu sıkmanız gerekebilir. Arduino'nun CubeSat'ta çok gevşek olmasıyla ilgili bir sorunumuz vardı.

Bu projede ayrıca fizik bilginizi de uygulamanız gerekecek. Teknoloji, enerji ve kuvvetle ilgili fizik bilgisinin proje boyunca uygulanması gerekecektir. Proje boyunca güneş sistemi ve CubeSats gibi yeni teknolojiler hakkında daha fazla şey öğrendik. Ayrıca yerçekimi kuvvetini ve bu kuvvetin CubeSat'ı nasıl etkileyebileceğini öğrendik. Bu projeyle ilgili çok önemli bir konu uydu hareketiydi. Uydu hareketini hız, net kuvvet ve yerçekimi kullanarak öğrendik. Bu, uyduların mermilerini bulmamıza yardımcı olacaktır.

CubeSat ve arduino'nuz testleri başarıyla geçtikten ve düzgün çalıştıktan sonra işiniz biter. CubeSat'ınız Mars atmosferinde hayatta kalabilmelidir. Sensörün, testler boyunca sıcaklığı da başarıyla kaydettiğinden emin olun. CubeSat'ınız uzaya gitmeye hazır!

Önerilen: