Roket Apogee Paraşütü
Arduino Nano 33 BLE üzerinde ADXL345'i (HW-579) kalkış ivmesine uygun ayarlayın, kalkışı süre filtreli bir eşikle algılayın, dikey hızın integralini alarak apogee'yi bulun, paraşüt ateşleme kanalını apogee'de tam bir kez tetikleyin ve sonrasında kurtarma buzzer'ını öttürün. Simüle uçuş, paraşütün açılıp açılmadığını gösterir.
- Kart
- Nano 33 BLE · Arduino
- Zorluk
- Orta
- Konu
- Sensors
- Erişim
- Ücretsiz
Görev
Roket Uçuş Bilgisayarı: Apogee'de Paraşüt
Kulübünüzün model roketi için bir uçuş bilgisayarı yazıyorsunuz. Roket en yüksek noktaya (apogee) ulaştığında kart paraşütü ateşlemeli. Erken ateşlenen paraşüt yüksek hızda açılır ve yırtılır; hiç ateşlenmezse roket yere çakılır. Rampada beklerken yanlışlıkla ateşlenmesi ise ekip için tehlikelidir.
Kartın üzerinde barometre yok: apogee yalnızca ivmeölçerden bulunacak.
Donanım
- Arduino Nano 33 BLE (nRF52840, 3,3 V lojik). Seri konsol
Serial1(D0/D1), 115200 baud.SerialUSB'dir ve testlerde görülmez. - HW-579 IMU kartı,
Wireüzerinden (A4 = SDA, A5 = SCL). Kartın üzerindeki ADXL345 ivmeölçerin I2C adresi0x53'tür. Kart, sensörün +Z ekseni roketin burnuna bakacak şekilde monte edilmiştir; rampada dururken Z ekseni yaklaşık +1 g okur. Kartta pull-up dirençleri vardır. - D2: paraşüt ateşleme kanalı (lojik seviye N-MOSFET, e-match).
HIGH= ateşle. - D3: aktif buzzer.
HIGH= ses.
Register adresleri, ölçek ve veri formatı Datasheet sekmesindedir.
Gereksinimler
Kodu sketch/sketch.ino dosyasına (setup() ve loop()) yazın.
- Açılış. İvmeölçeri ölçüm moduna alın. Kalkışta ivme 13 g'ye kadar çıkabilir: ölçüm aralığını ve çözünürlüğü, bu ivme kırpılmadan okunacak şekilde ayarlayın. Hazır olunca
Serial1'eREADYyazın. - Örnekleme. Z eksenini en az 100 Hz ile okuyun ve g'ye çevirin.
- Kalkış algılama. Z ivmesi 2,5 g'nin üstünde en az 50 ms kesintisiz kalırsa roket kalkmıştır. O anda
LAUNCH <ms>yazın (<ms>=millis()). Daha kısa darbeler (rampaya çarpma, taşıma) kalkış sayılmaz. - Dikey hız. Kalkıştan itibaren dikey hızı, her örnekte
v += (a_z − 1 g) × 9,80665 × dtile güncelleyin (dtsaniye cinsinden gerçek örnek aralığı). Kalkışı onaylamak için beklediğiniz 50 ms'yi de hıza katın; aksi halde itkinin başı kaybolur. - Apogee ve paraşüt. Uçuşta hız sıfır veya altına indiğinde roket apogee'dedir: D2'yi 1000 ms boyunca
HIGHyapın, sonraLOW'a çekin veDEPLOY <ms>yazın. Paraşüt bir kez ateşlenir. - Rampa güvenliği. Kalkış algılanmadan D2 asla
HIGHolmaz. Açılışta D2 ve D3 çıkış yapılıpLOW'a çekilir. - Kurtarma buzzer'ı. Paraşüt ateşlenene kadar buzzer sessizdir. Ateşlendikten sonra 200 ms açık / 200 ms kapalı sürekli öter (roketin yerde bulunması için).
- Konsol.
Serial1'e yalnızcaREADY,LAUNCH <ms>veDEPLOY <ms>satırları yazılır.
Örnek konsol çıktısı:
READY
LAUNCH 1560
DEPLOY 7810
İvmeölçer ne ölçer?
İvmeölçer serbest düşüşte 0 g, rampada +1 g okur: ölçtüğü, yerçekimi hariç tutulmuş ivmedir. Bu yüzden dikey hız için okunan değerden 1 g çıkarılır.
Neden apogee'de hız sıfır?
Roket yükselirken dikey hız pozitiftir, tepe noktasında sıfırdan geçer ve düşerken negatif olur. Hız integralinin işaret değiştirdiği an apogee'dir.
Kablolama
Wiring sekmesinde devreyi kurun. Paraşüt MOSFET'inin gate'i, kart açılırken ya da reset sırasında asla boşta kalmamalıdır: boşta kalan bir gate paraşütü rampada ateşleyebilir.
Başarı ölçütleri
- Sketch derlenir.
- Farklı motorlarla yapılan uçuşlarda paraşüt apogee'den en fazla 250 ms önce, en fazla 750 ms sonra ateşlenir.
- Rampadaki darbeler paraşütü ateşlemez ve kalkış satırı yazdırmaz.
- Buzzer yalnızca paraşüt açıldıktan sonra öter.
Run'a bastığınızda Uçuş sekmesinde roketin uçuşunu, apogee'yi ve paraşütün açılıp açılmadığını izleyebilirsiniz.
Neler var
- Firmware'in emüle edilmiş bir kartta derlenip çalıştırılır ve donanım seviyesindeki testlerle kontrol edilir.
- Çözümün yazılı anlatımı.
- Geliştirme kartı veya yerel kurulum gerekmez.
Gömülüye yeni misin? Yol haritasıyla başla: Gömülü sistemler nasıl öğrenilir