Drone havada titriyor (motorlar dengeli)
Drone neden titriyor sorusunun cevabı logda duruyor: VIBE değerleri ve clipping sayaçları. Eşikleri, ölçüm yolunu ve mekanik sırayı adım adım anlatıyoruz.
Drone havalanıyor, havada duruyor ama yerinde duramıyor. Gövde sürekli ufak ufak sarsılıyor, kamera görüntüsü titriyor, bazen kendi kendine bir yana kayıyor. Motorları teker teker dinliyorsun, hepsi aynı geliyor; pervaneleri değiştirdin, düzelmedi.
Bu tabloda çoğu kişi PID ayarlarına dalar. Oysa otopilotun gördüğü ivme verisi bozuksa PID ne yaparsan yap düzgün çalışmaz. Önce ölçmen gerekiyor.
Titreşim mi, ayar mı
İkisi farklı belirti verir. Ayar sorunu genelde belirli bir eksende, belirli bir manevrada ortaya çıkar ve tekrarlanabilir. Titreşim ise havada asılı dururken bile vardır, gaz arttıkça büyür ve genellikle üç eksene birden yayılır.
Ayırt etmenin tek güvenilir yolu tahmin değil, log. Otopilot her uçuşta titreşimi zaten ölçüyor ve ayrı bir log mesajında kaydediyor.
Logda neye bakacaksın
VIBE mesajının VibeX, VibeY ve VibeZ alanları, birincil ivmeölçerin çıkışının standart sapmasını m/s/s cinsinden verir. Resmî dokümanın verdiği eşikler şöyle: 30 m/s/s altı normalde kabul edilebilir, 30 üstünde sorun çıkabilir, 60 üstünde irtifa ve konum tutmada neredeyse her zaman sorun çıkar.
Logu şu sırayla oku:
- Logu aç ve VIBE mesajının VibeX, VibeY, VibeZ alanlarını çizdir.
- VibeZ 30 m/s/s altındaysa titreşim ana şüphe değildir.
- Clip0, Clip1, Clip2 sayaçlarının artıp artmadığına bak. Artan sayaç ivmeölçerin doyduğunu gösterir; filtre bunu kurtarmaz.
- Önce mekanik, sonra filtre: balans ve montaj düzelmeden notch ayarlama.
Sıralamayı atlama. Titreşim mekanik bir olaydır; filtre ayarı onu ölçüm tarafında bastırmaya çalışır, kaynağını ortadan kaldırmaz.
Clipping yüksek titreşimle aynı şey değil
VIBE mesajında ayrıca Clip0, Clip1 ve Clip2 sayaçları vardır. Bunlar ivmeölçerin ölçüm tavanına dayandığı her seferde artar. Kaynak kodda bu tavan çoğu sensörde 15.5 g, yani yaklaşık 152 m/s/s olarak tanımlıdır; ICM45686 gibi bazı sensörlerde 29.5 g'dir.
Sayaç artıyorsa sensör o anda gerçeği ölçmüyor, doymuş durumda. Doygunluk varken filtre ayarlamak ölçümü düzeltmez, çünkü kaybolan veri filtreden önce kaybolmuştur.
Forumda VibeZ değerleri 30'un altında olduğu hâlde Clip2 sayacı tavan yapan vakalar var; orada sorun izole edilmemiş üçüncü ivmeölçere ulaşan kısa tepe darbeleriydi. Şekil bu durumu gösteriyor: tavana değen her kısa darbe sayacı bir basamak artırıyor, VibeZ ise 30 çizgisinin altında kalıyor.
VibeZ düşükken bile sensör doyabilir
Kendi kartında nasıl ölçersin
Bu tabloyu kendi kartından, kendi gövdenden toplanan veriyle görürsün. En pratik yol telemetri üzerinden VIBRATION mesajını canlı okumak.
Aşağıdaki döngü kartına bağlanıp üç eksenin titreşim değerini ve üç clipping sayacını saniyede birkaç kez basar. Pervaneler takılıyken aracı sabitle, gazı kademeli artır ve sayıların nasıl değiştiğine bak.
from pymavlink import mavutil
m = mavutil.mavlink_connection('/dev/ttyUSB0', baud=57600)
m.wait_heartbeat()
m.mav.request_data_stream_send(m.target_system, m.target_component,
mavutil.mavlink.MAV_DATA_STREAM_ALL, 10, 1)
while True:
v = m.recv_match(type='VIBRATION', blocking=True)
print(round(v.vibration_x, 1), round(v.vibration_y, 1),
round(v.vibration_z, 1), v.clipping_0, v.clipping_1, v.clipping_2)Okurken şuna dikkat et: clipping sayaçları kümülatiftir, yani hiç sıfırlanmaz. Önemli olan mutlak değer değil, gaz artarken artış hızıdır; sabit kalıyorsa doygunluk yok demektir.
Uçuş sonrası daha ayrıntılı bakmak istersen dataflash logunu indirip VIBE mesajını çizdir. Birkaç dakikalık, sadece havada asılı kalmadığın gerçek bir uçuş gerekir. Gerçek bir araçta eksenler birbirinden ayrışır ve genellikle Z ekseni en kötüsüdür.
Örnek: Gövdenin altına yük bırakma düzeneğini taktın ve ilk asılı uçuşta görüntü titremeye başladı. PID'ye dokunmadan önce yukarıdaki döngüyü çalıştır; gazı kademeli artırırken üç clipping sayacı yerinde duruyorsa doygunluk yok demektir, VibeZ 30'un üstüne çıkıyorsa düzeneğin gövdeye oturuşuna ve balansa dön. Sayaçlar her gaz artışında ilerliyorsa iş filtrede değil, montajda.
Hata Mesajları ve Anlamları
Vibration compensation ON
Otopilot yüksek titreşim tespit etti ve irtifa kontrolünü değiştirdi. Tetiklenmesi için EKF'in düşey hız ve düşey konum sapmalarının ikisinin birden pozitif olması ve düşey hız varyansının 1.0'ı aşması, bu durumun da 1 saniye sürmesi gerekiyor. Mesajı gördüysen o uçuşta irtifa tahmini güvenilir değildi.
Vibration compensation OFF
Koşullar ortadan kalktıktan 15 saniye sonra gelir. Bu iki mesaj arasındaki süre, logda titreşimin gerçekten sorun yarattığı pencereyi verir.
PreArm: Accels inconsistent
Birden fazla ivmeölçerin okumaları birbirini tutmuyor. Sürekli titreşim altında kalan bir kartta sensörler farklı biçimde etkilendiği için bu mesaj yerde de görülebilir. Kalibrasyonu tekrarlamadan önce kartın montajını kontrol et.
PreArm: Gyros inconsistent
Aynı mantık jiroskoplar için. Aracı tamamen sabit tutmana rağmen geçmiyorsa, kart üzerine gelen titreşim ARM öncesinde bile ölçümü bozuyor demektir.
EKF variance
Kestirim hatası eşiği aştı. Titreşim bunun tek sebebi değildir, ancak yüksek VibeZ ile birlikte görülüyorsa önce titreşimi çözmek gerekir; pusula veya GPS'i kurcalamak burada zaman kaybıdır.
Sahada ne değişir
Titreşimin otopilota ulaşma yolu şudur: motor ve pervane kaynak üretir, kol ve gövde bunu iletir, montaj katmanı bir kısmını yutar, kalanı ivmeölçere ulaşır. Zincirin ilk halkalarını düzeltmeden son halkayı iyileştirmeye çalışmak sınırlı fayda verir.
Pratikte en çok işe yarayan sıra: pervane ve motor balansı, göbek adaptörünün merkezliliği, motor yatağının gövdeye tam oturması, sonra kartın izolasyonu. Forumda kayda geçmiş bir vakada kartın oturduğu izoleli plakaya kütle eklenmesi tüm eksenleri 10 m/s/s altına indirmiş ve clipping tamamen bitmişti.
Harmonic notch filtresi bu işin son adımıdır ve jiroskop tarafına uygulanır; ivmeölçer doygunluğunu çözmez. Frekansı ölçmeden notch açmak da işe yaramaz: kaynak kodda INS_HNTCH_REF varsayılanı sıfırdır ve sıfır kaldığı sürece dinamik takip çalışmaz.
Bu yazıyı okuyanlara
Titreşim teşhisi, kalibrasyon ve ilk uçuş hazırlığını baştan sona anlatan eğitimimiz var. Kartın üzerindeki sensörlerin ne ölçtüğünü ve neyi ölçemediğini bilerek uçmak, deneme yanılmadan çok daha hızlı sonuç veriyor.
Eğitimi incele: Sensörlerden Uçuşa Temel İHA
Bu yazı işinize yaradı mı?
Bu konuyu baştan sona öğrenin
Sezon: altı eğitimin hepsi 9 ay, ayda ₺790. Lise ve üniversite öğrencisine ayda ₺390, üye kodunuzla ilk ay ₺351. İstediğiniz ay bırakırsınız. Sezon'a başlayın · Öğrenciyim