İçindekiler:

Arduino ve İvmeölçer ile Cubesat Nasıl Yapılır: 5 Adım
Arduino ve İvmeölçer ile Cubesat Nasıl Yapılır: 5 Adım

Video: Arduino ve İvmeölçer ile Cubesat Nasıl Yapılır: 5 Adım

Video: Arduino ve İvmeölçer ile Cubesat Nasıl Yapılır: 5 Adım
Video: Attitude estimation simulation 2024, Kasım
Anonim
Arduino ve İvmeölçer ile Cubesat Nasıl Yapılır?
Arduino ve İvmeölçer ile Cubesat Nasıl Yapılır?

İsimlerimiz Brock, Eddie ve Drew. Fizik Dersimizin ana amacı, bir Küp Uydu kullanarak Mars etrafındaki yörüngeyi simüle ederken ve veri toplarken Dünya'dan Mars'a seyahat etmektir. Grubumuzun bu projedeki amacı, o gezegendeki yerçekimi kuvvetini bulmak için "Mars" yörüngesine girecek bir Cube Sat'ın içindeki Arduino'muza eklenecek bir ivmeölçer sensörü kullanarak veri toplamaktır. Bu özel görev için bazı olası kısıtlamalar, kodun doğru şekilde çalışmaması, ivmeölçerin veri toplamaması ve CubeSat'ın tartabileceği sınır olabilir. Herhangi bir kişinin karşılaşabileceği başka pek çok şey olmasına rağmen, bunlar bizim grubumuzun karşılaştıklarıydı. Bitirme projemizin ve testimizin videosu burada bulunabilir https://www.youtube.com/embed/u1_o38KSrEc -Eddie

Adım 1: Malzeme Listesi

Malzeme Listesi
Malzeme Listesi
Malzeme Listesi
Malzeme Listesi
Malzeme Listesi
Malzeme Listesi

LİSTEDEKİ TÜM MALZEMELER CUBESAT İÇİNDE GİDİLİR

1. Arduino ve Güç Kablosu https://www.amazon.com/Elegoo-EL-CB-001-ATmega328…: arduino, elektroniği sanatçılar, tasarımcılar, hobiler ve etkileşimli nesneler veya ortamlar oluşturmakla ilgilenen herkes için daha erişilebilir hale getirmek için tasarlanmıştır.

: Arduino'nuza ve bilgisayarınıza giden ve giden güce izin verin

2. Breadboard

: bir elektrik devresinin deneysel bir modelini yapmak için bir tahta

Breadboard'a iliştirilen MALZEMELER

1. Arduino İvmeölçer

: ivmeyi ölçmek veya titreşimleri algılamak ve ölçmek için bir alet

2. Arduino SD Kart Modülü

:projenize yığın depolama ve veri kaydı eklemenizi sağlar

3. Arduino Telleri

:Arduino ve breadboard boyunca kod aktarır

4. LED Işık

:LED, nispeten az güçle çalışan küçük bir ışıktır ("ışık yayan diyot" anlamına gelir)

-Çizdi

Adım 2: Gerekli Araçlar ve Güvenlik Uygulamaları

GEREKLİ ARAÇLAR

1. Tam Bıçak

- Arduino ve Breadboard'un şeklini strafor ile kesmek ve izlemek için bir exacto bıçağı kullandık, Arduino ve Breadboard'u kazalara karşı korumak için

2. Sıcak Tutkal Tabancası

- Arduino ve Breadboard'umuzun güvenli olduğundan emin olmak için straforu Cubesat'ımızın kenarlarına yapıştırmak için sıcak bir tutkal tabancası kullandık

3. strafor

- Arduino'yu ve breadboard'u Cubesat'ımızın kenarlarına sabitlemek için strafor parçaları kullandık, ayrıca Cubesat'ın düşmesi veya sallanması durumunda bir yastıklama sağlamak için

GÜVENLİK UYGULAMALARI

1. İlk uyguladığımız güvenlik uygulaması, Cubesat'ı yazdırırken 3D yazıcıya dokunmadığımızdan emin olmaktı. 3D yazıcı çok ısınacak ve ona dokunmamayı unutmamak önemlidir.

2. Strafor parçalarını kesmek için tam bıçak kullanırken, masaların zarar görmemesi için altına karton yerleştirmek zorunda kaldık. Ayrıca bıçağı kullanırken yüzümüze veya çalışma alanımızın etrafına herhangi bir şey kaçarsa gözlük takmak zorunda kaldık.

3. Ağır işçilik gerektiren aletleri kullanırken güvenlik açısından mutlaka gözlük takın.

4. Cubesat'ı yörüngeye taktıktan sonra, yörüngedeki insanları Cubesat'ınızı test edeceğiniz konusunda uyardığınızdan emin olun ve tüm vücut parçalarının ve insanların güvende olduğundan emin olmak için gözlük takın.

-Çizdi

Adım 3: Nasıl Yapılır:

Nasıl
Nasıl
Nasıl
Nasıl
Nasıl
Nasıl

CubeSat nasıl oluşturulur

1. CubeSat oluşturma işlemine başlamak için, CubeSat'ın 10x10x10 boyutlarında ve kullanışlı bir STL dosyasına sahip modellerini aramanız gerekir.

2. Bir breadboard ve Arduino'yu güvenli bir şekilde tutmada çalışacak bir model bulduğunuzda, 3D yazıcıdaki dosyalara erişebilmeniz için dosyaları bir flash sürücüye indirmeniz gerekir.

3. Flash sürücüye doğru dosyalar indirildikten sonra, flash sürücüyü 3D yazıcıya bağlı olan bilgisayara bağlayabilirsiniz.

4. Yazdırırken, doğru dosyaları seçtiğinizden ve tüm kabloların, kodların ve girişlerin bilgisayar ile 3D yazıcı arasında doğru şekilde bağlandığından emin olun. bu, CubeSat'ın doğru yazdırılmasını sağlar ve her şey plana göre gider.

5. Yazıcıyı verimli bir şekilde kontrol etmek için her grup üyesine belirlenmiş bir zaman ve karşılaşabileceğiniz sorunları yakalamak için CubeSat ilerlemesini atayın. 2-3 saatte bir bir ekip üyesinin ilerlemeyi kontrol etmesini sağlamak, herhangi bir sorunu çözmek ve yapılacak ilerlemeyi izlemek için yeterli yardımı sağlayacaktır.

-Eddie

KOD:

#include #include #include #include

const int MPU=0x68; int16_t AcX, AcY, AcZ, Tmp, GyX, GyY, GyZ; çift adım, rulo;

Dosya Verileri;

geçersiz kurulum(){

pinMode (10, ÇIKIŞ); // kullanılmasa bile pin 10 çıkışa ayarlanmalıdır; // led SD'yi yakmak için pin 7'yi ayarlama.begin(4); // CS pin 4 Serial.begin(9600) olarak ayarlanmış olarak sd kartı başlatır; Serial.println(F("BMP280 testi")); Wire.begin(); Wire.beginTransmission(MPU); Wire.write(0x6B); Wire.write(0); Wire.endTransmission(true); Seri.başla(9600); } void loop(){ Wire.beginTransmission(MPU); Wire.write(0x3B); Wire.endTransmission(yanlış); Wire.requestFrom(MPU, 14, doğru);

int AcXoff, AcYoff, AcZoff, GyXoff, GyYoff, GyZoff; int sıcaklık, kapalı; çift t, tx, tf;

//Hızlanma verisi düzeltmesi AcXoff = -950; AcYoff = -300; AcZoff = 0;

//Sıcaklık düzeltme toff = -1600;

//Gyro düzeltmesi GyXoff = 480; GyYoff = 170; GyZoff = 210;

//hız verisini oku AcX=(Wire.read()<<8|Wire.read()) + AcXoff; AcY=(Wire.read()<<8|Wire.read()) + AcYoff; AcZ=(Wire.read()<<8|Wire.read()) + AcYoff;

//sıcaklık verilerini oku temp=(Wire.read()<<8|Wire.read()) + toff; tx=sıcaklık; t = tx/340 + 36.53; tf = (t * 9/5) + 32;

//jiro verilerini oku GyX=(Wire.read()<<8|Wire.read()) + GyXoff; GyY=(Wire.read()<<8|Wire.read()) + GyYoff; GyZ=(Wire.read()<<8|Wire.read()) + GyZoff;

Veri = SD.open("Log.txt", FILE_WRITE); //"Günlük" adlı dosyayı açar

//pitch/roll getAngle(AcX, AcY, AcZ);

//verileri seri porttan gönder Serial.print("Angle: "); Serial.print("Pitch = "); Seri.baskı(aralık); Serial.print(" | Rulo = "); Seri.println(rulo);

Serial.print("Sıcaklık: "); Serial.print("Sıcaklık(F) = "); Seri.baskı(tf); Serial.print(" | Temp(C) = "); Seri.println(t);

Serial.print("İvmeölçer: "); Seri.print("X = "); Seri.print(AcX); Seri.print(" | Y = "); Seri.print(AcY); Serial.print(" | Z = "); Seri.println(AcZ);

Serial.print("Jiroskop: "); Seri.print("X = "); Serial.print(GyX); Seri.print(" | Y = "); Seri.print(GyY); Serial.print(" | Z = "); Seri.println(GyZ); Seri.println(" ");

data.print(perde); Data.println(rulo);

data.print(tf); data.println(t); Data.print(AcX); // acel verilerini Data.print(", "); //Data.print(AcY) dosyasına virgül yazdırır; Data.print(", "); Data.print(AcZ); Data.print(", "); Data.print(GyX); Data.print(", "); Data.print(GyY); Data.print(", "); Data.println(GyZ);

gecikme(1000); }

//accel verisini pitch/roll void'e dönüştürün getAngle(int Vx, int Vy, int Vz) { double x = Vx; çift y = Vy; çift z = Vz;

}

}

KOD (DEVAM):

-Bu, ivmeölçer ve SD Karttan veri toplamak için kullandığımız koddur.

-Arduino ve Breadboard'umuzu frizting şemasındaki gibi görünecek şekilde kabloladıktan sonra SD Kartı SD Kart Adaptör Modülüne taktık ve son testimize hazırlanmaya devam ettik.

-Uzun süredir kodla ilgili sorunlarımız vardı, ancak yukarıda verilen kod, sunumumuz için kullandığımız verileri bize veren, kullandığımız son koddur.

-Bu kod ivmeölçerden gelen verileri toplar ve bilgileri SD karta aktarır.

-SD kart USB'ye takılı ve bilgisayara takılı. oradan bilgi bilgisayarımıza konuldu.

-Brock

ARDUINO KABLOSU:

- Arduino'yu kablolarken, dud kabloları ve dud Arduinos ile uğraştık.

- Yanlış kablolama nedeniyle Arduino'muzun kablolarını defalarca düzeltmek zorunda kaldık.

- doğru kablolama ve kodlamayı sağlamak için kablolarınızın tamamen sabitlendiğinden ve kod işleminizin doğru olduğundan emin olun.

FRİTZE ŞEMA:

- fritzing diyagramı yalındır ve takip edilmesi kolaydı

- SD Kart Modülü fritzing programının bir parçası olmadığında diyagramla ilgili sorunlarla karşılaştık. bu nedenle, şemaya dahil etmek için indirilebilir bir parça için çevrimiçi arama yapmak zorunda kaldık.

- diyagrama doğru parçaları ve programları dahil ederek diyagramı tamamlamıştık

-Çizdi

Adım 4: Sonuçlar/Öğrenilen Dersler

Grafiğimiz, muhtemelen ısıtıcının maksimum sıcaklığa ulaşmasının zaman alması nedeniyle sıcaklıkta net bir artış gösteriyor.

Bu proje için karşılaştığımız fizik, CubeSat'ı yörüngede tutan merkezcil kuvvetti.

-Brock

Önerilen: