Drone kalkışta takla atıyor, Pixhawk motor testi düzgün
Pervaneleri taktın, gaz kolunu azıcık ittin, drone havalanmadan bir yana yattı. Pervaneleri söküp motor testine döndün, dört motor da sırayla döndü, ekranda ters giden bir şey görünmedi.
Bu iki cümle aynı anda doğru olabilir. Motor testi senin sandığın şeyi doğrulamıyor.
Motor testindeki harfler motor numarası değil
Mission Planner'ın motor test ekranında A, B, C, D yazar. Bu harfler otopilotun çıkış pinlerini değil, gövdedeki konumları sıralar. Test her zaman saat yönünde ilerler; hangi konumdan başladığı ise FRAME_TYPE değerine bağlıdır.
ArduPilot wiki'si bunu tek cümlede söylüyor: Plus gövdede ilk dönen motor tam öndeki motordur, X gövdede ise burnun hemen sağındaki motordur. İki durumda da sıra saat yönünü izler.
Soldaki ve sağdaki gövdede harfler aynı yerlerde duruyor. Altlarındaki çıkış numaraları duruyor mu, orası ayrı mesele.
Aynı harf, başka çıkış
Bunu tahmin etmek yerine ölçtük. Aynı gövdeyi iki kez ayağa kaldırıp yalnızca FRAME_TYPE değerini değiştirdik, sonra her harfi tek tek çalıştırıp hangi servo çıkışının hareket ettiğine baktık.
Dört harfin dördü de yer değiştiriyor. X gövdede A çıkış 1'i döndürürken Plus gövdede aynı harf çıkış 3'ü döndürüyor. Kabloların yerini bir milimetre oynatmadık; değişen tek şey bir parametreydi.
Tuzak burada
Testin sırası bozuk çıkınca çoğu kişi ESC kablolarını sökmeye başlar ve sıra düzelene kadar yerlerini değiştirir. Ekran düzelir, gövde bozulur. Çünkü karışım tablosu hâlâ eski FRAME_TYPE'a göre hesaplanıyor ve artık kabloları da ona uydurmuş oldun.
Otopilot yükselme komutunu dört çıkışa eşit dağıtır, yuvarlanma komutunu ise iki çıkışa artı, iki çıkışa eksi olarak yazar. Hangi çıkışın artı hangisinin eksi olduğunu FRAME_TYPE tablosu belirler. Gövden X iken tablo Plus'a göre kuruluysa, düz durmak için verilen komut yana yatırma komutuna dönüşür.
Bu yüzden hata yerde görünmez. Motorlar teker teker dönerken karışım tablosu hiç devreye girmez; tablo ilk kez sen gaz verdiğinde çalışır.
Sıra bozuksa önce şunu dene
Pervaneler sökülü. Motor testinde A'ya bas ve dönen motorun gövdedeki yerini not et. Sonra B, C ve D ile devam et. Dördü saat yönünde bir tur atıyorsa eşleme tamamdır.
Tur atmıyorsa ilk hamlen kabloya gitmek olmasın. Quad gövde için ArduPilot'ta Plus ve X dışında BetaFlightX, DJIX ve ClockwiseX seçenekleri de var; bunların her biri aynı gövdeyi farklı bir çıkış sırasıyla sürer. Kablon standart dışı bir 4'ü bir arada ESC'ye gidiyorsa büyük ihtimalle listede sana uyan bir tip zaten duruyor.
Klasik X yerleşimi için başlangıç değerleri şunlar:
FRAME_CLASS ve FRAME_TYPE değiştiğinde otopilot yeniden başlatılmadan yeni tabloyu kurmaz. Yazdıktan sonra kartın gücünü kes, tekrar ver, testi baştan yap.
Bu eşlemeyi nasıl ölçtük
Yukarıdaki tablo o gün ayağa kaldırdığımız bir simülasyon örneğinden çıktı. Aşağıdaki çıktı bizim doğrulama koşumuzdur; senin uçuş öncesi yapacağın işin bir adımı değildir.
PARAMS {'FRAME_CLASS': 1, 'FRAME_TYPE': 1, 'SERVO1_FUNCTION': 33,
'SERVO2_FUNCTION': 34, 'SERVO3_FUNCTION': 35, 'SERVO4_FUNCTION': 36}
TEST A -> MAIN OUT 1 peaks [1350, 1000, 1000, 1000]
TEST B -> MAIN OUT 4 peaks [1000, 1000, 1000, 1350]
TEST C -> MAIN OUT 2 peaks [1000, 1350, 1000, 1000]
TEST D -> MAIN OUT 3 peaks [1000, 1000, 1350, 1000]Kaynak kodda da aynı sıra duruyor. AP_MotorsMatrix.cpp içindeki setup_quad_matrix fonksiyonu her frame tipi için bir satır listesi tutar ve her satırın son alanı o motorun test sırasıdır.
Hata Mesajları ve Anlamları
Motor Test: Check frame class and type
Seçtiğin FRAME_CLASS ve FRAME_TYPE ikilisi için karışım tablosu kurulamamış. Otopilot hangi çıkışı hangi eksene bağlayacağını bilmiyor, bu yüzden teste hiç başlamıyor. Aynı mesaj ARM denemesinde de karşına çıkar.
Motor Test: vehicle not landed
Otopilot aracı havada sanıyor. Genellikle yer teması bayrağı düşmemiştir; bir süre bekleyip tekrar dene.
Motor Test: RC not calibrated
Kumanda kalibrasyonu tamamlanmadan yüzde cinsinden gaz gönderen test biçimi çalışmaz.
Motor Test: Safety switch
Güvenlik düğmesine basılmamış. Kırmızı düğme yanıp sönerken çıkışlar bloklu kalır.
Motor Test: cancelled
İstenen sıra numarasına karşılık gelen etkin bir motor yok. Çoğunlukla FRAME_CLASS gerçekte olduğundan fazla motorlu bir sınıfa ayarlanmıştır.
Sahada ne değişir
Simülasyon çıkışların hangi harfe cevap verdiğini gösterir, pervanenin hangi yöne döndüğünü göstermez. Dönüş yönünü ve pervane hatvesini kendi masanda kontrol etmen gerekir.
Motor testi sırasında otopilot gaz kesme, yer istasyonu ve EKF güvenlik davranışlarını geçici olarak devre dışı bırakır, test bitince geri yükler. Bu yüzden testi yarıda bırakıp doğrudan uçuşa geçme; önce testi düzgün sonlandır.
Devamı için
Motor sırası, frame tipi ve ilk uçuş kontrolleri Sensörlerden Uçuşa Temel İHA eğitiminin sorun giderme bölümünde adım adım işleniyor. Karar zinciri, kaynak kod kanıtı, log imzası tabloları ve kart bazlı farklar orada.
İNDİRİM KUPONU
Kupon kodu: SOFTIVATION15
Eğitimi alırken ödeme ekranındaki "Kupon kodu" kutusuna bu kodu yaz, %15 iner.




Yorumlar