Softivation

Yeni Pixhawk neden ARM olmuyor, frame class uyarısı

Pixhawk ARM olmuyor ve Messages'ta PreArm: Motors: Check frame class and type yazıyorsa otopilot motorları tanımıyor. Düzeltme yolu ve sonraki uyarılar.

Furkan IŞIKAY 5 dk okuma

Firmware'i yükledin, kalibrasyonları bitirdin, kumandayla ARM etmeye çalışıyorsun ve drone hiç tepki vermiyor. Mission Planner'ın HUD'unda kırmızı bir uyarı duruyor; Messages sekmesine baktığında satırın Motors: diye başladığını görüyorsun.

Bu uyarı, otopilotun kaç motoru olduğunu ve onları hangi pinden süreceğini bilmediğini söyler. Yeni bir kartta en sık görülen hâli PreArm: Motors: Check frame class and type satırıdır. Düzelttiğinde arkasından başka bir Motors: satırı çıkabilir, bu da normaldir.

Uyarı neden kalkmıyor

Otopilot ARM izni vermeden önce motor ayarlarını sırayla kontrol eder: çerçeve tipi, her motorun bir çıkışı olup olmadığı, motorların dönmeye başladığı eşikler ve PWM sınırları. İlk tutmayan kontrolde durur ve ekrana yalnızca onu yazar.

Yeni bir Pixhawk'ta çerçeve sınıfı tanımsız (0) gelir. Initial Setup > Mandatory Hardware > Frame Type ekranında çerçeveni seçmediysen otopilot motor karışımını kuramaz ve ilk kontrol hep burada takılır.

En sık yapılan hata: ARM kontrollerini kapatıp geçmeye çalışmak. Motors: satırları ARMING_SKIPCHK ayarını (eski sürümlerde ARMING_CHECK) dinlemez; -1 girsen de çerçeve ve çıkış ayarı düzelmeden drone ARM olmaz.

Yük servosunu takınca Motor4 uyarısı

Teknofest için yük bırakma mekanizması kuruyorsun. Çerçeve quad X, dört ESC MAIN OUT 1–4'te ve drone sorunsuz ARM oluyor. Servoyu AUX OUT 4'e takıyorsun, Mission Planner'da da "dördüncü çıkış" diye SERVO4_FUNCTION değerini Gripper (28) yapıyorsun.

Sonraki ARM denemesinde Messages'a PreArm: Motors: no SERVOx_FUNCTION set to Motor4 düşer ve servo da kıpırdamaz. SERVO numarası kartın çıkış sırasını sayar: Pixhawk 2.4.8'de MAIN OUT 1–8 SERVO1–8, AUX OUT 1–6 ise SERVO9–14'tür.

Pixhawk 2.4.8 çıkış rayı ve SERVOn_FUNCTION değerleri

Pixhawk MAIN OUT 1-8 SERVO1-8, AUX OUT 1-6 SERVO9-14; motorlar MAIN 1-4, yük servosu AUX 1, UBEC AUX 6
Kırmızı çerçeveli MAIN OUT 4 sütununa bak: 36 kalmalı. 28, AUX OUT 4'ün kutusuna (S12) yazılır.

Şekilde kırmızı çerçeveli MAIN OUT 4 sütununa bak: o sütunun FUNCTION kutusu 36 (Motor4) kalmalı. Yük servosunun takılı olduğu AUX OUT 4 ise SERVO12'dir, 28'i SERVO12_FUNCTION satırına yaz. Servo rayını Pixhawk beslemez; rayı boş bir sütunun + ve − pinine takılan ayrı bir 5V UBEC besler.

Quad X için temel ayar

Aşağıdaki satırları quadx.param adıyla bir metin dosyasına kaydet. Mission Planner'da CONFIG > Full Parameter List ekranında Load from File ile dosyayı aç, Write Params'a bas ve kartı yeniden başlat.

quadx.param
FRAME_CLASS 1
FRAME_TYPE 1
SERVO1_FUNCTION 33
SERVO2_FUNCTION 34
SERVO3_FUNCTION 35
SERVO4_FUNCTION 36
MOT_SPIN_ARM 0.1
MOT_SPIN_MIN 0.15
MOT_PWM_MIN 1000
MOT_PWM_MAX 2000
  • Gir: dosyayı yükle, Write Params'a bas, kartı yeniden başlat. Çerçeven + ise FRAME_TYPE satırını 0 yap.
  • Gör: Messages'ta Motors: satırı kalkar, ARM denemesinde Arming motors yazar.
  • Değilse: Messages'taki yeni Motors: satırını oku ve aşağıdaki Hata Mesajları listesinde karşılığını bul.

Hexa ya da octa kuruyorsan değerler değişir: motor sayısı kadar SERVOn_FUNCTION satırı gerekir ve yük servosu motorların kullanmadığı bir çıkışa gider.

Bir uyarı gidince yenisi çıkıyor

Kontroller sırayla çalıştığı için birden fazla hata varsa ekranda her seferinde yalnızca ilki görünür. Çerçeve sınıfı 0, SERVO4_FUNCTION 28 ve MOT_SPIN_ARM 0.2 (varsayılan 0.1) iken her düzeltmeden sonra ARM'a basarsan Messages'ta sırayla şu satırları görürsün:

Kod
PreArm: Motors: Check frame class and type
PreArm: Motors: no SERVOx_FUNCTION set to Motor4
PreArm: Motors: MOT_SPIN_ARM > MOT_SPIN_MIN
Arming motors

Satır değişiyorsa bir önceki kontrol geçmiş, sıradaki takılmış demektir. Aynı satır kalıyorsa Write Params adımını atlamış olabilirsin; parametrenin karttaki değerini Refresh Params ile yeniden oku.

Hata mesajları ve anlamları

ARM denemesi sırasında aynı metin bir kez de Arm: önekiyle gelir; ikisi aynı kontrolden çıkar.

PreArm: Motors: Check frame class and type

FRAME_CLASS 0 kalmış ya da FRAME_TYPE çerçeve sınıfına uymuyor (quad'da 10, yani Y6B gibi). Frame Type ekranından çerçeveni seç. Değerler doğru göründüğü hâlde satır kalıyorsa yüklü firmware o çerçeveyi içermiyor olabilir; özel derlemelerde ve bazı F4 kartlarda octaquad varsayılan olarak gelmez.

PreArm: Motors: no SERVOx_FUNCTION set to Motor4

Satırdaki numaralı motorun hiçbir çıkışı yok. Motor1–4'ün fonksiyon değerleri 33–36'dır; SERVOn_FUNCTION listesinde eksik olan değeri bul ve o motorun ESC'sinin takılı olduğu çıkışa yaz.

PreArm: Motors: MOT_SPIN_ARM > MOT_SPIN_MIN

ARM anındaki rölanti, motorların itki üretmeye başladığı eşikten yüksek. Varsayılanlar 0.1 ve 0.15'tir; MOT_SPIN_ARM'ı MOT_SPIN_MIN'in altına indir.

PreArm: Motors: MOT_SPIN_MIN too high 0.35 > 0.3

Satırdaki ilk sayı senin değerin. 0.3'ün üstü kabul edilmez; değeri düşür ve motor aralığı ayarını baştan yap.

PreArm: Motors: Check MOT_PWM_MIN and MOT_PWM_MAX

MOT_PWM_MIN 1'den küçük ya da MOT_PWM_MAX'a eşit veya büyük. İkisini 1000 ve 2000 yap, ardından ESC kalibrasyonunu tekrarla.

Eğitimde devamı

Bu satırların firmware'in hangi dosyasından geldiğini, kart bazlı farkları ve elinde log varken kullanacağın sınıflandırma tablosunu Sensörlerden Uçuşa Temel İHA Eğitimi içindeki Sorun Giderme bölümünde bulursun.

Bu yazı işinize yaradı mı?

Ücretsiz kaynakTEKNOFEST İHA yazılım hazırlık kontrol listesiTakımınızın yazılım hazırlığını aşama aşama işaretleyin; yazdırılabilir liste.