Pixhawk neden Battery 1 unhealthy hatası veriyor
Pixhawk ARM olmuyor, ekranda PreArm Battery 1 unhealthy yazıyor. Mesaj iki ayrı kod yolundan gelir, voltaj alanına bakarak hangisi olduğunu ayırt edersin.
Batarya takılı, kablolar yerinde, Mission Planner ekranında voltaj da doğru görünüyor. Kumandayı çeviriyorsun, drone ARM olmuyor. Ekranın üstünde kırmızı bir satır var ve her seferinde bataryanın sağlıksız olduğunu yazıyor.
Bu satırı çoğu kişi yanlış okur. İçinde batarya kelimesi geçtiği için önce paketi şarj eder, sonra başka bir paket dener, sonra hücre voltajlarını tek tek ölçer. Hiçbiri işe yaramaz, çünkü mesajın bataryanın doluluğuyla ilgisi yoktur.
Otopilotun burada söylediği şey şu: batarya izleme birimini okuyamıyorum. Paketin kaç volt olduğu ayrı bir sorudur ve o soruya sıra bile gelmemiştir.
Aynı yazı, iki ayrı sebep
Bu mesajı ekrana basan tek bir kontrol yok, iki tane var. İkisi de harfi harfine aynı diziyi yazdırır ve ekranda hangisinin konuştuğunu ayırt edemezsin.
Birincisi sürücü katmanında çalışır. Otopilot açılırken hangi tip batarya izleme birimi kullanacağına karar verir ve o sürücüyü kurar. Eğer sürücü hiç kurulamamışsa ya da kurulan sürücü şu an ayarlı olan tipten farklıysa, kontrol daha ölçüme bakmadan durur.
İkincisi ölçüm katmanında çalışır. Sürücü kurulmuştur, ayaktadır, ama geriye geçerli bir okuma dönmemektedir. Kablo kopuktur, pin yanlıştır ya da adres tutmamaktadır.
Voltaj alanı hangi yolu gösteriyor
İki yolu birbirinden ayırmanın pratik yolu, mesajı değil voltaj alanını okumaktır.
Voltaj 0.00 V görünüyorsa hatta veri hiç gelmiyor demektir. Bu ölçüm tarafıdır ve çözüm kablo ile parametrededir. Voltaj doğru görünüyor ama mesaj sürüyorsa yapılandırma tarafındasın; bu durumda genellikle son değiştirdiğin ayar henüz yürürlüğe girmemiştir.
Şekildeki koyu kutulara bak: aynı kırmızı satırın arkasında hangi yolun olduğunu voltaj alanındaki sayı söyler.
Aynı mesaj, voltaj alanına göre üç ayrı yol
En sık atlanan adım
Batarya izleme tipini belirleyen ayar, değiştirildiğinde hemen geçerli olmaz. Otopilot o sürücüyü sadece açılışta kurar. Sen ayarı değiştirdiğinde parametre anında güncellenir, ama çalışan sürücü hâlâ eskisidir.
Aradaki bu fark kapanana kadar kontrol hata vermeye devam eder ve farkı kapatan tek şey otopilotu yeniden başlatmaktır. Ayarı değiştirdikten sonra parametreleri tazelemek yetmez; tazeleme yalnızca yer kontrol istasyonunun ekranını yeniler, otopilotun içindeki sürücü eski tiple çalışmaya devam eder.
Otopilot batarya izleme tipi 4 ile açılmışken tipi 3 yapıp yeniden başlatmadan ARM denersen, paket 12.60 V gösterse bile şunu alırsın:
BATT_MONITOR (acilista) = 4.0
BATT_MONITOR (runtime set) = 3.0
PreArm: Battery 1 unhealthy
PreArm: Battery 1 unhealthy
Arm: Battery 1 unhealthyBatarya gayet iyi durumdadır ve mesaj yine de gelir. Son satırdaki önek farkının da bir açıklaması var: aynı kontrol, ARM tuşuna basıldığı anda farklı bir önekle yazılır.
Hangi tarafta olduğunu ayırmak için parametre ekranında BATT_MONITOR değerini oku. Sonra otopilotu yeniden başlat ve aynı değeri tekrar oku. Değer aynı ama hata kayboluyorsa sorun yapılandırmadaydı. Parametre listesinde bu ayarın yanında "Reboot required after change" yazar.
Örnek: Uçuş sırana yarım saat kala pit alanında güç modülünü yedekle değiştirdin, batarya izleme tipini yeni modüle göre yazdın. Voltaj alanı 12.60 V gösteriyor, kumandayı çevirince kırmızı satır yine orada. Paketleri değiştirmeye başlamadan önce şekildeki ortadaki yola gir: BATT_MONITOR değerini oku, otopilotu yeniden başlat, aynı değeri bir kez daha oku. Mesaj kayboluyorsa iş yapılandırma tarafındaydı ve paketlere hiç sıra gelmedi.
En sık yapılan hata: batarya izleme tipini değiştirip yeniden başlatmadan ARM denemek. Ekrandaki değer doğru göründüğü için ayarın işlediği sanılır.
Ölçüm tarafında kontrol sırası
Sürücü ayaktaysa ölçüm katmanı şu kontrolleri yukarıdan aşağı yapar ve ilk tutan koşulda durur. Her birinin ekrandaki metni farklıdır:
- Okuma geçersiz: unhealthy
- Paket ARM için belirlenen alt voltajın altında: below minimum arming voltage
- Paket ARM için belirlenen alt kapasitenin altında: below minimum arming capacity
- Kritik voltaj failsafe'i tetiklenmiş: critical voltage failsafe
- Düşük voltaj failsafe'i tetiklenmiş: low voltage failsafe
Ekranda gördüğün mesaj, listede en yukarıda tutan sorundur. Onu çözünce bir alttaki ortaya çıkabilir. Sıra, ArduPilot master dalındaki AP_BattMonitor_Backend.cpp dosyasında yazıldığı gibidir.
Eşikler nerede duruyor
Bu mesajı geçtikten sonra sıra voltaj eşiklerine gelir. Eşiklerin bir kısmı varsayılan kurulumda kapalı gelir ve kapalı olduklarını fark etmek kolay değildir.
Voltaj 10 saniye boyunca BATT_LOW_VOLT değerinin altında kalırsa BATT_FS_LOW_ACT'te seçili eylem çalışır. Parametre ekranında BATT_CRT_VOLT ve BATT_ARM_VOLT değerlerine de bak; 0 yazıyorsa bu iki kontrol hiç çalışmaz.
Sıfır yazan her eşik devre dışıdır. Alt voltaj sınırını sıfır bırakırsan otopilot düşük voltajda seni durdurmaz; ARM voltajı sıfırsa yarı boş paketle de ARM olursun.
Hata Mesajları ve Anlamları
Aşağıdaki diziler ArduPilot kaynağında birebir bu şekilde yazılıdır. Ekrandaki metni kısaltmadan okumak, doğru parametreye gitmenin en kısa yoludur.
PreArm: Battery 1 unhealthy
Batarya izleme birimi okunamıyor. Ya sürücü kurulamamıştır, ya ayarlı tip ile çalışan tip farklıdır, ya da sürücü geçerli bir okuma döndürmüyordur. Voltaj alanı 0.00 V ise ölçüm hattına, doğru görünüyorsa yeniden başlatmaya bak.
PreArm: Battery 1 below minimum arming voltage
Ölçüm sağlıklı geliyor ama paket, ARM için belirlenen alt voltajın altında. Paketi değiştir ya da eşiği paketine göre yeniden ayarla.
PreArm: Battery 1 low voltage failsafe
Düşük voltaj failsafe eşiği aşılmış durumda. Bu mesaj paketin gerçekten düşük olduğunu söyler; bir öncekiyle karıştırma, ikisi farklı eşiklere bakar.
PreArm: Battery 1 voltage failsafe critical >= low
Eşikler ters kurulmuş. Kritik voltaj, düşük voltajdan büyük ya da ona eşit yazılmış. Otopilot bu sıralamayı kabul etmez, çünkü kritik seviye her zaman daha aşağıda olmalıdır.
Sahada ne değişir
Kendi kartında bu mesajın en sık sebebi ölçüm tarafıdır.
Voltaj ve akım hatlarının bağlandığı analog kanal numaraları karttan karta değişir ve otopilot yanlış kanalı okuduğunda voltaj sıfır görünür. Dijital güç modüllerinde ise aynı sonucu veren şey yanlış adres olur; aynı modelin farklı voltaj sürümleri farklı adres ister.
Yani kablo doğru bağlanmış olabilir ve mesaj yine de sürebilir. Kabloyu tekrar tekrar sökmeden önce, kartının beklediği kanal numaralarının ayarlarda yazılı olanla aynı olup olmadığına bak.
Bu konuyu baştan sona öğrenmek istersen
PreArm mesajlarını tek tek okumak yerine, sensörlerden uçuşa kadar olan zinciri sırayla kurmak çok daha hızlı ilerletir. Sensörlerden Uçuşa Temel İHA eğitimi içinde otopilot kurulumu, kalibrasyon adımları ve ARM sorunlarının teşhisi baştan anlatılıyor. Bu yazıdaki konunun devamı olan ders de o eğitimin sorun giderme bölümüne eklendi.
Diğer eğitimlere Softivation eğitim listesinden bakabilirsin.
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