Softivation

Drone kalkışta takla atıyor, Pixhawk motor testi düzgün

Drone kalkışta takla atıyor, motor testi düzgün görünüyor. Mission Planner motor test harfleri gövdedeki konumu gösterir, sıra FRAME_TYPE ile değişir.

Furkan IŞIKAY 5 dk okuma

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 gövde tipi ayarına 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.

Aşağıdaki iki gövdede A harfinin yerine ve yanındaki çıkış numarasına bak.

Aynı harf, iki frame tipinde başka çıkışı döndürür

X gövdede A harfi OUT 1'i, Plus gövdede OUT 3'ü döndürür; harfler gövdedeki konumu saat yönünde sıralar, altlarındaki çıkış numarası FRAME_TYPE ile değişir.
Nereye bak: A harfinin yanındaki koyu çıkış etiketi. Test ikisinde de A'dan başlayıp saat yönünde döner, ama A X'te OUT 1'i, Plus'ta OUT 3'ü döndürür.

Aynı harf, başka çıkış

Kabloları bir milimetre oynatmadan yalnızca FRAME_TYPE değerini değiştirirsen her harf başka bir çıkışı döndürür. Dört harfin dördü de yer değiştirir:

Test harfiFRAME_TYPE 1 (X)FRAME_TYPE 0 (Plus)
AMAIN OUT 1MAIN OUT 3
BMAIN OUT 4MAIN OUT 1
CMAIN OUT 2MAIN OUT 4
DMAIN OUT 3MAIN OUT 2

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.

Kabloyu oynatmak neden gövdeyi bozar

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. Motorlar teker teker dönerken karışım tablosu hiç devreye girmez; tablo ilk kez sen gaz verdiğinde çalışır, hata da o yüzden yerde görünmez.

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.

Örnek: Pit alanında yanan bir ESC'yi değiştirdin ve motor kablolarını aceleyle yeniden taktın. Pervaneler sökülüyken A'ya bastığında burnun sağındaki motor yerine arka soldaki dönüyorsa eşleme bozulmuştur; B, C ve D'nin hangi köşeyi döndürdüğünü de not et ve çıkan sıraya uyan bir gövde tipi var mı diye listeye bak. Dört harf saat yönünde tur atana kadar pervaneleri takma.

Klasik X yerleşimi için başlangıç değerleri şunlar:

Bash
FRAME_CLASS,1
FRAME_TYPE,1
SERVO1_FUNCTION,33
SERVO2_FUNCTION,34
SERVO3_FUNCTION,35
SERVO4_FUNCTION,36

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.

Kartta ayrıca neye bakmalısın

Tablo hangi çıkışın hangi harfe cevap verdiğini söyler, pervanenin hangi yöne döndüğünü söylemez. Dönüş yönünü ve pervane hatvesini kendi masanda kontrol et.

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.

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.

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.

Bu yazı işinize yaradı mı?

Ücretsiz kaynakPixhawk ve ArduPilot hata mesajları sözlüğüBu yazıdaki 5 mesaj ve benzerleri sözlükte: ne demek, neden çıkar, ilk neye bakılır.